gait for user identification
DESCRIPTION
Gait for User Identification.In this project, I implement gait pattern for user identification. I use only walking data and based on those data, I extracted features. Before extracting features, I tried to segmenting the gait signals. I defined the True peaks from the gait signals (only using Z value | you can see our presentation for the details). After segmenting the gait signals, I extracted the features from each gait cycles. Features that I used are in the time domain (min, avg, max acceleration value from each signal, etc) and in the frequency domain (transfrom time domain to frequency domain using FFT). I applied SVM as our classification method. The result and source code can be seen on https://github.com/rischanlab/ubiClass_FinalReportTRANSCRIPT
Implementation of Human Gait Identification
By Rischan Mafrur
Advisor : Deokjai Choi
December 23, 2014
About Our Dataset
Experiment
•Preprocessing• Linear Interpolation
• DB6 Level 1~3 De-noising (Noise Removal)
• Gait Segmentation
• Features Extraction
• Identification
Linear Interpolation
De-Noising a Signal with Multilevel Wavelet Decomposition
Significant de-noising occurs
with the level-4 approximation
coefficients (Daubechies
wavelets)
0 50 100 150 200 250 300 350 400 450-10
0
10Original Signal
0 50 100 150 200 250 300 350 400 450-5
0
5Reconstructed Approximation - Level 1
0 50 100 150 200 250 300 350 400 450-5
0
5 Reconstructed Approximation - Level 2
0 50 100 150 200 250 300 350 400 450-5
0
5 Reconstructed Approximation - Level 3
0 50 100 150 200 250 300 350 400 450-5
0
5 Reconstructed Approximation - Level 4
Before and After Linear Interpolation and DB6 noise reduction
Gait SegmentationUse Z value of Accelerometer to define gait cycle
Features Extraction
Time domain feature:1. Mean from each gait signal (X,Y,Z,M signals)2. Average maximum acceleration from (X,Y,Z,M signals)3. Average minimum acceleration from (X,Y,Z,M signals)4. Average absolute different from (X,Y,Z,M signals)5. Standard deviation6. RMS (Root Mean Square)
Frequency domain features:The first 40 FFT coefficients form a feature vector
Features
Time domain FeaturesMean, Max, Min, Sd, Abs, Rms (6 features) with 4 signals (X,Y,Z, and M), total features from time domain features are 24 features.
FFT FeaturesFFT features is the 40 first FFT coefficient from each gait signal. In this experiment we use 4 accelerometer signals (X,Y,Z, and M) so total FFT features are 160 features.
All FeaturesCombine between time domain features and FFT features. Total : 24+160 = 184 features
----------------------------------------------------------------------------------------------------------------------------------------
Result
Original SFFS
Time Loading 0.48 0.37
Time Prediction 0.11 0.02
Accuracy 0.7614 0.8267
Time Domain FeaturesList Features after SFFS: "MeanX", "AbsX", "MeanY", "MinY", "MeanZ", "SdZ"Best SVM Parameters: gamma = 0.5, cost = 10
Original SFFS
Time Loading 1.73 0.87
Time Prediction 0.45 0.03
Accuracy 0.4821 0.7178
FFT FeaturesList Features after SFFS: "FFT1", "FFT13", "FFT71", "FFT81", "FFT82", "FFT121"Best SVM Parameters: cost=1, gamma=1
Original SFFS
Time Loading 2.45 0.37
Time Prediction 0.55 0.02
Accuracy 0.4155 0.8267
All FeaturesList Features after SFFS: "MeanX", "AbsX", "MeanY", "MinY", "MeanZ", "SdZ"Best SVM Parameters: gamma = 0.5, cost = 10
SFS (Sequential Forward Selection)SFFS (Sequential Floating Forward Selection)
Naïve Bayes and Random Forest
SVM SFFS Naïve Bayes Naïve Bayes with SFFS
Time Loading 0.37 91.36 4.09
Time Prediction 0.02 8.58 0.31
Accuracy 0.8267 0.5297 0.6287
SVM SFFS Random Forest Random Forest with SFFS
Time Loading 0.37 2.53 0.62
Time Prediction 0.02 0.36 0.23
Accuracy 0.8267 0.848 0.7966
Conclusion
• If we want to play with sensor data, we have to consider deeply about sampling rate.
•Features selection is very useful method, we can use it to find which is the best features.
•Many features does not mean good accuracy, but many features means take more time to load and predict.
Thank you,