I use an early filter approach with small trick. The program displays the original image to the user, but actually processing the filtered version in the learning stage.
The input is filtered before processing the finding stage, and then overlay red start on the original image.
It's obvious that filtering eliminates some false positives, but it also eliminates some overlapping bees.
Again, the learning samples are important for the second stage. I can stack up the learning samples, however, I am not sure whether I should compress them to limit the computation. For now, every learning process starts a new file and abandons all the old data.
Also I think I should head to some kind of texture recognition for the overlapping bees.
UCSD CSE190a Haili Wang