I'm student in agronomy and the subject of my final year study is to assess the number of bees in pictures. I tried some methods (thresolding, template matching with ciratefi algorithm or with imageJ) but none works fine.
I'm a beginer with matlab and I wonder if it's possible to train cascade detector and use the fonction vision.CascadeObjectDetector to count bees on pictures.
Two pictures examples :
and
http://img4.hostingpics.net/pics/978154DSC0660.jpg
How many positive and negative samples do I need to use ? HOG ? Haar ? LBP ?
Thank you for your help
It may work, but it will be hard. From the images you've provided I think you may have a good chance of detecting isolated bees, but it will be hard to detect the ones that are crowded together. In the latter case it is hard to see the outline of the shape of each bee, and some bees occlude other bees. But you will not know until you try. :)
Also, keep in mind that the cascade object detector does not handle in-plane rotation. That means you would have to train several detectors for different orientations of the bees. You can use the trainCascadeObjectDetector
function to train the detectors.
You would need at least several hundred positive samples of each orientation. You can use the Training Image Labeler app, which comes with the latest release of the Computer Vision System Toolbox to label the bees in images.
You would also need lots of images of the honeycomb without any bees on it to use as negative images.
As far as features, I would start with HOG or LBP, because they are much faster than Haar. If you get encouraging results, then you may want to try Haar to see if you can improve your accuracy.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With