This is not a flower, it's really a llama

Wednesday, June 13, 2012

Salience and flower petals

While walking around Boulder, there are so many beautiful flowers along the way.  I wish I could take a picture and have an application automatically tell me kind of flower it is. 

Seems like it should be easy but it's not.  Classification of objects in images is a hot topic in computer vision. 

The current state-of-the-art method, as far as I know, to create a program to identify a lily, for example, involves training a classifier using thousands of pictures of lilies, and thousands of pictures of things that are not lilies, preferably some of which might be confused with lilies.  The classifier can be enhanced with ad-hoc, domain-specific knowledge.  For example, a flower is ellipsish when projected into the image plane, and has brightly-colored petal-shaped features.  Either way, this involves a lot of manual input and hand-holding.

How do humans learn to identify flowers, birds, and other objects so easily? 

Humans use context - flowers are often found among green things like trees and grass. 

Humans are also great at throwing out unimportant information, when identifying the flower, like whether the sky is blue, gray, or black. 

But, there seems to be much more at play than that.  Even though flowers come in a variety of colors, I still identify them all as flowers.  If I come across a flower with a unique color that I've never seen before, like bright green, I stop and look at it, and feel amazement and interest, because it is an outlier in my mind's definition of flower, but I still am able to easily recognize it is a flower.  How??  I suppose because it has petals, and is at the end of a thin stem, and is coming out of the ground, and is small in size compared to a tree. 

How do humans immediately pick out the salient features of an object? 

No comments: