IAES International Journal of Artificial Intelligence (IJ-AI)

Received Dec 21, 2021 Revised Aug 8, 2022 Accepted Sep 6, 2022 Image encryption is an important issue in protecting the content of images and in the area of information security. This article proposes a novel method for image encryption and decryption using the structure of the artificial neural network (ANN)-based chua chaotic system (CCS). This structure was efficiently designed on a field-programmable gate array (FPGA) chip utilizing the xilinx system generator (XSG) tool with the IEEE-754-1985 32bit floating-point number format. For ANN-based CCS design, a multilayer feed forward neural network (FFNN) structure with three inputs and three outputs was created. This structure consists of one hidden layer with four neurons, each of which has a Tangent Sigmoid activation function. The training of ANN-based CCS yielded a 3.602e-13 mean square error (MSE) value. After successfully training the ANN-based CCS, the design was carried out on FPGA, utilizing the ANN structure's bias and weight values as a reference. The xilinx vivado (2017.4) design suite was used to synthesis and test the ANN-based CCS on the FPGA. The histogram, correlation coefficient, and entropy are used to perform security analysis on various images. Finally, FPGA hardware co-simulation using a Xilinx Artix7 xc7a100t-1csg324 chip was utilized to verify that the encryption and decryption of the images were successful.


INTRODUCTION
Recently, one of the main challenging problems and active topics in the scope of artificial intelligence and pattern recognition is the recognition of face with rotation on different angles (from left to right side) [1].A good recognition system of the face must be strong to exceed the changes in expressions of the face, poses, conditions of image, and illumination [2], [3].In verification or identification, building automated human face recognition systems able to recognize faces is a true challenge [4].Faces can be viewed in different angles (different rotation), expressions, and hair which can change the face; there is a similarity between different faces [5].A general face recognition (FR) system has three stages: detection; feature extraction, and recognition [6], [7].Face detection process is used as an important feature in many applications in image analysis and biometric systems [8].It can be used for security systems, for authentication in comparison to secured ID cards or passwords that are suitable to its reliability [9].In image classification and face recognition systems, supervised learning is used by providing the sample set of data to build and store a dataset to be used in comparison [10].Also, they keep each pre-processed human face in a database and extract the unique features from the face to compare them with the features in the database [1].In the FR system, there are two sets of data: the first is the training set of data that is used to enroll the dataset in the learning stage [7].The second is the testing set which is used during the recognition phase [6].In this paper, faces are detected and recognized from different angles and quite a large database using low-cost desktop embedded computing.The paper rest is ordered in several sections.Section 2 presents related works.Section 3 illustrates the contribution of the proposed recognition system (RS).Section 4, describes the file exchange interface (FEI) database.Section 5 describes the proposed RS with each step.Section 6 provides details of the experiment and the results of our system.Finally, section 7 reviews the conclusions estimated regarding the potential usefulness of the proposed recognition system.

RELATED WORK
There are several technologies and algorithms related to face detection and recognition systems.Multimodal recognition of face-based principal component analysis (PCA), independent component analysis (ICA), and scale-invariant feature transform (SIFT) as a multimodal fusion with neuro-fuzzy (NF) has been described [11].Feature extraction based on SIFT is used.The recognition ID is calculated based on the NF inference system.In [12], neuro-fuzzy and eigenfaces are illustrated in face recognition where a human face is detected based on skin area by using the Eigen value of face method, and the face is recognized by a neurofuzzy.In [13], a recognition system of the face is prepared using adaptive neuro-fuzzy inference with PCA.In [14] face recognition is proposed with a new method named convolution neural network (C2D CNN).In [15], Introduced a system of facial recognition established adaptive neuro-fuzzy inference.In [16], neuralfuzzy has been used in face recognition and back propagation (BP) algorithm used to update weights of the neurons.The network is trained for testing using two sets of the image to identify the person.In [17], shows how to eliminate the angular problem in face recognition by combining two mechanisms as a hybrid method in nature and combining advantages of them to reduce the accuracy of the false matching.

CONTRIBUTION
The paper aims to build a system to detect and recognize a face with 180-degree rotation.The paper also aims at checking the face during the database and augmentation the accuracy of recognition with different viewing conditions (frontal, profile, and near profile faces) under different conditions of several facial impressions.Our approach consists of two phases.The first one detects faces from the image with different angles and this means that the faces are detected with 180-degree rotation (from the left to the right side).The second phase after analysis of the facial image is the recognition stage to recognize the tested image using the PCA algorithm.This proposed system finds the nearest distance between the tested image and images stored in the database to identify a person.

DATABASE OF FEI
The FEI database is a database from Brazil that contains 200 face images of people, each of them with 14 different images.The total of images is 2,800.All of them are colored with a frontal and profile face rotation up to about 180 degrees.The same numbers of female and male subjects are equal to 100.Personage is between 19-40 years old with distinct hairstyle, appearance, and adorns.Figure 1 displays samples of faces image of persons in the database with different rotation and viewing [16].

PROPOSED FACE RECOGNITION SYSTEM
Face recognition has several steps, each step of face recognition completing the previous steps.They can work separately depending on the regular system.Figure 2, shows the general recognition system [17].To get recognition automatically, a database of a face image with information about each face is essential to build.The features are extracted and stored in the database for each person.Then, detection of the face and feature extraction is performed using Viola-Jones on the input image.Figure 3 illustrates the methodology of the proposed FR system.

Preprocessing
The preprocessing phases in this paper consist of two stages that seek to enhance the visual appearance of the image [18].The first stage, which is image transform to grey level by transforming the three components of the color image RGB bands into one band, will be noted as grey as shown in (1) [19], [20]: Face detection and recognition with 180 degree rotation based on… (Assad H. Thary Al-Ghrairi)

595
Grey(i, j) = 0.2989 R(i, j) + 0.5870 G(i, j) + 0.1140 B(i, j) where, R, G, B are the color components that correspond to the red, green, and blue bands of the image and are converted into newly band called gray band that represents the intensity component of the colored image [21], [22].The resulted intensity image contains all the image features that may be useful for face detection and recognition processes [23], [24].Gamma correction is the second stage in preprocessing, performing a non-linear operation on the pixels of an input image.It can cause the image saturation to be modified.If the gamma value is too small or large, this will lead to reduced contrast using (2): where C is set by the monitor Contrast control and the black level is set by the check Brightness control.The value refers to the pixel level normalized to a maximum of 1.The link is linear if gamma=1.

Training and face detection
In this phase, the input image is load and the face is detected with different rotation (frontal and profile faces) using the Viola-Jones algorithm that is considered one of the main public algorithms in face detection.Efficient features have been extracted to detect faces from the input image.These detected faces are used in the recognition phase.The first important step of the recognition of faces is the accurate detection of human faces.Therefore, some faces in a given arbitrary image will be found.Returning image location and area of each face refers to the main goal of the face detection phase.Figure 4 shows the steps of the Viola-Jones algorithm.The features are evaluated in the Viola-Jones algorithm by using the base window size is a 24×24 window in any given image.More details are presented in [25].The detected face is rectangular with a specific color.

Face recognition based on PCA
An FR system has to bind for each face with an identity or name that comes across by corresponding it to a large database of persons [23].PCA is used in the recognition phase, as a multivariate analysis in which correlated variables can be transformed into a minimal number of uncorrelated variables called principal components (PCs).PCA algorithm solves the recognition problem within a representation area of lower dimension than image area.The dimensionality of the original data space is decreased simplifying a dataset by using PCA as an Eigenface.More details are found in [22].The main steps in using PCA are [24]: − Taking the training set of face images, ᴦ1 ᴦ2…………ᴦN.

−
Computing the mean of face image average by using (3).

−
Calculating the difference between each image face and the mean by using (4).If V refers to the feature vector of the test image, n is the number of used feature, and that of the database which is D; then, a match is found by minimizing the Euclidean distance:

EXPERIMENTAL RESULTS AND ANALYSIS
The experimental result of the proposed FR system is implemented in a laptop with RAM 8.0 GB, CPU Intel(R) core i7, and the programming language is Visual studio C#.MS-Windows platform is used to make the application program.Figure 6 shows the interface of the proposed FR system with an example of the face detected and stored in a database.The results of the proposed algorithm have two phases: training and testing.In the training phase, the proposed FR system recognized the human face while the test set of an image cannot be recognized by the proposed FR system because they are not in the database of the system.To get better recognition accuracy of the proposed FR, it is recommended to increase the number of features extracted from the face image and used as a database.In this paper, the original size of images taken from the FEI database is 640×480.Each image is converted to gray and enhanced by using (1) and ( 2) respectively as shown in Figure 7.The face is detected by the Viola-Jones algorithm and resized by 100×100 pixels; then, the face is cropped to be trained and stored in a database with the name of a person as shown in Figures 6 and 7 respectively.The Eigenfaces of these trained faces with input tested face image are determined by the PCA algorithm to be recognized as a face.Euclidean distance measurement was calculated by (7).To evaluate the performance of our proposed FR system and analyzing this paper, two sets of the face image are used from the FEI database as training and testing sets.The face recognition (FR) system performance evaluation is done by using these two kinds of sets.The test images are utilized by the trained PCA to determine the percentage of error and accuracy of the proposed FR system.A 35 set of face images are used as training images to train the system.Each one of them has 14 sample images with different rotation (rotate 180 degrees) as shown in Figure 1.A set of 15 face images are used as a testing image.The person's faces can be recognized and the information is obtained from the database of our system.The execution time is shown in seconds.The tested images and recognized faces are shown in Figures 8 and 9 respectively.
The experimental recognition results of the 50 face images with execution time are shown in seconds in Table 1.These experimental results are analyzed to get the accuracy of recognition and the performance of our FR system as shown in Table 2.The recognition rate is the ratio of successful test images (the best match cases is the correct match) to the total attempts.Total recognition accuracy (RA) of 96% as shown in Figure 10(a) which is an acceptable score is calculated for various facial expressions and poses of the proposed face recognition system by using the (8).

𝑅𝐴 = No of image recognition correctly
Total number of test images × 100% Figure 10(b) shows the average time execution for both trained and tested images where the average time execution for 35 trained images is (0.323657s).For tested 15 images, the average time is (0.3348s) that indicates to low execution time in detecting and recognizing process.This gives strong success and high accuracy for both trained and tested images in using the proposed method for facial recognition as shown in For future work, the system could be converted and rebuilt as a website similar to the website presented in [25] to be more active and upload a database built on the server to access from any place connected with the database.

CONCLUSION
This paper presents simple, easy, and fast human face recognition to detect the multi-angle sample face images from the FEI database with different rotation (from left to the right side), various facial expressions, and poses to provide a solution to the recognition problem.The preprocessing phase is achieved to enhance an image.Viola-Joens method gives a good result for face detection with different rotation and faces expressions.Principle component analysis algorithm is used for face recognition.The system will display the known person if one of the trained sets stored in the database matches the test image.It will display an unknown person if there is no match between the test image and one of the trained images in the database.The experimental results show the robustness and effectiveness of our system for face detection and recognition, achieving high total recognition accuracy of 96% and improving the recognition performance with low execution time for both trained and tested images.Furthermore, the accuracy of 35 trained images for recognition is 97.143% with average time execution that is (0. 323657 second).Also, the accuracy of 15 tested images for recognition is 93.315% with average time execution that is (0.3348 second), which indicates a good and strong success and accuracy in using the proposed method for facial recognition.

Figure 3 .
Figure 3. Diagram of proposed FR system

Figure 5
illustrates examples of detected sample image faces from the FEI database with a different angle (from left to right rotate), various facial expressions, poses, and low execution time.

−Figure 5 .
Figure 5. Training detected face images with 180 degrees rotation

ISSN: 2252- 8938 Figure 10
Figure 10(c).For future work, the system could be converted and rebuilt as a website similar to the website presented in[25] to be more active and upload a database built on the server to access from any place connected with the database.

Table 2 .
Experimental results of face recognition rate