Inspiration:

My inspiration for Better Cams came from the growing need for advanced surveillance systems that leverage computer vision technology. I wanted to create a solution that elevates traditional CCTV systems, enabling users to detect motion, recognize objects, and monitor with unparalleled precision. By integrating with Theta's powerful video storage and streaming capabilities, I aimed to provide a cost-effective and seamless way to access enhanced surveillance footage.

What it does:

Better Cams is an innovative platform that enhances existing surveillance systems with cutting-edge computer vision technology. It enables users to monitor their surroundings with enhanced accuracy and efficiency. With motion detection and object recognition capabilities, users can receive alerts and gain valuable insights from their CCTV footage. By leveraging Theta's video storage and streaming capabilities, users can securely store and access their enhanced surveillance footage in a cost-effective manner.

Features

  • Motion detection
  • Object recognition
  • Real-time desktop and SMS alerts
  • Automatic footage backup on your Theta account
  • Camera footage live streaming
  • Remote access to live footage, alerts, backups from any device

How we built it:

To bring Better Cams to life, I utilized a combination of technologies and frameworks. We leveraged computer vision algorithms to enable motion detection and object recognition in real-time.

The platforms consist of two main components: the website and the desktop app The desktop app was built using Python and incorporated popular libraries such as OpenCV and ffmpeg. The desktop app is the heart of the platform because it is where the CCTV footage is enhanced and streamed. Make sure that you have ffmpeg installed on your system before running the desktop app.

The Desktop UI was built with Pysimplegui, the video capture, and processing is done with OpenCV and a MobilenetSSD model, the synchronization with other devices is made with Python-socketio, and the video storage and streaming are made possible with the Theta Video API.

The website frontend was developed using Javascript, HTML, Bootstrap, and Socket.io enabling a user-friendly interface for seamless interaction with the platform.

The website backend was developed with Python and Flask-SocketIO. The server is responsible for serving the webpage and connecting the desktop app with the website.

Challenges we ran into:

Throughout the development process, I encountered several challenges. Implementing real-time computer vision algorithms and optimizing their performance was a complex task. I had to try several models that would give decent results even on a computer without a GPU.

I originally wanted to do the video processing on the cloud but I soon encountered latency problems that made me rethink how the platform would work. Then I decided to build the app using Tkinter with no prior experience with the tool, but then I realized that it wouldn't be possible to do it in such a short amount of time and that is when I discovered PysimpleGUI.

Additionally, integrating with Theta's video storage and streaming capabilities required careful configuration and testing to ensure seamless and reliable functionality.

Accomplishments that we're proud of:

We are proud of successfully integrating computer vision technology into traditional surveillance systems. My platform enables users to enhance their CCTV footage with motion detection and object recognition, providing valuable insights for improved security and monitoring. The seamless integration with Theta's video storage and streaming capabilities allows for cost-effective access to the enhanced surveillance footage, further enhancing the user experience.

What we learned:

During the development of Better Cams, we gained valuable insights into computer vision libraries and real-time video processing. I enhanced my understanding of video streaming technologies and their integration into web-based applications. I also learned how to use python to develop my first desktop app.

What's next for Better Cams:

In the future, we plan to expand the capabilities of Better Cams by incorporating more advanced computer vision features. This includes the development of custom object recognition models and the integration of additional analytics and insights based on the surveillance footage. We also aim to enhance the user experience by adding more customization options and improving the platform's scalability and performance.

Share this project:

Updates