Table of Contents
The goal of this project is to identify history sheeters and provide a solution with
higher accuracy, better response rate and an initial step for video surveillance. Solution is proposed
based on nature of criminal psychic of repeating crime or involvement in it. This system is used to
track history sheeters and recognize them before and after any mischief or any unlawful activity.
In the system I am storing the picture of criminal in the data set alongside its other detail to give
ease in information recovery and ensuring fast deployment of results in real world. The project is built on
python with the use of OpenCV along with the algorithms like Haar cascade classifier, LBPH and
face_recognition etc. to store the detail of person we have used SQLite.
The human ability to remember and recognize faces is noteworthy. The system aims to provide a real-time copy of a human identifier along with personal details
for efficient tracking of history sheeters. The criminal face recognition system
creates a database of criminals and recognizes the person when their image matches an existing image in distributed environment
. This project will be a milestone in video-based facial recognition and
surveillance.
I have used OpenCV, which represents the Haar cascade classifier used for face detection. The Haar Cascade Classifier uses the AdaBoost algorithm to detect multiple facial features. First, it reads the detected image, converts it to a gray image, and then loads the Haar Cascade Classifier to determine if it contains a human face. If so, it examines facial features and draws a rectangular frame on the detected face. Otherwise, the test for the next image will continue.
Haar cascade algorithm flowchart
The LBP operator is used to describe the contrast information for a pixel and its adjacent pixels. The original LBP operator is defined in the 3 * 3 window. The center pixel value is used as the window's threshold and compared to the gray value of the adjacent 8 pixels. If you are in the neighborhood
SQLite is a software library that provides a relational database management system. SQLite lights mean lightweight in terms of setup, database management, and required resources. SQLite has great features such as standalone, serverless, zero configuration and transaction.
- OpenCV
- face_recognition
- Tkinter GUI
- Image module
- Numpy
- SQlite
- git
Agile software development refers to software development methodologies centered around the idea of iterative development. Agile promotes teamwork, flexible procedures, and sle-organizing teams.
-
Sprint 1 (May 5): Planning, Research and Design - Researching about various open source libraries and algorithms for face detection and recognition. After finalizing OpenCv and LBP, I searched for tutorials, designed a basic UI.
-
Sprint 2 (May 13): Software development and debugging - Started the development process by taking help from YouTube tutorials. Built a machine learning model for the first time. Encountered occasional bugs which I debugged timely. Made required changes in the UI and color scheme to make it more eye pleasing
-
Sprint 3 (May 19): Debugging and adding additional features - My research phase helped me in decide how to implement the surprise feature. Decided to build a Live Surveillance feature and integerate it in my application. Made changes styles and added log in authentication.
-
Sprint 4 (May 25): Started debugging last moment bugs, collecting material for demo and finalising the project.
To install and run the project on your local system, following are the requirements:
- Clone the GitHub repository
$ git clone https://github.com/nandini7637/Eagle_Criminal_Investigation_System.git
- Change directory to eagle_criminal_investigation_system
$ cd Eagle_Criminal_Investigation_System/eagle_criminal_investigation_system
- Make sure to install the required dependencies from requirements.txt file
pip install -r requirements.txt
- Run the login.py file
- username=nandini_ag
- password = 123456
and voila you are ready to do some investigation!
- NOTE: In case you face issue in installing dlib python package, follow the given steps:
-
pip install cmake
-
Install Visual Studio build tools from here.
-
In Visual Studio go to the Individual Components tab, Visual C++ Tools for Cmake, and check the checkbox under the "Compilers, build tools and runtimes" section. pip install dlib
-or
-Refer this video Link
Import the required modules
Load the face detection Cascade
Create the Face Recognizer Object
Prepare the training set and Perform the training
Testing
-Light normalization may allow the threshold value to increase.
-Improvement of face recognition using specific character in the face and also analyse the face in 3D by using more than one camera. Using these two method the probability of error will decrease and system will be more accurate.