Unfortunately, I have tried to identify some of my plants but it could not identify correctly a single one. Just an endless procession of at best similar plants, most of the time completely dissimilar.
I think this is another naive model that just tries to push entire problem to AI. That is unfortunately what I am seeing nowadays, very unimaginative. Just try to have fun with parameters of the network until you find some kind of configuration that seems to be working.
What it would benefit from would be some kind of analysis/classification of basic features of the plants like what's the basic shape of the leaf, trunk, how things are connected, etc.
The classification would benefit from AI (like identify where leaves are, where trunk is, etc.) but then that intel would be passed to a more classification-oriented algorithm.
(disclaimer, I am not an AI developer, it just seems to me like pretty rational way to approach the problem)
Flora Incognita, a free plant identification app for Android and iOS, developed by a German university, does that.
You choose a category first, like "tree", "flower", "grass" or "fern" and it will guide you through the process, trying to identify the plant with as few photos as necessary. Common ones it will identify from a single image, for others, it will e.g. prompt to take a close-up photo of the bark, bloom or the complete plant in its environment. From what I understand, they are aiming for accuracy of the identification and will provide a description of possibly matching plants if there is still ambiguity. Very recommended!
To be honest, nothing works better than Plantnet for identifying plants. They do the pre-selection where you choose wich organ you're looking at (trunk, leaf, flower, fruit, ...).
Right. This kind of thing is only going to work on very common plants that are easy to ID. I am very into carnivorous plants and even us experts sometimes have trouble identifying plants, often you need very specific morphological details to ID species that a phone picture will never be able to catch.
IMO this will just lead people to wrongly ID their plants more often than not, and that's a really bad thing.
>What it would benefit from would be some kind of analysis/classification of basic features of the plants like what's the basic shape of the leaf, trunk, how things are connected, etc.
There's no reason to think that needs to be done separately, and in fact that's the kind of things that you'd expect a good model to find on its own.
In general, we've already learned that while handcrafted features can help, they are often ultimately worse than learned ones as techniques get better.
Related to this, I've been working on a side project (https://www.hedira.io/, house plant care advisor) for nearly 2 years now. We haven't gotten time to add species recognition by images, but I've done enough to know it's really hard! Thankfully, being houseplant focused, people normally have an easy time finding out what specific species they have in front of them.
I made some classifiers using coreML to test the idea and as with a lot of ML problems, 90% accuracy is trivial, but it gets difficult really quickly after that. Especially without flowers (since they tend to be more unique).
The simplest way I could find to add detection was to use something like the plantnet API (https://my.plantnet.org/usage) which powers the app of a similar name. There are a couple of other plant recognition APIs worth looking at too.
The final step in the user guide is (roughly translated):
> Now it's your turn to think! A high match percentage is no guarantee that the result is correct. Artsorakelet tries to match your pictures to pictures it has seen previously, but many species have no, few, or bad pictures! It has not been trained on domestic animals, garden flowers or humans, or pictures with restricted access, such as images of large predators
Google lens does a pretty good job of identifying plants, along with everything else. I use it a lot in our garden and a majority of the time it correctly identifies.
There is really very little need for 3rd party apps on this. I've yet to stump lens on any Fauna or Flora in my neck of the woods. I suspect it is location aware, which gives it a pretty big edge in filtering out duplicates.
I wonder how much funding these guys have, and how much of it I could get by intentionally non-fatally poisoning myself with a misidentified plant? How much indemnity can the whole "WHILE WE ENDEAVOUR TO ENSURE THAT THE INFORMATION ON THE CANDIDE PLATFORM ARE CORRECT, WE DO NOT WARRANT THE ACCURACY AND COMPLETENESS [...]" thing actually provide?
My immediate thought is that this could be quite dangerous if used by inexperienced foragers. It’s very easy as a human to misidentify poison hemlock as cow’s parsley, for example, which is a lethal mistake.
my partner used one called PictureThis and it identified most of all the plants around our property here in New Zealand ( mix of natives and introduced), it got ones that were a complete mystery to us.
I uploaded it a photo of my wild cucumber and it said it was passion fruit. But that's a completely legit mistake since I literally made the same one until it started flowering.
But then I uploaded a photo of a catnip plant and it thought it was a milkweed plant. In fact, it's 0 of 4 for common plants in my garden this summer. Seems like a great idea with a marginal implementation.
Well, it gets easy ones pretty well - misidentified arabica coffee as robusta but did at least get "coffee", and identified a mango tree - but tricky ones (the various weed trees on our farm) are even more hopeless than my own efforts.
To be fair, it's probably for houseplants more than anything. On the other hand, half the stuff growing on a tropical farm is houseplants.
Wish there were more information about their model.
Not precisely on topic, but two professors at U.C. Berkely are involved in helping people identify edible plants in urban settings, particularly Oakland. This excellent piece makes mention of a phone app they are using in conjunction.
Understandably people are realizing that it's now much easier to discover what plants (and animals, and fungus, etc.) exist around you and whether they're special in some way.
But when picking apps to accomplish that task, I suggest selecting for those that respect your privacy (because a lot of these plant observations involve GPS location), are clear about how the machine learning datasets are trained and what's being done with the data you're supplying, and lastly how these apps and companies are funded.
Moreover both iNaturalist (https://github.com/inaturalist/inaturalist) and Seek (https://github.com/inaturalist/SeekReactNative) are open source. The former is a Rails app, and the latter a React Native app with no account registration system making it safe and legal to use for children since all observations are stored in-device by default unless you chose to send them to your iNaturalist account to share with the community.
On functionality alone it's extremely rare for Seek not to recognize an organism (yeah, it's not just plants) and when it is, I simply send the observation to iNaturalist whose network of naturalists both amateur and professional usually manage to definitively identify my observations within a few hours. Here's a recent example: https://www.inaturalist.org/observations/86844469
The iNaturalist community itself is fascinating and quite transparent with detailed site stats (https://www.inaturalist.org/stats) and a clear mission statement ( https://www.inaturalist.org/pages/what+is+it):
> iNaturalist is an online social network of people sharing biodiversity information to help each other learn about nature
At a time where biodiversity is more threatened than ever, I welcome any tool to help folks identify and value the organisms around us, but if you're going to pick one, my recommendation is iNat & Seek.
PS: I'm not affiliated to iNaturalist in any way other than as a happy user.
Seek is AWESOME. We discovered it late in 2020 but it raised the bar for all our outdoor excursions with the kids. Even a routine walk around the neighborhood is an enriched experience as the kids careful observe their surrounding looking for a new bug or flower.
The only downside is when we get to a new place I have to remind the kids we can't stop every minute to 'Seek' something otherwise we'll never get back home!
[+] [-] lmilcin|4 years ago|reply
Unfortunately, I have tried to identify some of my plants but it could not identify correctly a single one. Just an endless procession of at best similar plants, most of the time completely dissimilar.
I think this is another naive model that just tries to push entire problem to AI. That is unfortunately what I am seeing nowadays, very unimaginative. Just try to have fun with parameters of the network until you find some kind of configuration that seems to be working.
What it would benefit from would be some kind of analysis/classification of basic features of the plants like what's the basic shape of the leaf, trunk, how things are connected, etc.
The classification would benefit from AI (like identify where leaves are, where trunk is, etc.) but then that intel would be passed to a more classification-oriented algorithm.
(disclaimer, I am not an AI developer, it just seems to me like pretty rational way to approach the problem)
[+] [-] _Microft|4 years ago|reply
You choose a category first, like "tree", "flower", "grass" or "fern" and it will guide you through the process, trying to identify the plant with as few photos as necessary. Common ones it will identify from a single image, for others, it will e.g. prompt to take a close-up photo of the bark, bloom or the complete plant in its environment. From what I understand, they are aiming for accuracy of the identification and will provide a description of possibly matching plants if there is still ambiguity. Very recommended!
Edit: here is a link if it sounds interesting: https://floraincognita.com
[+] [-] Fiahil|4 years ago|reply
[+] [-] phito|4 years ago|reply
IMO this will just lead people to wrongly ID their plants more often than not, and that's a really bad thing.
[+] [-] Tenoke|4 years ago|reply
There's no reason to think that needs to be done separately, and in fact that's the kind of things that you'd expect a good model to find on its own.
In general, we've already learned that while handcrafted features can help, they are often ultimately worse than learned ones as techniques get better.
[+] [-] bizzleDawg|4 years ago|reply
I made some classifiers using coreML to test the idea and as with a lot of ML problems, 90% accuracy is trivial, but it gets difficult really quickly after that. Especially without flowers (since they tend to be more unique).
The simplest way I could find to add detection was to use something like the plantnet API (https://my.plantnet.org/usage) which powers the app of a similar name. There are a couple of other plant recognition APIs worth looking at too.
[+] [-] iliesaya|4 years ago|reply
[+] [-] riffraff|4 years ago|reply
It does fail sometimes but it's pretty good, and the UI has improved in recent releases.
[+] [-] jsmorph|4 years ago|reply
[+] [-] filoeleven|4 years ago|reply
[+] [-] karencarits|4 years ago|reply
The final step in the user guide is (roughly translated):
> Now it's your turn to think! A high match percentage is no guarantee that the result is correct. Artsorakelet tries to match your pictures to pictures it has seen previously, but many species have no, few, or bad pictures! It has not been trained on domestic animals, garden flowers or humans, or pictures with restricted access, such as images of large predators
[+] [-] jiehong|4 years ago|reply
https://www.flowerchecker.com/
You get a confidence factor, a link to its wiki page, and you can even send a special message with the pictures to help clarify things.
[+] [-] monkeynotes|4 years ago|reply
[+] [-] tgtweak|4 years ago|reply
[+] [-] injidup|4 years ago|reply
[+] [-] chefandy|4 years ago|reply
I wonder how much funding these guys have, and how much of it I could get by intentionally non-fatally poisoning myself with a misidentified plant? How much indemnity can the whole "WHILE WE ENDEAVOUR TO ENSURE THAT THE INFORMATION ON THE CANDIDE PLATFORM ARE CORRECT, WE DO NOT WARRANT THE ACCURACY AND COMPLETENESS [...]" thing actually provide?
[+] [-] amarant|4 years ago|reply
I guess this is nice for the "cancel Google" crowd though...
[+] [-] antirez|4 years ago|reply
https://play.google.com/store/apps/details?id=org.plantnet&h...
[+] [-] jpxw|4 years ago|reply
It’s a very cool project though, of course.
[+] [-] rollulus|4 years ago|reply
[+] [-] keithnz|4 years ago|reply
[+] [-] Tomte|4 years ago|reply
[+] [-] Someone|4 years ago|reply
[+] [-] sails|4 years ago|reply
[+] [-] perryizgr8|4 years ago|reply
I don't understand why so many apps do this?? It's a free app, why not let me use it?
[+] [-] ramesh31|4 years ago|reply
[+] [-] superkuh|4 years ago|reply
But then I uploaded a photo of a catnip plant and it thought it was a milkweed plant. In fact, it's 0 of 4 for common plants in my garden this summer. Seems like a great idea with a marginal implementation.
[+] [-] kazinator|4 years ago|reply
I snapped picture of the example picture; it came up with Swiss Cheese Plant.
Don't know how good it is. I've used it maybe seven or eight times in the past for identifying plants; it worked every time.
Most recently, over just this past weekend, it identified an Elm tree from a shot a branch.
[+] [-] Vivtek|4 years ago|reply
To be fair, it's probably for houseplants more than anything. On the other hand, half the stuff growing on a tropical farm is houseplants.
Wish there were more information about their model.
[+] [-] a9h74j|4 years ago|reply
https://phys.org/news/2014-11-foragers-bounty-edibles-urban-...
[+] [-] Jolter|4 years ago|reply
[+] [-] yepthatsreality|4 years ago|reply
[+] [-] pvaldes|4 years ago|reply
[+] [-] olivierlacan|4 years ago|reply
But when picking apps to accomplish that task, I suggest selecting for those that respect your privacy (because a lot of these plant observations involve GPS location), are clear about how the machine learning datasets are trained and what's being done with the data you're supplying, and lastly how these apps and companies are funded.
PictureThis is owned by https://www.glority.com
Candide appears to be a UK startup: https://candidegardening.com/GB/about
iNaturalist and their Seek app (https://www.inaturalist.org/pages/seek_app) is a joint venture between the California Academy of Sciences and the National Geographic Society: https://www.inaturalist.org/pages/about
Moreover both iNaturalist (https://github.com/inaturalist/inaturalist) and Seek (https://github.com/inaturalist/SeekReactNative) are open source. The former is a Rails app, and the latter a React Native app with no account registration system making it safe and legal to use for children since all observations are stored in-device by default unless you chose to send them to your iNaturalist account to share with the community.
On functionality alone it's extremely rare for Seek not to recognize an organism (yeah, it's not just plants) and when it is, I simply send the observation to iNaturalist whose network of naturalists both amateur and professional usually manage to definitively identify my observations within a few hours. Here's a recent example: https://www.inaturalist.org/observations/86844469
The iNaturalist community itself is fascinating and quite transparent with detailed site stats (https://www.inaturalist.org/stats) and a clear mission statement ( https://www.inaturalist.org/pages/what+is+it): > iNaturalist is an online social network of people sharing biodiversity information to help each other learn about nature
At a time where biodiversity is more threatened than ever, I welcome any tool to help folks identify and value the organisms around us, but if you're going to pick one, my recommendation is iNat & Seek.
PS: I'm not affiliated to iNaturalist in any way other than as a happy user.
[+] [-] tkahnoski|4 years ago|reply
The only downside is when we get to a new place I have to remind the kids we can't stop every minute to 'Seek' something otherwise we'll never get back home!