It's time for another machine learning update...
I programmed the artificial neural network from my previous post to process a video feed from my camera. Then, I pointed the camera at a youtube video of traffic to see if it could detect cars.
And, I am happy to say yes, technically it can detect cars from the video. It's a little hit or miss right now, but it can definitely pick up about 50% of the cars that pass by. Not only that - but the camera isn't hooked up to my desktop computer. I have this whole program (minus the youtube video) running on a $35 mini computer that is about the size of a deck of cards (Raspberry Pi). It's processing video at just under 3 frames per second.
I will need to work on getting that frame rate up higher - I'd like for it to be at least 5 frames per second, and 10 would be ideal. More importantly, I need to improve its comprehension. The photos that I trained the neural network on were mostly of cars taken from the side or taken from the back. If the training photos included some taken from above and at diagonal angles, I think the performance would improve a lot.
Below is a gif of the neural network in action. The red boxes are where it's looking. The boxes turn green when it thinks it sees a car. Yeah, obviously it has a ways to go - but it's a start.