First off, I do IT work, but, not this kind.
I have been seeing YOLO for a while and thought it was neat, was thinking of using my Raspberry Pi with my Ring camera to count how many cars go up and down the street, but never got around to it due to workload.
Well, yesterday, the web developer for a project I’m helping with (as hardware mostly), turned into a mess, so now I’m basically it (not I.T., IT).
So, the idea was, count the vehicles in a specific area, nothing more fancy than that.
I first off, started with a Q6600 (Intel) with no GPU, after getting the installation working with the project I tested: Create a Car Counter in Python using YOLO and OpenCV
It ran as I expected, but it did work as the example video showed.
So, I thought, this would be a good spot to learn by reading, what was going, it made sense.
This is my setup:
An IP Camera (4k 2.8mm, which can be read by RTSP or pull a single frame).
A computer to run this software (currently Q6600 testing, most likely N150 NUC).
Send the image (not stream) somewhere else (somehow, I did say I don’t do this normally).
The idea is, to count the vehicles within a masked area, nothing more, nothing less, just get the count of the vehicles in the frame (picture).
I want to pull 1 frame (to picture) at a time, because these vehicles don’t move very fast and aren’t always facing forward.
I don’t need this real time, in fact, a N150 NUC would probably be more than sufficient, because with Linux on it, it would just be doing that one frame every 5 seconds, so with the Q6600 taking a 800-1500ms inference cost, the N150 should be 30 to 50% faster, which is much more than I need.
What I aim to do is get the frame and count the vehicles in the masked area. Then I’d need to reduce the image down to something around 320x??? and write the count on top of it. What to do with it, that is what I’m not sure yet, but having the count on top of it is all I really need (after it is shrunk, because I’m not uploading a 4k image for that).
So in a nutshell, count cars in a masked picture, shrink it, write the count on it, put it somewhere, wait 3 seconds, repeat.
Was really interesting to see an old (2007) machine actually do this work, not fast (as expected), but it gave me a reference to what I could get away with hardware wise. (Unless someone has any suggestions otherwise.)