Back to list

Plant segmentation

  • Python
  • SVM
  • Image processing

A machine learning algorithm for processing plant photos.

The software is meant for segmentation of images made inside a greenhouse.

According to the application concept, a user uploads several photos of different plants and gets only certain regions with a plant of interest highlighted.

A training algorithm analyzes images using the idea that leaves and flowers of the same species should have colors and shapes within a limited deviation. This makes it possible to recognize them.

First of all, both training and prediction algorithms perform image pre-processing starting with adaptive color balance technique in order to avoid differences in perception of the same object in different periods of a day.

After that, various image segmentation techniques are applied in order to extract segments of an image corresponding to plants.

On the next stage, all of the extracted segments are analyzed based on their color distribution, size, edge shape. Numeric features are extracted for further training.

SVM machine learning algorithm was used to predict whether an image segment is related to a particular plant of interest or not.

Cross-validation technique was applied to test the performance of final classification model and to select an optimal set of parameters for each stage.

plants1.jpg

plants2.jpg

plants3.jpg

Services
Development time
2 weeks of 1 developer