18.03.2014 Views

Sojka Corner Detection Algorithm

Sojka Corner Detection Algorithm

Sojka Corner Detection Algorithm

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Screen Estimation for A Novel<br />

Pointing Device Based on <strong>Corner</strong><br />

<strong>Detection</strong> and Classification<br />

Qing Xia, Wei Huang<br />

July 30, 2004


TUDelft<br />

Overview<br />

• Part I: Problem Definition<br />

• Part II: Models and <strong>Algorithm</strong>s<br />

• Part III: System Implementation Design<br />

• Part IV: System Tests and Conclusions<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 2


TUDelft<br />

Part I: Problem Definition<br />

! Introduction and Problem Definition<br />

! Models and <strong>Algorithm</strong>s Overview<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 3


TUDelft<br />

Introduction and Problem<br />

Definition<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 4


TUDelft<br />

Introduction and Problem Definition<br />

Pointing devices<br />

•Microsoft X-Wand<br />

• Infrared pointing device<br />

• HeadMouse<br />

• CyberlinkMindMouse<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 5


TUDelft<br />

Introduction and Problem Definition<br />

UI-Wand project<br />

• Camera-Based Approach<br />

• Related Works<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 6


TUDelft<br />

Introduction and Problem Definition<br />

UI-Wand hardware components<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 7


TUDelft<br />

Introduction and Problem Definition<br />

Project goals<br />

• Screen positioning by screen corner detection<br />

• Gesture recognition<br />

• Robustness and stability<br />

• Develop utilities to evaluate the system<br />

• Real-time speed (10 frames/sec)<br />

• Development based on Vispirin<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 8


TUDelft<br />

Models and <strong>Algorithm</strong>s<br />

Overview<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 9


TUDelft<br />

Models and <strong>Algorithm</strong>s Overview<br />

Pointing Projection<br />

• How to calculate Ps?<br />

image coordinates<br />

x<br />

image coordinates<br />

x<br />

screen coordinates<br />

x<br />

screen coordinates<br />

x<br />

y<br />

y<br />

Pointing Point<br />

Pi(x,y)<br />

Ps(x,y)<br />

y<br />

y<br />

Pointing Point<br />

Pi(x,y)<br />

Ps ??<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 10


TUDelft<br />

Models and <strong>Algorithm</strong>s Overview<br />

Pointing Projection<br />

C1<br />

Wy<br />

Screen<br />

C2<br />

Cz<br />

Cx<br />

Cy<br />

UI-Wand<br />

Wx<br />

C4<br />

C3<br />

Pointing direction<br />

Wz<br />

image plane<br />

world point (x, y, z)<br />

pinhole (Px, Py, Pz)<br />

image point (Ix,Iy)<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 11


TUDelft<br />

Models and <strong>Algorithm</strong>s Overview<br />

Pointing Projection<br />

• Problem is to estimate a new pointing device position<br />

π P,O<br />

: (x, y, z) " (I x<br />

,I y<br />

)<br />

(P'<br />

,<br />

O'<br />

)<br />

=<br />

argmin<br />

(P,<br />

O)<br />

4<br />

∑ ( π<br />

P , O<br />

( C<br />

i<br />

) − D<br />

i<br />

)<br />

i = 1<br />

2<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 12


TUDelft<br />

Models and <strong>Algorithm</strong>s Overview<br />

Screen corner detection<br />

• Direct corner detection (gradient of brightness)<br />

• Classification<br />

Scan<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 13


TUDelft<br />

Models and <strong>Algorithm</strong>s Overview<br />

Screen corner detection<br />

• All corners are candidates<br />

• Four screen corners are final winners<br />

Candidates<br />

Winners<br />

<strong>Corner</strong> <strong>Detection</strong> <strong>Algorithm</strong>s<br />

SOJKA SUSAN COMPASS<br />

Classification models<br />

RVM SVM KNN<br />

Filter <strong>Algorithm</strong><br />

Rectangle<br />

RVM: Relevance Vector Machine<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 14


TUDelft<br />

Models and <strong>Algorithm</strong>s Overview<br />

Main Modules<br />

• Screen corner detection<br />

• Pointing positioning<br />

• Tracking<br />

Video frames from UI-Wand<br />

Image Preprocessing<br />

• Gesture recognition<br />

Pointing Positioning<br />

Screen <strong>Corner</strong>s <strong>Detection</strong><br />

Pointing Positioning<br />

Drive<br />

Cursor<br />

Gesture Recognition<br />

Tracking<br />

Gesture Recognition<br />

Control<br />

Application<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 15


TUDelft<br />

Models and <strong>Algorithm</strong>s Overview<br />

ROI Tracking<br />

• Detect screen corners only in ROIs<br />

x<br />

x<br />

y<br />

y<br />

P last<br />

ROI<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 16


TUDelft<br />

Models and <strong>Algorithm</strong>s Overview<br />

Gesture Recognition<br />

• Trace analysis<br />

• Gesture recognition by RVM<br />

Trace<br />

Gesture Label<br />

Tracking <strong>Algorithm</strong><br />

Gesture Recogntion<br />

CW on ROI<br />

CW<br />

Others<br />

Trace Analysis and RVM<br />

HMM<br />

CW: Candidates-Winners approach<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 17


TUDelft<br />

Part II: Models and <strong>Algorithm</strong>s<br />

! <strong>Sojka</strong> <strong>Corner</strong> <strong>Detection</strong> <strong>Algorithm</strong><br />

! RVM <strong>Corner</strong> Classification Model<br />

! Rectangle Filter<br />

! ROI Tracking Filter<br />

! RVM for Gesture Recognition<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 18


TUDelft<br />

<strong>Sojka</strong> <strong>Corner</strong> <strong>Detection</strong><br />

<strong>Algorithm</strong><br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 19


TUDelft<br />

<strong>Sojka</strong> <strong>Corner</strong> <strong>Detection</strong> <strong>Algorithm</strong><br />

<strong>Corner</strong> <strong>Detection</strong> <strong>Algorithm</strong>s<br />

! Direct corner detectors<br />

! Color distribution based corner detectors<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 20


TUDelft<br />

<strong>Sojka</strong> <strong>Corner</strong> <strong>Detection</strong> <strong>Algorithm</strong><br />

Direct <strong>Corner</strong> <strong>Detection</strong> <strong>Algorithm</strong>s<br />

! Beaudet’s detector [Bea78]<br />

! Kitchen and Rosenfeld’s detector [Kit82]<br />

! Harris and Stephens’ detector [Har88]<br />

! Deriche and Giraudon’s detector [Der93]<br />

! <strong>Sojka</strong> corner detector [Soj03]<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 21


TUDelft<br />

<strong>Sojka</strong> <strong>Corner</strong> <strong>Detection</strong> <strong>Algorithm</strong><br />

Other <strong>Corner</strong> <strong>Detection</strong> <strong>Algorithm</strong>s<br />

! SUSAN corner detector [Smi97]<br />

! Compass operator [Ruz01]<br />

! A color-distribution-based detector [Son03]<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 22


TUDelft<br />

<strong>Sojka</strong> <strong>Corner</strong> <strong>Detection</strong> <strong>Algorithm</strong><br />

SUSAN <strong>Corner</strong> Detector<br />

Boundary of mask<br />

Nucleus of mask<br />

Selection of mask where<br />

pixels have same<br />

brightness as nucleus<br />

(USAN)<br />

B<br />

B<br />

A<br />

C<br />

D<br />

E<br />

A<br />

C<br />

D<br />

E<br />

Dark area<br />

Light area<br />

Comments: Simple, Fast, Low accuracy<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 23


TUDelft<br />

<strong>Sojka</strong> <strong>Corner</strong> <strong>Detection</strong> <strong>Algorithm</strong><br />

<strong>Algorithm</strong>s Comparison I<br />

70<br />

60<br />

Accuracy Comparison:<br />

50<br />

40<br />

30<br />

20<br />

10<br />

0<br />

[Bea78] [Kit82] [Har88] [Der93] [Smi97] [Soj03]<br />

Accuracy Rate<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 24


TUDelft<br />

<strong>Sojka</strong> <strong>Corner</strong> <strong>Detection</strong> <strong>Algorithm</strong><br />

<strong>Algorithm</strong>s Comparison II<br />

Location Error Comparison:<br />

2.5<br />

2<br />

1.5<br />

1<br />

0.5<br />

0<br />

[Bea78] [Kit82] [Har88] [Der93] [Smi97] [Soj03]<br />

Location Error<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 25


TUDelft<br />

<strong>Sojka</strong> <strong>Corner</strong> <strong>Detection</strong> <strong>Algorithm</strong><br />

<strong>Algorithm</strong>s Comparison III<br />

90<br />

80<br />

70<br />

60<br />

50<br />

40<br />

30<br />

20<br />

10<br />

0<br />

<strong>Detection</strong> Speed Comparison (in Millisecond):<br />

7<br />

18<br />

[Bea78] [Kit82] [Har88] [Smi97] [Soj03]<br />

35<br />

Running Times<br />

30<br />

78<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 26


TUDelft<br />

<strong>Sojka</strong> <strong>Corner</strong> <strong>Detection</strong> <strong>Algorithm</strong><br />

Comparisons Conclusion<br />

! The older direct corner detectors always have low detection<br />

accuracy rate<br />

! Most of existing corner detector can be used in real time<br />

detection tasks<br />

! The Color distribution based algorithms are only fit for still<br />

image analysis<br />

! <strong>Sojka</strong> corner detector has obvious excellent performance<br />

compared to the other detectors<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 27


TUDelft<br />

<strong>Sojka</strong> <strong>Corner</strong> <strong>Detection</strong> <strong>Algorithm</strong><br />

Make a Decision<br />

<strong>Sojka</strong> corner detector!<br />

! High accuracy<br />

! Low location error<br />

! Fast enough<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 28


TUDelft<br />

<strong>Sojka</strong> <strong>Corner</strong> <strong>Detection</strong> <strong>Algorithm</strong><br />

<strong>Sojka</strong> <strong>Corner</strong> <strong>Detection</strong> <strong>Algorithm</strong><br />

Main ideas:<br />

! Exploiting the probability information<br />

! Explicitly computing the corner angle<br />

! Computing apparency of the corner<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 29


TUDelft<br />

<strong>Sojka</strong> <strong>Corner</strong> <strong>Detection</strong> <strong>Algorithm</strong><br />

Main ideas of <strong>Sojka</strong> <strong>Corner</strong> <strong>Detection</strong> <strong>Algorithm</strong><br />

Neighborhood of Q<br />

Area a<br />

Q<br />

Ω( Q)<br />

Area b<br />

α<br />

Area c<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 30


TUDelft<br />

<strong>Sojka</strong> <strong>Corner</strong> <strong>Detection</strong> <strong>Algorithm</strong><br />

<strong>Corner</strong> Model Definition I<br />

Brightness<br />

Edge location<br />

Perpendicular distance<br />

from the edge<br />

Let the derivative of brightness be positive everywhere with a single maximum at 0.<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 31


TUDelft<br />

<strong>Sojka</strong> <strong>Corner</strong> <strong>Detection</strong> <strong>Algorithm</strong><br />

<strong>Corner</strong> Model Definition II<br />

The edge is oriented by the rule that the higher brightness lies to the left.<br />

Lower brightness<br />

Higher brightness<br />

ϕ 1<br />

Edge orientation<br />

ϕ 2<br />

Edge orientation<br />

Higher brightness<br />

<strong>Corner</strong> axis<br />

Lower brightness<br />

<strong>Corner</strong> axis<br />

ϕ 2<br />

ϕ 1<br />

A convex corner model<br />

A concave corner model<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 32


TUDelft<br />

<strong>Sojka</strong> <strong>Corner</strong> <strong>Detection</strong> <strong>Algorithm</strong><br />

<strong>Corner</strong> Model Definition III<br />

Gradient direction vector:<br />

n<br />

i<br />

=<br />

( cosϕ , sinϕ<br />

)<br />

i<br />

i<br />

Convex corner:<br />

n<br />

1<br />

×n2<br />

><br />

0<br />

Concave corner:<br />

n<br />

1<br />

×n2<br />

<<br />

0<br />

b<br />

Brightness definition:<br />

( X )<br />

=<br />

⎧min<br />

⎨<br />

⎩max<br />

{ ψ ( n ⋅ ( X − C)<br />

),<br />

ψ ( n ⋅ ( X − C)<br />

)}<br />

1<br />

{ ψ ( n ⋅ ( X − C)<br />

),<br />

ψ ( n ⋅ ( X − C)<br />

)}<br />

1<br />

2<br />

2<br />

if<br />

n<br />

1<br />

× n<br />

2<br />

otherwise<br />

≥<br />

0<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 33


TUDelft<br />

<strong>Sojka</strong> <strong>Corner</strong> <strong>Detection</strong> <strong>Algorithm</strong><br />

<strong>Corner</strong> Model Examples<br />

Convex corner<br />

Concave corner<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 34


TUDelft<br />

<strong>Sojka</strong> <strong>Corner</strong> <strong>Detection</strong> <strong>Algorithm</strong><br />

Three Conditional Probabilities<br />

! Conditional probability<br />

! Conditional probability<br />

! Conditional probability<br />

P<br />

P<br />

P<br />

( BrQ ∆b( X ))<br />

( DirQ h( X ))<br />

( AngQ ∆ ( X ))<br />

ϕ<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 35


TUDelft<br />

<strong>Sojka</strong> <strong>Corner</strong> <strong>Detection</strong> <strong>Algorithm</strong><br />

Combined Probability<br />

P<br />

SG<br />

{ ( ) P( DirQ h( Y )) P( AngQ ∆ϕ( Y ))}<br />

( X ) = min P BrQ ∆b( Y )<br />

Y∈QX<br />

w<br />

−1<br />

( X ) = P ( X ) w ( r( X )) = A min p β ( ∆b( Y ))<br />

SG<br />

r<br />

{ ( ) p ( h( Y )) P( AngQ ∆ϕ<br />

( Y ))} w r( )<br />

( ).<br />

0 d<br />

d<br />

r<br />

X<br />

y∈QX<br />

Why<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 36


TUDelft<br />

<strong>Sojka</strong> <strong>Corner</strong> <strong>Detection</strong> <strong>Algorithm</strong><br />

Why? Because…<br />

X<br />

Y1<br />

ϕ( X )<br />

ϕ( Y1)<br />

ϕ( Y2)<br />

Y2<br />

Q<br />

<strong>Corner</strong> axis<br />

(a)<br />

(b)<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 37


TUDelft<br />

<strong>Sojka</strong> <strong>Corner</strong> <strong>Detection</strong> <strong>Algorithm</strong><br />

<strong>Corner</strong> Point Decision I<br />

!<br />

! ---<br />

! ---<br />

∑ w( X<br />

i<br />

) ϕ( X ) ∑<br />

i<br />

w( X<br />

i<br />

) ϕ( X<br />

i<br />

)<br />

X i∈Ω<br />

2 X i∈Ω<br />

µ ϕ<br />

=<br />

σ ϕ =<br />

w( X ) ϕ<br />

w( X )<br />

Corr<br />

∑<br />

X<br />

i<br />

∈Ω<br />

i<br />

( ) ( )<br />

2<br />

Q = g Q ( Q)<br />

σ ϕ<br />

∑<br />

X<br />

i<br />

[ − µ ]<br />

Mean values that are computed for a corner candidate point<br />

Appar<br />

( Q) P ( ) ( ) ϕ( )<br />

SG<br />

X<br />

i<br />

g X<br />

i<br />

X<br />

i<br />

− µ<br />

ϕ<br />

= ∑<br />

X<br />

i<br />

∈Ω<br />

∈Ω<br />

i<br />

ϕ<br />

2<br />

Two functions for final decisions<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 38


TUDelft<br />

<strong>Sojka</strong> <strong>Corner</strong> <strong>Detection</strong> <strong>Algorithm</strong><br />

<strong>Corner</strong> Point Decision II<br />

! Theorem 1.<br />

2<br />

σ ϕ<br />

( Q)<br />

--- The function has its maximum just at then points<br />

lying on the axis of the corner.<br />

! Theorem 2.<br />

--- The function Corr(<br />

Q)<br />

has its maximum just at the corner<br />

point.<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 39


TUDelft<br />

<strong>Sojka</strong> <strong>Corner</strong> <strong>Detection</strong> <strong>Algorithm</strong><br />

<strong>Algorithm</strong> Realization<br />

! Step 1: Computing the magnitude and the direction of the<br />

gradient of brightness.<br />

! Step 2: Selecting the candidates corner points.<br />

2<br />

! Step 3: Getting the value of µ<br />

ϕ<br />

( Q)<br />

σ<br />

ϕ<br />

( Q)<br />

Corr ( Q)<br />

Appar( Q)<br />

by value estimation.<br />

! Step 4: The candidates with local maximum Corr( Q)<br />

and at<br />

2<br />

which the value of σ ϕ<br />

( Q)<br />

Appar(<br />

Q)<br />

extending some thresholds<br />

are specified as corners.<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 40


TUDelft<br />

<strong>Sojka</strong> <strong>Corner</strong> <strong>Detection</strong> <strong>Algorithm</strong><br />

<strong>Algorithm</strong> Tests<br />

! Accuracy tests (white screen and black screen)<br />

! Stability tests (rotated frames)<br />

! Sequence test (continuous frames)<br />

A PHIILIPS brilliance 109MP<br />

white computer screen<br />

A PHILIPS brilliance 180P2<br />

black LCD computer screen<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 41


TUDelft<br />

<strong>Sojka</strong> <strong>Corner</strong> <strong>Detection</strong> <strong>Algorithm</strong><br />

<strong>Algorithm</strong> Test Results<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 42


TUDelft<br />

<strong>Sojka</strong> <strong>Corner</strong> <strong>Detection</strong> <strong>Algorithm</strong><br />

<strong>Algorithm</strong> Test Results Analysis I<br />

250<br />

200<br />

<strong>Corner</strong> detection number analysis<br />

150<br />

100<br />

50<br />

0<br />

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15<br />

White screen<br />

Black screen<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 43


TUDelft<br />

<strong>Sojka</strong> <strong>Corner</strong> <strong>Detection</strong> <strong>Algorithm</strong><br />

<strong>Algorithm</strong> Test Results Analysis II<br />

100<br />

90<br />

80<br />

70<br />

60<br />

50<br />

40<br />

30<br />

20<br />

10<br />

0<br />

Screen corner detection rate analysis<br />

1 2 3 4 5 6 7 8 9 101112131415<br />

White screen<br />

Black screen<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 44


TUDelft<br />

<strong>Sojka</strong> <strong>Corner</strong> <strong>Detection</strong> <strong>Algorithm</strong><br />

<strong>Algorithm</strong> Test Results Analysis III<br />

2.5<br />

2<br />

Screen corner detection average variance analysis<br />

1.5<br />

1<br />

0.5<br />

0<br />

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15<br />

White screen<br />

Black screen<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 45


TUDelft<br />

<strong>Sojka</strong> <strong>Corner</strong> <strong>Detection</strong> <strong>Algorithm</strong><br />

<strong>Algorithm</strong> Test Results Analysis IV<br />

Screen corner detection speed analysis<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 46


TUDelft<br />

<strong>Sojka</strong> <strong>Corner</strong> <strong>Detection</strong> <strong>Algorithm</strong><br />

<strong>Algorithm</strong> Test Results Analysis V<br />

83<br />

82<br />

81<br />

80<br />

79<br />

78<br />

77<br />

76<br />

75<br />

Screen corner detection stability analysis<br />

0 6 9 12 22.5 45 90<br />

Black screen<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 47


TUDelft<br />

<strong>Sojka</strong> <strong>Corner</strong> <strong>Detection</strong> <strong>Algorithm</strong><br />

Test Results Conclusions<br />

Attentions:<br />

! Image quality affect the detection results<br />

! Parameters affect the detection results<br />

Good test result:<br />

! Accurate<br />

! Stable<br />

! Fast<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 48


TUDelft<br />

RVM <strong>Corner</strong> Classification<br />

Model<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 49


TUDelft<br />

RVM <strong>Corner</strong> Classification Model<br />

Support Vector Machine<br />

• Finds the hyperplane leaving the<br />

largest possible fraction of points<br />

of the same class on the same side,<br />

while maximizing the distance of<br />

either class from the hyperplane.<br />

H1<br />

H<br />

H2<br />

• Disadvantages: No probability<br />

output; Support vectors grows with<br />

training set; Mercer’s condition;<br />

Distance=1/|w|<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 50


TUDelft<br />

RVM <strong>Corner</strong> Classification Model<br />

Relevance Vector Machine Theory<br />

• General model in supervised learning<br />

Samples: input vectors<br />

{ N<br />

x } n n=<br />

1<br />

and targets<br />

N<br />

{ tn}<br />

n=<br />

1<br />

M<br />

∑<br />

T<br />

y( x;<br />

w)<br />

= φ ( x)<br />

= w φ(x)<br />

i=<br />

1<br />

w i<br />

i<br />

where,<br />

φ<br />

( x) = ( φ ( x),<br />

φ ( x),...,<br />

φ ( x ) T<br />

w =<br />

1 2<br />

M<br />

)<br />

T<br />

( w1 , w2<br />

,..., wM<br />

)<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 51


TUDelft<br />

RVM <strong>Corner</strong> Classification Model<br />

Relevance Vector Machine Theory<br />

• Probabilistic formulation for regression case<br />

t<br />

n<br />

2<br />

= y( x ; w)<br />

+ ε<br />

p(<br />

t | x ) = N(<br />

t | y(<br />

x ), σ )<br />

n<br />

n<br />

, with noise:<br />

n<br />

n<br />

n<br />

likelihood:<br />

where,<br />

2<br />

2 N / 2 ⎧ 1<br />

p( t | w,<br />

σ ) = (2πσ<br />

) exp⎨−<br />

t − Φw<br />

2<br />

⎩ 2σ<br />

Φ<br />

φ<br />

=<br />

[<br />

2<br />

φ(<br />

x1),<br />

φ(<br />

x ), K,<br />

φ(<br />

x<br />

N<br />

)]<br />

− 2<br />

( x<br />

n<br />

) = [1, ( x<br />

n<br />

, x1),<br />

K ( x<br />

n<br />

, x<br />

2<br />

), K,<br />

K(<br />

x<br />

n<br />

, x<br />

N<br />

T<br />

K )]<br />

⎫<br />

⎬<br />

⎭<br />

T<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 52


TUDelft<br />

RVM <strong>Corner</strong> Classification Model<br />

Relevance Vector Machine Theory<br />

• Hyperparameters to avoid over-fitting<br />

(no weight penalty term)<br />

N<br />

∏<br />

i=<br />

0<br />

N<br />

−<br />

p( w | α)<br />

= N(<br />

| 0, α<br />

1 ),<br />

∏<br />

i=<br />

0<br />

−2<br />

p(<br />

α ) = Gamma( α | a,<br />

b),<br />

p(<br />

σ ) = Gamma( β | c,<br />

d)<br />

i<br />

w i<br />

with,<br />

β ≡ σ<br />

2<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 53


TUDelft<br />

RVM <strong>Corner</strong> Classification Model<br />

Relevance Vector Machine Theory<br />

• Prediction in regression case<br />

∫<br />

2<br />

2<br />

p( t* | t ) = p(<br />

t*<br />

| w,<br />

α,<br />

σ ) p(<br />

w,<br />

α,<br />

σ | t)<br />

dwdαdσ<br />

∫<br />

2<br />

2<br />

2<br />

p(<br />

t* | t,<br />

α<br />

MP<br />

, σ<br />

MP<br />

) = p(<br />

t*<br />

| w,<br />

σ<br />

MP<br />

) p(<br />

w | t,<br />

α<br />

MP<br />

, σ<br />

MP<br />

) dw<br />

2<br />

p(<br />

t* | t,<br />

α MP<br />

, σ ) = N(<br />

t*<br />

| y*<br />

, σ<br />

*<br />

MP<br />

2<br />

)<br />

2<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 54


TUDelft<br />

RVM <strong>Corner</strong> Classification Model<br />

Relevance Vector Machine Theory<br />

• Prediction in regression case<br />

2<br />

p(<br />

t* | t,<br />

α MP<br />

, σ ) = N(<br />

t*<br />

| y*<br />

, σ<br />

*<br />

MP<br />

2<br />

)<br />

with,<br />

y = µ T φ( *<br />

)<br />

σ<br />

*<br />

x<br />

2 2<br />

*<br />

= σ<br />

MP<br />

+ x<br />

T<br />

φ( x*<br />

) Σφ(<br />

*)<br />

Σ<br />

µ<br />

−2<br />

T<br />

= ( σ Φ Φ + A<br />

−2<br />

= σ<br />

t<br />

ΣΦ t<br />

)<br />

−1<br />

A =<br />

diag(<br />

α , α1,<br />

K,<br />

α<br />

0 N<br />

)<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 55


TUDelft<br />

RVM <strong>Corner</strong> Classification Model<br />

Relevance Vector Machine Theory<br />

• Prediction in classification case<br />

Likelihood changes to:<br />

with,<br />

N<br />

∏<br />

tn<br />

P( t | w)<br />

= σ{<br />

y(<br />

x ; w)}<br />

[1 − σ{<br />

y(<br />

x ; w)}]<br />

n=<br />

1<br />

σ ( y)<br />

= 1 (1 + e<br />

− y<br />

n<br />

)<br />

n<br />

1−t<br />

n<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 56


TUDelft<br />

RVM <strong>Corner</strong> Classification Model<br />

Relevance Vector Machine Theory<br />

• Prediction in classification case<br />

*<br />

w<br />

T<br />

MP<br />

x<br />

y =<br />

φ( *<br />

)<br />

Σ<br />

w<br />

T<br />

= ( Φ BΦ + A<br />

T<br />

MP<br />

= ΣΦ Bt<br />

)<br />

−1<br />

B = diag β , β , K,<br />

β )<br />

β<br />

n<br />

(<br />

1 2 N<br />

= σ{ y(<br />

x<br />

n<br />

)}[1 −σ{<br />

y(<br />

x<br />

n<br />

)}]<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 57


TUDelft<br />

RVM <strong>Corner</strong> Classification Model<br />

Relevance Vector Machine Theory<br />

• Comparison between SVM and RVM<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 58


TUDelft<br />

RVM <strong>Corner</strong> Classification Model<br />

Multi-class Classification (K classes)<br />

• Pair-wise, K*(K-1)/2 RVMs<br />

• One-versus-others, K RVMs<br />

C1<br />

C1<br />

C2<br />

C3<br />

C2<br />

C3<br />

(a)<br />

(b)<br />

Pair-wise is not more accurate than One-versus-others<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 59


TUDelft<br />

RVM <strong>Corner</strong> Classification Model<br />

Multi-class Classification (K classes)<br />

• Five RVM models used in corner classification<br />

Left-Top vs Others<br />

RVM 1<br />

Right-Top vs Others<br />

RVM 2<br />

RVM<br />

Classifier<br />

Left-Bottom vs Others<br />

RVM 3<br />

Right-bottom vs Others<br />

RVM 4<br />

Non-<strong>Corner</strong> vs Others<br />

RVM 5<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 60


TUDelft<br />

RVM <strong>Corner</strong> Classification Model<br />

Feature Extraction<br />

• Intensity values as features<br />

20 pixels<br />

RGB Color<br />

R:161 G:168 B:169<br />

Graylevel<br />

165<br />

20 pixels<br />

Dimension is too big and might be changed<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 61


TUDelft<br />

RVM <strong>Corner</strong> Classification Model<br />

DCT Coefficients as Feature Vectors<br />

• Independence with sample size<br />

• Dimension become much smaller<br />

u<br />

v<br />

0<br />

0 1 2 3 4 ... N<br />

4.96 1.36 -0.48 -0.14 ...<br />

1<br />

1.17 0.72 -0.19<br />

...<br />

2<br />

-0.47 -0.29<br />

...<br />

3<br />

-0.03<br />

...<br />

4<br />

...<br />

...<br />

M<br />

Feature Vector:<br />

[4.96, 1.36, -0.48, -0.14, 1.17, 0.72, -0.19, -0.47, -0.29, -0.03]<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 62


TUDelft<br />

RVM <strong>Corner</strong> Classification Model<br />

Feature Extraction on Rotated Images<br />

• Rotate target window<br />

d P<br />

( α,<br />

β ) = d1 (1 −α)(1<br />

− β ) + d<br />

2α<br />

(1 − β ) + d3(1<br />

−α)<br />

β + d<br />

4αβ<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 63


TUDelft<br />

RVM <strong>Corner</strong> Classification Model<br />

Sample Dataset Selection<br />

• Manually selected sample dataset<br />

• Synthetic sample datasets<br />

• Adaptive sample datasets<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 64


TUDelft<br />

RVM <strong>Corner</strong> Classification Model<br />

Sample Dataset Selection<br />

• Sample dataset specification<br />

Sample Size<br />

20 x 20 pixels<br />

Number of Sample Class 5<br />

Number of Samples 80<br />

Samples Distribution 10/10/10/10/40<br />

• <strong>Corner</strong> samples:<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 65


TUDelft<br />

RVM <strong>Corner</strong> Classification Model<br />

Sample Dataset Selection<br />

• Classification results<br />

RVM<br />

Error Analysis Utility Outputs<br />

KF<br />

RVN<br />

HCV<br />

MV<br />

GV<br />

CGV<br />

MUR<br />

CD<br />

WV<br />

L-2.0<br />

18.4<br />

7.26<br />

11.99<br />

5.62<br />

3.85<br />

93%<br />

98%<br />

5.71<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 66


TUDelft<br />

RVM <strong>Corner</strong> Classification Model<br />

Sample Dataset Selection<br />

• Classification results<br />

1. Probability output is effective<br />

2. Misunderstanding Rate is high<br />

14<br />

12<br />

10<br />

8<br />

6<br />

4<br />

MV<br />

HCV<br />

GV<br />

CGV<br />

WV<br />

2<br />

0<br />

Detected Screen <strong>Corner</strong> Deviation<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 67


TUDelft<br />

RVM <strong>Corner</strong> Classification Model<br />

Synthetic Sample Dataset<br />

• Generation<br />

Border<br />

P<br />

β<br />

α<br />

Content<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 68


TUDelft<br />

RVM <strong>Corner</strong> Classification Model<br />

Synthetic Sample Dataset<br />

• Sample dataset specification<br />

Sample Size<br />

10 x 10 pixels<br />

Number of Sample Class 5<br />

Number of Samples 100<br />

Samples Distribution 10/10/10/10/60<br />

• <strong>Corner</strong> samples:<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 69


TUDelft<br />

RVM <strong>Corner</strong> Classification Model<br />

Synthetic Sample Dataset<br />

• Classification results<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 70


TUDelft<br />

RVM <strong>Corner</strong> Classification Model<br />

Synthetic Sample Dataset<br />

• Classification results<br />

RVM<br />

Error Analysis Utility Outputs<br />

KF<br />

RVN<br />

HCV<br />

MV<br />

GV<br />

CGV<br />

MUR<br />

CD<br />

WV<br />

G-0.5<br />

4.4<br />

36.94<br />

5.38<br />

3.47<br />

2.57<br />

84.%<br />

100%<br />

6.65<br />

40<br />

35<br />

30<br />

25<br />

20<br />

15<br />

10<br />

5<br />

MV<br />

HCV<br />

GV<br />

CGV<br />

WV<br />

0<br />

Detected Screen <strong>Corner</strong> Deviation<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 71


TUDelft<br />

RVM <strong>Corner</strong> Classification Model<br />

Adaptive Sample Dataset<br />

• Sample dataset specification<br />

Sample Size<br />

40 x 40 pixels<br />

Number of Sample Class 5<br />

Number of Samples 108<br />

Samples Distribution 10/10/10/10/68<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 72


TUDelft<br />

RVM <strong>Corner</strong> Classification Model<br />

Adaptive Sample Dataset<br />

• Non-corner samples selection (three categories)<br />

Base: The samples that can be miss-classified<br />

Background: The samples far from corners<br />

Adaptive: The samples miss-classified before<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 73


TUDelft<br />

RVM <strong>Corner</strong> Classification Model<br />

Adaptive Sample Dataset<br />

• Samples:<br />

• Classification results<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 74


TUDelft<br />

RVM <strong>Corner</strong> Classification Model<br />

Adaptive Sample Dataset<br />

• Classification results<br />

RVM<br />

Error Analysis Utility Outputs<br />

KF<br />

RVN<br />

HCV<br />

MV<br />

GV<br />

CGV<br />

MUR<br />

CD<br />

WV<br />

L-2.0<br />

15.6<br />

13.01<br />

7.56<br />

4.33<br />

2.84<br />

29%<br />

100%<br />

4.93<br />

14<br />

12<br />

10<br />

8<br />

6<br />

4<br />

MV<br />

HCV<br />

GV<br />

CGV<br />

WV<br />

2<br />

0<br />

Detected Screen <strong>Corner</strong> Deviation<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 75


TUDelft<br />

RVM <strong>Corner</strong> Classification Model<br />

Sample datasets comparison<br />

40<br />

35<br />

30<br />

25<br />

20<br />

15<br />

10<br />

5<br />

0<br />

MS<br />

SYN<br />

ADAP<br />

100%<br />

90%<br />

80%<br />

70%<br />

60%<br />

50%<br />

40%<br />

30%<br />

20%<br />

10%<br />

0%<br />

MS<br />

SYN<br />

ADAP<br />

MV HCV GV CGV WV<br />

MUR<br />

20<br />

18<br />

16<br />

14<br />

12<br />

10<br />

8<br />

6<br />

4<br />

2<br />

0<br />

MS<br />

SYN<br />

ADAP<br />

RVN<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 76


TUDelft<br />

RVM <strong>Corner</strong> Classification Model<br />

Sample datasets comparison<br />

1. Manually selected dataset is not convenient for users<br />

2. Adaptive dataset makes classification slow<br />

3. Synthetic dataset is suitable for current use<br />

Feature extraction speed<br />

Target Size<br />

Speed (s/sec)<br />

10x10<br />

718<br />

20x20<br />

40x40<br />

199<br />

49<br />

So we used synthetic dataset in final system.<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 77


TUDelft<br />

Rectangle Filter<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 78


TUDelft<br />

Rectangle Filter<br />

Candidates-Winners Result By far<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 79


TUDelft<br />

Rectangle Filter<br />

Rectangle Filter with <strong>Corner</strong> Type Information<br />

• Select out the final screen corners<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 80


TUDelft<br />

Rectangle Filter<br />

Rectangle Filter Before RVM<br />

• Reduce candidates number<br />

15 candidates decreases to 9<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 81


TUDelft<br />

Rectangle Filter<br />

Results<br />

Less than 1 millionsecond per sample<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 82


TUDelft<br />

ROI Tracking<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 83


TUDelft<br />

ROI Tracking<br />

Purposes<br />

1. Accelerate detection speed<br />

2. Store the trace information<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 84


TUDelft<br />

ROI Tracking<br />

ROI Tracking Filter<br />

Cannot work well if move fast<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 85


TUDelft<br />

ROI Tracking<br />

ROI Prediction<br />

• Simple motion predication<br />

y<br />

MV1<br />

ROI<br />

mv =<br />

predicted<br />

mv<br />

1<br />

mv1<br />

/<br />

* mv<br />

2<br />

Pn-2<br />

MV2<br />

Pn-1<br />

Pn<br />

MVpredicated<br />

α<br />

predicted<br />

= α w<br />

1<br />

+ ∗ ( α1<br />

− α<br />

2<br />

)<br />

o<br />

ROI<br />

Pn+1<br />

x<br />

⎪⎧<br />

mv<br />

w = ⎨<br />

⎪⎩ mv<br />

2<br />

1<br />

/ mv<br />

/ mv<br />

1<br />

2<br />

,<br />

,<br />

if<br />

if<br />

mv<br />

mv<br />

2<br />

1<br />

≤<br />

≤<br />

mv<br />

mv<br />

1<br />

2<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 86


TUDelft<br />

ROI Tracking<br />

ROI Prediction Results<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 87


TUDelft<br />

ROI Tracking<br />

Missing <strong>Corner</strong>s Prediction and Alignment<br />

• Type I missing<br />

Without screen information<br />

• Type II missing<br />

With screen detected in previous frames<br />

Type I missing seldom happens;<br />

Need to do more work on Type II missing<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 88


TUDelft<br />

ROI Tracking<br />

Type II Missing<br />

• Miss less than 4 corners<br />

• Miss 4 corners<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 89


TUDelft<br />

ROI Tracking<br />

Improvement Results<br />

Prediction without alignment<br />

Prediction with alignment<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 90


TUDelft<br />

Gesture Recognition<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 91


TUDelft<br />

Gesture Recognition<br />

Gesture Recognition Procedure<br />

Gesture Pattern<br />

gesture<br />

! Observations capturing<br />

Observation<br />

capturing<br />

observations<br />

A<br />

E D<br />

B<br />

F<br />

C<br />

! Feature extraction<br />

G<br />

H<br />

I<br />

Feature extraction<br />

A: < a1,b1,c1,d1 ><br />

! Classification<br />

B: < a2,b2,c2,d2 ><br />

C: < a3,b3,c3,d3 ><br />

...<br />

H: < a8,b8,c8,d8 ><br />

Classification<br />

I: < a9,b9,c9,d9 ><br />

gesture 1 gesture 2 gesture 3<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 92


TUDelft<br />

Gesture Recognition<br />

Gesture Recognition Technologies<br />

! HMM model for classification<br />

--- States transformation, probability<br />

! RVM model for classification<br />

--- Disjoint regions divided ,feature vectors<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 93


TUDelft<br />

Gesture Recognition<br />

HMM for Gesture Recognition I<br />

S1<br />

S2<br />

S3<br />

S4<br />

S5<br />

C1 C2 C3 C4 C5<br />

! Training phase<br />

! Classification phase<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 94


TUDelft<br />

Gesture Recognition<br />

HMM for Gesture Recognition II<br />

Phase 1:<br />

Step 1 Step 2<br />

Initial<br />

HMM<br />

model<br />

Extended Baum-<br />

Welch algorithm<br />

for parameters<br />

reestimation<br />

Updating HMM<br />

model<br />

Trained<br />

HMM<br />

model<br />

Phase 2:<br />

Using Viterbi algorithm for gesture recognition<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 95


TUDelft<br />

Gesture Recognition<br />

HMM for Gesture Recognition III<br />

! One HMM for each gesture (initial work)<br />

! Need well-trained HMM (cost time)<br />

! Speed up technology<br />

! More fitful for continuous gesture recognition<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 96


TUDelft<br />

Gesture Recognition<br />

New Idea for Gesture Recognition<br />

! We just apply simple gestures<br />

! Gesture is a pattern<br />

! We already have an existing classifier<br />

----RVM<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 97


TUDelft<br />

Gesture Recognition<br />

RVM for Gesture Recognition<br />

! Training phase<br />

! Classification phase<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 98


TUDelft<br />

Gesture Recognition<br />

RVM for Gesture Recognition<br />

2D screen<br />

corner<br />

points<br />

G e ttin g<br />

observations<br />

O b s e rv a tio n lis t<br />

analysis<br />

Observations<br />

re lo c a tio n<br />

Feature<br />

extraction<br />

Make training<br />

sam ples<br />

RVM training<br />

RVM m odel<br />

Classification<br />

Output label<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 99


TUDelft<br />

Gesture Recognition<br />

RVM Training Phase<br />

! Getting observations<br />

! Selecting candidate gesture traces<br />

! Interpolating candidates traces (relocation observations)<br />

! Extracting feature vectors<br />

! Training RVM (training samples generation)<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 100


TUDelft<br />

Gesture Recognition<br />

RVM Training Phase I<br />

--- Getting observations<br />

! ROI for tracking screen corners<br />

! Four screen corners positioning<br />

! Geometric center of the screen corners<br />

! A sequence of positions as observations<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 101


TUDelft<br />

Gesture Recognition<br />

RVM Training Phase II<br />

---Selecting candidate gesture traces<br />

Real gesture<br />

MOVE<br />

HOLD<br />

HOLD<br />

HOLD<br />

MOVE_START<br />

MOVE<br />

MOVE<br />

MOVE_END<br />

HOLD<br />

HOLD<br />

HOLD<br />

<br />

<br />

<br />

Data flowing direction<br />

Position status distinguish<br />

! Observation list analysis<br />

--- List length (>=50 elements)<br />

--- Element states (MOVE, HOLD, MOVE_START, MOVE_END, INITIAL)<br />

-- Thresholds (MOVEMENT_SENSITIVITY, HOLDING_NUM_UNITTIME,<br />

MISSING_TOLERANCE)<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 102


TUDelft<br />

Gesture Recognition<br />

RVM Training Phase III<br />

--- Interpolating candidate traces<br />

! Balanced observations distribution<br />

! Well-shaped gesture pattern<br />

! Keep the original trace shapes<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 103


TUDelft<br />

Gesture Recognition<br />

RVM Training Phase IV<br />

--- Extracting feature vectors<br />

Gesture trace<br />

B<br />

( x<br />

j<br />

, y j<br />

)<br />

Motion Vector of A->B<br />

x<br />

j<br />

− x , y<br />

i<br />

j<br />

−<br />

y<br />

i<br />

0 0<br />

A<br />

( x<br />

i<br />

, y i<br />

)<br />

Original 2D space<br />

Motion space<br />

! Motion vectors (direction and distance)<br />

! Without normalizing (keep velocity information)<br />

! 2*N-dimensional vectors (each for one gesture)<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 104


TUDelft<br />

Gesture Recognition<br />

RVM Training Phase V<br />

---Training RVM model<br />

! Gesture traces generation (follows I,II,III,IV)<br />

! Non-gesture traces generation (see examples)<br />

! Training RVM (changes kernel function)<br />

K ( x , x ) ( x x + 1)<br />

m<br />

n<br />

=<br />

m n<br />

r<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 105


TUDelft<br />

Gesture Recognition<br />

Examples<br />

Short Middle Long<br />

Random straight lines<br />

Three different lengths<br />

Eight different main directions<br />

Random lines<br />

Selected main direction<br />

Random little reflection<br />

A random straight line non-gesture trace with observations<br />

a) b)<br />

Chosen length<br />

Chosen length<br />

Move direction<br />

Random main direction<br />

Random move direction<br />

Random reflection range<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 106


TUDelft<br />

Gesture Recognition<br />

RVM Classification Phase<br />

! Getting observations<br />

! Selecting candidate gesture traces<br />

! Interpolating candidate gesture traces<br />

! Feature extraction<br />

! Putting into RVM for classification<br />

--- Gesture type can be specified.<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 107


TUDelft<br />

Gesture Recognition<br />

RVM Gesture Recognition Tests I<br />

Left-Right Right-Left Cross<br />

Non-gesture<br />

Non-gesture<br />

Non-gesture<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 108


TUDelft<br />

Gesture Recognition<br />

RVM Gesture Recognition Tests II<br />

---Sequence 1<br />

25%<br />

46%<br />

50%<br />

50% 50%<br />

50%<br />

54%<br />

75%<br />

Left-Right Right-Left Cross Non<br />

20%<br />

80%<br />

Right<br />

Recognition<br />

Wrong<br />

recognition<br />

Total<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 109


TUDelft<br />

Gesture Recognition<br />

RVM Gesture Recognition Tests II<br />

---Sequence 2<br />

0%<br />

25%<br />

50%<br />

50%<br />

50%<br />

50%<br />

100%<br />

Left-Right Right-Left Cross Non<br />

75%<br />

27%<br />

Total<br />

73%<br />

Right<br />

Recognition<br />

Wrong<br />

recognition<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 110


TUDelft<br />

Gesture Recognition<br />

RVM Gesture Recognition Conclusions<br />

Problems:<br />

! Testing results are not so satisfied as our imagination<br />

--- Training sample qualities and quantities<br />

Future works:<br />

! Thresholding every gesture for recognition<br />

! Continuous real-time processing<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 111


TUDelft<br />

Part III: System Implementation<br />

Design<br />

! UI-Wand System Design<br />

! UI-Wand Utilities Design<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 112


TUDelft<br />

UI-Wand System Design<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 113


TUDelft<br />

UI-Wand System Design<br />

Visipirin Framework<br />

• Application class and <strong>Algorithm</strong> Interface<br />

<strong>Algorithm</strong><br />

*<br />

Application<br />

PIXELTYPE<br />

1<br />

<strong>Detection</strong><strong>Algorithm</strong><br />

Annotation<strong>Algorithm</strong><br />

FeatureExtraction<strong>Algorithm</strong><br />

Output<strong>Algorithm</strong><br />

Input<strong>Algorithm</strong><br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 114


TUDelft<br />

UI-Wand System Design<br />

Visipirin Framework<br />

• Application execution<br />

The command line format:<br />

(a) applicationname parameters ./theframesyouwanttorun/*<br />

(b) applicationname parameters.par ./theframesyouwanttorun/*<br />

The parameters have the following format:<br />

(a) Scopename=<strong>Algorithm</strong>Name<br />

(b) Scopename::ParameterName=ParameterValue<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 115


TUDelft<br />

UI-Wand System Design<br />

UI-Wand System Use Cases<br />

Synthetic Screen <strong>Corner</strong>s<br />

Dataset Generation<br />

Application<br />

Screen <strong>Corner</strong>s<br />

Training Application<br />

Adaptive Screen <strong>Corner</strong>s<br />

Dataset Collection<br />

Application<br />

Gestures Training<br />

Application<br />

Users<br />

Gestures Dataset<br />

Collection Application<br />

UI-Wand Application<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 116


TUDelft<br />

UI-Wand System Design<br />

UI-Wand Application Class Diagram<br />

Input<strong>Algorithm</strong><br />

P IX E L T Y P E<br />

F ile In p u tP P M<br />

1<br />

<strong>Detection</strong><strong>Algorithm</strong><br />

<strong>Sojka</strong><strong>Corner</strong>D etector<br />

1<br />

1<br />

P IX E L T Y P E<br />

<strong>Sojka</strong>C orner<strong>Detection</strong><br />

*<br />

FeatureExtraction<strong>Algorithm</strong><br />

AnnotationFeatures<br />

1<br />

P IX E L T Y P E<br />

*<br />

P IX E L T Y P E<br />

Classification<strong>Algorithm</strong><br />

R V M C la s s ifie r<br />

A p p lic a tio n<br />

1*<br />

R elevanceVectorM achine<br />

1<br />

1 1<br />

1<br />

P IX E L T Y P E<br />

UIW andApplication<br />

TraceAnalysis<strong>Algorithm</strong><br />

TraceInterpolation<br />

1<br />

O u tp u tA lg o rith m<br />

P IX E L T Y P E<br />

O u t p u t P P M<br />

1<br />

Annotation<strong>Algorithm</strong><br />

P IX E L T Y P E<br />

D raw Annotation<br />

1<br />

1<br />

<strong>Algorithm</strong><br />

ScreenC ornersFilter<br />

UIW andApplicationUtil<br />

1<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 117


TUDelft<br />

UI-Wand System Design<br />

UI-Wand Application Sequence Diagram<br />

UIWandApplication FileInputPPM <strong>Sojka</strong><strong>Corner</strong><strong>Detection</strong> AnnotationFeatures RVMClassifier1 Screen<strong>Corner</strong>Filter TraceInterpolation RVMClassifier2<br />

creatFrame<br />

init<br />

init<br />

corner<strong>Detection</strong><br />

rectangleFilterWithoutType<br />

cornersFeatureExtraction<br />

cornersClassification<br />

rectangleFilterWithType<br />

missingcornerpredication<br />

ROIpredication<br />

gestureFeatureExtraction<br />

gestureRecognition<br />

updateROIs<br />

updateAngle<br />

updateAngle<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 118


TUDelft<br />

UI-Wand Utilities Design<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 119


TUDelft<br />

UI-Wand Utilities Design<br />

UI-Wand Utilities Use Cases<br />

Reference <strong>Corner</strong>s<br />

Utility<br />

Visualization<br />

Utility<br />

User<br />

Error Analysis<br />

Utility<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 120


TUDelft<br />

UI-Wand Utilities Design<br />

Visualization Utility Class Diagram<br />

Application<br />

PIXELTYPE<br />

1<br />

PIXELTYPE<br />

ScanImageAppication<br />

1<br />

RelevanceVectorMachine<br />

1<br />

1<br />

1<br />

*<br />

1<br />

PIXELTYPE<br />

PIXELTYPE<br />

PIXELTYPE<br />

FileInputPPM<br />

WindowsFeatures<br />

1<br />

RVMClassifier<br />

Input<strong>Algorithm</strong><br />

FeatureExtraction<strong>Algorithm</strong><br />

Classification<strong>Algorithm</strong><br />

<strong>Algorithm</strong><br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 121


TUDelft<br />

UI-Wand Utilities Design<br />

Error Analysis GUI Utility<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 122


TUDelft<br />

UI-Wand Utilities Design<br />

Error Analysis Results Table<br />

• <strong>Corner</strong> detection analysis results<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 123


TUDelft<br />

UI-Wand Utilities Design<br />

Error Analysis Results Table<br />

• RVM classification analysis results<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 124


TUDelft<br />

UI-Wand Utilities Design<br />

Error Analysis Results Table<br />

• Complete application detection analysis results<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 125


TUDelft<br />

Part IV: System Tests and Future<br />

Works<br />

! System Tests<br />

! Conclusions and Future works<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 126


TUDelft<br />

System Tests<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 127


TUDelft<br />

System Tests<br />

System Test Conditions<br />

! Hardware conditions:<br />

--- Test machine (PIV-2.4G, 256M)<br />

--- Test monitor (PHILIPS brilliance 180P2<br />

black LCD computer screen)<br />

--- Devices (UI-Wand components)<br />

! Software conditions:<br />

--- Operation systems (Red Hat Linux, Windows XP)<br />

--- Error analysis tool (UI-Wand Error Analysis Utility)<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 128


TUDelft<br />

System Tests<br />

System Tests I<br />

! Off-line tests I<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 129


TUDelft<br />

System Tests<br />

System Tests II<br />

! Off-line tests II<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 130


TUDelft<br />

System Tests<br />

System Tests III<br />

! On-line tests<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 131


TUDelft<br />

System Tests<br />

System Tests Conclusions<br />

! High accuracy<br />

! Fast speed<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 132


TUDelft<br />

Conclusions and Future<br />

Works<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 133


TUDelft<br />

Conclusions and Future Works<br />

Conclusions<br />

• Detect screen corners by Candidates-Winners approach<br />

• Invent a model for gestures recognition.<br />

• The System is robust with some lighting changes.<br />

• It can run different applications.<br />

• It can work in a range of working space.<br />

• Its speed is faster than 10 frames/sec.<br />

• Developed evaluation utilities<br />

• The development is based on Vispirin, the existing framework<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 134


TUDelft<br />

Conclusions and Future Works<br />

Future Works<br />

• Current system improvement<br />

1. Parameters optimization<br />

2. Try Kalman filter to do the motion predication<br />

3. Do some research on color images<br />

4. Improve gesture recognition model<br />

• Invent a new structure<br />

Accelerate RVM Classification speed by using<br />

adaptive dataset, which should be a very<br />

promising way to go<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 135


TUDelft<br />

Questions?<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 136


TUDelft<br />

Thank you!<br />

Soon….<br />

Screen Estimation for A Novel Pointing Device Based on <strong>Corner</strong> <strong>Detection</strong> and Classification. Qing Xia, Wei Huang 137

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!