<< return to Vizycam.com

Birdfeeder app notes, technical, etc

In the meantime starting with the Pet Companion I found it thinks rabbits may be dogs or cats. I have issues with the neighbors cat and dogs so wth bird, cat and dog detection on in COCO I might get a good approximation for V.1 deployment.

Do you guys discuss how to “steer” something like a servo (for garden hose control etc.) based on detected object location in image field?

Really looking forward to the documentation on using iNaturalist to create my own detection/classification and insert them into the system - hurry please!

I did have a go at training for UK birds ( plus a few “pests” ) - see https://github.com/plord12/vizy-training . Seems to work with test images but really waiting for vizicam to move to tensorflow v2 before I get back to this.

Pain point is creating bounding boxes …

iNaturalist has bounding boxes :slight_smile:

I couldn’t find them for the 2021 dataset, only 2017.

Perhaps not for 2021. There are lots of labeled images available however.

Well, I’ve not re-checked, but a while back I did find that the common UK birds were not in the 2017 set … pictures only in the 2021 set without bounding boxes. Hence the earlier comment.

We will be moving to a multi-step inference for the Birdfeeder app. A detection network will detect generic birds and pests, and then a classification network will identify the bird species using the detection network’s detection box. This will improve the accuracy, and since the birds are identified with a classification network, bounding boxes aren’t necessary for the training set, just the specific classification (bird species). :slight_smile:

Edward

1 Like

Hows is going ?

I’m followiing along on github and see some great sounding pushes :slight_smile:

Hello,
We are trying to get the next release out, which is probably our biggest release yet. It uses the improved detection and classification networks (Efficientdet and Efficientnet) and has support for “texting” – sending notifications to you phone.

And of course, things are taking longer than expected… We expect the release to be ready mid-September. We have a European bird classification network that works with the new CNNs, and we need some real world testing :slight_smile:

Edward

Brilliant … thanks for the update :slight_smile:

I’ll be first in line for testing !

Hello,
Just a quickie update – I said mid September on the next release with the European bird classification network (etc). It’s going to take longer :frowning: We’re targeting October 7 for release. Things are progressing, it’s just a complex set of changes including a rewrite of the Birdfeeder app and a new app (Object Detector). Thanks for your patience :slight_smile:

Edward

Thanks for the update.

I noticed in the source a new “daytime” detector. Is one of the ideas here to auto turn on/off infrared leds ?

Thanks again.

Hi Peter,
The detector CNN’s accuracy is fairly poor in low light. We added the daytime detector to turn it off when it gets dark. Detecting with the IR lamp on is interesting – that’s something that we might add later – maybe for a different application, like chicken coop protection (foxes, etc). But we’re open to ideas.

Edward

What I have been testing in regard to the IR filter for my project is this method:

To set the stage the camera is in the livingroom with stationary objects like a couch, chair, laptop, etc. It should always detect something. So, with that in mind.

1: Using sunrise module from PyPi get the sunrise and sunset times for current day.
2: Check the time. If daytime, no IR of course.
3: If no object detected (curtains may be closed) check brightness level. If not max, increase it one notch.
4: If still nothing detected keep increasing until max.
5: If still nothing detected, the AI informs you the camera is covered. (Even with curtains closed there should be enough light to see something.)

If nighttime, after sunset from module:

1: Same as above except, after max brightness, reset brightness back to center and turn on the LED light. Slowly increase the lights brightness.
2: If still nothing, follow the same path as before, increasing the brightness until max.
3: If still nothing, reset brightness to center, turn off LED and engage IR.
4: If nothing, increase brightness until to max or an object is detected.
5: Once maxed, turn on LED light as before and slowly increase light until an object is detected.
6: If after all that during the night, the AI alerts to an anomaly.

Still some fine tuning of course. Seems to work in a room. Hope that inspires!

  • Cheers!

Nice-- thanks for sharing!

Maybe add auto IR on at dusk as a general optional feature ?

Perhaps… some things to consider though – the training set is daytime lighting (full color). IR lighting isn’t full color, so the detection accuracy is going to be affected. Birds that visit birdfeeders are diurnal.

For applications that need IR lighting, the training set can be changed/augmented/replaced, but I don’t see the value for this application. Let me know if I’m missing something. Turning on the IR light at nighttime is straightforward, however.

Edward

I had in mind to leave the birdfeeder app running overnight ( with IR on ) to detect nightime “pests” such as cats and foxes.

That’s interesting. We’ll look into augmenting the training set to include night-time pics of pest species. :slight_smile:

Edward

Thanks … although I’ve (re)discovered night time with IR results are pretty poor. My cheap wildlife camera produced far better quality pictures at night.