Journal of Basrah Researches ((Sciences)) Vol. (40). No. (4) A …… (2014)
Available online at: www.basra-science-journal.org ISSN ــ1817 ــ2695
Gait Recognition System Using Support Vector Machine and Neural Network Abbas Hanon Hassin AL-Asadi , Entesar Barges Talal AL-Abadi Department of Computer Science/ College of Science/ University of Basra
[email protected] Received 19-11-2014, Accepted 18-12-2014
Abstract Gait is a particular way or manner of moving on foot, whereas, gait recognition is the process of identifying an individual by the manner in which they walk. Gait is less unobtrusive biometric, which offers the possibility to identify people at a distance, without any interaction or co-operation from the subject; this is the property which makes it so attractive. This paper proposed a new method for gait recognition. In this method, firstly binary silhouette of a walking person is detected from each frame by using Eigen background method. Secondly, gait cycle is detected by using aspect ratio method; thirdly, features from each frame in gait cycle are extracted by combine two methods: model base and model free. Finally, support vector machine and neural network are used for training and testing purposes. Experimental results show that our algorithm is robust and efficient, project is designed by Matlab . Keywords: Gait, Gait Recognition, Eigen Background, Support Vector Machine, Neural Network. 1. Introduction Recognizing of an individual is an important task to identify people. Identification through biometric is a better way because it associate with individual not with information passing from one place to another. Biometrics can be defined as “A physiological or behavioral characteristic, which can be used to identify and verify the identity of an individual” [1]. Physiological characteristics are derived from a direct measurement of a part of human body. The most prominent and successful of these types are fingerprints [2]; face recognition, iris-scans, hand scans, and palm print [3]. Whilst, behavioral characteristics based on an action performed by an individual, they
are an indirect measure of the characteristic of the human form. The main feature of a behavioral biometric is the use of time as a metric. Established measures include keystroke-scan, signature, speech patterns, and gait [3]. Gait refers to the style of walking of an individual. Often, in surveillance applications, it is difficult to get face or iris information or any type of biometric at the resolution required for recognition. It has the advantage of being unobtrusive, difficult to conceal, noninvasive and effective from a distance. 8:
AL-Asadi , AL-Abadi :Gait Recognition System Using Support Vector Machine and …
Gait recognition approaches can be divided into two main categories [4]: Model-Based and Model free. Usually, in the modelbased methods, the human body structure or motion is modeled first, and then the image features are extracted by the measure of structural components of models or by the motion trajectories of body parts [5]. The gait model represents the discriminatory gait characteristics either static or dynamic. This model comes with a set of parameters and a set of logical and quantitative relationships between them. The model's parameters are usually meaningful quantities such as the height of human body, stride length, or kinematic properties such as joint angle trajectories extracted from joint positions [6]. Models used are typically stick representations either surrounded by ribbons or blobs, as shown in Figure (1). When modeling the human body, there are various kinematical and physical constraints we can place on the model which are realistic i.e. maximum variation in angle of knee joint [1].
changing [7].In this paper propose method combine between the Previous two models. 2. The Proposed Algorithms This section gives a global view of the proposed algorithm for identifying a person from his walking. It is organized in four sections. Figure (2) shows the steps for the proposed algorithm. As a behavioral biometric, gait recognition aims to identify the person by the way he or she walks. The main idea of this paper is to build a gait recognition system. In this paper, CASIS B database has been selected with the following hypothesis: First: Dealing only with side view videos and normal gait. This is because of the gait of a person is easily recognizable when extracted from side view of the person and majority of the people have normal walk. Second: The input is a gait video sequence captured by a static camera. 2.1 Pre-processing Pre-processing is the first step in the gait recognition system, we decompose this step into four sections, see Figure (2). 2.1.1 Read Video Sequence Each frame of the video sequence is picked up as a color image and the detailed information of this video are extracted. Table (1) and Figure (3) show the information of video1-personA, frame sequence of video1-personA respectively. Table (1): Information of video 1 - person A. Property
Value
Figure (1): Different Modeling Techniques.
Frame rate
25 frame/second
The Model free gait recognition method or appearance based methods work directly on the gait sequences. They are not considered as a model for the human body to rebuild human walking steps. They have the advantage of low computational cost in compare with model-based approaches and they also have the disadvantage of sensitivity to cloth and appearance
Resolution
320 x 240
Number of frames
116
Figure (3) :Frame sequence of video 1 - person A.
8;
Journal of Basrah Researches ((Sciences)) Vol. (40). No. (4) A …… (2014)
2.1.2 Background Subtracts Detection of foreground object in the video often requires robust techniques for background modeling. The basic idea of background modeling is to maintain an estimation of background image which represents the scene with no foreground object and must be kept updated frame by frame so as to model both static and dynamic pixel in the background. Moving objects can then be detected by simple subtraction and threshold procedure. Recently, many background modeling methods for background subtraction have been proposed. Eigen background method proposed in [8] is one of such kind models. The method uses the difference between the input image and reconstructed background image for detecting foreground object based on Eigen value decomposition. Algorithm (1) describes the main steps of Eigen background Algorithm:
Where
Algorithm (1): Eigen background Algorithm Step1: All the images are of the size (240*320), determine the number of train image is 50 images and convert them to gray level images after that convert each image to vector and stored all them in one matrix. Step2: Compute the mean to the result of the step1. Step3: Compute the covariance to the result of the step2 Step4: Compute the Eigen value to the results of the step3, and sort the result in descend order. Step5: Create matrix with size (240*240) and implying the values at the result in Step4 at diagonal and the remain is zeros. Step6: Read new image and convert it into gray level image called I. Step7: Find projected image to the image I by using the equation (1)
Where
step6, Step5,
gray level image result of eigenvector matrix result of mean matrix result of step2.
Step8: Find reference image to the image I by using the equation (2) … (2) Where transpose eigenvector matrix.
matrix
of
Step9: Compute the different between projected and reference image. Step10: The pixel is considered foreground pixel if the result of Step9 large than threshold as the equation (3). (See Figure (4))
|
|
… (3)
is the threshold.
Repeat step6-step10 until the video is end.
Figure (4): An Example on Background Subtraction.
2.1.3 Morphological operations The previous step produces number of binary image (images number equal size of video Minus 50), these images may contain holes and small gaps, closing these holes by use morphological operation closing and structuring element with size (5*5): 1 1 1 1 1
… (1)
97
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
AL-Asadi , AL-Abadi :Gait Recognition System Using Support Vector Machine and …
we be based on the portion of the video and is not based on whole video, it is possible to have one cycle (from heel strike to heel strike) and extract features from it. When we look at the Figure (5), we note that bounding box wide and short when feet are far from each other and the bounding box long and narrow when feet are close. The aim behind this idea is to detect gait cycle by computing the aspect ratio [9] (height's bounding box to the width bounding box). In our proposed algorithm, gait cycle represents three local minima. Algorithm (2) describes this step.
After make closing, fill these gaps and dilation each image with structuring Element: 0 1 0 1 1 1 0 1 0 After that we remove noise with median filter with size mask (3*3) and we remove image with mean less than 0.0400. 2.1.4 Detection: After separation foreground from background, the detection operation is done by connected component operation and drawn bounding box to the blob that detects by connect component labeling. Figure (5) shows the example of bounding box surrounding person moving.
Algorithm (2): Gait Cycle Detection Algorithm Step1: compute aspect ratio (height/width) of bounding box to all binary image result of pervious step. Step2: smooth the aspect ratio by using moving average filter with sliding 20. Step3: find the first three local minimum in aspect ratio curve, gait cycle represent the interval between the first local minimum and the third local minimum. See Figure (6a).
Figure (5): The Example of Bounding Box Surrounding Person Moving.
The important thing that should be mentioned here is the preprocessing step repeated at training and testing phase see Figure (3).
Frame number
2.2 Gait Cycle Detection
Figure (6 a): aspect ratio curve.
Gait cycle detection is the second step in the proposed algorithms. The process of human walking is the phenomenon of repetitive over time, so it is one of the virtues of the human gait recognition that 97
Journal of Basrah Researches ((Sciences)) Vol. (40). No. (4) A …… (2014)
lower corner point of bounding box at toe off, the second angle represents slope reference limb angle at toe off phase, see Figure (7).
Figure (6 b): one gait cycle person walking from right to left.
We note that the number of images product is 24 instead of the input 56, this mean that gait cycle detection step detects number of image represent one gait cycle (from heel strike reference limb to heel strike reference limb).These are images use in the next step feature extraction, this step is made in training and testing phases see Figure(3).
Figure (7):angles at toe off of the reference limb
The texture features are Contrast, Correlation, Energy, and Homogeneity Computed from GLCM for the four directions (0, 45, and 90,135) to the gait energy image of one gait cycle. Algorithm (3) computes the geometry features.
Algorithm (3): Compute the Geometry Features Algorithm
2.3 Feature extraction The third step in our work is feature extraction, feature extraction is the process of defining a set of features, or person characteristics, which will most efficiently or meaningfully represent the information that is important for analysis and classification, in our work, we combined between two types of feature geometry feature and texture feature that extract from gait cycle images, geometry features represent by average width, average height of bounding box to the person walking at time and two angles between three lines, the first one between the center of the body and the knee point of the opposite limb, the second line between the knee point of the opposite limb and the second Knee point of the reference limb, the third line between knee point of the opposite limb and the
This algorithm extracts four geometry feature average width, average height and the angles drawn between three lines remember in Figure (7) and the input of this algorithm is gait cycle images. Step1: Compute the mean width by average the width of bounding box on number image in gait cycle and the mean height by average the height of bounding box on number image in gait cycle. Step2: Detect toe off phases represent (62%) from gait cycle and return the image represent toe off phase. Step3: After return toe off image, crop it with bounding box coordinate, detect edge by using Sobel edge 97
AL-Asadi , AL-Abadi :Gait Recognition System Using Support Vector Machine and …
detection and save the result in p matrix.
the gait cycle. After applying size normalization and horizontal alignment to each extracted silhouette image .see Figure (8) as an example on GEI.
Step4: Compute the center point of the body(x represent mean of rows p and y represent mean of columns p) and draw it. Step5: Detect the knee point of the opposite limb; the knee point represents 0.285 of height person. Step6: Return the indexes of the p matrix at the knee point and extract minimum value and maxima value until return the coordinate of knee point (pixel location at left most and right most) at 0.285of height person.
Figure (8): Gait Energy Image.
Step4: Resize all the image of gait cycle to size 128* 128. Step5: Compute gray level co-occurrence matrix to the gait energy image with four off set ([0 1], [-1 0], [-1 1], [-1 1]).The GLCM creates by calculating how often a pixel with gray-level (grayscale intensity) value i occurs horizontally adjacent to a pixel with the value j. (You can specify other pixel spatial relationships using the 'Offsets' parameter ([0 1],[-1 0],[-1 1],[-1 -1]) Each element (i,j) in GLCM specifies the number of times that the pixel with value i occurred horizontally adjacent to a pixel with value j.
Step7: After extract the four point (center, two knee point, the lower corner coordinate of bounding box), draw the three line as in Figure (7),and compute the angles values by using law cosine=(a.b)/||a|| ||b||. The result from this algorithm is vector which has four elements average width, average height, and two angle values. The next algorithm (Algorithm 4) used to extract texture feature from gray level Cooccurrence matrix to the gait energy image. Algorithm (4): Compute Texture Feature Algorithm Step1: Resize all the image of gait cycle to size 240 * 240.
Step6: Compute the texture feature to GLCM contrast, correlation, energy, homogeneity.
Step2: Align each image to make all the images have the same center.
Step7: The result from this algorithm is vector with sixteen values.
Step3: Compute gait energy image as the equation (4).
After extract the two types of features from gait cycle images combine the two vectors in one vector represent signature to the person walking used in recognition step, you must refer that feature extraction step make in training and testing step see Figure
∑
… (4)
where N is the number of frames in a complete gait cycle, x and y are the image coordinates, and t is the frame number in 97
Journal of Basrah Researches ((Sciences)) Vol. (40). No. (4) A …… (2014)
(3), after that store each signature in data base. 2.4 Recognition The last step in the propose system is recognition, Distinguish between people, after obtained feature vector and store it in mat file ,The recognition step is followed, in our approach we use two types of method support vector machine(SVM) and neural network(NN). 2.4.1 Recognition using SVM Algorithm Algorithm
(5):
SVM
Figure (9): Show Confusion Matrix for Test Data (nine Authorized person).
Classification
2.4.2 Recognition using neural network
Step1: In this work, we use one against One Approach multiclass SVM. Train the train data, type of kernel function that used is polynomial with order of 3, number of class is nine equal to authorized person (nine), train data is matrix represent features vectors to the person walking with size (45*20) 45 represent number of train sequence and 20 equal to instance in feature vector, in CASIS B data base each person has six sequence normal walking, five sequence used for training and one for testing Step2:Classify test data using information create by step1.
Algorithm Algorithm
(6):
NN
Classification
Step1: Create feed forward neural network with three hidden layers, input layer and out layer, number of neuron in each hidden layer 170,160,170 respectively, Input layer for created neural network is determined by characteristics of inputs. We have twenty attribute feature vector. So number of neuron in input layer is twenty, and out layer neuron determined by number of class we have nine classes (person) there for the number of neuron in output layer are nine.
the
Step3: Use confusion matrix to compute total accuracy from SVM, in our work putting threshold to the total accuracy is 90% when the person has result less than threshold reject and consider not found in data base but when a person has total accuracy more than threshold accept. Figure (9) shows confusion matrix for test data, result from SVM classification algorithm.
Step2:Determined the important parameter, learning rate equal to one, Epochs equal to 20000, maximum number of iterations, training time infinity, Data division function (divide rand), Transfer function of ith layer hyperbolic tangent sigmoid transfer Function is used 'tansig', linear activation function is selected for output layer 'purelin' , Performance function, default = 'mse 'and training function is back propagation function 97
AL-Asadi , AL-Abadi :Gait Recognition System Using Support Vector Machine and …
(Scaled conjugate gradient), weight and bias is generating randomly. Step3: Train the network with train data and target matrix (target matrix is matrix with nine row and forty five column each row consist of vector of all zero values except for a 1 in element i, where i is the class they are to represent.
But when you combine the geometry feature and texture feature the recognition rate is increasing and arrived to 98%.you can say that the proposed system gives good results when you combine two features.
Table (2): Classification Result from SVM &NN for Authorized, Imposter Person
Step4: Simulates the neural network by taking the initialized net and network input matrix (train data), vec2ind - convert vectors to class indices.
Data Type
Classifier
Step5: Compute the network performance.
SVM
Feature Type
Classification Accuracy % Train Data
Test Data
Geometry feature
100
66.6667
Texture feature
100
88.8889
100
98
Geometry feature
100
66.7
Texture feature
100
98
100
98
Geometry feature
100
0
Texture feature
100
11.11
100
0
Geometry feature
100
0
Texture feature
100
11.1
100
0
Geometry feature&
Step6: Simulates the neural network by taking the training net and (test data), vec2ind - convert vectors to class indices to return predict class.
Texture feature Authorized
NN
Step7: Compute the network performance.
Geometry feature& Texture feature
3. Conclusions and Experiment Results Through the proposed system and the results that have been reached, the following conclusions were monitored:
SVM
Geometry feature& Texture feature
For recognition based on geometry feature are found recognition rate approximately are equal when using SVM classification and NN classifier and it is poor see Table (2). For recognition based on texture feature are found at SVM classification, recognition rate is less than from using NN classifier but it is considered approximately higher than recognition rate by using geometry feature.
Imposter
NN
Geometry feature& Texture feature
Table (7): Show Evaluation Result of All Experiment data type Authorized Imposter
97
Classifier SVM NN SVM NN
FRR 0 0 -
FAR 0 0
Journal of Basrah Researches ((Sciences)) Vol. (40). No. (4) A …… (2014)
Tables (8) show the comparison to other algorithms onSilhouette Based Approach ", CASIA-B Journal of Automation and Control Engineering, Vol. 1, No. 2, June Table (8): Comparison to other algorithms on 2013. CASIA-B Methods [10] [11] [12] Proposed Algorithm
[8] Nuria M. Oliver, Barbara Rosario, and Alex P. Pentland," A Bayesian Computer Vision System for Modeling Human Interactions", IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 22, No. 8, August 2000.
Classification Result (%) 90.6 98.6 98.3 98
Reference [1] Mark Ruane Dawson ,'' Gait Recognition", M.Sc. Thesis, Department of Computing Imperial College of Science, Technology & Medicine, London, June 2002.
[9] Hao ZHANG, Zhijing LIU, Haiyong ZHAO," Gait Modeling and Identifying Based on Dynamic Template Matching", Journal of Computational Information Systems ,No. 1155-1162,7:4 (2011).
[2] Peter Gregory and Michael A. Simon, "Biometrics For Dummies", Wiley Publishing, Inc., 2008.
[10]
HAN SU, FENG-GANG HUANG," Human Gait Recognition Based On Motion Analysis ", Proceedings of the Fourth International Conference on Machine Learning and Cybernetics, Guangzhou, 18-21 August 2005.
[11]
[5] L.R Sudha, Dr. R. Bhavani," Biometric Authorization System Using Gait Biometry", Department of CSE, University of Annamalai, India.
Khalid Bashir, Tao Xiang and Shaogang Gong," Feature Selection on Gait Energy Image for Human Identification", IEEE, 1-4244-14849, 2008.
[12]
[6] Gunawan Ariyanto," Model-Based 3d Gait Biometrics ", PhD Thesis, Dapartement of Electronics and Computer Science, Faculty of Physical and Applied Sciences, University of Southampton, March 2013.
Yanqing ZHAO,Zijiang YANG," Toward Texture Analysis and Feature Fusion for GEI-based Gait Recognition", Journal of Computational Information Systems, 10103–10111,2013.
[13]
CASIA GAIT DATABASE: http://www.cbsr.ia.ac.cn/english/Gait %20Databases.asp.
[3] Joseph N. Pato and Lynette I. Millett, "Biometrics Recognition Challenges and opportunities", National Academy of Sciences, USA, 2010. [4] Rong Zhang ,Christian Vogler , and Dimitris Metaxas ," Human Gait Recognition ", IEEE, 27-02 June 2004 .
[7] Negin K. Hosseini, Md Jan Nordin," Human Gait Recognition: A 98
Input video
Frames
Eigenbackgrounds
Preprocessing If mean Image