This document discusses people identification via sensors on wearable devices. It summarizes previous work using Edison and SmartThings environments. The current work automatically processes sensor data from infrared and magnet sensors to trigger movement start/end. Data is collected from SmartThings sensors by Arduino and sent to Edison via BLE. Dynamic time warping and feature encoding are used to analyze acceleration data and recognize identities based on gait. The conclusion is that SmartThings is unreliable for research but movement data is sufficient for person identification.
2. Intel-NTU Connected Context Computing Center
Intel-NTU Connected Context Computing Center 2
Agenda
?? Previous Work
?? Problem Statement
?? Progression
?? Methodology
?? Data Analyzing
?? Conclusion
3. Intel-NTU Connected Context Computing Center
Intel-NTU Connected Context Computing Center 3
Previous Work
?? Edison Environment Setting
?? Including Wi-Fi, Bluetooth and GPIO setting
?? Data Collecting
?? Using mobile as a gateway to transport data from
ECOMINI( MPU9250 ) via BLE and manually controlling
start and end.
?? Smart Things Environment Setting
?? Tried to receive event-notifying on phone app
4. Intel-NTU Connected Context Computing Center
Intel-NTU Connected Context Computing Center 4
Problem Statement
?? Using SmartThings sensors
?? To trigger movement¨s start and end
?? To receive data from SmartThings Hub to Arduino with
ST_Shield
?? Communicating Arduino and Edison via usb serial port
?? Building a BLE communication for transporting data
?? BLE GATT service
?? Data analyze
?? To recognize people identity
5. Intel-NTU Connected Context Computing Center
Intel-NTU Connected Context Computing Center 5
Progression
What we got last time´
BLE WiFi
6. Intel-NTU Connected Context Computing Center
Intel-NTU Connected Context Computing Center 6
Progression
What we got now´
?? Automatic progress of data
processing
Infrared Sensor (Start)
Magnet Sensor (Finish)
7. Intel-NTU Connected Context Computing Center
Intel-NTU Connected Context Computing Center 7
Progression
What we got now´
?? New data collection
process
The data from the ST
sensors transferred to
Arduino Uno ST shield,
which send ^on ̄ or ^off ̄
command to the Edison
board.
We add a button
sensor to Arduino Uno
in order to start collect
the data from the
each iteration from
the same spot.
8. Intel-NTU Connected Context Computing Center
Intel-NTU Connected Context Computing Center 8
Progression
What we got now´
The last part is
BLE connection
between two
Edison boards.
Python code
commands will
start ^reading ̄
the data from the
accelerometer
that attached to
the second
Edison board
Second Edison board
MPU6050
accelerometer
9. Intel-NTU Connected Context Computing Center
Intel-NTU Connected Context Computing Center 9
Progression
Video Demo
10. Intel-NTU Connected Context Computing Center
Intel-NTU Connected Context Computing Center 10
Methodology
Using SmartThings sensors to trigger movement¨s start
and end
′? Using infra-red motion detector and magnet sensor
′? Configure both sensor by using groovy programing
language
′? Firstly I was thinking that groovy is just a simple and small
programing language for SmartThings only. But´
11. Intel-NTU Connected Context Computing Center
Intel-NTU Connected Context Computing Center 11
Methodology
Groovy code example
12. Intel-NTU Connected Context Computing Center
Intel-NTU Connected Context Computing Center 12
Methodology
To receive data from SmartThings Hub to Arduino with
ST_Shield
?? Looking for a way to send ST sensor data to Edison board.
?? No ST packages for Edison board
?? Arduino Uno ST shield C configured like ST hub
?? Why not all on Arduino?
13. Intel-NTU Connected Context Computing Center
Intel-NTU Connected Context Computing Center 13
Methodology
Communicating Arduino and Edison via usb serial port
?? Arduino Uno got no WIFI and no Bluetooth connections
( without adding new shields)
?? We decided to use USB cable to read serial port data from
the Arduino and use it on the Edison.
?? After a long unsuccessful period´
Just moved
the switch to
the right
14. Intel-NTU Connected Context Computing Center
Intel-NTU Connected Context Computing Center 14
What I learned
?? Basic Groovy, JavaScript and Python programing languages
?? Work with Linux environment
?? Configure Edison board and Arduino Uno
?? Write Arduino code
?? Soldering
?? Working in research environment
?? A little Chinese
15. Intel-NTU Connected Context Computing Center
Intel-NTU Connected Context Computing Center 15
Methodology
Building a BLE communication for transporting data
?? Bluetooth Low Energy
?? Low energy cost
?? Low transfer rate
?? Good coexistence with Wi-Fi
?? Server side
?? To provide read-offset for accessing
?? Client side
?? Storing Data and uploading to cloud server
16. Intel-NTU Connected Context Computing Center
Intel-NTU Connected Context Computing Center 16
Methodology
Server side
?? Bleno library
?? Provide read-offset
?? Solving delay of read request
?? Creating uint8 array[6] offset for accessing once only
Type
Properties
Data Type
Description
0xAAAF (Service)
N/A
N/A
N/A
0xAAA1
Read only
uint16
accX
´
´
´
´
0xAAA6
Read only
uint16
gyroZ
0xAAA7
Read only
Uint16 array[6]
mix
17. Intel-NTU Connected Context Computing Center
Intel-NTU Connected Context Computing Center 17
Methodology
Client side and csv file format
?? BluePy library
?? Storing data as a csv file for analyzing
?? ID, AccX, AccY, AccZ, GyroX, GyroY, GyroZ, TimeStamp
18. Intel-NTU Connected Context Computing Center
Intel-NTU Connected Context Computing Center 18
Data Analyzing
Gait Recognition
?? Gait recognition is a behavioral biometric modality that
identifies people based on their unique walking pattern.
19. Intel-NTU Connected Context Computing Center
Intel-NTU Connected Context Computing Center 19
Data Analyzing
?? How to use linear svm to separate different identity by
classifier when length of each data are time-dependent?
How to select the features?
?? Last time we simply choose the longest time period and let
others fill zero behind.
?? Dynamic Time Warping
Crouse, Michael B., Kevin Chen, and H. T. Kung. ^Gait Recognition Using Encodings With Flexible Similarity Measures. ̄ (2014).
20. Intel-NTU Connected Context Computing Center
Intel-NTU Connected Context Computing Center 20
Data Analyzing
?? In time series analysis, dynamic time warping (DTW) is
an algorithm for measuring similarity between two temporal
sequences which may vary in time or speed.
?? Longest Common Subsequence
Dynamic Time Warping
22. Intel-NTU Connected Context Computing Center
Intel-NTU Connected Context Computing Center 22
Data Analyzing
?? Compute the scalar signal
?? Feature Encoding
?? Random patch dictionary
?? Distance encoding
?? Independent dictionaries
Feature Selection
23. Intel-NTU Connected Context Computing Center
Intel-NTU Connected Context Computing Center 23
Data Analyzing
?? Demo
Experiment
24. Intel-NTU Connected Context Computing Center
Intel-NTU Connected Context Computing Center 24
Data Analyzing
Result
25. Intel-NTU Connected Context Computing Center
Intel-NTU Connected Context Computing Center 25
What I learned
?? How to build a BLE GATT server and how to access it
?? Javascript, Edison Board
?? A little Hebrew
26. Intel-NTU Connected Context Computing Center
Intel-NTU Connected Context Computing Center 26
Conclusion
?? SmartThings system is unreliable for research
?? Even a simple movement is enough to recognize the
difference between one person to another.
?? Intel Edison is good