SlideShare a Scribd company logo
smart room gesture control using kinect
skeletal data
Diploma Thesis Presentation
Giwrgos Paraskevopoulos
10 July 2016
School of Electrical and Computer Engineering
National Technical University of Athens
Institute of Informatics and Telecommunications
NCSR Demokritos
goals of this work
• Build a simple and intuitive Natural User Interface for a smart
conference room.
• Use the Kinect skeletal information to devise some novel and
accurate techniques for pose and gesture recognition focused
on real-time systems.
• Create efficient implementations of the devised algorithms as
microservices.
• Demonstrate how Machine to Machine communication can be
used to compose these microservices into non trivial
applications for the Internet of Things ecosystem.
• Integrate our work into the Synaisthisi platform.
2
demo time
Demo Link
3
contents
1. Pose Detection
2. Gesture Recognition
3. Use Case: Smart Room Control
4. Conclusions and Future Work
5. Backup Slides
4
pose detection
problem definition
• A pose is the temporary suspension of the animation of the
body joints in a discrete configuration.
• Pose detection is the problem of automatically classifying a
pose.
• Poses can be used as control signals
6
assumptions
• Sufficient room lighting conditions for the operation of the
Kinect sensor
• User is positioned inside the operating area of the Kinect
sensor and is facing the sensor
• Predefined set of target poses
7
design prerequisites
Detection is
• real-time
• invariant to the user position and distance from the camera
• invariant to the user physical characteristics (height, weight etc.)
• able to support multiple users (a limit of 2 is imposed by the
Kinect sensor)
8
the proposed algorithm
• Template matching to a set of geometric features
• Poses are predefined templates
• We compare the current feature vector to the template, and if it
is within a predefined error margin the pose is recognized
Simple, fast and performs well in real world scenarios.
9
The Microsoft Kinect SDK
data streams
Color Stream Depth Stream Skeleton Stream
11
skeleton joints
• A total of 20 inferred joints
• Organized in a hierarchical structure (we make use of this later)
Shoulder
Left
Hip Center
Elbow Left
Wrist Left
Hip Left
Hand Left
Knee RightKnee Left
Shoulder
Right
Elbow Right
Wrist Right
Hand Right
Hip Right
Shoulder
Center
Head
Skeletal Joints
HipCenter
Hip Right
Knee Right
Ankle Right
Foo tRight
Hip Left
Knee Left
Ankle Left
Foot Left
Spine
Shoulder Center
Shoulder Right
Elbow Right
Wrist Right
Hand Right
HeadShoulder Left
Elbow Left
Wrist Left
Hand Left
Joints in a tree structure
12
The Algorithm
geometric features
• Make use of the joints hierarchical structure to compute the
angles between each parent and child joint.
• This single feature provides by default the position and depth
invariance and is enough to classify a large set of poses.
14
feature calculation
B
c
C
a
A
b
The triangle that is formed between the father joint A, the child joint B and
the point (A.x, 0)
Using the law of cosines, we calculate the ∠ACB as
C = cos−1 a2
+ b2
− c2
2ab
(1)
15
example pose template
<?xml version=”1.0” encoding=”utf−8” ?>
<Pose id=”HANDSAPART”
xmlns:xsi=”http://www.w3.org/2001/XMLSchema−instance”
xsi:schemaLocation=”urn:PoseRules PoseRules.xsd”>
<DisplayName>Jack I’m Flying</DisplayName>
<AngleConstraints units=”degrees”>
<ElbowLeft>
<Desired>180</Desired>
<Deviation>15</Deviation>
</ElbowLeft>
<HandLeft>
<Desired>180</Desired>
<Deviation>15</Deviation>
</HandLeft>
<ElbowRight>
<Desired>0</Desired>
<Deviation>15</Deviation>
</ElbowRight>
<HandRight>
<Desired>0</Desired>
<Deviation>15</Deviation>
</HandRight>
</AngleConstraints>
</Pose>
16
gesture recognition
what is a gesture?
• A continuous stream of poses
• The transfer of a subset of joints from point A to B, using a
vaguely predefined trajectory
18
what is a gesture?
• A continuous stream of poses
• The transfer of a subset of joints from point A to B, using a
vaguely predefined trajectory
19
gesture example
Swipe In (Right Hand)
Swipe Up (Right Hand)
20
the proposed approach
• Extract a set of low level geometric features
• Evaluate the performance (classification accuracy and time) of a
set of well known machine learning techniques on this set of
features
21
Feature Extraction
feature extraction
• We are interested in gestures; use only elbows, wrists and hands
(LeftElbow, RightElbow, LeftWrist, RightWrist, LeftHand,
RightHand)
• For each we calculate a set of features, for the set of N frames
that correspond to the gesture and based on their 3D
coordinates
23
feature properties
Our features satisfy the following
• They require constant time O(1) in each frame to compute
• Small gesture changes are reflected to small feature changes
(angle and displacement are able to discriminate between
small movements)
• They are aggregate features that summarize the gesture over all
the frames
• They are small in size (a feature vector in minified JSON format
is about 3KB)
24
the features
Features are extracted
• from each skeletal
joint
• from a set of the
frames depicting the
gesture
• using the 3D
coordinates of the
joints
Feature name Frames involved Equation
Spatial angle F2, F1
v
(J)
2 − v
(J)
1
v
(J)
2 − v
(J)
1
Spatial angle Fn, Fn−1
v
(J)
n − v
(J)
n−1
v
(J)
n − v
(J)
n−1
Spatial angle Fn, F1
v
(J)
n − v
(J)
1
v
(J)
n − v
(J)
1
Total vector angle F1, . . . , Fn
n∑
i=1
arccos


v
(J)
i · v
(J)
i−1
v
(J)
i v
(J)
i−1


Squared total vector angle F1, . . . , Fn
n∑
i=1
arccos


v
(J)
i · v
(J)
i−1
v
(J)
i v
(J)
i−1


2
Total vector displacement Fn, F1 v
(J)
n − v
(J)
1
Total displacement F1, . . . , Fn
n∑
i=1
v
(J)
i − v
(J)
i−1
Maximum displacement F1, . . . , Fn max
n
(
v
(J)
i − v
(J)
i−1
)
Bounding box diagonal length∗
F1, . . . , Fn
√
a2
B(V(J ))
+ b2
B(V(J ))
Bounding box angle∗
F1, . . . , Fn arctan
bB(V(J ))
aB(V(J ))
25
the features (cont’d)
We also extract the initial and final (i.e., at F1 and FN, respectively),
mean and maximum angle (i.e., for F1, . . . FN) between any pair of
joints (pc = parent-child )
θpc = cos−1
(
a2
pc + b2
pc − c2
pc
2apcbpc
)
(2)
where
apc =
(
v(J)
− v
(Jc)
x
)2
+
(
v
(J)
y − v
(Jc)
y
)2
, (3)
bpc = v
(J)
x και (4)
cpc = (v
(Jp)
x )2
+ (v
(J)
y − v
(Jp)
y )2
. (5)
26
the features (cont’d)
Finally between HandLeft and HandRight and within the gesture we
extract
• The max...
dmax = max
i,j
{
d
(
vHR
i , vHL
j
)}
, (6)
• ... and the mean distance
dmean =
1
F(J)
∑
i,j
d
(
vHR
i , vHL
j
)
, (7)
27
Experiments
machine learning approaches
For gesture recognition based on the aforementioned features, we
investigated the following techniques:
• SVM Linear/RBF kernel (LSVM/RBFSVM)
• Linear Discriminant Analysis (LDA)
• Quadratic Discriminant Analysis (QDA)
• Naive Bayes (NB)
• K-nearest neighbors (KNN)
• Decision Trees (DT)
• Random Forests (RF)
• Extra Trees (ET)
• Adaboost with Decision Trees / Extra Trees (ABDT/ABET)
29
experiments preparation - dataset construction
• We constructed a real-life data set of 10 users (7M/3F), ages:
22–36
• We selected a set of “swipes” (in/out/up/down) for both hands
(8 gestures)
• Each user performed a gesture at least 10 times
• We manually “cleaned” the dataset from obviously “wrongly”
performed gestures
• Each user was equipped with a push button, used to signify the
beginning/ending of a gesture
30
experiments preparation - optimal parameters
Find the optimal parameter set for each algorithm using Exhaustive
Grid Search
α learning rate n number of neighbors
e number of estimators s search algorithm
d maximum depth m metric between point p and q
f maximum number of features r regularization parameter
Classifier Parameters
ABDT e = 103, α = 621.6
ABET e = 82, α = 241.6
DT d = 48, f = 49
ET d = 17, f = 70, e = 70
KNN n = 22, s = kd_tree, m =
∑n
i=1(|pi − qi|)
LSVM C = 0.0091
QDA r = 0.88889
RBFSVM C = 44.445, γ = 0.0001
RF d = 27, f = 20, e = 75
31
experiment 1 - performance for a known set of users
TARGET
• Find the optimal machine learning approach to split our feature
space
METHOD
• Train using gestures from all users
• Evaluate using different gestures from all users
• Use standard Stratified K-fold Cross Validation
32
experiment 1 - results
33
experiment 2 - performance against unknown users
TARGET
What is
• the performance for new / unknown users?
• the minimum number of users that can be used for training and
get an adequate classifier?
• the effect of “bad users”?
METHOD
• Split the data per user
• Use a varying number of users for training and the rest for
testing
34
experiment 2 - results per user (f1 score)
User 1 User 2 User 3 User 4 User 5 User 6 User 7 User 8 User 9 User 10 Mean w/o User 1
LH-SwipeDown 0.76 0.83 1.00 0.82 1.00 0.80 1.00 1.00 1.00 0.96 0.934
LH-SwipeIn 0.38 0.92 0.84 1.00 1.00 0.92 1.00 1.00 1.00 1.00 0.964
LH-SwipeOut 0.61 0.93 0.86 1.00 1.00 0.89 1.00 1.00 0.97 1.00 0.961
LH-SwipeUp 0.69 0.90 1.00 0.84 1.00 0.83 1.00 1.00 0.97 0.96 0.944
RH-SwipeDown 0.78 1.00 0.95 - 1.00 1.00 0.92 1.00 0.87 1.00 0.968
RH-SwipeIn 0.64 1.00 0.67 - 1.00 1.00 1.00 1.00 0.89 0.96 0.940
RH-SwipeOut 0.61 1.00 0.80 - 1.00 1.00 0.95 1.00 1.00 0.95 0.963
RH-SwipeUp 0.40 1.00 0.95 - 1.00 1.00 1.00 1.00 0.96 1.00 0.989
Average 0.62 0.94 0.88 0.92 1.00 0.92 0.99 1.00 0.96 0.97
35
experiment 2 - results
36
experiment 3 - benchmarks
TARGET
• Test the prediction time in different architectures
METHOD
Construct a custom benchmark where:
• Split the data randomly in train/test sets (80/20 split)
• Classify every sample in the test data 1000 times
• Calculate the average prediction time for each classifier
• Evaluate in different architectures
37
experiment 3 - results
38
use case: smart room control
use case
The described algorithms are combined into an IOT application
implementing a NUI system that is integrated into the SYNAISTHISI
platform.
This system is used to control the devices inside in the Aigaio
meeting room which is located in IIT Demokritos.
40
The Internet of Things
iot definition
The Internet of Things is <insert preferred definition>.
42
iot definition
The Internet of Things is a generalization of the World Wide Web to
incorporate “things” that exist in the physical world.
43
iot definition
The Internet of Things is the convergence of all virtual and physical
entities that are able to produce, consume and act upon data under
a common communications infrastructure.
44
synaisthisi platform
The Synaisthisi platform is a project developed in NCSR Demokritos
that aims to facilitate the development of Internet of Things
applications.
It provides
• A Service Oriented Architecture where applications can be
developed as the composition of small functional building
blocks (services)
• A categorization of services in Sensing, Processing and Actuating
(SPA services)
• A Message Oriented Middleware that provides a pub/sub
message passing infrastructure based on MQTT for inter-service
communication
• Mechanisms for logging, security, persistent storage, data
replication and administration of the applications and the
system
45
synaisthisi architecture
46
Machine to Machine Communication
publish/subscribe protocols
Pros:
• Asynchronous communication
• Decoupling of the communicating entities
• Many to many communication
• Scalable
Cons:
• Semantic coupling (message type needs to be statically defined)
• Loose message delivery guarantees
48
mqtt
All of the above plus
• Lightweight
• Small code footprint
• Small header overhead
• QoS Levels
49
System Design
aigaio devices
51
aigaio devices
/pw2 Projector /pw3 Lights Front
/pw4 A/C /pw5 Fan Coils
/pw6 Fan Coils /pw8 Lights Rear
/ir_control/action IR Module
/demokritos/iit/aigaio
/ir_control/action /plugwise/action
/pw2 /pw3 /pw4 /pw5 /pw6 /pw8
52
aigaio nui components
53
aigaio nui services
54
aigaio nui technology stack
55
conclusions and future work
conclusions
In this project we have
• Implemented a simple and efficient pose detection algorithm
• Constructed a real-time machine learning approach to gesture
recognition
• Integrated these techniques to a real life IOT application for a
Natural User Interface
57
publications
• G. Paraskevopoulos, E. Spyrou and D. Sgouropoulos, A Real-Time
Approach for Gesture Recognition using the Kinect Sensor. In
Proc. of Hellenic Conference on Artificial Intelligence (SETN),
2016
• 2 more upcoming
58
future work
• Apply the aforementioned techniques to new / more
challenging problem domains
• Construct a larger data set with more users performing a bigger
variety of gestures
• Reduce the size/cost of the needed computing devices
• Implement a dynamic time segmentation method for gesture
detection
59
Questions?
60
Thank you!
61
backup slides
what about gesture detection?
63
why not a stream of poses?
2 main approaches
• FSM of intermediate poses: Every new gesture needs to be hard
coded
• HMM with intermediate poses as observations: Generalizes but
couples recognition accuracy with frame rate / network stability
64
kinect on raspberry pi
APPROACH
Use Windows 10 IOT Edition
PROBLEMS
• Does not support Kinect drivers and Kinect SDK
• Not enough voltage provided through USB hub to sustain the
Kinect sensor
65
kinect on raspberry pi
APPROACH
• Use USB over IP to stream the low level Kinect data from a
Raspberry Pi to a Windows Server so that it appears the Kinect
sensor is connected to the server
• Cross-Compile the Linux kernel with USB-IP modules support
PROBLEMS
• USB-IP modules do not support USB hubs
• Bandwidth limitations
66
why c#? why python? why js?
C#
• Kinect SDK
Python
• scikit-learn
JS
• async . p a r a l l e l (
// L i s t of pose detectors to run concurrently
Object . keys ( poseDetectors )
. reduce ( ( prev , pose ) => {
prev [ pose ] = poseDetectors [ pose ] ( features )
return prev
} , { } ) ,
( err , result ) => {
/* handle l i s t of results . . . */
} )
67

More Related Content

What's hot

An Application of Stereo Image Reprojection from Multi-Angle Images fo...
An  Application  of  Stereo  Image  Reprojection  from  Multi-Angle Images fo...An  Application  of  Stereo  Image  Reprojection  from  Multi-Angle Images fo...
An Application of Stereo Image Reprojection from Multi-Angle Images fo...
Tatsuro Matsubara
 
IRJET- Robust Edge Detection using Moore’s Algorithm with Median Filter
IRJET- Robust Edge Detection using Moore’s Algorithm with Median FilterIRJET- Robust Edge Detection using Moore’s Algorithm with Median Filter
IRJET- Robust Edge Detection using Moore’s Algorithm with Median Filter
IRJET Journal
 
The International Journal of Engineering and Science (The IJES)
The International Journal of Engineering and Science (The IJES)The International Journal of Engineering and Science (The IJES)
The International Journal of Engineering and Science (The IJES)
theijes
 
Image restoration
Image restorationImage restoration
Image restoration
Azad Singh
 
A Detailed Analysis on Feature Extraction Techniques of Panoramic Image Stitc...
A Detailed Analysis on Feature Extraction Techniques of Panoramic Image Stitc...A Detailed Analysis on Feature Extraction Techniques of Panoramic Image Stitc...
A Detailed Analysis on Feature Extraction Techniques of Panoramic Image Stitc...
IJEACS
 
Ijartes v1-i2-008
Ijartes v1-i2-008Ijartes v1-i2-008
Ijartes v1-i2-008
IJARTES
 
AUTOMATED IMAGE MOSAICING SYSTEM WITH ANALYSIS OVER VARIOUS IMAGE NOISE
AUTOMATED IMAGE MOSAICING SYSTEM WITH ANALYSIS OVER VARIOUS IMAGE NOISEAUTOMATED IMAGE MOSAICING SYSTEM WITH ANALYSIS OVER VARIOUS IMAGE NOISE
AUTOMATED IMAGE MOSAICING SYSTEM WITH ANALYSIS OVER VARIOUS IMAGE NOISE
ijcsa
 
Survey on Image Integration of Misaligned Images
Survey on Image Integration of Misaligned ImagesSurvey on Image Integration of Misaligned Images
Survey on Image Integration of Misaligned Images
IRJET Journal
 
47549379 paper-on-image-processing
47549379 paper-on-image-processing47549379 paper-on-image-processing
47549379 paper-on-image-processing
maisali4
 
IRJET- Cantilever Beam Crack Detection using FEA and FFT Analyser
IRJET- Cantilever Beam Crack Detection using FEA and FFT AnalyserIRJET- Cantilever Beam Crack Detection using FEA and FFT Analyser
IRJET- Cantilever Beam Crack Detection using FEA and FFT Analyser
IRJET Journal
 
A calibration technique for a two axis magnetic compass in telematics devices
A calibration technique for a two axis magnetic compass in telematics devicesA calibration technique for a two axis magnetic compass in telematics devices
A calibration technique for a two axis magnetic compass in telematics devices
Pham van Tang
 
The accuracy of mobile phone camera instead of high resolution camera in digi...
The accuracy of mobile phone camera instead of high resolution camera in digi...The accuracy of mobile phone camera instead of high resolution camera in digi...
The accuracy of mobile phone camera instead of high resolution camera in digi...
IAEME Publication
 
Automatic Detection of Radius of Bone Fracture
Automatic Detection of Radius of Bone FractureAutomatic Detection of Radius of Bone Fracture
Automatic Detection of Radius of Bone Fracture
IRJET Journal
 
Motion capture technology
Motion capture technologyMotion capture technology
Motion capture technologyAnvesh Ranga
 
IRJET-Motion Segmentation
IRJET-Motion SegmentationIRJET-Motion Segmentation
IRJET-Motion Segmentation
IRJET Journal
 
Spot Edge Detection in cDNA Microarray Images using Window based Bi-Dimension...
Spot Edge Detection in cDNA Microarray Images using Window based Bi-Dimension...Spot Edge Detection in cDNA Microarray Images using Window based Bi-Dimension...
Spot Edge Detection in cDNA Microarray Images using Window based Bi-Dimension...
idescitation
 
ESPI - Project Report
ESPI - Project Report ESPI - Project Report
ESPI - Project Report Akash Marakani
 

What's hot (20)

An Application of Stereo Image Reprojection from Multi-Angle Images fo...
An  Application  of  Stereo  Image  Reprojection  from  Multi-Angle Images fo...An  Application  of  Stereo  Image  Reprojection  from  Multi-Angle Images fo...
An Application of Stereo Image Reprojection from Multi-Angle Images fo...
 
Aberration_Errors
Aberration_ErrorsAberration_Errors
Aberration_Errors
 
IRJET- Robust Edge Detection using Moore’s Algorithm with Median Filter
IRJET- Robust Edge Detection using Moore’s Algorithm with Median FilterIRJET- Robust Edge Detection using Moore’s Algorithm with Median Filter
IRJET- Robust Edge Detection using Moore’s Algorithm with Median Filter
 
x-ray tomography
x-ray tomographyx-ray tomography
x-ray tomography
 
The International Journal of Engineering and Science (The IJES)
The International Journal of Engineering and Science (The IJES)The International Journal of Engineering and Science (The IJES)
The International Journal of Engineering and Science (The IJES)
 
Image restoration
Image restorationImage restoration
Image restoration
 
A Detailed Analysis on Feature Extraction Techniques of Panoramic Image Stitc...
A Detailed Analysis on Feature Extraction Techniques of Panoramic Image Stitc...A Detailed Analysis on Feature Extraction Techniques of Panoramic Image Stitc...
A Detailed Analysis on Feature Extraction Techniques of Panoramic Image Stitc...
 
Final Beam Paper
Final Beam PaperFinal Beam Paper
Final Beam Paper
 
Ijartes v1-i2-008
Ijartes v1-i2-008Ijartes v1-i2-008
Ijartes v1-i2-008
 
AUTOMATED IMAGE MOSAICING SYSTEM WITH ANALYSIS OVER VARIOUS IMAGE NOISE
AUTOMATED IMAGE MOSAICING SYSTEM WITH ANALYSIS OVER VARIOUS IMAGE NOISEAUTOMATED IMAGE MOSAICING SYSTEM WITH ANALYSIS OVER VARIOUS IMAGE NOISE
AUTOMATED IMAGE MOSAICING SYSTEM WITH ANALYSIS OVER VARIOUS IMAGE NOISE
 
Survey on Image Integration of Misaligned Images
Survey on Image Integration of Misaligned ImagesSurvey on Image Integration of Misaligned Images
Survey on Image Integration of Misaligned Images
 
47549379 paper-on-image-processing
47549379 paper-on-image-processing47549379 paper-on-image-processing
47549379 paper-on-image-processing
 
IRJET- Cantilever Beam Crack Detection using FEA and FFT Analyser
IRJET- Cantilever Beam Crack Detection using FEA and FFT AnalyserIRJET- Cantilever Beam Crack Detection using FEA and FFT Analyser
IRJET- Cantilever Beam Crack Detection using FEA and FFT Analyser
 
A calibration technique for a two axis magnetic compass in telematics devices
A calibration technique for a two axis magnetic compass in telematics devicesA calibration technique for a two axis magnetic compass in telematics devices
A calibration technique for a two axis magnetic compass in telematics devices
 
The accuracy of mobile phone camera instead of high resolution camera in digi...
The accuracy of mobile phone camera instead of high resolution camera in digi...The accuracy of mobile phone camera instead of high resolution camera in digi...
The accuracy of mobile phone camera instead of high resolution camera in digi...
 
Automatic Detection of Radius of Bone Fracture
Automatic Detection of Radius of Bone FractureAutomatic Detection of Radius of Bone Fracture
Automatic Detection of Radius of Bone Fracture
 
Motion capture technology
Motion capture technologyMotion capture technology
Motion capture technology
 
IRJET-Motion Segmentation
IRJET-Motion SegmentationIRJET-Motion Segmentation
IRJET-Motion Segmentation
 
Spot Edge Detection in cDNA Microarray Images using Window based Bi-Dimension...
Spot Edge Detection in cDNA Microarray Images using Window based Bi-Dimension...Spot Edge Detection in cDNA Microarray Images using Window based Bi-Dimension...
Spot Edge Detection in cDNA Microarray Images using Window based Bi-Dimension...
 
ESPI - Project Report
ESPI - Project Report ESPI - Project Report
ESPI - Project Report
 

Viewers also liked

Smart Room Components
Smart Room ComponentsSmart Room Components
Smart Room Components
Ursula Accumanno
 
Kinectic vision looking deep into depth
Kinectic vision   looking deep into depthKinectic vision   looking deep into depth
Kinectic vision looking deep into depth
ppd1961
 
Jc on frontal fracture
Jc on frontal fractureJc on frontal fracture
Jc on frontal fracture
Dr. SHEETAL KAPSE
 
Hand gesture recognition
Hand gesture recognitionHand gesture recognition
Hand gesture recognition
Muhammed M. Mekki
 
I twin technology
I twin technologyI twin technology
I twin technology
Chandra Mohan AD
 
Hand gesture recognition system(FYP REPORT)
Hand gesture recognition system(FYP REPORT)Hand gesture recognition system(FYP REPORT)
Hand gesture recognition system(FYP REPORT)Afnan Rehman
 
Hand motion based_wheelchair
Hand motion based_wheelchairHand motion based_wheelchair
Hand motion based_wheelchair
Suneel Kumar Savita
 
Hand gesture based wheel chair for disable
Hand gesture based wheel chair for disableHand gesture based wheel chair for disable
Hand gesture based wheel chair for disablevedabobbala
 
Presentation Smart Home With Home Automation
Presentation Smart Home With Home AutomationPresentation Smart Home With Home Automation
Presentation Smart Home With Home Automation
Arifur Rahman
 
Google glass glasses presentation ppt
Google glass glasses presentation pptGoogle glass glasses presentation ppt
Google glass glasses presentation ppt
Parth Godhani
 

Viewers also liked (12)

Smart Room Components
Smart Room ComponentsSmart Room Components
Smart Room Components
 
Cgfp3
Cgfp3Cgfp3
Cgfp3
 
Kinectic vision looking deep into depth
Kinectic vision   looking deep into depthKinectic vision   looking deep into depth
Kinectic vision looking deep into depth
 
Jc on frontal fracture
Jc on frontal fractureJc on frontal fracture
Jc on frontal fracture
 
Hand gesture recognition
Hand gesture recognitionHand gesture recognition
Hand gesture recognition
 
I twin technology
I twin technologyI twin technology
I twin technology
 
Hand gesture recognition system(FYP REPORT)
Hand gesture recognition system(FYP REPORT)Hand gesture recognition system(FYP REPORT)
Hand gesture recognition system(FYP REPORT)
 
Hand motion based_wheelchair
Hand motion based_wheelchairHand motion based_wheelchair
Hand motion based_wheelchair
 
Hand gesture based wheel chair for disable
Hand gesture based wheel chair for disableHand gesture based wheel chair for disable
Hand gesture based wheel chair for disable
 
Smart homes
Smart homesSmart homes
Smart homes
 
Presentation Smart Home With Home Automation
Presentation Smart Home With Home AutomationPresentation Smart Home With Home Automation
Presentation Smart Home With Home Automation
 
Google glass glasses presentation ppt
Google glass glasses presentation pptGoogle glass glasses presentation ppt
Google glass glasses presentation ppt
 

Similar to Smart Room Gesture Control

Human action recognition with kinect using a joint motion descriptor
Human action recognition with kinect using a joint motion descriptorHuman action recognition with kinect using a joint motion descriptor
Human action recognition with kinect using a joint motion descriptor
Soma Boubou
 
CHI'16 Journal "A Mouse With Two Optical Sensors That Eliminates Coordinate D...
CHI'16 Journal "A Mouse With Two Optical Sensors That Eliminates Coordinate D...CHI'16 Journal "A Mouse With Two Optical Sensors That Eliminates Coordinate D...
CHI'16 Journal "A Mouse With Two Optical Sensors That Eliminates Coordinate D...
Byungjoo Lee
 
Wearable Accelerometer Optimal Positions for Human Motion Recognition(LifeTec...
Wearable Accelerometer Optimal Positions for Human Motion Recognition(LifeTec...Wearable Accelerometer Optimal Positions for Human Motion Recognition(LifeTec...
Wearable Accelerometer Optimal Positions for Human Motion Recognition(LifeTec...
sugiuralab
 
Machine Learning Essentials Demystified part2 | Big Data Demystified
Machine Learning Essentials Demystified part2 | Big Data DemystifiedMachine Learning Essentials Demystified part2 | Big Data Demystified
Machine Learning Essentials Demystified part2 | Big Data Demystified
Omid Vahdaty
 
Final Thesis Presentation
Final Thesis PresentationFinal Thesis Presentation
Final Thesis Presentation
Sajid Rasheed
 
iv10_linear_pose.pptx
iv10_linear_pose.pptxiv10_linear_pose.pptx
iv10_linear_pose.pptx
darmadi ir,mm
 
BallCatchingRobot
BallCatchingRobotBallCatchingRobot
BallCatchingRobotgauravbrd
 
EE660_Report_YaxinLiu_8448347171
EE660_Report_YaxinLiu_8448347171EE660_Report_YaxinLiu_8448347171
EE660_Report_YaxinLiu_8448347171Yaxin Liu
 
A Study of Wearable Accelerometers Layout for Human Activity Recognition(Asia...
A Study of Wearable Accelerometers Layout for Human Activity Recognition(Asia...A Study of Wearable Accelerometers Layout for Human Activity Recognition(Asia...
A Study of Wearable Accelerometers Layout for Human Activity Recognition(Asia...
sugiuralab
 
Mk slides.ppt
Mk slides.pptMk slides.ppt
Mk slides.ppt
Tabassum Saher
 
Gesture Recognition?
Gesture Recognition?Gesture Recognition?
Gesture Recognition?Dayo Choul
 
Literature Survey on Interest Points based Watermarking
Literature Survey on Interest Points based WatermarkingLiterature Survey on Interest Points based Watermarking
Literature Survey on Interest Points based Watermarking
Priyatham Bollimpalli
 
DSP_Lab_MAnual_-_Final_Edition.pdf
DSP_Lab_MAnual_-_Final_Edition.pdfDSP_Lab_MAnual_-_Final_Edition.pdf
DSP_Lab_MAnual_-_Final_Edition.pdf
ParthDoshi66
 
"FingerPrint Recognition Using Principle Component Analysis(PCA)”
"FingerPrint Recognition Using Principle Component Analysis(PCA)”"FingerPrint Recognition Using Principle Component Analysis(PCA)”
"FingerPrint Recognition Using Principle Component Analysis(PCA)”
Er. Arpit Sharma
 
DSP_Lab_MAnual_-_Final_Edition[1].docx
DSP_Lab_MAnual_-_Final_Edition[1].docxDSP_Lab_MAnual_-_Final_Edition[1].docx
DSP_Lab_MAnual_-_Final_Edition[1].docx
ParthDoshi66
 
Palmprint verification using lagrangian decomposition and invariant interest
Palmprint verification using lagrangian decomposition and invariant interestPalmprint verification using lagrangian decomposition and invariant interest
Palmprint verification using lagrangian decomposition and invariant interest
Dakshina Kisku
 
Palmprint verification using lagrangian decomposition and invariant interest
Palmprint verification using lagrangian decomposition and invariant interestPalmprint verification using lagrangian decomposition and invariant interest
Palmprint verification using lagrangian decomposition and invariant interest
Dakshina Kisku
 
Gesture Recognition Based Video Game Controller
Gesture Recognition Based Video Game ControllerGesture Recognition Based Video Game Controller
Gesture Recognition Based Video Game Controller
IRJET Journal
 
Object tracking by dtcwt feature vectors 2-3-4
Object tracking by dtcwt feature vectors 2-3-4Object tracking by dtcwt feature vectors 2-3-4
Object tracking by dtcwt feature vectors 2-3-4IAEME Publication
 

Similar to Smart Room Gesture Control (20)

Human action recognition with kinect using a joint motion descriptor
Human action recognition with kinect using a joint motion descriptorHuman action recognition with kinect using a joint motion descriptor
Human action recognition with kinect using a joint motion descriptor
 
Communityday2013
Communityday2013Communityday2013
Communityday2013
 
CHI'16 Journal "A Mouse With Two Optical Sensors That Eliminates Coordinate D...
CHI'16 Journal "A Mouse With Two Optical Sensors That Eliminates Coordinate D...CHI'16 Journal "A Mouse With Two Optical Sensors That Eliminates Coordinate D...
CHI'16 Journal "A Mouse With Two Optical Sensors That Eliminates Coordinate D...
 
Wearable Accelerometer Optimal Positions for Human Motion Recognition(LifeTec...
Wearable Accelerometer Optimal Positions for Human Motion Recognition(LifeTec...Wearable Accelerometer Optimal Positions for Human Motion Recognition(LifeTec...
Wearable Accelerometer Optimal Positions for Human Motion Recognition(LifeTec...
 
Machine Learning Essentials Demystified part2 | Big Data Demystified
Machine Learning Essentials Demystified part2 | Big Data DemystifiedMachine Learning Essentials Demystified part2 | Big Data Demystified
Machine Learning Essentials Demystified part2 | Big Data Demystified
 
Final Thesis Presentation
Final Thesis PresentationFinal Thesis Presentation
Final Thesis Presentation
 
iv10_linear_pose.pptx
iv10_linear_pose.pptxiv10_linear_pose.pptx
iv10_linear_pose.pptx
 
BallCatchingRobot
BallCatchingRobotBallCatchingRobot
BallCatchingRobot
 
EE660_Report_YaxinLiu_8448347171
EE660_Report_YaxinLiu_8448347171EE660_Report_YaxinLiu_8448347171
EE660_Report_YaxinLiu_8448347171
 
A Study of Wearable Accelerometers Layout for Human Activity Recognition(Asia...
A Study of Wearable Accelerometers Layout for Human Activity Recognition(Asia...A Study of Wearable Accelerometers Layout for Human Activity Recognition(Asia...
A Study of Wearable Accelerometers Layout for Human Activity Recognition(Asia...
 
Mk slides.ppt
Mk slides.pptMk slides.ppt
Mk slides.ppt
 
Gesture Recognition?
Gesture Recognition?Gesture Recognition?
Gesture Recognition?
 
Literature Survey on Interest Points based Watermarking
Literature Survey on Interest Points based WatermarkingLiterature Survey on Interest Points based Watermarking
Literature Survey on Interest Points based Watermarking
 
DSP_Lab_MAnual_-_Final_Edition.pdf
DSP_Lab_MAnual_-_Final_Edition.pdfDSP_Lab_MAnual_-_Final_Edition.pdf
DSP_Lab_MAnual_-_Final_Edition.pdf
 
"FingerPrint Recognition Using Principle Component Analysis(PCA)”
"FingerPrint Recognition Using Principle Component Analysis(PCA)”"FingerPrint Recognition Using Principle Component Analysis(PCA)”
"FingerPrint Recognition Using Principle Component Analysis(PCA)”
 
DSP_Lab_MAnual_-_Final_Edition[1].docx
DSP_Lab_MAnual_-_Final_Edition[1].docxDSP_Lab_MAnual_-_Final_Edition[1].docx
DSP_Lab_MAnual_-_Final_Edition[1].docx
 
Palmprint verification using lagrangian decomposition and invariant interest
Palmprint verification using lagrangian decomposition and invariant interestPalmprint verification using lagrangian decomposition and invariant interest
Palmprint verification using lagrangian decomposition and invariant interest
 
Palmprint verification using lagrangian decomposition and invariant interest
Palmprint verification using lagrangian decomposition and invariant interestPalmprint verification using lagrangian decomposition and invariant interest
Palmprint verification using lagrangian decomposition and invariant interest
 
Gesture Recognition Based Video Game Controller
Gesture Recognition Based Video Game ControllerGesture Recognition Based Video Game Controller
Gesture Recognition Based Video Game Controller
 
Object tracking by dtcwt feature vectors 2-3-4
Object tracking by dtcwt feature vectors 2-3-4Object tracking by dtcwt feature vectors 2-3-4
Object tracking by dtcwt feature vectors 2-3-4
 

Recently uploaded

Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
Globus
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptxText-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
ShamsuddeenMuhammadA
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
AI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website CreatorAI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website Creator
Google
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
Enterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptxEnterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptx
QuickwayInfoSystems3
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
Alina Yurenko
 
Game Development with Unity3D (Game Development lecture 3)
Game Development  with Unity3D (Game Development lecture 3)Game Development  with Unity3D (Game Development lecture 3)
Game Development with Unity3D (Game Development lecture 3)
abdulrafaychaudhry
 

Recently uploaded (20)

Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptxText-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
AI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website CreatorAI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website Creator
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
Enterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptxEnterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptx
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
 
Game Development with Unity3D (Game Development lecture 3)
Game Development  with Unity3D (Game Development lecture 3)Game Development  with Unity3D (Game Development lecture 3)
Game Development with Unity3D (Game Development lecture 3)
 

Smart Room Gesture Control

  • 1. smart room gesture control using kinect skeletal data Diploma Thesis Presentation Giwrgos Paraskevopoulos 10 July 2016 School of Electrical and Computer Engineering National Technical University of Athens Institute of Informatics and Telecommunications NCSR Demokritos
  • 2. goals of this work • Build a simple and intuitive Natural User Interface for a smart conference room. • Use the Kinect skeletal information to devise some novel and accurate techniques for pose and gesture recognition focused on real-time systems. • Create efficient implementations of the devised algorithms as microservices. • Demonstrate how Machine to Machine communication can be used to compose these microservices into non trivial applications for the Internet of Things ecosystem. • Integrate our work into the Synaisthisi platform. 2
  • 4. contents 1. Pose Detection 2. Gesture Recognition 3. Use Case: Smart Room Control 4. Conclusions and Future Work 5. Backup Slides 4
  • 6. problem definition • A pose is the temporary suspension of the animation of the body joints in a discrete configuration. • Pose detection is the problem of automatically classifying a pose. • Poses can be used as control signals 6
  • 7. assumptions • Sufficient room lighting conditions for the operation of the Kinect sensor • User is positioned inside the operating area of the Kinect sensor and is facing the sensor • Predefined set of target poses 7
  • 8. design prerequisites Detection is • real-time • invariant to the user position and distance from the camera • invariant to the user physical characteristics (height, weight etc.) • able to support multiple users (a limit of 2 is imposed by the Kinect sensor) 8
  • 9. the proposed algorithm • Template matching to a set of geometric features • Poses are predefined templates • We compare the current feature vector to the template, and if it is within a predefined error margin the pose is recognized Simple, fast and performs well in real world scenarios. 9
  • 11. data streams Color Stream Depth Stream Skeleton Stream 11
  • 12. skeleton joints • A total of 20 inferred joints • Organized in a hierarchical structure (we make use of this later) Shoulder Left Hip Center Elbow Left Wrist Left Hip Left Hand Left Knee RightKnee Left Shoulder Right Elbow Right Wrist Right Hand Right Hip Right Shoulder Center Head Skeletal Joints HipCenter Hip Right Knee Right Ankle Right Foo tRight Hip Left Knee Left Ankle Left Foot Left Spine Shoulder Center Shoulder Right Elbow Right Wrist Right Hand Right HeadShoulder Left Elbow Left Wrist Left Hand Left Joints in a tree structure 12
  • 14. geometric features • Make use of the joints hierarchical structure to compute the angles between each parent and child joint. • This single feature provides by default the position and depth invariance and is enough to classify a large set of poses. 14
  • 15. feature calculation B c C a A b The triangle that is formed between the father joint A, the child joint B and the point (A.x, 0) Using the law of cosines, we calculate the ∠ACB as C = cos−1 a2 + b2 − c2 2ab (1) 15
  • 16. example pose template <?xml version=”1.0” encoding=”utf−8” ?> <Pose id=”HANDSAPART” xmlns:xsi=”http://www.w3.org/2001/XMLSchema−instance” xsi:schemaLocation=”urn:PoseRules PoseRules.xsd”> <DisplayName>Jack I’m Flying</DisplayName> <AngleConstraints units=”degrees”> <ElbowLeft> <Desired>180</Desired> <Deviation>15</Deviation> </ElbowLeft> <HandLeft> <Desired>180</Desired> <Deviation>15</Deviation> </HandLeft> <ElbowRight> <Desired>0</Desired> <Deviation>15</Deviation> </ElbowRight> <HandRight> <Desired>0</Desired> <Deviation>15</Deviation> </HandRight> </AngleConstraints> </Pose> 16
  • 18. what is a gesture? • A continuous stream of poses • The transfer of a subset of joints from point A to B, using a vaguely predefined trajectory 18
  • 19. what is a gesture? • A continuous stream of poses • The transfer of a subset of joints from point A to B, using a vaguely predefined trajectory 19
  • 20. gesture example Swipe In (Right Hand) Swipe Up (Right Hand) 20
  • 21. the proposed approach • Extract a set of low level geometric features • Evaluate the performance (classification accuracy and time) of a set of well known machine learning techniques on this set of features 21
  • 23. feature extraction • We are interested in gestures; use only elbows, wrists and hands (LeftElbow, RightElbow, LeftWrist, RightWrist, LeftHand, RightHand) • For each we calculate a set of features, for the set of N frames that correspond to the gesture and based on their 3D coordinates 23
  • 24. feature properties Our features satisfy the following • They require constant time O(1) in each frame to compute • Small gesture changes are reflected to small feature changes (angle and displacement are able to discriminate between small movements) • They are aggregate features that summarize the gesture over all the frames • They are small in size (a feature vector in minified JSON format is about 3KB) 24
  • 25. the features Features are extracted • from each skeletal joint • from a set of the frames depicting the gesture • using the 3D coordinates of the joints Feature name Frames involved Equation Spatial angle F2, F1 v (J) 2 − v (J) 1 v (J) 2 − v (J) 1 Spatial angle Fn, Fn−1 v (J) n − v (J) n−1 v (J) n − v (J) n−1 Spatial angle Fn, F1 v (J) n − v (J) 1 v (J) n − v (J) 1 Total vector angle F1, . . . , Fn n∑ i=1 arccos   v (J) i · v (J) i−1 v (J) i v (J) i−1   Squared total vector angle F1, . . . , Fn n∑ i=1 arccos   v (J) i · v (J) i−1 v (J) i v (J) i−1   2 Total vector displacement Fn, F1 v (J) n − v (J) 1 Total displacement F1, . . . , Fn n∑ i=1 v (J) i − v (J) i−1 Maximum displacement F1, . . . , Fn max n ( v (J) i − v (J) i−1 ) Bounding box diagonal length∗ F1, . . . , Fn √ a2 B(V(J )) + b2 B(V(J )) Bounding box angle∗ F1, . . . , Fn arctan bB(V(J )) aB(V(J )) 25
  • 26. the features (cont’d) We also extract the initial and final (i.e., at F1 and FN, respectively), mean and maximum angle (i.e., for F1, . . . FN) between any pair of joints (pc = parent-child ) θpc = cos−1 ( a2 pc + b2 pc − c2 pc 2apcbpc ) (2) where apc = ( v(J) − v (Jc) x )2 + ( v (J) y − v (Jc) y )2 , (3) bpc = v (J) x και (4) cpc = (v (Jp) x )2 + (v (J) y − v (Jp) y )2 . (5) 26
  • 27. the features (cont’d) Finally between HandLeft and HandRight and within the gesture we extract • The max... dmax = max i,j { d ( vHR i , vHL j )} , (6) • ... and the mean distance dmean = 1 F(J) ∑ i,j d ( vHR i , vHL j ) , (7) 27
  • 29. machine learning approaches For gesture recognition based on the aforementioned features, we investigated the following techniques: • SVM Linear/RBF kernel (LSVM/RBFSVM) • Linear Discriminant Analysis (LDA) • Quadratic Discriminant Analysis (QDA) • Naive Bayes (NB) • K-nearest neighbors (KNN) • Decision Trees (DT) • Random Forests (RF) • Extra Trees (ET) • Adaboost with Decision Trees / Extra Trees (ABDT/ABET) 29
  • 30. experiments preparation - dataset construction • We constructed a real-life data set of 10 users (7M/3F), ages: 22–36 • We selected a set of “swipes” (in/out/up/down) for both hands (8 gestures) • Each user performed a gesture at least 10 times • We manually “cleaned” the dataset from obviously “wrongly” performed gestures • Each user was equipped with a push button, used to signify the beginning/ending of a gesture 30
  • 31. experiments preparation - optimal parameters Find the optimal parameter set for each algorithm using Exhaustive Grid Search α learning rate n number of neighbors e number of estimators s search algorithm d maximum depth m metric between point p and q f maximum number of features r regularization parameter Classifier Parameters ABDT e = 103, α = 621.6 ABET e = 82, α = 241.6 DT d = 48, f = 49 ET d = 17, f = 70, e = 70 KNN n = 22, s = kd_tree, m = ∑n i=1(|pi − qi|) LSVM C = 0.0091 QDA r = 0.88889 RBFSVM C = 44.445, γ = 0.0001 RF d = 27, f = 20, e = 75 31
  • 32. experiment 1 - performance for a known set of users TARGET • Find the optimal machine learning approach to split our feature space METHOD • Train using gestures from all users • Evaluate using different gestures from all users • Use standard Stratified K-fold Cross Validation 32
  • 33. experiment 1 - results 33
  • 34. experiment 2 - performance against unknown users TARGET What is • the performance for new / unknown users? • the minimum number of users that can be used for training and get an adequate classifier? • the effect of “bad users”? METHOD • Split the data per user • Use a varying number of users for training and the rest for testing 34
  • 35. experiment 2 - results per user (f1 score) User 1 User 2 User 3 User 4 User 5 User 6 User 7 User 8 User 9 User 10 Mean w/o User 1 LH-SwipeDown 0.76 0.83 1.00 0.82 1.00 0.80 1.00 1.00 1.00 0.96 0.934 LH-SwipeIn 0.38 0.92 0.84 1.00 1.00 0.92 1.00 1.00 1.00 1.00 0.964 LH-SwipeOut 0.61 0.93 0.86 1.00 1.00 0.89 1.00 1.00 0.97 1.00 0.961 LH-SwipeUp 0.69 0.90 1.00 0.84 1.00 0.83 1.00 1.00 0.97 0.96 0.944 RH-SwipeDown 0.78 1.00 0.95 - 1.00 1.00 0.92 1.00 0.87 1.00 0.968 RH-SwipeIn 0.64 1.00 0.67 - 1.00 1.00 1.00 1.00 0.89 0.96 0.940 RH-SwipeOut 0.61 1.00 0.80 - 1.00 1.00 0.95 1.00 1.00 0.95 0.963 RH-SwipeUp 0.40 1.00 0.95 - 1.00 1.00 1.00 1.00 0.96 1.00 0.989 Average 0.62 0.94 0.88 0.92 1.00 0.92 0.99 1.00 0.96 0.97 35
  • 36. experiment 2 - results 36
  • 37. experiment 3 - benchmarks TARGET • Test the prediction time in different architectures METHOD Construct a custom benchmark where: • Split the data randomly in train/test sets (80/20 split) • Classify every sample in the test data 1000 times • Calculate the average prediction time for each classifier • Evaluate in different architectures 37
  • 38. experiment 3 - results 38
  • 39. use case: smart room control
  • 40. use case The described algorithms are combined into an IOT application implementing a NUI system that is integrated into the SYNAISTHISI platform. This system is used to control the devices inside in the Aigaio meeting room which is located in IIT Demokritos. 40
  • 41. The Internet of Things
  • 42. iot definition The Internet of Things is <insert preferred definition>. 42
  • 43. iot definition The Internet of Things is a generalization of the World Wide Web to incorporate “things” that exist in the physical world. 43
  • 44. iot definition The Internet of Things is the convergence of all virtual and physical entities that are able to produce, consume and act upon data under a common communications infrastructure. 44
  • 45. synaisthisi platform The Synaisthisi platform is a project developed in NCSR Demokritos that aims to facilitate the development of Internet of Things applications. It provides • A Service Oriented Architecture where applications can be developed as the composition of small functional building blocks (services) • A categorization of services in Sensing, Processing and Actuating (SPA services) • A Message Oriented Middleware that provides a pub/sub message passing infrastructure based on MQTT for inter-service communication • Mechanisms for logging, security, persistent storage, data replication and administration of the applications and the system 45
  • 47. Machine to Machine Communication
  • 48. publish/subscribe protocols Pros: • Asynchronous communication • Decoupling of the communicating entities • Many to many communication • Scalable Cons: • Semantic coupling (message type needs to be statically defined) • Loose message delivery guarantees 48
  • 49. mqtt All of the above plus • Lightweight • Small code footprint • Small header overhead • QoS Levels 49
  • 52. aigaio devices /pw2 Projector /pw3 Lights Front /pw4 A/C /pw5 Fan Coils /pw6 Fan Coils /pw8 Lights Rear /ir_control/action IR Module /demokritos/iit/aigaio /ir_control/action /plugwise/action /pw2 /pw3 /pw4 /pw5 /pw6 /pw8 52
  • 57. conclusions In this project we have • Implemented a simple and efficient pose detection algorithm • Constructed a real-time machine learning approach to gesture recognition • Integrated these techniques to a real life IOT application for a Natural User Interface 57
  • 58. publications • G. Paraskevopoulos, E. Spyrou and D. Sgouropoulos, A Real-Time Approach for Gesture Recognition using the Kinect Sensor. In Proc. of Hellenic Conference on Artificial Intelligence (SETN), 2016 • 2 more upcoming 58
  • 59. future work • Apply the aforementioned techniques to new / more challenging problem domains • Construct a larger data set with more users performing a bigger variety of gestures • Reduce the size/cost of the needed computing devices • Implement a dynamic time segmentation method for gesture detection 59
  • 63. what about gesture detection? 63
  • 64. why not a stream of poses? 2 main approaches • FSM of intermediate poses: Every new gesture needs to be hard coded • HMM with intermediate poses as observations: Generalizes but couples recognition accuracy with frame rate / network stability 64
  • 65. kinect on raspberry pi APPROACH Use Windows 10 IOT Edition PROBLEMS • Does not support Kinect drivers and Kinect SDK • Not enough voltage provided through USB hub to sustain the Kinect sensor 65
  • 66. kinect on raspberry pi APPROACH • Use USB over IP to stream the low level Kinect data from a Raspberry Pi to a Windows Server so that it appears the Kinect sensor is connected to the server • Cross-Compile the Linux kernel with USB-IP modules support PROBLEMS • USB-IP modules do not support USB hubs • Bandwidth limitations 66
  • 67. why c#? why python? why js? C# • Kinect SDK Python • scikit-learn JS • async . p a r a l l e l ( // L i s t of pose detectors to run concurrently Object . keys ( poseDetectors ) . reduce ( ( prev , pose ) => { prev [ pose ] = poseDetectors [ pose ] ( features ) return prev } , { } ) , ( err , result ) => { /* handle l i s t of results . . . */ } ) 67