uptake / autofocus

Deep learning computer vision for classifying wildlife in camera trap images
BSD 3-Clause "New" or "Revised" License
54 stars 30 forks source link

Extract features from empty images and treat presence of animals as an anomaly detection problem #37

Open gsganden opened 6 years ago

anlutfi commented 4 years ago

My initial approach would be, given a set of empty images:

1- downscale and blur these images to minimize leaves' and branches' movements

2- compute the SSIM difference between them to get a threshold under which future images would be considered empty as well

3- for every new image, check the SSIM difference and see if it's an anomaly

4- (MAYBE) if it is, crop the region that contains the anomaly

I also think that the app could take empty images during the day to recalculate the threshold at different lighting conditions

Any thoughts?

gsganden commented 4 years ago

Seems like a reasonable thing to try!

I am not very familiar with SSIM, so I am not sure how suitable that particular metric is for this problem.

I am somewhat skeptical that any non-deep learning approach will do better than a good use of deep learning, but I could be wrong.

I also think that the app could take empty images during the day to recalculate the threshold at different lighting conditions

That would be great, but there are obstacles. I don't think the cameras support taking images on a schedule rather than when they detect movement; they are designed for use by hunters. Also device battery life and storage are restrictive.

The 2018 dataset consists of three-image bursts, which might be useful for calibration, but they aren't labeled.

anlutfi commented 4 years ago

Oh, I see. So, now I am skeptical too, since every image "should" contain an animal. I'll give it some extra thought after the holidays.

gsganden commented 4 years ago

The percentage of "empty" images is not low -- somewhere around 30%, IIRC.