Makematics final: Diatom Recognizer

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.
gyrosigma via recognition program
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.

Image rotation code

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:
cymbella
gyrosigma
stauroneis

About diatoms

Diatom Videos:
Cymbella videos
Gyrosigma
Stauroneis
Various diatom species
Diatom Images:
Science photo library
Protist image library
Image links via Indiana University
Tree of Life image bank

Diatom recognition code

(stay tuned for video demo via camtwist)

by David Mann

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s