Introduction
What is it?
We
have chosen “Face Detection and Blurring” for the topic of our project. We have
created a functional Graphical User Interface (GUI) and the face detection and
blurring program. MATLAB is used as it is a well-known image processing tool,
with the ease of use and easy to learn. This program is mainly used to detect
if there is any face on the image that the user chooses. It is using Viola-Jones
Object Detection Framework, as it is the first ever real-time face detection
system. Viola-Jones Object Detection Framework is a framework that is being
used as an object detection, but also is particularly successful to be used as
a face detection. It enables an accurate and fast detection by combining three
most important part, which is integral image, attentional cascade and adaboost.
All three is used for an efficient computational resource allocation to create
a fast detection system.
Face detection
is a form of object detection, but it is the most complex and challenging as it
requires a lot of variation in the face distribution. The high variation caused
it to have few limitations that depend on lighting, expression, and facial
features. Pose variations and camera position will also be the limitation of a
face detection system. This condition has brought a focus only on a detection
with a good lighting and frontal faces. Wang, Y,Q, (2014) said that a face
detector should be able to detect if an image contains a human face and also
detect where is the exact pixel location of it. In order to avoid any
misclassification, binary classification is being used to minimize both false
positives and negatives to be able to perform. It requires the program to be
able to see the differences between human and the other objects that present on
an image. It is efficient to use and perform well by applying such techniques
as integral image and attentional cascade.
Based on Yang’s
survey, there are four categories of it, which is knowledge-based methods,
template matching, appearance-based, and feature invariant method. Knowledge-based
methods use a simple human rules to define a human with two symmetrical eyes,
one nose, and mouth below it. Template matching is being used to calculate the
relation between the selected templates and the test image. Feature invariant
will check on pose, lighting condition, and small details such as skin color,
sharpness and edges of an image. Appearance-based used a technique to take a
different feature from a training set. There are few of it, such as Eigenface
method, neural networks by Rowley-Balaujam (1998), statistical classifiers by
Schneidermann-Kanade (2000), and also adaboost. Paul Viola and Michael Jones
crated a new fast and efficient method for face detection and it is quicker and
more accurate than any other method. It relies on Haar simple features using
Integral Image concept and using adaboost to create a fast interference.
It is using Haar
like simple features, and to compensate the lighting effect under any
conditions, the images must be variance normalized and mean before continuing. If
P is pattern and I is an image with the same size of N X N, the feature of P
image can be defined with i as :
The feature
selection of adaboost aims to drive down an upper bound of an empirical loss.
It does not really able to see the faces on the image but using the algorithm
to calculate it instead.
How does it work?
Main Menu |
The first will be main menu, which is very clean and simple to use. There are only four buttons, insert photos button will ask the user to insert their image to be checked. It will show up a pop up window to choose the files that the user wanted to use.
Pop up |
It will bring the image into the user interface on the right side of it. It will show the image as an original image before the user choose to do the face detection and face blurring.
Original Image |
The user then can choose to do the face detection on the image that they choose from their libraries. They can also choose the one from their own library as it will work with all kind of images.
Face Detection |
It will show the user their image that have been through a face detection system and will replace and show it on the right side of the user interface.
Face Blurring |
It will show the user their image that have been through a face blurring process with the arithmetic mean function, It will replace and show it on the right side of user interface. If the user wish to, they can click the insert photos button again and start over a new image as many as they wanted to. If not, then they can go to exit button which will close all processing that is going through in the background.
Delegation of Tasks
The task delegation in this
project is equally distributed among three of use where each of us contributes
and act together for the complement of the project. Here is the layout of how
the task delegation is distributed:
Colin Wong Yeng Yeung
Research on Face Detection, Graphical User Interface Design, General Body Coding, Literature Review, Blog.
Karmanov Niyazbek
Research on Face Detection, Graphical User Interface Design, General Body Coding, Literature Review, Blog.
Andrew Hutomo Putro
Research on Face Detection, Graphical User Interface Design & Function, General Body Coding, Literature Review, Blog, File Hosting.
Source Code
Here is the full source code of
the project. This project is done for educational purposes only and should not
be plagiarized. If in the future this work can be found in any other place
instead of here, please kindly contact the administrator.
Take note, in order to run this program without any problem, you must run FaceDetectionandBlurringGUI.fig.
Requirements for running the code
is stated below,
- MATLAB Software r2014a or newer version. (Original – Never use any pirated software by any means, please support the developer).
- Point the directory in a folder or path which is recognized by MATLAB.
- Follow the instruction of how it works.
Initially, examples were shown in class from the lecturer and
further enquiries were made to gather the insights of the topic. Most function
and part of the coding can be found on Mathworks. This website is created to serve as an educational purpose only.
Below are the references that helps during the completion of the project:
Tarhini, A, (2011), “Efficient Face Detection Algorithm
Using Viola Jones Method”, Accessed on 7th of November 2015,
[Available] http://www.codeproject.com/Articles/85113/Efficient-Face-Detection-Algorithm-using-Viola-Jon
Viola, P, and Jones, M., J., (2004), “Robust Real-Time Face
Detection” International Journal of Computer Vision, 57 (2004), pp. 137–154.[Available]
http://dx.doi.org/10.1023/B:VISI.0000013087.49260.fb.
Yi-Qing, Wang, (2014), “An Analysis of the Viola-Jones Face
Detection Algorithm, Image Processing On Line”, 4 (2014), pp. 128–148. [Available]
http://dx.doi.org/10.5201/ipol.2014.104
Work done by :
Colin Wong Yeng Yeung [12017257]
Karmanov Niyazbek [11038247]
Laurensius Andrew Hutomo Putro [10024479]