Actually, the design of the
portable facial recognition system be separated into five major categories
which include:
1. Detection of Face
2. Face Preprocessing
3. Training
4. Recognition of Face
5. Loading and Saving the Data
Following
is the block diagram which has been developed for the code:
Block
Diagram
In accordance with the above
figure, it can be observed that the green block is illustrating the mode of
detection. Generally, this code part is running without any activation or
initialization from the user. It means that this process is operating by
default and doesn’t need to be activated by the user. First of all, a new look
and image of the face and eyes are acquired by it. And with the detection of
eyes and face, preprocessing is carried out on the region of face which
includes a face. In this manner, the image is then utilized in the next block.
Moving on, the next block is triggered which is purple. It doesn’t operate by
default and it is triggered normally when the button of Add Person is clicked
by the user. This process will work to add faces which are preprocessed for the
corresponding person. And once it is indicated by the user that they have
completed the process of collecting faces, the code will continue to the yellow
block which is the Training Mode(Meenakshi, 2013).
In this manner, the code will
not break and will initiate the yellow block. In this block, the algorithm
model of Fisher faces is trained through the use of preprocessed faces. In
addition to these faces, associated labels are also used. And once training has
is completed, the code transitions automatically to the red block which is
Recognition Mode. It can be said that in the mode of recognition, the program
will check if the faces which are captured seem to match the trained faces.
Upon matching, personalized music will be played by the system. If the person
is not recognized then the code will simply go back to the acquisition of new
image. In addition to it, there will be no special action which will be taken.
Some of the side tasks include
the capability of saving faces so that it is not necessary for users to train
new data sets each and every time. This seems to be related directly with the
loading functionality of faces being the function of loading the faces which
have been saved previously. All the faces can also be deleted by users if they
need to start the process of training again. Considering the fact that side
tasks are based on mouse click, they don’t follow the same processes which are
required in main functions. In the figure below, the setup of system can be
observed. In the later sections of this paper, more specific detail will be
provided(Introna & Nissenbaum).
A = Light fixture, G = Keyboard,
B = Webcam, F = Mouse, E = Speaker, D = Raspberry Pi, and C = Display.
Hardware
In the system of portable facial
recognition, the computer uses is Raspberry Pi. When it comes to its core, it
has a quad-core of 900MHz and it has a VideoCore IV which possesses a 250 MHz
GPU. Additionally, it also includes a RAM of 1GB and the reason why Raspberry
Pi is utilized is that it is quite affordable and also includes sufficient
processing power for algorithms operating in the facial recognition. Other than
these specifications, HD Webcam C270 of Logitech was utilized as the device to
capture images since it was compatible with UVC. It means that has the
capability of streaming video with an interface of USB.
The remaining components seem to
have flexibility such as light fixture, speaker, keyboard, and mouse. The
keyboard and mouse are utilized for having an interface with the Linux
Operating System of the Raspberry Pi for clicking, and for clicking on buttons
and typing commands for executing different operations. The music file is
operated by the speaker. Lastly, the light fixture is utilized for controlling
the lighting in such a way that there is consistent and strong light on the
face as the test is performed.
Software Used of
Portable Low-Cost Facial Recognition
In order to write the source
code, the language of C++ was utilized as it is quite a fast computer language
in comparison with MATLAB. The library of OpenCV was also utilized for the
functions of computer vision and the library of SDL or Simple DirectMedia Layer
was utilized for playing the sound. Both of the libraries can be used on
different platforms which means that they are cross-platforms and are
compatible with both Windows and Linus Operating Systems (Kaur, Vashisht, & Neeru, 2010).
Detection Mode of
Portable Low-Cost Facial Recognition
In the mode of detection, the
program attempts to determine or identify if a face exists within the frame
captured by the system or not. For eyes and frontal face, there are several
training models available in the website of OpenCV. In addition to it, LBP or
Local Binary Patterns classified is utilized in this system for identifying the
face because it is normally faster than the classifier or Haar. This rapid rate
makes it better for different real-time operations and processes.
In comparison with Haar, LBP is
less precise but then, we will need the detection and identification of both
eyes within the region of face for added accuracy and reliability. With the
detection of face, the program will be looking for eyes within the region of
face to be utilized in the section of processing. It is important for both of
the eyes to be detected for preprocessing to be precise. There is a significant
likelihood that issues might occur if the detector of eye is utilized over the
region of face. If issues occur, the solution to the misidentification is to
specify the top right and left face regions for finding the right and left eye.
Generally, these regions are based on different geometric restrictions in which
most of the human eyes will be located with respect to the facial structure.
And reduction in the region of eyes serves to decrease the processing time
while increasing the precision of eye detection.
References of Design of Portable Low-Cost Facial Recognition
Bailey, J. (2018). Data protection management in UK
library and information services. iConference 2018 Proceedings.
Floridi, L., & Taddeo, M. (2016). What is data
ethics?
Introna, L., & Nissenbaum, H. (n.d.). Facial
recognition technology a survey of policy and implementation issues. 2010.
Kaur, M., Vashisht, R., & Neeru, N. (2010).
Recognition of facial expressions with principal component analysis and
singular value decomposition. International Journal of Computer
Applications, 9(12), 36-40.
Meenakshi, M. (2013). Real-Time Facial Recognition
System—Design, Implementation and Validation. Journal of Signal Processing
Theory and Applications, 1, 1-18.