automatic hand detection in rgb-depth data …sergio/linked/vitaly_ccia_2013.pdfintroduction...

30
Introduction Automatic Hand Detection method Results Conclusions Automatic Hand Detection in RGB-Depth Data Sequences Vitaly KONOVALOV, Albert CLAP ´ ES, Sergio ESCALERA CCIA 2013 1/30

Upload: others

Post on 10-Jul-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Automatic Hand Detection in RGB-Depth Data …sergio/linked/vitaly_ccia_2013.pdfIntroduction Automatic Hand Detection method ResultsConclusions Motivation Contextualization Problem

Introduction Automatic Hand Detection method Results Conclusions

Automatic Hand Detectionin RGB-Depth Data Sequences

Vitaly KONOVALOV, Albert CLAPES, Sergio ESCALERA

CCIA 2013

1/30

Page 2: Automatic Hand Detection in RGB-Depth Data …sergio/linked/vitaly_ccia_2013.pdfIntroduction Automatic Hand Detection method ResultsConclusions Motivation Contextualization Problem

Introduction Automatic Hand Detection method Results Conclusions

Outline

1 Introduction

2 Automatic Hand Detection methodBody segmentationReference point estimationBody graph designGeodesic distances map estimationIncluding restrictions based on optical flowAutomatic hand detection

3 ResultsData, settings, and validationExperiments

4 Conclusions

2/30

Page 3: Automatic Hand Detection in RGB-Depth Data …sergio/linked/vitaly_ccia_2013.pdfIntroduction Automatic Hand Detection method ResultsConclusions Motivation Contextualization Problem

Introduction Automatic Hand Detection method Results Conclusions

Motivation

Contextualization

Problem Automatically detecting hands in RGB-D data (involvingchanges in illumination, viewpoint variations, and hand and wrist’sarticulated and deformable nature).

Scenario People seated at the desk(only upper body is visible).

Assumptions (a) Upper body frontal view, (b) non-cluttered desk,and (c) hand landmarks remain at constant geodesic distance froman anatomical reference point.

Applications

Natural human-computer interaction, gaming, and monitorization.

3/30

Page 4: Automatic Hand Detection in RGB-Depth Data …sergio/linked/vitaly_ccia_2013.pdfIntroduction Automatic Hand Detection method ResultsConclusions Motivation Contextualization Problem

Introduction Automatic Hand Detection method Results Conclusions

State-of-the-art

Two paradigms for body part detection in visual data:Learning based approaches.Body parameter estimation from observed features.

Typically, computer vision methods were relying on RGBinformation.Hardware devices for depth (or rgb-depth) data acquisition:

Structured Light (Microsoft R©KinectTM

).Time-of-Flight.

Figure : A KinectTM

device and a recorded RGBD frame.

4/30

Page 5: Automatic Hand Detection in RGB-Depth Data …sergio/linked/vitaly_ccia_2013.pdfIntroduction Automatic Hand Detection method ResultsConclusions Motivation Contextualization Problem

Introduction Automatic Hand Detection method Results Conclusions

Outline

1 Introduction

2 Automatic Hand Detection methodBody segmentationReference point estimationBody graph designGeodesic distances map estimationIncluding restrictions based on optical flowAutomatic hand detection

3 Results

4 Conclusions

5/30

Page 6: Automatic Hand Detection in RGB-Depth Data …sergio/linked/vitaly_ccia_2013.pdfIntroduction Automatic Hand Detection method ResultsConclusions Motivation Contextualization Problem

Introduction Automatic Hand Detection method Results Conclusions

Automatic Hand Detection method

6/30

Page 7: Automatic Hand Detection in RGB-Depth Data …sergio/linked/vitaly_ccia_2013.pdfIntroduction Automatic Hand Detection method ResultsConclusions Motivation Contextualization Problem

Introduction Automatic Hand Detection method Results Conclusions

Body segmentation

Outline

1 Introduction

2 Automatic Hand Detection methodBody segmentationReference point estimationBody graph designGeodesic distances map estimationIncluding restrictions based on optical flowAutomatic hand detection

3 ResultsData, settings, and validationExperiments

4 Conclusions

7/30

Page 8: Automatic Hand Detection in RGB-Depth Data …sergio/linked/vitaly_ccia_2013.pdfIntroduction Automatic Hand Detection method ResultsConclusions Motivation Contextualization Problem

Introduction Automatic Hand Detection method Results Conclusions

Body segmentation

Body segmentation

Given a new depth frame Dt , in which a subject seated in a non-cluttereddesk appears,

1 Foreground segmentationOtsu’s thresholding on depthvalues, assuming a bimodaldistribution (foreground vsbackground).

2 Point cloud representationProject the foreground in acloud of 3D points Pt .

3 Table extractionThe table plane is modeledusing RANSAC, featuring thepoints in Pt by their surfacenormal vectors.

8/30

Page 9: Automatic Hand Detection in RGB-Depth Data …sergio/linked/vitaly_ccia_2013.pdfIntroduction Automatic Hand Detection method ResultsConclusions Motivation Contextualization Problem

Introduction Automatic Hand Detection method Results Conclusions

Reference point estimation

Outline

1 Introduction

2 Automatic Hand Detection methodBody segmentationReference point estimationBody graph designGeodesic distances map estimationIncluding restrictions based on optical flowAutomatic hand detection

3 ResultsData, settings, and validationExperiments

4 Conclusions

9/30

Page 10: Automatic Hand Detection in RGB-Depth Data …sergio/linked/vitaly_ccia_2013.pdfIntroduction Automatic Hand Detection method ResultsConclusions Motivation Contextualization Problem

Introduction Automatic Hand Detection method Results Conclusions

Reference point estimation

Reference anatomical landmark (torso point)

Given the point cloud Bt , representing the segmented human bodysegmented from Pt ,

1 Re-project Bt into a 2Ddense depth image andcompute a distance mapwithin the body region.

2 Compute the reference pointxtref . Let C be the set ofcontour points in thesilhouette, then

xtref = argmaxxminxC∈Cd(x, xC )

10/30

Page 11: Automatic Hand Detection in RGB-Depth Data …sergio/linked/vitaly_ccia_2013.pdfIntroduction Automatic Hand Detection method ResultsConclusions Motivation Contextualization Problem

Introduction Automatic Hand Detection method Results Conclusions

Body graph design

Outline

1 Introduction

2 Automatic Hand Detection methodBody segmentationReference point estimationBody graph designGeodesic distances map estimationIncluding restrictions based on optical flowAutomatic hand detection

3 ResultsData, settings, and validationExperiments

4 Conclusions

11/30

Page 12: Automatic Hand Detection in RGB-Depth Data …sergio/linked/vitaly_ccia_2013.pdfIntroduction Automatic Hand Detection method ResultsConclusions Motivation Contextualization Problem

Introduction Automatic Hand Detection method Results Conclusions

Body graph design

Body graph design

1 Project the 2D point reference point xtref to a 3D point ptref

(from which the graph construction will start).

2 Partitionate Bt in a voxel grid.3 The body graph G t = (V t ,E t ,W t) is constructed as follows:

V t = {qijk : q is the centroid of the pointsp of Bt in the (i , j , k) voxel}

E t = {(qijk ,qi ′j′k′) ∈ V t × V t : ‖ (i , j , k)T − (i ′, j ′, k ′)T ‖∞< 1}

W t = {w(e) = ||q− q′||2 : e = (q,q′) ∈ E t}

that is, two points q and q′ are connected by an edge if theyare in the same 3D neigbhorhood of 3× 3× 3 voxels.

12/30

Page 13: Automatic Hand Detection in RGB-Depth Data …sergio/linked/vitaly_ccia_2013.pdfIntroduction Automatic Hand Detection method ResultsConclusions Motivation Contextualization Problem

Introduction Automatic Hand Detection method Results Conclusions

Geodesic distances map estimation

Outline

1 Introduction

2 Automatic Hand Detection methodBody segmentationReference point estimationBody graph designGeodesic distances map estimationIncluding restrictions based on optical flowAutomatic hand detection

3 ResultsData, settings, and validationExperiments

4 Conclusions

13/30

Page 14: Automatic Hand Detection in RGB-Depth Data …sergio/linked/vitaly_ccia_2013.pdfIntroduction Automatic Hand Detection method ResultsConclusions Motivation Contextualization Problem

Introduction Automatic Hand Detection method Results Conclusions

Geodesic distances map estimation

Geodesic distances map estimation

Using G t , it is possible to measure geodesic distances betweentwo different body locations.

The geodesic distance between two body locations is thelength of the shortest path over the body surface.

The geodesic distance dG (q,q′) is estimated:

dG (q,q′) =∑

e∈ESP(q,q′)

w(e)

where ESP(q,q′) contains all the edges along the shortestpath between q and q′, computed using the min-pathDijkstra’s algorithm.

14/30

Page 15: Automatic Hand Detection in RGB-Depth Data …sergio/linked/vitaly_ccia_2013.pdfIntroduction Automatic Hand Detection method ResultsConclusions Motivation Contextualization Problem

Introduction Automatic Hand Detection method Results Conclusions

Including restrictions based on optical flow

Outline

1 Introduction

2 Automatic Hand Detection methodBody segmentationReference point estimationBody graph designGeodesic distances map estimationIncluding restrictions based on optical flowAutomatic hand detection

3 ResultsData, settings, and validationExperiments

4 Conclusions

15/30

Page 16: Automatic Hand Detection in RGB-Depth Data …sergio/linked/vitaly_ccia_2013.pdfIntroduction Automatic Hand Detection method ResultsConclusions Motivation Contextualization Problem

Introduction Automatic Hand Detection method Results Conclusions

Including restrictions based on optical flow

Geodesic paths desambiguation (I)

Problem

The arms are stick together or to another body part ⇒ undesiredgraph connections ⇒ bad geodesic paths estimations

16/30

Page 17: Automatic Hand Detection in RGB-Depth Data …sergio/linked/vitaly_ccia_2013.pdfIntroduction Automatic Hand Detection method ResultsConclusions Motivation Contextualization Problem

Introduction Automatic Hand Detection method Results Conclusions

Including restrictions based on optical flow

Geodesic paths desambiguation (II)

Solution

Use the optical flow magnitude to remove undesired graph edges.

At each time step, a dense optical flow map F t is computedusing I t and I t−1.

Update E t :

E t := E t − {(xij , xkl) ∈ E t : ‖ |F t(i , j)| − |F t(k , l)| ‖2> β}

17/30

Page 18: Automatic Hand Detection in RGB-Depth Data …sergio/linked/vitaly_ccia_2013.pdfIntroduction Automatic Hand Detection method ResultsConclusions Motivation Contextualization Problem

Introduction Automatic Hand Detection method Results Conclusions

Including restrictions based on optical flow

Geodesic paths desambiguation (III)

18/30

Page 19: Automatic Hand Detection in RGB-Depth Data …sergio/linked/vitaly_ccia_2013.pdfIntroduction Automatic Hand Detection method ResultsConclusions Motivation Contextualization Problem

Introduction Automatic Hand Detection method Results Conclusions

Automatic hand detection

Outline

1 Introduction

2 Automatic Hand Detection methodBody segmentationReference point estimationBody graph designGeodesic distances map estimationIncluding restrictions based on optical flowAutomatic hand detection

3 ResultsData, settings, and validationExperiments

4 Conclusions

19/30

Page 20: Automatic Hand Detection in RGB-Depth Data …sergio/linked/vitaly_ccia_2013.pdfIntroduction Automatic Hand Detection method ResultsConclusions Motivation Contextualization Problem

Introduction Automatic Hand Detection method Results Conclusions

Automatic hand detection

Automatic hand detection

Once the geodesic map has been computed from G t (considering opticalflow restrictions), a histogram of geodesic values HG t is computed.

The hands’ regions are segmented as those two biggest connectedcomponents in which their points have a value greater than φ. Beingφ = g(HG t , θ), and θ an experimental parameter expressing the’percentage’ of highest geodesic distance values.

The hands are located at the 3D centroid of the segmented regions.

20/30

Page 21: Automatic Hand Detection in RGB-Depth Data …sergio/linked/vitaly_ccia_2013.pdfIntroduction Automatic Hand Detection method ResultsConclusions Motivation Contextualization Problem

Introduction Automatic Hand Detection method Results Conclusions

Outline

1 Introduction

2 Automatic Hand Detection method

3 ResultsData, settings, and validationExperiments

4 Conclusions

21/30

Page 22: Automatic Hand Detection in RGB-Depth Data …sergio/linked/vitaly_ccia_2013.pdfIntroduction Automatic Hand Detection method ResultsConclusions Motivation Contextualization Problem

Introduction Automatic Hand Detection method Results Conclusions

Data, settings, and validation

Outline

1 Introduction

2 Automatic Hand Detection methodBody segmentationReference point estimationBody graph designGeodesic distances map estimationIncluding restrictions based on optical flowAutomatic hand detection

3 ResultsData, settings, and validationExperiments

4 Conclusions

22/30

Page 23: Automatic Hand Detection in RGB-Depth Data …sergio/linked/vitaly_ccia_2013.pdfIntroduction Automatic Hand Detection method ResultsConclusions Motivation Contextualization Problem

Introduction Automatic Hand Detection method Results Conclusions

Data, settings, and validation

Data, settings, and validation

DataRGB-D dataset recorded with a Kinect

TM

.6 different users simulating upper-body HCI scenarios.3000 RGB-D frames at 640 × 480 resolution.Groundtruth: 2171 manually annotated hands (interactive 3Dviewer).

Settings s = 20mm, β = 0.2, γ = 25mm, and θ = 1%

Validation Detection accuracy based on groundtruth handsand different tolerance values for β, γ, and θ. Posteriorfine-tuning of γ and θ.

23/30

Page 24: Automatic Hand Detection in RGB-Depth Data …sergio/linked/vitaly_ccia_2013.pdfIntroduction Automatic Hand Detection method ResultsConclusions Motivation Contextualization Problem

Introduction Automatic Hand Detection method Results Conclusions

Experiments

Outline

1 Introduction

2 Automatic Hand Detection methodBody segmentationReference point estimationBody graph designGeodesic distances map estimationIncluding restrictions based on optical flowAutomatic hand detection

3 ResultsData, settings, and validationExperiments

4 Conclusions

24/30

Page 25: Automatic Hand Detection in RGB-Depth Data …sergio/linked/vitaly_ccia_2013.pdfIntroduction Automatic Hand Detection method ResultsConclusions Motivation Contextualization Problem

Introduction Automatic Hand Detection method Results Conclusions

Experiments

Quantitative results: detection accuracy

Geodesic path Geodesic path (w/ optical flow)

Accuracy 74.12% 84.15%

25/30

Page 26: Automatic Hand Detection in RGB-Depth Data …sergio/linked/vitaly_ccia_2013.pdfIntroduction Automatic Hand Detection method ResultsConclusions Motivation Contextualization Problem

Introduction Automatic Hand Detection method Results Conclusions

Experiments

Qualitative results (I): geodesic distance map estimations

Figure : Color images, depth maps, estimated geodesic maps, and labeled hands.

26/30

Page 27: Automatic Hand Detection in RGB-Depth Data …sergio/linked/vitaly_ccia_2013.pdfIntroduction Automatic Hand Detection method ResultsConclusions Motivation Contextualization Problem

Introduction Automatic Hand Detection method Results Conclusions

Experiments

Qualitative results (II): a sequence of detections

Figure : Detection in a sequence of frames.

27/30

Page 28: Automatic Hand Detection in RGB-Depth Data …sergio/linked/vitaly_ccia_2013.pdfIntroduction Automatic Hand Detection method ResultsConclusions Motivation Contextualization Problem

Introduction Automatic Hand Detection method Results Conclusions

Outline

1 Introduction

2 Automatic Hand Detection method

3 Results

4 Conclusions

28/30

Page 29: Automatic Hand Detection in RGB-Depth Data …sergio/linked/vitaly_ccia_2013.pdfIntroduction Automatic Hand Detection method ResultsConclusions Motivation Contextualization Problem

Introduction Automatic Hand Detection method Results Conclusions

Conclusions

Simple and fully-automatic.

Robust to partial occlusions (detection in still images, notrelying in tracking strategies).

Not requiring large training datasets and training phase.

More cumbersome body segmentation strategies to deal withclutter in desks.

Thinking in possible improvements for efficency.

FYI

29/30

Page 30: Automatic Hand Detection in RGB-Depth Data …sergio/linked/vitaly_ccia_2013.pdfIntroduction Automatic Hand Detection method ResultsConclusions Motivation Contextualization Problem

Introduction Automatic Hand Detection method Results Conclusions

Thank you for you attention!

30/30