Design of facial recognition system implemented in an unmanned aerial vehicle for citizen security in Latin America

In the new technological era, facial recognition has become a central issue for a great number of engineers. Currently, there are a great number of techniques for facial recognition, but in this research, we focus on the use of deep learning. The problems with current facial recognition convection systems are that they are developed in non-mobile devices. This research intends to develop a Facial Recognition System implemented in an unmanned aerial vehicle of the quadcopter type. While it is true, there are quadcopters capable of detecting faces and/or shapes and following them, but most are for fun and entertainment. This research focuses on the facial recognition of people with criminal records, for which a neural network is trained. The Caffe framework is used for the training of a convolutional neural network. The system is developed on the NVIDIA Jetson TX2 motherboard. The design and construction of the quadcopter are done from scratch because we need the UAV for adapt to our requirements. This research aims to reduce violence and crime in Latin America.


Introduction
Last decade has been marked by growth and spread of crime, with figures of up to 11 percent between 2000 and 2010, which caused more than one million deaths in Latin America and the Caribbean because of criminal violence [1]. The facial recognition system is a fundamental computer application for the automatic identification of a person through a digital image or video source [2]. Change is coming fast because algorithms are being written that enable AI to expand its abilities into realms of creativity, cooperation and emotional intelligence [3]. Facial Recognition software is improving. "Ellie" is an example. Ellie was created by the Institute for Creative Technologies at the University of Southern California to help treat people with depression and post-traumatic stress disorder [3].
According to recent studies, facial recognition systems are better to identify individuals and acquire information such as name, age, nationality, and criminal background. It is possible to build a facial recognition system using deep learning techniques. Currently, a great number of methods to build facial recognition systems exist, for instance, the eigenfaces algorithm and neural networks [4]. The accuracy using deep neural networking is improving, for instance, building deep neural networking to classify image "cat vs not cat" with four hidden layers has obtained an accuracy of 80%.
Facial recognition software can be improved by using deep neural networking (DNN). The accuracy of DNN has been shown in identifying metastatic breast cancer, where it improves detection to 98.4% [5]. Due to these technological advances, a facial recognition system built in DCNN (Deep Convolutional Neural Networking) implemented in UAV (Unmanned Aerial Vehicle) can be developed to recognize criminals and increase civil security. Figure 1 shows the flow chart describing the system. Since facial recognition systems are integrated into static devices, this leads to an inefficient system because the systems only can identify a person located in front of it.
Another problem is that organizations can face difficulties in taking advantage of new technologies to boost performance due to the lack of effective technology utilization and the resistance of managers and professionals to apply these technologies in the workplace [6].
In this way the drone will detect criminals from far away and moving the camera is possible to obtain face image. The drone will work automatically without any human driver. The system will be trained with a human faces database. It is expected to reduce crime and homicide and increase civil security.

Expected effects
The system will be used in real situations with a database created by ourselves. Using facial recognition technology with UAVs is to predicted criminals faces. For instance, while the UAV is flying, at the same time it is recording video. After that, the video is processed in Jetson TX2 in real time. In this research is pretend to use ROS to developing the operative system. In advance, in the Jetson TX2, a deep convolutional neural network is trained with a dataset of faces with 400 images of 10 subjects, making a total of 4000 images. When the UAV recognizes one face of the database, it will be capable of tracking this person and sending an alert to the ground station. It is expected to obtain an accuracy of 98% using a CNN (Convolutional Neural Network) model.

Principal research objective
The purpose of this research is to implement a facial recognition system built in DCNN (Deep Convolutional Neural Networking) implemented in a UAV (Unmanned Aerial Vehicle).

Secondary research objective
The research requires a low-cost Unmanned Aerial Vehicle. Building the drone ourselves is expected to obtain good stability and ascertain good communication between the camera and the flight controller. It is planned to use a 4k resolution camera to obtain better faces pictures. Develop an operative system using ROS (Robotic Operative System). We will also implement a communication system between the flight controller, Jetson TX2, and the camera.

Limitations
 In this research we will design the mechanical structure of an unmanned aerial vehicle of the Quadcopter type.  A facial recognition system is designed.  Brushless motors without brush will be used.  An ESC (Electronic Speed Controller) is purchased.  The PIXHAWK flight controller and the Jetson TX2 deep learning electronic board are purchased.  Convolutional neuronal networks will be used.  It is not intended to design the motion controller for the camera.  We do not intend to make flights of great height, we limit ourselves to make flights as allowed by the norm of the Japanese government that mentions: "No person will be able to operate a UAV around 9 km of an airport or military base".

Overview of system
As shown in figure 3, the system starts recording video from a camera. After that, the video is processed, and its patterns are extracted. The CNN is trained with the obtained patterns and, after iteration "n", the network can be tested. The system will be deployed in Jet-son TX2.

Convolutional neural network and database
In recent years a great number of methods to develop face recognition have been developed such as eigenfaces, fisherfaces, LBPH and DNN. According to the bar graph in figure 5, DNN has the best accuracy. In this research DCNN (Deep Convolutional Neural Network) is used [7]. To develop DCNN a framework called CAFFE is used. It is a deep learning framework made with expression, speed, and modularity in mind. It is developed by Berkeley AI Research (BAIR) and by community contributors[8].

Fig. 4. Methods for face recognition
In this research, the dataset is obtained by means of taking photos of 10 different students in our laboratory.
Using a convolutional neural network obtains the best accuracy. CNN uses layers such as convolution, max pool, activation and has added hyperparameters to improve the accuracy.
Currently, AlexNet and GoogleNet are the two best CNN's for deep learning. In addition, a great number of students have developed their own models. This research uses a pre-trained model. These models are learned and applied for problems ranging from simple regression, to large-scale visual classification, to Siamese networks for image similarity, to speech and robotics applications[9].

Convolutional neural network and dataset
In this research, a UAV of the quad-copter type is used. Different devices are used that are difficult to implement in the existing quadcopter brands. We will design and build our own quadcopter. Using the SolidWorks software will enable us to simulate the airflow and see how the quadcopter reacts to the flow change.
The fly time is computed according to the battery power and engines power.

Face detection and dataset
In this research, python is used as the programming language. Python has been an important part of Google since the beginning and remains so as the system grows and evolves[10].
It is not intended to build a new face detection system so then OpenCV is used as a human face detector. A har cascade classifier is used. It is a machine learning based approach where a cascade function is trained from a lot of positive and negative images. It is then used to detect objects in other images [11]. there are 900 pictures of Diego, Koshiro, Gaith, Alex, Cristian, Hiroyuki, Seikimoto, Himeno and Kumi. After obtaining faces images, an alignment, resize and cropped are applied.

Face recognition
A pre-trained model is used. This pre-trained model is based on Caffe framework with a total of 22 hidden layers. Figure 7 shows the structure of CNN from GoogleNet, then, using caffe framework we can train the network with our dataset.

Fig. 7. Part of GoogleNet Deep Convolutional Neural Network
The DNN was trained from scratch with two faces as a dataset but only obtained 35% accuracy. Thus, GoogleNet's pre-trained model will be used [12].

Face recognition
We are using convolutional neural networks with Caffe framework. The network structure of GoogleNet consists of 27 layers in total and more than 6 million parameters [11].
For our second test, we downloaded a dataset from PubFig83 + LFW [13]. The file downloaded contains several photos of 83 persons, it represents 83 classes for our net.
Using the technique "transfer learning" GoogleNet with 30,000 iterations is trained. The net was trained in Jetson Nvidia TX2 GPU.
As is illustrated in Figure 8, we obtained 94.39% accuracy. For drawing the curve we used a python code provide by caffe and Adil Moujahid [14].

Design of quadcopter
Since the drone is built from scratch is needing to compute the final weight, flight time and maximum altitude. Table 1 shows us the weight per each device. According to table 1, the weight is 1.139 kg, but including the battery, the final weight is around 2 kg.
Due to the drone is for research the maximum altitude will be 100 meters. Using this data, the flight time approximately will be 12 minutes.  Figure 9 shows the motor's specification. Thus, we decided to use 60% of throttle to obtain 608g of thrust by each motor.  Figure 10 shows the carrier board for the jetson tx2 that help us to decrease the weigh since the developer electronic board of Nvidia is bigger than Orbitty carrier board. Hence, the preliminary design by SolidWorks is created, including the material type (Carbon fiber).  Figure 11 shows the frame designed without the electronics devices. Currently, the other devices are still being designing. Thus, the mechanical property is still computing.

Conclusion
In conclusion, this proposed method aims to develop a facial recognition system with low cost and good performance implemented in UAV to able to recognize criminals. The advantage of this proposed method is based in the use of drone with artificial intelligence. Using deep neural networking algorithm is ogtanied an accuaracy better than other algorithms. This research does not intend to develop a new CNN architecture. Is expected to be used in real situations with the database from the policy. However, a weakeness is the maximum height that will be 2 meters and the flight time. In future works this weakness will be solved, using the drone from extremely high heights and with 30 minutes of flight time, besides we are testing another CNN's models such as VGG Face and AlexNet to obtain 98.5% accuracy. Due to that we will use diferents electronics devices a quadcopter from scracth is build, thus, we are designing the final model by Solidworks. Finally we will use robotic operative system to have a embedded system.