Suspect Identification using Generative Adversarial Networks
Throughout history, the task of identifying people has been an important one and several methods have been tried and tested to distinguish one person from another. The first and undeniably the most widely used tool for this job is the human face itself. A face is the first thing one sees when intera
2025-06-28 16:36:12 - Adil Khan
Suspect Identification using Generative Adversarial Networks
Project Area of Specialization Artificial IntelligenceProject SummaryThroughout history, the task of identifying people has been an important one and several methods have been tried and tested to distinguish one person from another. The first and undeniably the most widely used tool for this job is the human face itself. A face is the first thing one sees when interacting with another person and is often the thing we remember each other by. With this in mind, any research related to faces is of utmost importance and has numerous uses and applications in the real world.
Since the advent of AI and machine learning, a new paradigm shift in the world of computing has occurred. AI has managed to achieve high levels of accuracy on multiple problems, sometimes even surpassing human capabilities. One of the recent and most groundbreaking achievements in the field of AI has been the creation of generative adversarial networks by Ian Goodfellow. Generative adversarial networks are deep neural network architectures comprised of two neural networks competing against each other. Given a training set, the GAN will learn to generate new data with the same statistics as the training set. For example, a GAN trained on photographs can generate new photographs that look quite authentic to human observers, having many similar and realistic characteristics resembling the original photos.
Using this functionality and considering the importance of faces, a system can be created using generative adversarial networks that will allow the user to generate images of faces on demand.
These images will not be of a real existing person but someone resembling a real person. We plan to take this process one step further by giving the user the ability to control the output by providing a description of the facial features he wishes to be generated. The user will enter features of a face he remembers and our network will generate a face corresponding to those features.
Project ObjectivesGenerative adversarial networks (GANs) were first introduced by Ian J. Goodfellow in 2014 and since then, they have had a huge success in solving problems that were previously considered unsolvable. GANs give computers the power of imagination and creativity. our project aims to use the imaginative powers of a generative network to automate and digitize the process of creating a facial sketch that can be used by law enforcement agencies to identify suspects.
Suspect sketch creation has previously been done by sketch artists who are narrated a description of a suspect’s facial features by an eye-witness. The artist then translates the narrative into a sketch. The end result may be close to the suspects actual face but is not free of biases due to human involvement. The generative model that we aim to develop will take the facial features of a suspect as input and produce a facial image based on those features.
The scope of this neural network architecture is extensive. law enforcement agencies can use the end product to identify suspects. Photos of missing people can be generated if high resolution photos of them do not exist. This approach is not just confined to face generation. This architecture can be trained to produce images of any object/scene that may or may not exist in reality.
The end product that we aim to develop will be a user-friendly Desktop application. Depending on where the application is deployed, it can either be open source or have restricted and secure access. The application will prompt user to input features of the suspect to the best of his memory. the features will need be fairly detailed in order to produce a detailed and accurate image of the suspect. upon completion of input, the application will make an inference with the backend GAN and output a realistic sketch of the suspect.
If the user (eye-witness) is not satisfied with the output of the application, the will have an option to produce another iteration of the image by slightly varying the input features. Runtime of the application will be fairly quick as neural network inferences are a lot faster than training times.
Project Implementation MethodThe front-end of this system or what the user will interact with will be a web app. This is done to maximize convenience and ease of access. The react framework will be used to design this front end. The backend or server will be made using Nodejs and its primary purpose would be to establish communication between the user and the core system housing the GAN. The GAN itself will be implemented using the TensorFlow library build atop the python programming language.
The suggested product is expected to complete the following functions:
- The product will allow the users to login to the system if they have been issued an account by the system admin
- The product will ask the user to describe the facial features of the culprit through a series of questions.
- The product will then generate an image based on the responses to the questions asked.
- User will then be able to choose if they are satisfied with the generated image or not
- If the generated image is not up to the mark, another image will be generated by the system. Otherwise the user will be asked to provide a rating on the generated image on a scale of one to five.
- The user will also have the option to generate a police report containing the generated image and other information.
- The product will also have a record of the images previously generated from the account currently logged in.
If the project is imoplemented by the crime investigation agencies of the country, it will be highly beneficial. The current state of law enforcement in pakistan is in disarray, and with a high crime rate such as that of Pakistan, it is highly necessary that systems tlike this are integrated into the current law enforcement systems. The project will enable the police or other authorities to visualize the face of a suspect without ever acquiring a real photo of that person, that is in hiding or is on the run, and that will help to speed up the process of putting criminals behind bars as soon as possible.
Technical Details of Final DeliverableWe chose Layered Information System Architecture for our project.Components within the layered architecture pattern are organized into horizontal layers, each layer performing a specific role within the application.
All Components of the system represented as a Stack of layers with increasing complexity. This Architecture is chosen because of its Multiple layers of Abstraction within the system hence it is well suited for our Application.
Modules in the System:
- Web Application – the web application will provide the user interface that will enable the user to interact with the system and input the features and receive the output of the GAN
- API Manager – the API manager will deal with the communication between the various modules of the system and will provide service calls for retrieving and sending the information.
- Generative Adversarial Neural Network – This will be the core component of the system and will be responsible for generating facial images based on the input features provided by the clients.
- Database – A database will be maintained that will store the dataset upon which the GAN is to be trained. The database will also store the images generated by the client as they should be available to the clients for viewing at a later stage.
| Item Name | Type | No. of Units | Per Unit Cost (in Rs) | Total (in Rs) |
|---|---|---|---|---|
| Total in (Rs) | 70000 | |||
| Nvidia Jetson TX2 | Equipment | 1 | 70000 | 70000 |