Kinematic Model of the Hand using Computer Vision Edgar Sim o - - PowerPoint PPT Presentation

kinematic model of the hand using computer vision
SMART_READER_LITE
LIVE PREVIEW

Kinematic Model of the Hand using Computer Vision Edgar Sim o - - PowerPoint PPT Presentation

Kinematic Model of the Hand using Computer Vision Edgar Sim o Serra Barcelona, Spain Barcelona - April, 2011 Summary Obtain hand movements through computer vision Reconstruct hand kinematics from data Index 1 Overview 2 Kinematic Hand


slide-1
SLIDE 1

Kinematic Model of the Hand using Computer Vision

Edgar Sim´

  • Serra

Barcelona, Spain Barcelona - April, 2011

slide-2
SLIDE 2

Summary

Obtain hand movements through computer vision Reconstruct hand kinematics from data

slide-3
SLIDE 3

Index

1 Overview 2 Kinematic Hand Model 3 Hand Detection 4 Kinematic Synthesis 5 Non-linear solver 6 Results

slide-4
SLIDE 4

Overview

slide-5
SLIDE 5

Motivation

EMG Signals ⇐ ⇒ Hand Movement Mapping of Electromyographic (EMG) signals Understanding hand movements Prosthesis design Exoskeleton design

slide-6
SLIDE 6

Objectives

1 Design of a theoretical kinematic model of the

hand

2 Detection of real hand characteristics with

computer vision

3 Solver to adjust the theoretical model to the

experimental data

slide-7
SLIDE 7

Kinematic Hand Model

slide-8
SLIDE 8

State of the Art

Robotic Grippers Prosthetic Hands Match function not form Simplified kinematic models

slide-9
SLIDE 9

State of the Art

Robotic Grippers Prosthetic Hands Match function not form Simplified kinematic models

slide-10
SLIDE 10

State of the Art

Robotic Grippers Prosthetic Hands Match function not form Simplified kinematic models

slide-11
SLIDE 11

Hand Anatomy

5 Fingers 14 Joints 27 Bones Complex articulated system

slide-12
SLIDE 12

Hand Topology

3 common joints (wrist) Two fingers with 4 joints (index, middle) Three fingers with 5 joints (third, fourth, thumb) Thumb has different joint structure

slide-13
SLIDE 13

Hand Topology

(a) Full hand. (b) Index finger. (c) Middle finger. (d) Third finger. (e) Fourth finger. (f) Thumb.

slide-14
SLIDE 14

Hand Model

26 degrees of freedom All revolute joints Strong similarity with bone structure

slide-15
SLIDE 15

Detection of Hand Characteristics

slide-16
SLIDE 16

State of the Art

Contact approach

Low portability High cost Need for calibration Low resolution

slide-17
SLIDE 17

State of the Art

Contact approach

Low portability High cost Need for calibration Low resolution

Non-contact Approach

Focus on realtime Low precision Applications in augmented reality

slide-18
SLIDE 18

Approach

Tracking of nails

Non-deformable Fixed to hand structure Easily identifiable Not easy to identify rotation

Markers for robust design

Allows obtaining of pose (position and rotation)

slide-19
SLIDE 19

Markers

Simple for robustness Convey pose information

slide-20
SLIDE 20

Markers

Simple for robustness Convey pose information

slide-21
SLIDE 21

Detecting Markers

1 Detect candidate points with Corner and edge

detector (Harris 1998)

2 Match candidate points with heuristics 3 Use DAISY descriptors to do tracking (Tola

2010)

slide-22
SLIDE 22

Detecting Markers

1 Detect candidate points with Corner and edge

detector (Harris 1998)

2 Match candidate points with heuristics 3 Use DAISY descriptors to do tracking (Tola

2010)

slide-23
SLIDE 23

PnP: Pose Estimation Problem

u = [A][R|t]p Very important problem in computer vision Identify camera position given n 2D-3D correspondences u ↔ p

slide-24
SLIDE 24

Solving the Pose Estimation

Specific case 4 coplanar points: P4P Single unique solution (Yuan 1989) Usage of combination of algorithms

Orthogonal Iteration (Hager et al. 2000) Robust Pose Estimation (Schweighofer et al. 2006)

slide-25
SLIDE 25

Error Analysis

50 100 150 200 50 100

Pose (0 degrees)

50 100 150 50 100

Pose (10 degrees)

50 100 150 50 100

Pose (20 degrees)

50 100 150 50 100

Pose (30 degrees)

−50 50 100 150 50 100

Pose (40 degrees)

−50 50 100 150 50 100

Pose (50 degrees)

−50 50 100 150 50 100

Pose (60 degrees)

−50 50 100 150 50 100

Pose (70 degrees)

−50 50 100 150 50 100

Pose (80 degrees)

slide-26
SLIDE 26

Error Analysis

5 10 15 50 100 Noise Standard Deviation (px) Error (percent)

  • T. Error (0 degrees)

Interval (99%) Mean 5 10 15 50 100 Noise Standard Deviation (px) Error (percent)

  • T. Error (10 degrees)

5 10 15 50 100 Noise Standard Deviation (px) Error (percent)

  • T. Error (20 degrees)

5 10 15 50 100 Noise Standard Deviation (px) Error (percent)

  • T. Error (30 degrees)

5 10 15 50 100 Noise Standard Deviation (px) Error (percent)

  • T. Error (40 degrees)

5 10 15 50 100 Noise Standard Deviation (px) Error (percent)

  • T. Error (50 degrees)

5 10 15 50 100 Noise Standard Deviation (px) Error (percent)

  • T. Error (60 degrees)

5 10 15 50 100 Noise Standard Deviation (px) Error (percent)

  • T. Error (70 degrees)

5 10 15 50 100 Noise Standard Deviation (px) Error (percent)

  • T. Error (80 degrees)
slide-27
SLIDE 27

Error Analysis

5 10 15 20 40 60 Noise Standard Deviation (px) Rotation Error (percent)

  • R. Error (0 degrees)

Interval (99%) Mean 5 10 15 20 40 60 Noise Standard Deviation (px) Rotation Error (percent)

  • R. Error (10 degrees)

5 10 15 20 40 60 Noise Standard Deviation (px) Rotation Error (percent)

  • R. Error (20 degrees)

5 10 15 20 40 60 Noise Standard Deviation (px) Rotation Error (percent)

  • R. Error (30 degrees)

5 10 15 20 40 60 Noise Standard Deviation (px) Rotation Error (percent)

  • R. Error (40 degrees)

5 10 15 20 40 60 Noise Standard Deviation (px) Rotation Error (percent)

  • R. Error (50 degrees)

5 10 15 20 40 60 Noise Standard Deviation (px) Rotation Error (percent)

  • R. Error (60 degrees)

5 10 15 20 40 60 Noise Standard Deviation (px) Rotation Error (percent)

  • R. Error (70 degrees)

5 10 15 20 40 60 Noise Standard Deviation (px) Rotation Error (percent)

  • R. Error (80 degrees)
slide-28
SLIDE 28

Detection of Hand

Reliable and robust Low error in pose estimation with little noise Experimental dataset for adjusting theoretical hand model

slide-29
SLIDE 29

Kinematic Synthesis

slide-30
SLIDE 30

Kinematic Synthesis

Generalized inverse kinematics problem Changing structural parameters to solve problem Motion-to-form problem Very complex and generally unsolved problem

slide-31
SLIDE 31

State of the Art

Simplifying the problem

Gro¨ ebner bases Elimination theory Linear product decomposition

slide-32
SLIDE 32

State of the Art

Simplifying the problem

Gro¨ ebner bases Elimination theory Linear product decomposition

Revolute joint structures solved

2R: 2 solutions (A. Perez and J.M. McCarthy 2003)

slide-33
SLIDE 33

State of the Art

Simplifying the problem

Gro¨ ebner bases Elimination theory Linear product decomposition

Revolute joint structures solved

2R: 2 solutions (A. Perez and J.M. McCarthy 2003) 3R: 13 solutions in an interval (Lee et al. 2004)

slide-34
SLIDE 34

State of the Art

Simplifying the problem

Gro¨ ebner bases Elimination theory Linear product decomposition

Revolute joint structures solved

2R: 2 solutions (A. Perez and J.M. McCarthy 2003) 3R: 13 solutions in an interval (Lee et al. 2004) 4R: Unsolved

slide-35
SLIDE 35

State of the Art

Simplifying the problem

Gro¨ ebner bases Elimination theory Linear product decomposition

Revolute joint structures solved

2R: 2 solutions (A. Perez and J.M. McCarthy 2003) 3R: 13 solutions in an interval (Lee et al. 2004) 4R: Unsolved ... 26R: Unsolved (our problem)

slide-36
SLIDE 36

Kinematic Chain

F [G] S1 S2 S3 a12 d12 a23 [H] Θ12 α12 α23 M

Articulated system formed by joints Different topologies

Serial Parallel Loop Tree (hand model)

F [G] Common Joints Branch 2 Branch 1 S1 S2 S3 S4 S4

1 2
slide-37
SLIDE 37

Pl¨ ucker Coordinates

Line representation: S = s

  • rientation

+ǫ s0

  • moment

Only 2 representations per line (s and −s)

slide-38
SLIDE 38

Dual Quaternions

Homogeneous Matrix [H]

  • 16 components

− → Dual Quaternion ˆ Q

  • 8 components

Element of Clifford algebra Unit dual quaternions

Represents 3D displacements, points and lines Two constraints: ˆ qˆ q∗ = 1 and ˆ q · ˆ q0 = 0

slide-39
SLIDE 39

Exponential Map

Based on Lie Algebra Allows joints to be written as 1-parameter screws Joint parameters: ˆ θ = θ + ǫd

Prismatic: θ = 0 Revolute: d = 0

d Θ S

ˆ S(ˆ θ) = e

ˆ θ 2S = cos

ˆ θ 2 + sin ˆ θ 2S

slide-40
SLIDE 40

Forward Kinematics

Determines end effector position based on joints Direct calculation for serial kinematic topologies ˆ T(θ) = ˆ S1(ˆ θ1)ˆ S2(ˆ θ2) · · · ˆ Sn(ˆ θn)ˆ G = e

ˆ θ1 2 S1e ˆ θ2 2 S2 · · · e ˆ θn 2 Sn ˆ

G = (cos ˆ θ1 2 + sin ˆ θ1 2 S1) · · · (cos ˆ θn 2 + sin ˆ θn 2 Sn)ˆ G

slide-41
SLIDE 41

Forward Kinematics

∆ˆ θ = θ − θref + ǫ(d − dref ) ˆ Q(∆ˆ θ) = ˆ S1(∆ˆ θ1)ˆ S2(∆ˆ θ2) · · · ˆ Sn(∆ˆ θn) = e

∆ˆ θ1 2 S1e ∆ˆ θ2 2 S2 · · · e ∆ˆ θn 2 Sn

= (cos ∆ˆ θ1 2 + sin ∆ˆ θ1 2 S1) · · · (cos ∆ˆ θn 2 + sin ∆ˆ θn 2 Sn)

slide-42
SLIDE 42

Design Equations

Input: task defined by m − 1 relative transformations ˆ P1j = ˆ Tj ˆ T −1

1 , j = 2, . . . , m

Variables: joint axes and joint angles Equations: ˆ S1j(∆ˆ θ1j)ˆ S2j(∆ˆ θ2j)ˆ S3j(∆ˆ θ3j) ˆ Sk

4j(∆ˆ

θk

4j) · · · ˆ

Sk

7j(∆ˆ

θk

7j) − ˆ

Pk

1j = 0,

k ∈ 1, 2, ˆ S1j(∆ˆ θ1j)ˆ S2j(∆ˆ θ2j)ˆ S3j(∆ˆ θ3j) ˆ Sk

4j(∆ˆ

θk

4j) · · · ˆ

Sk

8j(∆ˆ

θk

8j) − ˆ

Pk

1j = 0,

k ∈ 3, 4, 5, j = 2, ..., m

slide-43
SLIDE 43

Non-linear Solver

slide-44
SLIDE 44

System Dimension

Relations between variables and equations decrease dimension Equations use 3 algebraic sets: Set Comp Ind Notes θ 1 1 Periodic with period 2π S = s + ǫs0 6 4 s · s0 = 0 , s = 1 ˆ Q = ˆ q + ǫˆ q0 8 6 ˆ q · ˆ q0 = 0 , ˆ qˆ q∗ = 1

slide-45
SLIDE 45

System Dimension

System unknowns: n0

x = r(

4

  • Structural

+ (m − 1)

  • Joint

) nx = r(6 + (m − 1)) System functions: n0

f = b6(m − 1)

nf = b8(m − 1)

slide-46
SLIDE 46

System Dimension

System must be solvable: n0

f ≥ n0 x

m = 4r 6b − r + 1 > 0 6b − r > 0 Multiple solution possibilities

slide-47
SLIDE 47

System Reduction

System can be reduced to subsystems that can be solved Allows reducing the dimension of the system b r n0

x = n0 f

nx nf m Notes 5 26 780 832 1092 27 Full hand model 2 11 528 550 726 45 (4R, 4R) fingers 1 5 120 130 170 21 5R, no common

slide-48
SLIDE 48

Solution Bound

High dimensionality of the system Important non-linearity of the equations Bezout’s theorem: D = d1d2 · · · dn

Serial chain: d = (3r)6 (A. Perez 2003)

di = 216(m−1) , i ∈ 1, 2, di = 246(m−1) , i ∈ 3, 4, 5, D =

5

  • i=1

di ≈ 101058

slide-49
SLIDE 49

Numerical Solver

Global optimizer Allow overdetermined systems

slide-50
SLIDE 50

Numerical Solver

Global optimizer Allow overdetermined systems Levenberg-Marquadt Algorithm

Local optimizer Least squares Very local Very difficult to parallelize

slide-51
SLIDE 51

Numerical Solver

Global optimizer Allow overdetermined systems Levenberg-Marquadt Algorithm

Local optimizer Least squares Very local Very difficult to parallelize

Genetic Algorithm

“Global” optimizer (meta-heuristics) Easy to implement Very hard to tune Extremely parallel

slide-52
SLIDE 52

Implementation

Hybrid solver

Reduces search space by minimizing with Levenberg-Marquadt algorithm Global optimizer by using genetic algorithm

slide-53
SLIDE 53

Implementation

Hybrid solver

Reduces search space by minimizing with Levenberg-Marquadt algorithm Global optimizer by using genetic algorithm

slide-54
SLIDE 54

Implementation

Hybrid solver

Reduces search space by minimizing with Levenberg-Marquadt algorithm Global optimizer by using genetic algorithm

slide-55
SLIDE 55

Results

slide-56
SLIDE 56

Solver

Parallel algorithm Bottleneck in QR decomposition from Levenberg-Marquadt algorithm Average run: Generations Runtime (hours) 38 60

slide-57
SLIDE 57

Solver

Mutation Solution

slide-58
SLIDE 58

Solutions

Non-anthropomorphic structure Moves finger positions exactly the same as a hand Needs support for constraints to distinguish

More complicated solver

slide-59
SLIDE 59

Solutions

Non-anthropomorphic structure Moves finger positions exactly the same as a hand Needs support for constraints to distinguish

More complicated solver

slide-60
SLIDE 60

Solutions

(a) Full hand. (b) Index finger. (c) Middle finger. (d) Third finger. (e) Fourth finger. (f) Thumb.

slide-61
SLIDE 61

Results

Software

libdq: Library for manipulating dual quaternions Kinematic hand model solver Software to track fingernail markers

Publication

  • E. Simo-Serra, F. Moreno-Noguer and A.

Perez-Gracia, “Design of non-anthropomorphic robotic hands for anthropomorphic tasks”, ASME-IDETC, accepted.

slide-62
SLIDE 62

Conclusions

Major problems in engineering

PnP or pose estimation problem Motion-to-form or dimensional kinematic synthesis problem

Results reflect maturity in both problems

slide-63
SLIDE 63

Conclusions

Major problems in engineering

PnP or pose estimation problem Motion-to-form or dimensional kinematic synthesis problem

Results reflect maturity in both problems Hand detection

Low computation cost Reliable with slow movements

slide-64
SLIDE 64

Conclusions

Major problems in engineering

PnP or pose estimation problem Motion-to-form or dimensional kinematic synthesis problem

Results reflect maturity in both problems Hand detection

Low computation cost Reliable with slow movements

Kinematic synthesis

Very high complexity Large number of solutions Non-anthropomorphic solutions found

slide-65
SLIDE 65

Conclusions

Objectives

1 Defined theoretical hand model 2 Detected real hand characteristics with computer

vision

3 Adjusted theoretical model to experimental data

slide-66
SLIDE 66

Conclusions

Objectives

1 Defined theoretical hand model 2 Detected real hand characteristics with computer

vision

3 Adjusted theoretical model to experimental data

Anthropomorphic solution not found

First project to attempt dimensional kinematic synthesis of tree-like topologies Kinematic synthesis is generally unsolved (3R is not algebraically solved) Upper bound of 101058 solutions

slide-67
SLIDE 67

Future Work

Flexible generic tree-like topology dimensional kinematic synthesis solver

Exchangeable backends Scripting support Support for constraints

slide-68
SLIDE 68

Future Work

Flexible generic tree-like topology dimensional kinematic synthesis solver

Exchangeable backends Scripting support Support for constraints

Study of design equations

How many solutions are there? What causes loss of dimensionality? How are solutions (and local minima) distributed? Can the a reduced model of the search space be used for initial estimation? Are matrix representation better at convergence?

slide-69
SLIDE 69

Thanks

(a) Full hand. (b) Index finger. (c) Middle finger.

Questions?

(d) Third finger. (e) Fourth finger. (f) Thumb.