Use OpenCV or equivalent to edit video files that record the entrance to a car parking lot and effectively eliminate the parts of the file that do not have any motion in the "activity zone". The point of this project is to condense the amount of video a human would have to watch in order to count cars entering a parking lot. If there are no cars entering, the video frames can be deleted.
We have built a computer vision/machine learning application that processes the video footage to count cars entering a parking lot. Unfortunately, the application isn't good enough yet, and we need to have humans count the cars and record the minute:second that a car entered in order to establish the ground truth of exactly how many cars entered the lot.
Specific requirements include:
- Read a parameter file for processing each file that includes a defined before and after motion time called B and A. A defined "Activity Detection Zone" as well as coordinates for the "Useful Image Zone".
- Read a 3GP file that came from a video recorder (NVR) and get the timecode from the envelope.
- Read the media and watch for movement within a pixel defined boundary rectangle, the "Activity Detection Zone".
- Hold B seconds of frames before the motion and A seconds of frames after motion has ended
- When motion happens, set the B frames as the beginning of a new video clip and continue processing frames until there is no motion detected for A seconds.
- If technically possible, starting with the beginning of the frames in the "B" buffer, overwriting the part of the video frame just to the right of the activity zone with a countdown timer showing the seconds prior to the motion coming. A viewer will have that visual queue to see that motion will start in 3, 2, 1 seconds.
- During the frames that have motion (only in the Activity Detection Zone), overnight a small block of highly visible letters/numbers that give the local date/time of every frame. This timestamp should include four spaces and then a frame number formatted as 00,009 so that if a watcher stopped the video it's possible to see the frame number.
- If additional motion happens during the A seconds, keep holding all of the previous frames and restart the A seconds counter back to zero. (this is important because cars often enter the parking lot in groups of four or five and we would prefer to have all of those cars gathered into a single clip to watch instead of creating one file per car observed.
- When no more motion happens after A seconds, drop all of those A frames, except for the first 1 second after the motion ended.
- Each frame must be cropped according to a pixel rectangle defined as the "Useful Video Zone" and all pixels outside of that zone are just forgotten.
- Write out a file with the time code information on the file envelope and all the frames in a newly defined clip beginning with B and ending after the first full second of time A.
- The filename must include the timestamp of the beginning frame and with a naming standard.
- This video clip should then be written to a new video file with timecode information in the envelope and readable by major video readers on Mac OS and Windows.
- In the case where no motion is found in the "Activity Detection Zone", simply create a file of the last B frames plus 1 second, creating it with the same timestamp information and a naming standard that indicates no motion was detected.
However, two additional file-handling features are desirable.
1 - Because the files input into this process vary in length from 2 to 10 minutes long, with most being about 4 minutes long, it is possible that car groups are coming into the lot right on a clip end and a car could not be counted properly if a clip ended as a car was coming into the activity detection zone.
2 - The second feature would be a Clip Bundler. The above process may create as many as 1000 files a day.
21 freelanceria on tarjonnut keskimäärin 623$ tähän työhön
Hi, there. I have good hands-on experience in face recognition using OpenCV and Tensorflow. If you have enough datasets, no problem in accuracy. I can guarantee the qualified results in time. Best regards.
Dear, Your project seems to be feasible but to have a better idea on the work and effort, could you please send me a sample dataset so that I can check if all your requirements can be fullfilled. Thank you Iskander