Inspiration
What it does## About the Project
The idea for this project came from a simple observation of how CCTV cameras are used in places like homes, shops, offices, and other public areas. CCTV cameras continuously record video, but in most cases, someone still needs to watch the footage or check it after an incident has happened. I wanted to explore whether computer vision could be used to make this process more useful by automatically identifying situations that may need attention.
I started with the idea of detecting people who have their faces heavily covered and then expanded the project to include suspicious activity detection. The purpose is not to label someone as a criminal just because their face is covered. Instead, the system treats face covering and other unusual activities as signals that can generate an alert for human review.
I built the project around a laptop webcam so that I could develop and test the complete system without requiring expensive CCTV hardware. The video is captured continuously, processed frame by frame, and analyzed using computer vision and machine learning techniques. The backend is being developed in Python, while the frontend provides the dashboard for viewing the camera feed, detection results, alerts, and recordings.
While working on the project, I learned how different parts of a real-world software system need to work together. I worked with video processing, image data, machine learning models, Python, APIs, and frontend-backend communication. One of the important things I learned was that building a machine learning project is not only about training a model. Data quality, testing, false detections, processing speed, and the way the model is connected to the actual application are equally important.
One of the main challenges was deciding what should actually be considered suspicious. A person wearing a mask does not necessarily mean that the person is doing something wrong. Because of this, I decided to avoid making a direct "thief" prediction and instead focus on observable events such as face covering, entry into a restricted area, and unusual presence or movement. These events can then be shown as alerts that can be reviewed by a person.
Another challenge was making the system work in real time. Processing every frame at full resolution can require a lot of computing power, especially on a normal laptop. I therefore had to think about frame processing, detection frequency, and keeping the system responsive while the camera continues recording.
This project is still a learning project, and there are limitations. The system can make incorrect detections, especially with poor lighting, unusual camera angles, low-quality video, or partially visible faces. For this reason, the results should be treated as alerts or indications rather than proof of any wrongdoing.
Through this project, my main goal is to understand how computer vision and machine learning can be taken from an idea and turned into a working application. I also want to improve the project further by testing it with more real-world conditions, improving the detection model, reducing false alerts, and making the overall system more reliable.
Log in or sign up for Devpost to join the conversation.