Wildlife Tech

Quest to Eliminate Empty Wildlife Images

Slash empty wildlife-camera shots: burst-image background subtraction filters false triggers; hardware limits push detection to cloud AI.

Hugo Markoff
Hugo Markoff
Quest to Eliminate Empty Wildlife Images

A dream of completely removing "empty" wildlife images on the camera itself. It's no secret that at Animal Detect, we've built our own prototype cameras to explore which wildlife data challenges could be solved directly on the device before shifting our focus to a more software-based solution that's not restricted to specific hardware.

One of the main frustrations with online cameras operating over GSM (2G/3G/4G) and a phone app, where users get notifications for each new activation—are the empty images. A branch swaying in the blazing sun? Activation. Moving water, like a river? Activation. Not sure why? Activation. 😅

Creating a long-lasting, battery-powered solution while wanting to include a spectrum of cool features is hard. Hardware limitations make running effective AI algorithms on the device nearly impossible. So, I turned to image processing.

Idea & Test Setup:

  • Capture a burst of 4 images, 1 second apart.
  • Generate a background from these images.
  • Measure the changes.
  • Filter out noise (small, thin objects like vertical trees, etc.).
  • Assess the shape and size of the objects after filtering noise (highlighted areas).
  • Select the "best" image based on parameters like size and position (I preferred animals centered in the frame).

Did it work? Well, yes! Not only in my "cat cave" (which I like to call home 🐱🏠), but also in real-life scenarios. HOWEVER, I couldn't address enough of the issues at the time for it to make sense to implement.

Issues:

  • Light variation was a big problem, causing shadow changes in the images. I tried many methods to reduce/remove it, but the algorithms that worked on my PC were too "heavy" for the tiny processor on the camera.
  • What happens if an animal is just standing still in the image for 4 seconds? In my example, it became "invisible" as it was part of the background. I experimented with creating a "global" background from previous sessions, but first, I had to separate night and day images. Again, light and shadow variation became too much of a pain.

Solution: Run AI on a cloud server and don't bother working on limited hardware! ☁️

Hugo Markoff

About Hugo Markoff

Co-founder of Animal Detect, the dog man.