Hacker News new | past | comments | ask | show | jobs | submit login

>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.




AIs are useful for "fuzzy" problems, but are not very good at doing precise things with high reliability.

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.


Would it be possible to train the model to identify the features and then just have it run those through a trie of plant classifications? Trying to bake classifications into the model does seem silly but you still need an element of computer vision if you want to do this.


That's exactly what I thought up without having any experience in the area.

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.


That’s the same problem you might have with a self driving car driven by an ML algorithm: is that an open lane or someone wearing a black outfit with white stripes?


Thankfully, the plants and the app user are both moving a lot slower.


> 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.

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.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: