Project Topics

Engineering Projects

Forensic Face Sketch Recognition Using Computer Vision

Published on Jan 30, 2019


Now-a-days need for technologies for identification, detection and recognition of suspects has increased. One of the most common biometric techniques is face recognition, since face is the convenient way used by the people to identify each-other. Understanding how humans recognize face sketches drawn by artists is of significant value to both criminal investigators and forensic researchers in Computer Vision. However studies say that hand-drawn face sketches are still very limited in terms of artists and number of sketches because after any incident a forensic artist prepares a victim’s sketches on behalf of the description provided by an eyewitness. Sometimes suspects used special mask to hide some common features of faces like nose, eyes, lips, face-color etc. but the outliner features of face biometrics one could never hide. In this work, I concentrated on some specific facial geometric feature which could be used to calculate some ratio’s of similarities from the template photograph database against the forensic sketches. This paper describes the design of a system for forensic face sketch recognition by a computer vision approach like Two-Dimensional Discrete Cosine Transform (2D-DCT) and the Self-Organizing Map (SOM) Neural Network simulated in MATLAB.

Keywords: — Computer Vision; Forensic Sketch; SOM; DCT; Simulink


Face recognition focuses on still images, which can be broadly grouped into image-based and feature-based approaches. Face recognition is commonly used in applications such as human-machine interfaces, automatic access control systems and forensic investigations etc. which involves comparing a face image with a database of stored faces in order to identify the face in the image. This project involves the design and development of a forensic face sketch identification system. The 2D-DCT image compression technique is used to compress the cropped facial features of the image database like frontal face, left eye, right eye, nose and lips. After compression the image pixels reshaping is used for preparing the image classes as an input for the neural network. The SOM (Self Organizing Maps) neural network algorithm is designed for training of image data. The un-supervised weight is assigned during the training and learning in simulink for different number of epochs to classify and inputted face sketch. This project is based on general architecture of facial recognition systems. Program source code and simulation is executed in MATLAB and Simulink.

Problem Statement

Forensic face sketch recognition has become a popular area of research in computer vision, mainly due to increasing security demands, forensic investigation for criminal suspects and its potential, commercial and law enforcement applications. It is a very challenging problem and up to date and there is no feasible technique that provides a robust solution to all situations and different applications that forensic face sketch recognition may encounter. Hence, this study focuses on developing a technique that provides a solution for an efficient face sketch identification system in forensic applications. The digital image mug-shot is considered to be used as an original face image police database and the corresponding sketches of different faces is considered to be drawn by a forensic artist.

Sketch Artist Activities


The methodology of this work is based upon information collected and processed the study and research phase. The technique to be applied for the design and implementation of the forensic face sketch identification system is as follows:

 Data gathering of face images of subjects from CUHK database.

 Pre-processing of face images i.e. copping, grayscale conversion.

 Importing face images into MATLAB.

 Discrete Cosine Transform (DCT) image compression of face image classes.

 Design of a Self-Organizing Map (SOM) Neural Network in MATLAB.

 Input faces image classes into SOM Artificial Neural Network (ANN).

 Training the neural network and simulating it for different input face sketch images.

 Testing and validation of the program and technique.

 Creating a user-friendly program (GUI) in MATLAB from the source code.

Flow Chart

Figure 2 illustrates the flowchart proposed for the design of the forensic face sketch recognition system, based on the methodology.

Face Detection

Face detection is a necessary first-step in face sketch identification systems with the purpose of localizing and extracting the face region from the background.

A. General Background

Human visual systems are characterized by the fact that the face is perceived as a whole, not as a collection of the facial features. The presence of the features and the geometrical relationship with each other appear to be more important than the details of the features. The other characteristic is that humans detect faces easily in a wide range of conditions, under bad lighting conditions or from a great distance. It is believed that two-grey-levels images of 100 to 200 pixels form a lower limit for detection of a face by a human observer.

However in the case of computer vision, face detection is not an easy task. Detecting a face in a digital image involves segmentation, extraction, and verification of faces and possibly facial features from an uncontrolled background. Therefore this is a very important topic in the computer vision field where a considerable amount of research has been done. All the existing methods for automated face recognition are mainly based on three steps: face detection, facial feature extraction and expression classification from the observed facial image as shown in Figure 3.

Face Recognition

Figure 3: General Steps for Face Recognition

B. Face Sketch Recognition

Sketch recognition algorithms can be classified into two categories: generative and discriminative approaches. Generative approaches model a digital image in terms of sketches and then match it with the query sketch or vice-versa. On the other hand, discriminative approaches perform feature extraction and matching using the given digital image and sketch pair and do not generate the corresponding digital image from sketches or the sketch from digital images.

C. JPEG Image Coding Standard

In 1992 the Joint Photographic Experts Group (JPEG) established the first international standard for still image compression where the encoders and decoders were Discrete Cosine Transform (DCT) based. JPEG provides lossy image compression. JPEG specifies both the codec, defining how an image is transformed into a stream of bytes, and the file format used to contain that stream. The file format is known as 'JPEG Interchange Format' and is specified in Annex B of the standard. The JPEG standard specifies three modes namely: sequential, progressive, and hierarchical for lossy encoding, and one mode of lossless encoding. There are four basic steps involved in the JPEG image compression:

 Block Preparation

 Discrete Cosine Transform

 Quantization

 Encoding

The discrete cosine transform (DCT) represents an image as a sum of sinusoids of varying magnitudes and frequencies. The dct2 function computes the two-dimensional discrete cosine transform (DCT) of an image. The DCT has the property that, for a typical image, most of the visually significant information about the image is concentrated in just a few coefficients of the DCT. For this reason, the DCT is often used in image compression applications. For example, the DCT is at the heart of the international standard lossy image compression algorithm known JPEG.

What is Simulink ?

Simulink is software bundled with MATLAB for modeling, simulating, and analyzing dynamic systems. It supports linear and nonlinear systems, modeled in continuous time, sampled time, or a hybrid of the two. Systems can also be multi-rate, i.e., have different parts that are sampled or updated at different rates. Simulink enables users to pose a question about a system, model it, and see what happens. With Simulink, models can be built easily from scratch, existing models can be taken and be added to it. Thousands of engineers around the world use Simulink to model and solve real problems in a variety of industries

Neural Network Design

Self-Organizing Maps (SOM’s) were found and chosen to be the technique used for the face sketch identification system based on their improved data management and neural network accuracy as a closest matching technique of untrained input images with trained database of images. For the design of SOM, a set of 25 image data, 5 different classes like left eye, right eye, nose, frontal face and lips for the training database was loaded into MATLAB. A SOM was then created with the MATLAB command newsom. Parameters for the SOM network were selected to be a minimum and maximum point for each row on vector P; training database. There were 64 minimum and 64 maximum points selected altogether.

When the SOM neural network was created, it was trained for 1000 epochs. After SOM neural network training the, network was simulated for the 25 trained images. After the SOM neural network was trained and simulated for the 25 images in the training database, the SOM neural network was then simulated for the single input face sketch image. The SOM neural network is simulated for the input face image, the image in the training database which is the closest match by the SOM neural network for the input face image is found by finding the minimum absolute deviation. After the closest matched training database images are found, they are then classified. Classification of the subject is the answer of the forensic face sketch recognition system. Classification in MATLAB was done through simple if and else statements.

Scope of Future Work

Upon extensive study and research, recommendations for improvement and enhancement of the forensic face sketch recognition system program are concluded as follows:

 Replacing the DCT with the Discrete Wavelet Transform (DWT) as it is a superior and improved algorithm for image compression which requires less processing time than the DCT with better compression capability.


Selecting the optimal number of DCT coefficients to use for face image compression, which will lead to less DCT processing time and increase the program execution time. Selecting the optimal number of input neurons for neural network simulation, which is the size of the input image and training database images in pixels. The smallest amount of image pixels giving the most accurate SOM neural network output would be the optimal number of input neurons to be used for input images and training database images for the SOM neural network.


[1] Pong C. Yuen, C.H. Man, “Human Face Image Searching System Using Sketches”, IEEE Transactions on Systems, Man, And Cybernetics-Part A: Systems And Humans, Vol.37, No.4, July 2007.

[2] Saurav Pramanik, Debotosh Bhattacharjee, “Geometric Feature Based Face-Sketch Recognition”, Proceedings of the International Conference on Pattern Recognition, Informatics and Medical Engineering, March 21-23, 2012.

[3] Amit R. Sharma, Prakash. R. Devale, “An Application to Human Face Photo and Sketch Synthesis and Recognition”, May IJAET 2012.

[4] Wei Zhang, Xiaogang Wang, Xiaoou Tang, “Coupled Information-Theoretic Encoding for Face Photo-Sketch Recognition”.

Project Done By Vineet Srivastava, Dehradun Institute of Technology

Related Projects