Face recognition smart cane using haar-like features and eigenfaces

Visually impaired has the limitation in interacting with another human. They usually use the sense of hearing and touching their face to recognize human. Face recognition is a technology that can be used to solve this problem. This paper develops a smart cane function by integrated face recognition feature on the cane using Haar-Like features and Eigenfaces. This paper proposed a portable, real time, and wearable product. Raspberry Pi supports portability that affects the delay and computing speed of face recognition algorithms. Utilization of Raspi camera on the eyes glasses is for wearable purposes. Voice output provides information on whether the face is caught on camera or not. This prototype works well during the face detection and recognition process. It needs 3 seconds for one-face recognized in range 0.25 until 1.5 meters from the camera, until the sound and information are generated. It needs is me 5 second for two faces recognized and 10 seconds for 3 faces recognized by a system in the same range between face and the camera. The accuracy reaches 91.67% for the up-right position face but for other position the accuracy is only 18% until 32%.


Introduction
Visually impaired is a person who suffering from blindness which can be caused by accident or congenital. The visually impaired is divided into two conditions, totally blind and low vision [1]. Visually impaired are experiencing in limitation their eyesight, thus they are experiencing obstacles in many ways. There are three limitations for visually impaired, the first one is the limitation in obtaining new information and experiences, the second is the limitation in interact with the environment, and the third is the ability to move and mobility [2].
The limitations of visually impaired in term of mobility are generally handled by using conventional aids which called cane. The limitation with the surrounding environment is experiencing in socializing. Social stigma plays a significant role to create and retain new relationship for visual impairment [3]. Especially adolescent with visual impairments have viewer opportunity to accept in society. Other than that, adolescent with visual impairment have difficulty to maintain relation ship with their friend [4,5]. Even though, it is very important being accepted and respected in social life because that is a basic aspect in determining the quality of life of visually impaired [6].
There is a barrier for visually impaired to interact with another human. They are difficult to recognize the people which are standing near to them. This causes many visually impaired have difficulty in conducting a social network. The visually impaired use other senses excluding eyes. They try to recognize the people using hearing and predicting who the person is talking to. The visually impaired sometimes can recognize the person after they tell the name or they have a short or long conversation. It will be helpful if there is a tool aid based on technology that can give an information with whom they have a conversation.
Face recognition is a computer technology that can be used to identify or recognize a person's face through a digital image captured by the camera. This technology can be used as one solution to predict the subject of the visually impaired by using a camera sensor in their eyeglasses. The face image captured by the camera will be compared with the face image that stored in the database. This technology is proposed in engineering literature in 1960 [7]. Several face recognition paper proposed many methods such as LDA(Linear Discriminant Analysis),  [8]. PCA method has a large computational problem. This limitation is overcome by LDA. Face Recognition LDA Based is the most dominant algorithm in appearance [9]. ICA is a method which finds underlying factors or component multivariate (multidimensional) statistical data [10].
There are several studies that develop a visually impaired devices to recognize the face of the person who is talking with them. A devices names iCare Assistance is introduced by Sreekar Krisna as an assistive device for the visually impaired people which are interacting with the others [11]. They compare some face recognition algorithms that will be used to interpret the mimic's face. While Jin Yongsik introduced smart cane with face recognition system that can help the visually impaired in recognizing the face which is equipped with a camera and eye-glasses, mobile computer and vibration motor which is functionated to give any information if there is a recognized person near them, with a unique vibration [12].
Other researchers introduced another method using mobile devices that can be used as a tool for the visually impaired to build a computer vision-based application technique that can detect the face [13]. Kramer as a researcher also using the same method using mobile devices to recognize a person's face during a meeting or class [14]. Rabia Jafri compared several studies that discussed visually impaired aid using face recognition. They review the algorithms used by each study. They compared the iCare interaction assistance study, a research that approach by Baduzzi, the research that approach by Kramer, the Blind assistance and project FACE. The result of the compared study stated that the visually impaired aid must be portable, wearable, and also should be as inconspicuous as possible [15].
Previously, our team researchers have been made some research related to smart cane as a smart tool for the visually impaired. Starting with the visually impaired's cane which can be determined the location of the visually impaired based-on GPS [16] and also can determine the direction of qibla using an interactive voice command based on Raspberry Pi [17]. The limitation of our previous research is there is no function that can support the social life of visually impaired. It only has a function that support the limitation of visually impaired in mobility. In this paper, we developed the smart cane by providing an additional feature as enhancement of our previous research. This additional feature is using face recognition that can help the blind in recognizing the other face. Based on this, we proposed the enhancement system for the visually impaired's cane, a portable and wearable addition feature that can recognize the face and give the information about the recognized face in the form of sound using a processing device raspberry pi.

Research Design of Face Recognition Tool Aid for Visually Impaired
This system is uses a Raspberry Pi as a processor that can produce a portable device. Raspberry Pi is used by other researchers to compute a face detection and recognition [18][19][20]. There are many researchs which propose face recognition on Raspberry Pi to solve an issue such as classroom attendance [21], door security [22] and etc. The camera in this system is used to capture the face images. The camera that used is a Raspberry Pi camera. Raspberry Pi camera then embed on the eye-glasses to produce a wearable device. The image that capture by Raspberry Pi camera is compared with the face that stored in the database in SD card. The earphones are used to listen to the information about the recognized face based on the database in the Raspberry Pi SD Card. If the system can not recognized the face, the system will inform the visually impaired that the face is not recognize by the system. The proposed designed system can be seen in Figure 1.
The overall system on the block diagram is implemented in a prototype like shown in Figure 2. This prototype is designed near the handle arm of visually impaired in order to give the easier use for visually impaired. Figure 3, shows the flowchart system of the prototype. When the button is pressed, the camera is active and ready to capture the face image. When the camera active, it will take an image of the subject that position straight in front of the camera. The captured image will be compared with the image stored in the database. If the image data is recognized or not recognized, the system will inform the visually impaired whether it is a recognized face or not recognized face in the form of the sound through the earphones.  Figure 3. Face recognition smart cane for visually impaired flowchart If the system recognizes the face, it will be issued the identity of the captured face. This system will be iterated until the visually impaired press the button to turn of the system. The implementation process is done in several stages: first, doing the installation IP configuration Pi, second stage is doing the OpenCV installation, third stage is preparing database and image training, fourth stage is doing capture process a training for image storage process in a folder inside the SD card with design unique ID assignment on each image, the last stage is making a voice database as an output system.

Research Method
Face detection in this research is using Haar-Like feature. Haar-Like feature used as an algorithm for detecting the object in digital images. This algorithm forms images into boxes where each box composed of several pixels. The accuracy of this feature reaches 93.7% [23]. The algorithm used for face recognition in this study based on eigenfaces or it known as Principle Component Analysis (PCA). We use open CV. This algorithm is quite popular and has the advantages of simple formula implementation and execution time in category fast enough.
The main idea of this algorithm is finding the best value vector for face image distribution in the whole space of image. The selection of this method was also done based on the paper presented by Rabia Jafri who compared several algorithm face recognition research products based on the resulting accuracy (15). The accuracy of PCA algorithm in iCare reaches 96.3% to 98.6%. Other research using this algorithm is proposed by I Gede Pasek Suta Wijaya which can increase the accuracy by about 4% and work fast which requires 0.12 seconds per image [24].
The eigenfaces algorithm was proposed by Matthew A. Turk and Alex P. Pentland to identify real-time human faces by comparing facial characteristics with recognizable faces. The approach that has been made was to recognize the face in a two-dimensional image. The face space of the image is defined by eigenface which is The Eigen factor of the face image set [25].
Haar-Like Feature is an algorithm that we used for detection human faces and it is combined with Eigenfaces algorithm for face recognition or it known as PCA. The algorithm is embedded in Raspberry Pi 3 as a processor on the face recognition aid devices for visually impaired. This research use Raspberry Pi Camera. According to that specification, it will measure device performance based on accuracy and realtime system. The face detection and identification process are performed in a flowchart as shown in Figure 4.
In Figure 4 it can be described that the face detection process is starting from doing the face detection by taking image frame from video stream about 20 times. Every image will be converted from RGB into grayscale and scaled to 30x30 pixels. So we have 20 grey level 30x30 face image and the system build the eigenfaces (PCA) of the person. After the image is in grayscale condition, it will have determined cascade classifier value. Then face recognition will be recognized and goes to the next process, inform the user through sound. The face recognizes system on the frame can be seen in Figure 5.

Results and Discussion
The performance of the devices will be done with several scenarios of testing. The first scenario is the face recognition test against light intensity. The second scenario is the face recognition test against camera distance, response time, and the accessories. The third scenario is the face recognition accuracy testing. The fourth scenario is testing the response test time against the number of faces which can be detected on camera and sound output. The Face Recognition Light Intensity-based Test shown in Table 1.

Face Recognition Test against Light Intensity
This scenario is done by examining the effect of light intensity on the face recognition system. Previously, the face image data with certain light intensity were saving in the database, then the test is running. The system will capture the face who caught on camera. The result of the test is tabulated in Table 1.
Based on result in Table 1, we can state that the system only can detect the image inappropriate light intensity. If the image save in database is in condition high light, the system would not be recognizing the image caught in low light condition. Vice versa for the low light condition image which is saved in thedatabase. The system would not be recognizing the image caught in the high light condition. It can be concluded that the face can be recognized if the image save in database and the image caught in the camera has the same light intensity.

Face Recognition Test against Camera Distance, Response Time, and the Accessories
This scenario test is done to know whether if there is any influence from any parameter (distance, response time, accessories) to the system. The time response will be calculated when the start button is pressed until the face is recognized. This testing will be done including the use of accessories parameter, like hat, eye-glasses, and imitation scar on the face test Figure 6. Based on the test results obtained in Table 2, it can be stated that basically the face will be recognized in a distance 0.25 meter, with or without any accessories parameter. The face without accessories can be still detected up to 1.5 meters distance and start to be unrecognized in 1.75 meters. The face with hat accessories parameter can be detected up to 1 meter and start to be unrecognized in 1.25 meters. The face with eye-glasses and imitation scar can be detected up to 1.25 meters and start to be unrecognized in range 1.5 meters. The face recognition response time in this test can be seen in Table 3. The average time response to recognize the face for each time is generated 2 seconds. This shows that there is a time delay that influenced by the ability of Raspberry Pi speed in processing the program, compare one-by-one into 20 data of response time. The more samples of face image data in the database, it will increase the length of response time. But, this is contradiction with the accuracy. The more samples of face image data in the data base the more accuracy of the system to detect the face who is captured in the camera. The bold result in the table means the response time of the system but in condition unrecognize, undetected. The system still can capture the face but cannot recognize who is in the captured camera.  Figure 6. Face recognized on frame wearing accessories

Face Reconition Accuracy Testing
The next test scenario done in this system is to test the accuracy of recognition face based on the face image data stored in the database. The face image data used to represent 10 different faces position. Testing is done by using face image data with the same light intensity with the image capture in the camera. The distance of capture data is done in the range between 0.5 meters up to 1.25 meters. The face condition captured by the camera varies from the perpendicular position into the camera. Tilts to the right 30 degrees, tilt to the left about 30 degrees, the face looks down when facing the camera, and the face looks up when facing the camera.
Based on the test results shown on the graph in Figure 7, it can be obtained that an accuracy of recognizing face capture in the camera is up to 91.67% for the position perpendicular of the captured face to the camera. Meanwhile for other position, the accuracy to recognize the face it is only ranges 18% until 32%. It is meaning that the accuracy for this condition is not recognized well for the system. This accuracy is still lower than tool ais that other researcher has been proposed on iCare [15]. The number of face image data is influence the accuracy and we used only 20 image data for this test.

Response Test Time against the Number of Faces Which Can Be Detect on Camera and Sound Output
The last scenario is response time test to the number of faces that can be detected on the camera. This test aims to find how many faces that can be detected in this system. We test 10 times and calculate the average of response time. Based on the result in Table 4, there is a differences time response when camera capture one face, two faces, and three faces. At the 979 moment, while the camera only captures one face, the system can recognize the face and the resulting delay as time response is 2 seconds. When the camera capture two faces, the time response is about 5 seconds. Then, while the system recognizes three faces, the time response reaches 9-10 seconds. Sound output for 1 face recognition on averaged is generated 1 second after the face is recognized and 2.7 second for 2 face recognition processes. If both faces are recognized, the output sound of facial identity is issued alternately. Bad performance of realtime characteristic is occurred if the system recognizes 3 faces or more. The sound output is issued on average 4.4 seconds after the faces are recognized. The sound will output the only identity of recognizable face. If all three faces are recognized then the sound output of facial identity will be issued alternately.
Based on the above description, it can be concluded that the visual recognition devices for the visually impaired have a good performance when the camera captures one face since it only needs 2-3 seconds as an average delay to recognize and inform the visually impaired through the generated sound. Based on comparation with previous proposed system by another researcher (24) the time response performance of face recognition of this system is still low.

Conclusion
This prototype of face recognition using Haar-Like Features can be used as a tool aid for blind to recognize the other person as long there is one face is captured on camera with average delay 3 seconds. The face can be recognized well if the distance between camera and person is 0.25 to 1.5 meters. The light intensity of location can be influenced face recognition result. Face recognition smart cane have 91.67% accuracy as long the person face in upright position to the camera. The use of Raspberry Pi as a processor affects the computational speed of the face recognition algorithm. In addition, the available memory space on the Raspberry Pi limits the database capacity of the stored face image.