Tensorflow:
After spending many hours trying to shuffle and reformat the bird database into something that Tensorflow would be happy with, I gave up. I found another bird database that already had each .jpg file sized the same, and all the images were already separated into categories. The only issue was that this database is only hummingbirds. My project is now all about hummingbirds.
There is a Tensorflow dataset named caltech_birds2011 that might work, however, I'm sticking with hummingbirds for now.
https://www.tensorflow.org/datasets/catalog/caltech_birds2011
There are python libraries available for image resizing, however, getting the aspect ratio correct isn't so easy.
Here's some python code to resize images without addressing the aspect ratio problem. The new images may look distorted.
The preferred Tensorflow database structure is shown below:
This tutorial matches what I'm trying to accomplish with this database:
https://www.tensorflow.org/tutorials/load_data/images
The model doesn't predict %100 at this stage, so I'll adjust parameters and test again.
Once the model is more accurate, I'll import the webcam image and test it with the model.
Coursera Online Instruction:
I took 2 online coursera classes titled:
Introduction to TensorFlow for Artificial Intelligence, Machine Learning, and Deep Learning
https://www.coursera.org/learn/introduction-tensorflow/
Basic Image Classification with TensorFlow
https://www.coursera.org/projects/tensorflow-beginner-basic-image-classification/
These courses were very helpful and I would recommend them. The first one was free, the second one cost $9.99 and I received a certificate of completion.
Enclosure:
I picked up a nice plastic birdhouse that should be good for this project.
It's not a hummingbird feeder, but I can mount it nearby and point the camera at the hummingbird feeder.
The Arty-Z7 fits inside nicely with some room for connectors, and there are windows for the camera to look out of.
Motion Sensor:
I was going to use a similar LED puck motion sensor for this project that I used for the halloween project, however, it didn't perform well if the ambient light was high.
I switched to a DFRobot SEN0381 digital IR Proximity Sensor that seems to be working better at detecting objects in sunlight.
I could just leave the camera on all the time and use an object detection software algorithm....maybe later......
https://www.dfrobot.com/product-2130.html
The last part of this project is to combine all the features and assemble all the components into the enclosure.
My first challenge is to install tensorflow on the Arty-Z7. My code works well on my desktop, however, the tensorflow module is not recognized by the python interpreter. I don't have enough time to start over with a new database library at this point. PyTorch isn't currently supported, however, tensorflow lite might work.
I'm also going to add some of my own backyard bird photos to the database. I have many hummingbird photos.