We wanted to simplify the job of many security guards who have to rewatch endless hours of footage to extract desired content. Many areas around the world are under surveillance, it's unreasonable to ask security to watch hours on hours of unwanted clips. We decided to tackle these problems with YouCompress. It will allow users to extract relevant data from the film provided to the program, thus reducing the time spent by users who watch the video and considerably reduce the memory used.

What it does

YouCompress allows users to submit a video, being short or long of length, and remove footage where humans are not present in the film. This program would shine most prominently on surveillance footage. On average, most surveillance camera store 30 to 90 days of footage before refreshing. In most cases, surveillance cameras are recorded at 480p 30 fps. The reason for such a low-quality film is due to memory usage. Cctv surveillance cameras at 480p on a 24-7 service uses 2TB of memory every 60 days. Now, take the Toronto Eaton Center as an example, which holds up to 5000 surveillance cameras, and the total memory needed becomes 10 000TB for a single mall. Which, for only the hard drive, would cost approximately 324 000-400 000$ CAD. Not only does it save memory, but it also saves time to the users who must rewatch the footage. Keep the Toronto Eaton center in perspective, which is only open for 11 hours on weekdays. Which implies that this program would save 13 hours of the interval where no one is present.

How I built it

We used Wrnch API for human detection. For feature extraction and image manipulation, we used python libraries such as Numpy and OpenCV.

Check out the compared videos here

Challenges I ran into

Our goal was to capture the number of people in the footage given a time interval and graph the result with a histogram. That would give us a more accurate representation of high traffic times. We implemented the functionalities into the program but we were unable to find adequate footage for the API to uniquely identify each individual in time for the demo.

What I learned

How to use Wrnch API Working with openCV and image manipulation

What's next for YouCompress

Include a histogram to graph the population given time integers Include a full-stack implementation Create a pipeline to continuously process the videos by feeding raw footages to the Jenkins server

Built With

Share this project: