Ai-Nimals was created to find out which birds specious are visiting my winter bird feeder in the garden. It's is a connection between USB camera, Jetson TX2 board, solar charger and battery power supply. It is mobile and closed in case. It can be placed anywhere.
When bird visit feeding spot, camera catches it and TX2 software classifies the object. Software updates statistics and writes it to CSV file. When experiment is finished, file can be downloaded and processed in terms of statistics.
Software was fully written by my self after working hours in python. I used keras (with tensorflow) and opencv. For birds localization I make "one shot" detection using MobileNetSSD network with pretrained weights. For classification I base on VGG16 deep neural network architecture which was fully trained by myself using ctrl-break method and fine tuning ImageNet weights.
I wrote images scrapping script to get training images of birds specious which are visiting gardens in winter in Poland (22 specious). I downloaded ~40000 images. Preprocessed them by another script which was automatically cropping birds and sort them basing on their specious name. In the end I spend 40 working hours with ornithologist to manually check and label all images and prepare them for training process. Training process took about 10 days on my GTX1060 before I gained 93% accuracy in classification (on testing set).
Project is scalable. It can count not only birds but also other animals or even cars. It's just a matter of training data for two neural networks.