Using Android Device Accelerometer and Gyroscope Data Jonathan Lee Aliza Levinger Beqir Simnica Khushbu Kanani Adam Pacholarz Javid Maghsoudi Charles Tappert Hui Zhao and Leigh Anne Clevenger ID: 543121
Download Presentation The PPT/PDF document "A Behavioral Biometrics User Authenticat..." is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
A Behavioral Biometrics User Authentication StudyUsing Android Device Accelerometer and Gyroscope Data
Jonathan Lee, Aliza Levinger, Beqir Simnica, Khushbu Kanani, Adam Pacholarz,
Javid Maghsoudi, Charles Tappert, Hui Zhao, and Leigh Anne Clevenger
(Preston Rollins, Vinnie Monaco)
Seidenberg School of CSIS, Pace University, Pleasantville, New YorkSlide2
CONTENTS
Tools Sensor Kinetics & WEKAData Gathering Protocol
Simple Processing
Data Processing
Results
CloseSlide3
TOOLS: SENSOR KINETICS & WEKA
Sensor Kinetics Pro
Access
all sensors
Record data
Share data
CSV File{time,x,y,z}1 line per sampleWEKACollection of Machine Learning AlgorithmsClassify DataTest OptionsEasily Change Algorithms
Naive Bayes
k-Nearest Neighbors
Multilayer PerceptronSlide4
DATA GATHERING PROTOCOL
Chose to record both
accelerometer
and
gyroscope
data - measures of device movement and orientation -- where available.
6 testers, 5 different android phones. 10 subjects per phone.Starting position had user sitting at desk/table with phone flat on the surface. Motion of interest consisted of:Press start button with dominant handLift to view2-3 second pauseBring phone to ear2-3 second pausePress stop button while phone is at earSlide5
SIMPLE PROCESSING
Divide the data into sixteen equal sectionsCalculate the average and variance at each data point
Divided into sixteenths to match up evenly with the automated feature extraction
16x sections
2x sensors
3x dimensions
2x values (avg, var)End with 192 data points per trialSlide6
Using 25-sample moving average to determine motionCalculates {x,y,z}-averages, derives variances at each point
Starts with an arbitrary threshold for motion
Iteratively adjusts threshold up/down
until system identifies 2 motions
and 2 periods of stillness
Divides each segment into quarters:
Calculate {x,y,z}-averages, variances192 data points per trial(mirroring the simple processing)DATA PROCESSINGSlide7
DATA PROCESSING CODE
Java code ~1000 linesPerforms simple sections (x16)Performs feature extraction
(4 segments)
Calculates avg/var per section
Generates 2x CSV filesSlide8
RESULTS
Initial test results with 60-individuals, on 6 different phones (5 models).
(acc) refers to analysis using only the accelerometer (96 data points)
(both) refers to analysis using the gyroscope as well (192 data points)
%
Simple (acc)
Simple (both)Complex (acc)Complex (both)Naive-Bayes82.783.281.183.6k-NN
86.3
87.088.7
89.8
MLP
91.4
92.5
92.9
92.7Slide9
SAMPLE RUN DATA
From complex extractionBoth Sensors
MLP
Individual data displayed (true pos & false pos
)
Some conclusions:
This biometric approach tricked by twinsAlso, possibly biomechanically similar individualsBehavioral biometrics alone may not be sufficientSlide10
COMPARISON TO PREVIOUS PROJECT
4 phones => 6 phones4 models => 5 models
20 users => 60 users
25 runs/user (500 runs total) => 20 runs/user (1200 runs total)
Standing motion => Sitting motion
Division into 8 sections => Division into 16 sections
Manual extraction + simple division => Simple division + automated extractionExtracted motions (manual) => Extracted motions & stillness (automated)98.4% result (both sensors/simple division/MLP) => 92.7% (both/complex/MLP)Slide11
3x Algorithms (naive Bayes, k-NN, MLP)Simple division vs Complex extraction
Accelerometer only vs. Both vs. Gyroscope only
Average and variance vs.
Average only
vs.
Variance only
10-fold validation vs. Leave 1 out validation60-sample vs. 50 vs. 40 vs. 30 vs. 20 vs. 10Aggregate vs. Individual12 Weka runs (~3 hrs) => 1296 Weka Runs (~308 hrs)PROJECT EXTENSION (BOLD NEW)