Candide – Identify Plants with a Photo
candidegardening.com
candidegardening.com
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)
IMO this will just lead people to wrongly ID their plants more often than not, and that's a really bad thing.
You label geotagged images with the AIs suggestion if you agree with it and then other users can either confirm or suggest a different / more specific species.
As a bonus if the algorithm can tell it can't identify correctly you can use this feedback to teach the algorithm.
Still, if you post the plants under a more general species other users can identify it mentally, adding to the data set.
I will say though, most of the time I don't have service where I'm IDing plants, so it's not the most convenient tool.
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.
Every plant has baked in restrictions on how it grows. If you can identify separate features of a leaf and how the leaf grows out of the stem you can basically look it up in a table and tell what kind of tree you are looking at, without need for guessing.
On the other hand AI will develop its own classification method but one that has unknown faults in it.
Maybe it has learned to look at the lighting direction because half of the data set was non-suculents with light from the left and half was succulents with light from the right, because it came from a different facility?
Or maybe different cameras were used to photograph different types of plants?
So now rather than looking at the leaves it uses light direction or photo grain to tell if it is succulent or not?
Face the reality, you are wrong.
The above algorithm returns completely nonsensical results for my searches, plants that have completely different structure and coloration and nobody would ever mistake them.
It relies at you looking at the suggested solution, and then, Hey!, here you have five more, maybe your plant is somewhere on the list?
This is only marginally useful but could have been so much better if it tried to identify structure of the plant.
So, basically do what a person would do -- identify simple features visually and then consult the book to go through decision tree to figure out what you are looking at based on these features.
As you go through decision tree, you keep excluding more and more possibilities until you are left with only one match.
You would never mistake oak with a cactus because there are so many occasions on this decision tree to go one or the other way that you would have to make multiple mistakes.
But that's exactly what the algorithm seems to be doing -- mistaking plants that are very far away from each other when it comes to their build.
Disagree - learning to classify morphological characteristics is learning the generalizable features. Especially given that some plants are going to have relatively few photos, knowing with high confidence some diagnostic factors and GPS could absolutely outperform the brute force approach.
This isn’t about hand tuned features, it’s about predicting the right thing.
Also, the approaches aren’t mutually exclusive.
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
Upload a photo, tell the app which part of the plant is in the photo (leaf, flower, fruit, bark), and it'll tell you what the plant is.
Highly recommended as well, almost always identifies the plant with just one photo. I'll have to check out flora incognita sometime.
I have installed the app now for the next time I am gardening :)
Thanks
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.
It does fail sometimes but it's pretty good, and the UI has improved in recent releases.
Hopefully, a privacy-friendly phone (ie Apple) manufacturer acquires them and does deep OS integration with the app.
I was alluding to Apple in my comment, as they are the ones that have a model for their mobile devices being some sort of knowledge lens. They are very easily capable to eat the cost of maintaining the database without resorting to some sort of exploitative business model.
[1]: https://plantnet.org/ [2]: http://data.plantnet-project.org/datamanager/_design/dataman...
Currently PlantNet works on Android, iOS and web.
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
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.
With a couple different dedicated apps I had zero success.
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?
I guess this is nice for the "cancel Google" crowd though...
https://play.google.com/store/apps/details?id=org.plantnet&h...
It’s a very cool project though, of course.
I too confirm that PictureThis works great.
However, the linked app (Candide) also seems to require a login, so I'm sure it's just a matter of time before they put limits on free accounts.
My main complaint about it, is that it's a battery hog; but it works well.
I don't understand why so many apps do this?? It's a free app, why not let me use it?
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.
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.
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.
https://phys.org/news/2014-11-foragers-bounty-edibles-urban-...
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.
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!
I noticed that the following clause in their Ts & Cs:
> You grant us an irrevocable, perpetual, worldwide and royalty-free right and license to use your Content for the purposes of providing, promoting, developing and trying to improve the Candide Platform and our other services, including new services that we may provide in the future. We will not sell your Content to any third party
does not have punctuation after the last sentence.
I'm not a Grammar Nazi[0], but that tells me that the sentence was changed at the last minute.
Candide is very well set up to protect users' private data, and has a great set of engineers and engineering practices in place ensuring this, as well as, you know, not ever selling data to a third party!
I appreciate the authoritative response.