Ideas needed for Leaf Detection
I'm facing a challenge in detecting the leaves in the image. I've tried color based segmentation so far, but the color of the leaves in an image vary due to lighting and are in similar ranges to other parts of the plant. What other methods can I use? I'm pretty new to image processing. Open to machine learning techniques for classification. I'm using OpenCV 3.3.0
This is an example input image. The closest I've gotten with color is:
"Open to machine learning techniques for classification". I meant detection
Try to get better pictures, get a better camera. Your image is overexposed because of the dark background, so try manual settings.
Another good idea for better images is to use an infrared camera (it will make vegetation white).
Believe me, getting better images is much easier than implementing more complicated algorithms.
I'm using an Intel Real Sense camera now. I get a 3d Point Cloud file and a 2d image like this from it. Changing the camera is not really an option now, because there is interference when using an IR camera, out on the field. Thanks for the idea though
If you get a good pointcloud, try to segment that.Here are some articles: Rapid Characterization of Vegetation Structure with a Microsoft Kinect Sensor or In Situ 3D Segmentation of Individual Plant Leaves. There are lots of articles dealing with plant/leaf segmentation in RGB-D images.
I do not know 3d segmentation, but I know a deep semantic segmentation called Tiramitsu do a great job at segmentation, even training data are small(less than 400 pictures). However, create train/test data for segmentation is not a trivial task(verbose ^ 1000), if 3d segmentation could save you the troubles of generating train/test data, go with 3d solution first.