This project tackles the problem of poison ivy detection via a semi-supervised image recognition algorithm in MATLAB. The aim of the project is to inform users if there is a poison ivy in a given picture. We used a combination of feature detection methods like CNN, corners and blob detection for classification.
-
First, the algorithm finds the ratio of the image dimensions and explores the colorspace for high-signal channels.
-
A circular mask is generated to remove the area outside the circle.
- Image quantization is used to bucket the pixels of the image into 16 parts to further remove noise.
- Sobel edge detector is used to detect edges in vertical and horizontal directions.
- Edges with a magnitude above the 95th percentile are identified to achieve the strongest edges.
- K-means is used for segmentation, multiple color channels are inputted into K-means.
- 5% weight for rows and columns, 200% weight for edge magnitudes, and a* from Lab are used for adjustments.
- Clusters for K-means are set to nine.
- Morphological operations are used to clean the image and prep for classifying algorithms to take over
- Classifying factors are: Number of leafs, number of corners, and neural network's output on the post-processed leaf image
Enter the src
file for details on how to use. Read the "Final Report.pdf" for a more detailed explanation of the methodologies.
Our algorithm has been tested on a set of images and was able to detect poison ivy with an accuracy of ~94%.
- Bardh Rushiti
- Mohd Junaid Shaikh
- Saksham Bansal