An interactive genus identifier to use on the beautiful and unique class of micro-organisms summarized under the name “diatoms”. These tiny creatures fix staggeringly large amounts of CO2 in the ocean, and are a key player in the global carbon cycle. Invisible to the naked eye, some are as small as 3 microns across. Diatoms are frequently studied under light microscopes, which allow a small liquid environment in which to view their motion. Often the liquid is a random sample of river or sea water, full of many other organisms. Finding the diatom of interest in these large messy samples can be a huge challenge!
The purpose of this program is to use machine learning to assist in rapid identification of organisms during microscopy. While I used videos recorded and posted to the internet, the code would work equally well on live updating video from a USB microscope.
As a research scientist, a good portion of my research time was often spent doing tasks that machines are better at: counting, finding the brightest/darkest out of a set, judging relative movement, etc. While a human eye is useful to verify machine results, it is easy to see where computer vision fits into the lab work flow.
Uses SVM (support vector machine learning) and HOG (histogram of oriented gradients). New features: image rotation of sample images
A still image of a diatom represents only one possible orientation. Under light microscopy, the diatom can spin freely 360. So a good image library should provide all possible orientations.
SVM only works if you have a well-trained model. I built a custom image library from videos and still images of diatoms under light microscopy. I focused on the following diatom species:
(stay tuned for video demo via camtwist)