Inclusion in Software Development: Changing Branch Terminology
Changing the name of the "master" branch to "main" is a simple, positive step towards creating a more inclusive environment in software development.
A fun project using a Raspberry Pi, cheap webcam, and Deep Learning to identify birds that visit our bird feeder
A fun project using a Raspberry Pi, cheap webcam, and Deep Learning to identify birds that visit our bird feeder. This is what my son and I decided to work on for his senior year project.
For the project, I helped him think about: how to run the project, the different elements that had to be brought together, how they would have to interact etc. He did an amazing job thinking about it and setting it up.
However, it also pulled me down the rabbit hole, getting me interested in Deep Learning, the power of the small Raspberry Pi, hardware setups, automation etc.
Iterative over engineering as a learning tool
The idea in it's simplest form, was to use an inexpensive device like the Raspberry Pi, with its camera to take pictures of the birds at the feeder, and then run it through a model that we would train, to identify the actual bird in the picture.
Birdland which is still a work-in-progress, consists of the following major parts:
The Picture. This includes taking the picture, detecting motion, reducing false triggers, and highlighting the part of the picture that has the bird.
The Model. This would be the model that is trained to identify the bird from the picture. It also meant getting to know and use Deep Learning as well as Python
Plumbing. Sending the pictures taken to the server where they are processed, and run against the model. Clean up, back up, cron jobs, APIs and all that jazz.
So I went ahead and bought a Raspberry Pi Zero W, and a camera for it. The next few posts will be about how we got Project: "Birdland" up and running.
Part 1: Basic Structure, Framework, etc
Part 2: Setting up the Raspberry Pi
Part 3: Setting up the Camera
Part 4: Setting up the Motion Capture
Part 5: ....