Forensic Face Sketch Construction and Recognition
Tags: machinelearning, java, aws, deeplearning
Published: 2021-06-01 06:18:08

In forensic science, it is seen that hand-drawn face sketches are still very limited and time-consuming when it comes to using them with the latest technologies used for recognition and identification of criminals. In this paper, we present a standalone application which would allow users to create composites face sketch of the suspect without the help of forensic artists using drag and drop feature in the application and can automatically match the drawn composite face sketch with the police database much faster and efficiently using deep learning and cloud infrastructure.

> GitHub Repo :
https://github.com/imakashsahu/Third-Eye-Final-Year-Project


## Steps to Deploy the Project :

```
1. Download the Source Code from the Repo (https://github.com/imakashsahu/Third-Eye-Final-Year-Project)
2. Download and Install the Java JDK 8 (https://www.oracle.com/in/java/technologies/javase/javase-jdk8-downloads.html)
3. Download the latest NetBeans Installer (https://netbeans.apache.org/download/index.html)
3. Install and Open NetBeans
4. GoTo Tools > Plugin > Available Plugin 
5. Search for "Java FX" and check "Gluon Plugin" & "JavaFx implementation for Windows" then click on Install
6. Now search for "Maven" and check "Gradle" then click on Install
7. Restart NetBeans
```

### PART 1 [ThirdEye v2]--Face Sketch Construction
DEMO : (https://www.youtube.com/watch?v=wGEEOh1bA2s&ab_channel=AkashSahu)
```
1. This part 1 of the project is been build using JAVA FX
2. Download Scene Builder (https://gluonhq.com/products/scene-builder/)
3. GoTo tools > options > Java > JavaFx
4. Browse for the Scene Builder Directory and select the directory from C:\ProgramFiles
5. Now GoTo File > Open Project > ThirdEye v2
6. Now under projects click on "ThirdEye v2 > Libraries" Right Click and select "Add Jar"
7. Browse to "ThirdEye v2 > lib" and select all and open
8. Download and Install SQLite Browser (https://sqlitebrowser.org/dl/)
9. Open the "login.sqlite" file from the "ThirdEye v2" Folder
10. Add your Own Creds this is Important to get the OTP to login
11. Turn On Less secure for you Gmail (https://myaccount.google.com/lesssecureapps)
12. Now go to NetBeans, under projects click on "ThirdEye v2 > Source Package > thirdeye.v2" Double click on Login_screenController.java
13. On Line 144, Enter your GMail Creds to send OTP
14. Run the Project (F6)
15. Enter the Credential from DB Lite
16. Enter the OTP received to the email 
17. Select Create Sketch and your are good to go 
18. Change the File Directory on line 508 of file "dashboard_controller.java"!!!!!
```

### PART 2 [ThirdEye_FaceMatch]--Face Sketch Recognition
DEMO : (https://www.youtube.com/watch?v=FzLebHWGhnE&ab_channel=AkashSahu)
```
1. This part 2 of the project is been build using JAVA Maven and AWS for Deep learning
2. This part requires you to have AWS account with Credit Card been added to be activated
3. Create a AWS Free Tier account by adding in your Credit Card
4. Create a IAM user profile for the JAVA (https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html)
5. Add S3 and Rekognition Full Access
4. Install AWS CLI on Windows (https://docs.aws.amazon.com/cli/latest/userguide/install-windows.html)
5. Run "aws configure" in CMD
5. Create a s3 Bucket 
6. Now GoTo File > Open Project > ThirdEye_FaceMatch
7. Create a S3 Bucket on the AWS console
8. Create a collection in s3 using the "collection_create.java" file
9. Add images to the collection using the "collection_add_image.java" file
10. Enter the S3 Bucket name and collection details in the "collection_search_face.java" file
11. Run the Project (F6)
```

## PUBLISHED TECHNICAL PAPER
Read the Technical Paper : http://www.ijitjournal.org/volume-6/issue-4/IJIT-V6I4P2.pdf
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1x56d6zt0s3ppjibifr0.jpg)