/Face-recognition-Challenge-Engage-22

I propose criminal identification system and missing people identification for Police Department to enhance and upgrade the criminal distinguishing into a more effective and efficient approach. Technology working behind is face recognition.

Primary LanguagePython

Face Recognition Challenge for Microsoft Engage'22

Problem Statement🧐

Develop a browser-based application or a native mobile application to demonstrate application of Face Recognition technology.

Solution ✨

In this project, I developed a desktop application using the face-recognition technique in python. I propose a criminal identification & Missing people identification system to enhance and upgrade criminal distinction into a more effective and efficient approach. Technology working behind it is face recognition. From the captured images of the person, faces get cropped and compared with the criminal data we have in our database. If any person’s face from image or videos matches, the system will display their name on the system screen.

Model Build on Keeping These Criteria in Mind 👩🏻‍💻

  1. Performance of model
  2. Model selection
  3. Scalability
  4. Scalability of model
  5. Retrainable model
  6. Accessibility
  7. User friendly
  8. Accuracy

Technologies 👩🏻‍💻

1. Tkinter

Python has a lot of GUI frameworks, but Tkinter is the only framework that’s built into the Python standard library. Tkinter has several strengths. It’s cross-platform, so the same code works on Windows, macOS, and Linux. Visual elements are rendered using native operating system elements, so applications built with Tkinter look like they belong on the platform where they’re run.

2. Python

Python is a computer programming language often used to build websites and software, automate tasks, and conduct data analysis. Python is a general-purpose language, meaning it can be used to create a variety of different programs and isn't specialized for any specific problems. Python is dynamically-typed and garbage-collected.

3. Open-CV

OpenCV (Open Source Computer Vision Library) is an open source computer vision and machine learning software library. OpenCV was built to provide a common infrastructure for computer vision applications and to accelerate the use of machine perception in the commercial products. Being a BSD-licensed product, OpenCV makes it easy for businesses to utilize and modify the code.

4. MySQL

Python MySQL Connector is a Python driver that helps to integrate Python and MySQL. This Python MySQL library allows the conversion between Python and MySQL data types. MySQL Connector API is implemented using pure Python and does not require any third-party library.

Prerequisite 🖥

  1. Python version must be 3.8.10
  2. Tkinter version must be 8.6
  3. Xampp must be installed on your system.

Note: Tk interface can be different for different systems and their versions

Steps to run the project 👇🏻

  1. start your mysql and apache server and navigate to localhost and create database of name criminaldb.
  2. Import table.sql file into your newly created criminaldb.
  3. run this sql command in your criminaldb SET GLOBAL sql_mode='';
  4. Install the requiremnts using command pip or pip3 install -r requirements.txt.
  5. Before running the file extract all the files of Images Folder to your root directory.
  6. Run the main python file python or python3 main.py.
  7. Now experience the GUI and features of the project.

Glimpse of my Application 💁🏻‍♀️

Login Page Sign-Up Page

Home Page

Screenshot 2022-05-24 at 11 09 27 PM

Criminal Detection Finding Missing People
Screenshot 2022-05-24 at 11 14 45 PM Screenshot 2022-05-24 at 11 19 00 PM
Register Criminal Register Missing Person
Screenshot 2022-05-28 at 4 03 16 PM Screenshot 2022-05-28 at 4 16 37 PM
Image Observation Image Observation
Screenshot 2022-05-28 at 4 19 33 PM Screenshot 2022-05-28 at 4 17 09 PM
Alerts Alerts
Screenshot 2022-05-28 at 11 24 19 PM Screenshot 2022-05-28 at 4 20 32 PM
Alerts Alerts
Screenshot 2022-05-28 at 11 25 17 PM Screenshot 2022-05-28 at 4 21 54 PM

Terminal Output

Screenshot 2022-05-28 at 4 35 31 PM

Note: If you might face the error of segmentation fault in your system then you must follow this two steps to run the project correctly.

  1. comment the line 31 in main.py file.
  2. Uncomment the lines 296, 297 and 302 in main.py file also uncomment that complete mainfuntion in main.py file.

Future Scope 🕵️‍♀️

  1. Fingerprint Recognition and Eye detection can be added for Observation.

  2. Webcam Support can be added as a feature.

Documents related to project 📑

  1. My Roadmap
  2. One Pager
  3. Presentation
  4. Youtube Video