Leafs Identification Algorithm

The issue of object recognition has always been a major issue in the field of computer vision. The following project deals with the problem in a simplified yet effective method.

Abstract

The issue of object recognition has always been a major issue in the field of computer vision. The following project deals with the problem in a simplified yet effective method. The simplicity is derived from the hope to assimilate the algorithm to smartphone environments in the future. As costumed in similar projects, it was developed using Matlab. Also, It was decided to concentrate on leafs (flora, foliage) as the database for the project.  When the algorithm runs on a selected picture of a leaf, it goes through the database and finds a matching leaf or more. To do that, the algorithm uses methods of computer vision to determine the best result, including: masks, morphology actions, edge detection, object labeling/properties and more. However, the main comparison parameter is the leaf’s edge angles vector, though other parameters are extracted and used to filter irrelevant images from the database. At the time of this abstract publication, the success rate of the algorithm was 75-80%.

 

Algorithm Flow

1

 

Computer Vision

  • ›Extract number of leafs edges
  • ›Extract leafs eccentricity parameter
  • ›Calculate tangents across leafs edge
  • ›Create unique signature based on the angles between tangents

2

 

Comparing Signatures

  • ›Cross – Correlation, Convolution
  • ›xcorr, cconv
  • ›Normalized Cross Correlation
    • ›Correlation coefficient
    • ›Fast computation method
  • ›Cyclic
  • ›normxcorr2 vs. xcorr

3

 

Conclusions

  • ›Initial filtering by parameters is super important
  • ›Signature comparison methods and different results
  • ›Processing time
  • ›Database size is a two edged sword