Many of the questions posted to this newsgroup are of the form:
"What is this plant?" with a hyperlink to a photograph.
It seems to me that it ought to be possible to write a pattern
recognition computer program that could match photos to a
database of already identified and cataloged plant photos and
One approach to this might be as follows:
1. Specify a particular set of photographs to be taken for each
plant in the database. For example:
Mature flattened leaf, photo taken perpendicularly from the
Same, but taken from the bottom.
Shoot, with leaf nodes.
Flower, taken from the top.
Flower, taken from the side.
Bark (for woody plants) taken from straight on.
Ideally, one or more photos of each of the above types would
be taken for a plant. The more complete the imagery, the
more accurate the programmatic correlation could be. But a
program could be made to work with whatever it had, even it
could only produce weaker matches.
Ideally, all photos would be taken with a similar background,
e.g., a white sheet of paper, but any sufficiently distinct
background might work fine for most pattern recognition
2. Specify a set of data elements to be stored with the records
for a particular plant.
Information about geographical area, life cycle, stem type,
etc. would be useful.
It would also be useful to have measurements to go along with
each image. In a really advanced program, some of these
might even be auto-generated from EXIF data in digital
3. Write a program that analyzes characteristics of the images and
stores them, similar to the way that a fingerprint
recognition program isolates and characterizes specific
patterns in an image of a finger print.
Examples of some characters for a leaf photo might be:
Width to height ratio.
Smoothness or roughness of the edge.
Pointedness at the peak.
Presence and type of visible venation
Number of points on each edge.
Due to variations in lighting and color changes at different
times of the year, the program should emphasize shape rather
than color - just as many field handbooks do for the exact
4. When a photo is submitted for identification:
Pass it through the analyzer to identify individual
Match the characteristics against the stored images.
Allow the user to enter any additional information that will
help the program, such as leaf length, geographical area
where the photo was taken, etc.
Display a list of matches to the user, with links to images,
sorted by the closeness of the match.
With time, it might be possible for the program to be refined
to the point where it could assign a confidence level to each
To build the database, a mechanism might be provided on the
Internet for anyone to upload photos and cataloging, and to edit
the data, as with Wikipedia. There might be enough enthusiasts
around to build up a pretty good sized database quite quickly.
As always with such web based collaborative tools the quality
would vary with some people uploading poor and mis-identified
photos. But such mistakes could eventually be corrected.
I am not aware of any program like this already existing, but
perhaps there is one. If not, I'm tempted to try to write one.
I am a professional programmer with much experience in database
management, cataloging and searching but, unfortunately, I have
never done any image recognition and would have to learn a lot to
write this program myself.
So I'm curious:
Does anyone know of such a program now in existence?
Do people think it is a good idea to try to right one?
Is anyone interested in taking on the task (I could probably
be induced to help.)
I make no promises to anyone to do this on my own. I'm not a
young man, and I have a lot on my plate to do already. But, as I
say, I'm curious about whether this approach would find favor in
the botany community.