We are aiming to make a tool that will assist crime investigation authorities to rapidly analyze CCTV recordings/videos.
Let's say we have an images of a suspects, and we have the CCTV recordings of the crime scene. Now, the video recording could be of hours and there can be a long list of suspects. Finding the suspects manually in the video can be a time-consuming and labour intensive task. Given the seriousness of any crime investigation where prompt actions are required, a lot of time is wasted in analyzing videos.
Let's automate this task and save some time!
Enter the suspect's picture and the video recording in our tool, and our tool will find the suspect's face in the video recording. You will be able to see the frames in which the suspect appeared in the video.
- Divide the video into frames.
- Detect faces in the frames and put those frames into a list.
- Encode detected faces using FaceNet(used face-recognition library).
- Group the faces of one person in a cluster using DBSCAN Algorithm.
- Detect the face in the query image and encode it.
- Predict in which cluster will the query image belong to using SVM.
- Retrieve all the frames in the predicted cluster
We have deployed the ML-Pipeline on a Web application using Flask.
Landing Page | Home Page |
Enter Query image & Video | Query Image |
Frames of the video | Results |
- Front-end : HTML, CSS, Bootstrap, JavaScript
- Back-end: Flask
- Machine Learning Libraries: Numpy, Pandas, Sci-Kit Learn, Face-recognition, OpenCV
This project was built by Shambhavi Aggarwal, Bhargav Akhani and Dharven Doshi
This project is released under a free and open-source software license, Apache License 2.0 or later (LICENSE or https://www.apache.org/licenses/LICENSE-2.0). The documentation is also released under a free documentation license, namely the GFDL v1.3 license or later.