Wildlife Documentation Camera

Fairly new to machine learning, but have been doing raspberry pi stuff for a year or so.

My plan was to hang up the nano in a waterproof box with the v2 pi camera attached pointed at some bird feeders. I was hoping it would be able to detect the birds and document what species is feeding and when.

Is this project possible?

What resources/hardware do you recommend to get started?

Hi,

You can check this blog to get some information:
https://devblogs.nvidia.com/jetson-nano-ai-computing/

Thanks.

Hi vondalej,

This sounds like a really cool project! Seems like a great application of Jetson Nano.

Hardware

You may want to check out the Jetson Nano compatible cameras we list in this issue

https://github.com/NVIDIA-AI-IOT/jetbot/issues/29#issuecomment-481359800

There is also a lens kit for the M12 ArduCam boards that allows you to experiment with different fields of view. Which may be helpful for your application.

http://www.arducam.com/arducam-m12-mount-lens-kit-raspberry-pi-arduino-cameras/

Software

It may help to get familiar with deep learning and the capabilities of Jetson Nano. We created the open source JetBot project for just this purpose

https://github.com/NVIDIA-AI-IOT/jetbot

This project has tutorials that include collecting your own dataset, training and deploying for a custom task.

You may need to curate your dataset in a different manner, but the lessons will likely still help :)

Please let me know if you have any questions! I look forward to seeing how your project progresses.

Best,
John

Jetson hacks gave me this project as a reference.

My question is the install of Open CV3 and darkflow. Any literature on this around?

Hi,

OpenCV 3.3 is installed by default.
For darkflow, here is a tutorial for your reference:
https://towardsdatascience.com/yolov2-object-detection-using-darkflow-83db6aa5cf5f

Thanks.

Ok, i have the hardware and capture program done. It’s generating pictures of birds as it sees and putting them in a folder.

I built the My Recognition program (https://github.com/dusty-nv/jetson-inference/tree/master/examples/my-recognition) into that folder.

Does anyone have some code modifications to automatically run this when a new file is added to the directory?

In short, camera is running on a web server outside…bird program running on nano inside determines a bird is in the frame…nano creates a files (1.jpg for example)…my recognition sees a new files and runs program to identify bird…creates an output with the species

All but the last 2 parts are working. Worst comes to worse I run it manually, but it would be cool to automate this.

I think what you are looking for is the Linux inotify API, it alerts you to changes in the filesystem or a particular directory. See here for an example:

https://www.thegeekstuff.com/2010/04/inotify-c-program-example/

Can a C program trigger a python script?