Plant Recognition
- Details Hits: 4653
1. Introduction
The basic purpose of the application is to help the user take care of plants, by sending notifications and offering plant care tips. The problem arises when we don’t really know what kind of plant the application is supposed to give advice on and since the target users are the ones that do not have the knowledge or the inclination to obtain this information the app has a way of finding out for them: the leaf recognition module.
2. Structure
From the image of a leaf obtained from the camera we obtain a series of 12 features after passing the leaf image through 9 transformations. The extracted features are not processed on the mobile phone, but sent to the server build on Google’s App Engine were they are passed through a Probabilistic Neural Network that classifies the image.
In order to reduce the size of data that the Neural Network needs to retain and to improve the time spent identifying the closest match Principal Component Analysis is used. This statistical technique finds patterns in the data and identifies the most significant directions of a dataset enabling the developer to strip the useless information. After performing this technique we can reduce the number of features obtained after Image Processing from 12 to 5.
The feature classification is done using the Probabilistic Neural Network, a popular choice in pattern recognition. Neural Networks are known for speed and sound statistical basis and the k-Nearest Neighbor algorithm is easy to initialize and has high accuracy. By combining the two we obtain the PNN that has the best
3. AppEngine
The discussion on the matter of image processing is delicate since the choice does not seem to be a simple one. Some would argue that the best idea would have been to run the entire image processing on the App Engine and worry about hitting the imposed limitations when this happens or even that a homemade serve would have sufficed, but the choice has been made considering the potential capital investments and the state of the competition and with the hope that this is the best choice.
4. Conclusion
In the end we have obtained a routine that recognizes a leaf from a set of 20 known leafs with an accuracy of 80%. Although it is a bit smaller than other more complex algorithm the confidence of having a good basis can translate into a better application next time.