20.01.2015 Views

X - Webdocs Cs Ualberta

X - Webdocs Cs Ualberta

X - Webdocs Cs Ualberta

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

TRACKING REGION OF INTEREST<br />

IN MEDICAL SURGERY VIDEO<br />

Satarupa Mukherjee<br />

M Tech (Computer Science), Year – II<br />

Under the guidance of<br />

Professor Dipti Prasad Mukherjee<br />

ECSU<br />

Indian Statistical Institute<br />

Kolkata


O<br />

B<br />

J<br />

E<br />

C<br />

T<br />

I<br />

V<br />

E<br />

The objective of the project is to track a<br />

surgical tool in medical surgery video.<br />

Indian<br />

Statistical<br />

Institute<br />

August 2008


Indian<br />

Statistical<br />

Institute<br />

August 2008


M<br />

E<br />

T<br />

H<br />

O<br />

D<br />

O<br />

L<br />

O<br />

G<br />

Y<br />

Indian<br />

Statistical<br />

Institute<br />

August 2008


Indian<br />

Statistical<br />

Institute<br />

August 2008


• How to represent shapes more efficiently<br />

S<br />

H<br />

A<br />

P<br />

E<br />

S<br />

Q =<br />

set of n points (x i ,y i ), that more or less represent<br />

the object contour<br />

= (x 1 ,x 2 ,…,x n ,y 1 ,y 2 ,…,y n ) T<br />

X= affine shape vector (6-dimensional)<br />

• Affine Shape Transformation<br />

Q -> X<br />

Indian<br />

Statistical<br />

Institute<br />

August 2008


Affine Shape Transformation<br />

S<br />

H<br />

A<br />

P<br />

E<br />

S<br />

Q = WX+ Q 0<br />

• Master Template Q 0 : Set of n points<br />

W<br />

Inverse Affine Shape Transformation<br />

X = W + (Q –Q 0 )<br />

10Q<br />

x<br />

0<br />

010 Q<br />

00Q<br />

y<br />

0<br />

Q<br />

y<br />

0<br />

x<br />

0<br />

0<br />

Indian<br />

Statistical<br />

Institute<br />

August 2008


Affine Shape Transformation<br />

S<br />

H<br />

A<br />

P<br />

E<br />

S<br />

Q = WX+ Q 0<br />

• Master Template Q 0 : Set of n points<br />

W<br />

10Q<br />

010 Q<br />

Inverse Affine Shape Transformation<br />

X = W + (Q –Q 0 )<br />

x<br />

0<br />

00Q<br />

y<br />

0<br />

Q<br />

y<br />

0<br />

x<br />

0<br />

0<br />

Indian<br />

Statistical<br />

Institute<br />

August 2008<br />

X = (0,10,0,0,0,0) T


Indian<br />

Statistical<br />

Institute<br />

August 2008


M<br />

O<br />

T<br />

I<br />

O<br />

N M<br />

O<br />

D<br />

E<br />

L<br />

Indian<br />

Statistical<br />

Institute<br />

August 2008


M<br />

O<br />

T<br />

I<br />

O<br />

N M<br />

O<br />

D<br />

E<br />

L<br />

We shall train<br />

Our motion model<br />

From first 20 frames<br />

Indian<br />

Statistical<br />

Institute<br />

August 2008


M<br />

O<br />

T<br />

I<br />

O<br />

N<br />

M<br />

O<br />

D<br />

E<br />

L<br />

Indian<br />

Statistical<br />

Institute<br />

August 2008<br />

• Motion Model: Autoregressive Process<br />

X<br />

K<br />

X<br />

X K = affine shape vector in K-th Frame<br />

X = mean shape vector<br />

A 1 , A 2 = constant coefficients<br />

• Learning: Estimation of unknown<br />

parameters<br />

A ( X X)<br />

A ( X X<br />

2 K 2<br />

1 K 1<br />

X , A2,<br />

A<br />

1<br />

)


M<br />

O<br />

T<br />

I<br />

O<br />

N<br />

M<br />

O<br />

D<br />

E<br />

L<br />

X<br />

K<br />

• Motion Model: Autoregressive Process<br />

X<br />

• Learning: Estimation of unknown<br />

parameters<br />

A ( X X)<br />

A ( X X<br />

2 K 2<br />

1 K 1<br />

X , A A<br />

2 ,<br />

1<br />

)<br />

Indian<br />

Statistical<br />

Institute<br />

August 2008


M<br />

O<br />

T<br />

I<br />

O<br />

N<br />

M<br />

O<br />

D<br />

E<br />

L<br />

X<br />

K<br />

Random Motion Exhibited in Video<br />

• Motion Model: Autoregressive Process<br />

X<br />

• w k ~ N(0,I)<br />

A ( X X)<br />

A ( X X<br />

2 K 2<br />

1 K 1<br />

B 0<br />

w K<br />

Noise added to model<br />

the non-uniformity of<br />

the tool motion<br />

)<br />

Indian<br />

Statistical<br />

Institute<br />

August 2008


M<br />

O<br />

T<br />

I<br />

O<br />

N<br />

M<br />

O<br />

D<br />

E<br />

L<br />

X<br />

K<br />

Random Motion Exhibited in Video<br />

• Motion Model: Autoregressive Process<br />

X<br />

A ( X X)<br />

A ( X X<br />

2 K 2<br />

1 K 1<br />

Deterministic Part<br />

B 0<br />

w K<br />

Stochastic<br />

Part<br />

)<br />

Indian<br />

Statistical<br />

Institute<br />

August 2008


M<br />

O<br />

T<br />

I<br />

O<br />

N M<br />

O<br />

D<br />

E<br />

L<br />

Motion model<br />

looks for tool in a<br />

“cloud” of<br />

probable locations<br />

Indian<br />

Statistical<br />

Institute<br />

August 2008


M<br />

O<br />

T<br />

I<br />

O<br />

N<br />

M<br />

O<br />

D<br />

E<br />

L<br />

X<br />

K<br />

Non-Uniform Motion Exhibited in Video<br />

• Motion Model: Autoregressive Process<br />

X<br />

A ( X X)<br />

A ( X X<br />

2 K 2<br />

1 K 1<br />

• What are the unknowns<br />

B 0<br />

w K<br />

)<br />

Indian<br />

Statistical<br />

Institute<br />

August 2008<br />

X<br />

, A A B<br />

, ,<br />

2 1<br />

0


M<br />

O<br />

T<br />

I<br />

O<br />

N<br />

M<br />

O<br />

D<br />

E<br />

L<br />

Indian<br />

Statistical<br />

Institute<br />

August 2008<br />

Learning Algorithm For Motion Model<br />

R<br />

Input: Shape Vectors {X 1 ,……,X M } from first M(=20)<br />

frames<br />

Output: Parameters<br />

– Step 1:<br />

i<br />

Aˆ<br />

Aˆ<br />

Dˆ<br />

k<br />

X, A B<br />

2<br />

, A1<br />

,<br />

• Auto correlation coefficients R ij and R ij , i,j =<br />

0,1,2 are computed-<br />

M<br />

3<br />

X<br />

k<br />

i<br />

,<br />

R<br />

ij<br />

k<br />

M<br />

3<br />

X<br />

k<br />

i<br />

X<br />

T<br />

K<br />

j<br />

,<br />

R<br />

'<br />

ij<br />

0<br />

R<br />

ij<br />

1<br />

M<br />

1<br />

1<br />

2<br />

( R02<br />

R01R11<br />

R12)(<br />

R22<br />

R21R11<br />

R12)<br />

ˆ<br />

1<br />

( R01<br />

A2<br />

R21)<br />

1<br />

M<br />

( R<br />

2<br />

R<br />

11<br />

Aˆ<br />

R<br />

Aˆ<br />

0 2 2 1R1<br />

)<br />

Ri<br />

R<br />

2<br />

1<br />

T<br />

j


M<br />

O<br />

T<br />

I<br />

O<br />

N<br />

M<br />

O<br />

D<br />

E<br />

L<br />

Indian<br />

Statistical<br />

Institute<br />

August 2008<br />

Learning Algorithm For Motion Model<br />

Input: Shape Vectors {X 1 ,……,X M } from first M(=20)<br />

frames<br />

Output: Parameters<br />

– Step 2:<br />

• Mean X<br />

X<br />

Aˆ<br />

ˆ<br />

2<br />

A )<br />

( I<br />

1<br />

X, A B<br />

2<br />

, A1<br />

,<br />

• Covariance matrix B o is estimated as matrix<br />

square root of C where C is :<br />

C<br />

1<br />

M<br />

( R<br />

2<br />

00<br />

Aˆ<br />

R<br />

2<br />

20<br />

Aˆ<br />

R<br />

1<br />

0<br />

10<br />

DR ˆ<br />

T<br />

0<br />

)


M<br />

O<br />

T<br />

I<br />

O<br />

N M<br />

O<br />

D<br />

E<br />

L<br />

1<br />

2<br />

3<br />

4<br />

Indian<br />

Statistical<br />

Institute<br />

August 2008<br />

Learning the<br />

parameters of motion<br />

model from X 1 ,X 2 ,…,X 20<br />

20


M<br />

O<br />

T<br />

I<br />

O<br />

N M<br />

O<br />

D<br />

E<br />

L<br />

Indian<br />

Statistical<br />

Institute<br />

August 2008<br />

• Motion Model Output: Predicted location of<br />

tool in K th frame<br />

X<br />

K<br />

X<br />

A ( X X)<br />

A ( X X<br />

2 K 2<br />

1 K 1<br />

• How to search for the tool in/around the<br />

location<br />

– Answer: Observation Model<br />

B 0<br />

w K<br />

)


O<br />

B<br />

S<br />

E<br />

R<br />

V<br />

A<br />

T<br />

I<br />

O<br />

N<br />

M<br />

O<br />

D<br />

E<br />

L<br />

Indian<br />

Statistical<br />

Institute<br />

August 2008<br />

• Motion Model Output:<br />

– Predicted location (X) of tool in K th frame<br />

– Shape vector X = (x 1 , x 2 , … , x 6 ) T<br />

Q<br />

Q<br />

x<br />

y<br />

10Q<br />

x<br />

0<br />

010 Q<br />

00Q<br />

y<br />

0<br />

Q<br />

y<br />

0<br />

x<br />

0<br />

0<br />

*<br />

x<br />

x<br />

1<br />

...<br />

6<br />

Q<br />

Q<br />

The set of 32 pixel co-ordinates (Q x ,Q y ) T will be<br />

used to detect the contour of tool in K th frame<br />

x<br />

0<br />

y<br />

0


O<br />

B<br />

S<br />

E<br />

R<br />

V<br />

A<br />

T<br />

I<br />

O<br />

N<br />

M<br />

O<br />

D<br />

E<br />

L<br />

<br />

For each of 32 pixel co-ordinates in (Q x ,Q y ) T look<br />

for its “substitute” - How<br />

Indian<br />

Statistical<br />

Institute<br />

August 2008


O<br />

B<br />

S<br />

E<br />

R<br />

V<br />

A<br />

T<br />

I<br />

O<br />

N<br />

M<br />

O<br />

D<br />

E<br />

L<br />

<br />

For each of 32 pixel co-ordinates in (Q x ,Q y ) T look<br />

for its “substitute” - How<br />

• On each normal look for edge pixel<br />

• Take the nearest one<br />

• This is one of the 32 substitutes<br />

• Repeat this for all 32 points<br />

Indian<br />

Statistical<br />

Institute<br />

August 2008


O<br />

B<br />

S<br />

E<br />

R<br />

V<br />

A<br />

T<br />

I<br />

O<br />

N<br />

M<br />

O<br />

D<br />

E<br />

L<br />

<br />

For each of 32 pixel co-ordinates in (Q x ,Q y ) T look<br />

for its “substitute” - How<br />

Indian<br />

Statistical<br />

Institute<br />

August 2008


O<br />

B<br />

S<br />

E<br />

R<br />

V<br />

A<br />

T<br />

I<br />

O<br />

N<br />

M<br />

O<br />

D<br />

E<br />

L<br />

How to draw the normal <br />

Q<br />

j<br />

x<br />

y<br />

j<br />

j<br />

Indian<br />

Statistical<br />

Institute<br />

August 2008


O<br />

B<br />

S<br />

E<br />

R<br />

V<br />

A<br />

T<br />

I<br />

O<br />

N<br />

M<br />

O<br />

D<br />

E<br />

L<br />

Indian<br />

Statistical<br />

Institute<br />

August 2008<br />

How to draw the normal <br />

Rotate (Q j+1 -Q j )<br />

by π/2<br />

R<br />

cos<br />

sin<br />

2<br />

2<br />

sin<br />

cos<br />

2<br />

2


O<br />

B<br />

S<br />

E<br />

R<br />

V<br />

A<br />

T<br />

I<br />

O<br />

N<br />

M<br />

O<br />

D<br />

E<br />

L<br />

Indian<br />

Statistical<br />

Institute<br />

August 2008<br />

How to draw the normal <br />

Normal n j =R* (Q j+1 - Q j )<br />

R<br />

cos<br />

sin<br />

2<br />

2<br />

sin<br />

cos<br />

2<br />

2


O<br />

B<br />

S<br />

E<br />

R<br />

V<br />

A<br />

T<br />

I<br />

O<br />

N<br />

M<br />

O<br />

D<br />

E<br />

L<br />

Indian<br />

Statistical<br />

Institute<br />

August 2008<br />

How to draw the normal <br />

First Co-ordinate on<br />

normal<br />

R<br />

cos<br />

sin<br />

nˆ<br />

2<br />

2<br />

j<br />

sin<br />

cos<br />

n<br />

n<br />

n<br />

n<br />

2<br />

2<br />

x<br />

j<br />

j<br />

y<br />

j<br />

j


O<br />

B<br />

S<br />

E<br />

R<br />

V<br />

A<br />

T<br />

I<br />

O<br />

N<br />

M<br />

O<br />

D<br />

E<br />

L<br />

How to draw the normal <br />

All pixel co-ordinates<br />

on normal<br />

nˆ<br />

j<br />

n<br />

n<br />

n<br />

n<br />

x<br />

j<br />

j<br />

y<br />

j<br />

j<br />

Indian<br />

Statistical<br />

Institute<br />

August 2008<br />

(replacing All pixel coordinates<br />

normal on on other<br />

side<br />

+ by – will<br />

give<br />

normal


O<br />

B<br />

S<br />

E<br />

R<br />

V<br />

A<br />

T<br />

I<br />

O<br />

N<br />

M<br />

O<br />

D<br />

E<br />

L<br />

<br />

For each of 32 pixel co-ordinates in (Q x ,Q y ) T look<br />

for its “substitute” - how “good is the fit”<br />

Indian<br />

Statistical<br />

Institute<br />

August 2008


O<br />

B<br />

S<br />

E<br />

R<br />

V<br />

A<br />

T<br />

I<br />

O<br />

N<br />

M<br />

O<br />

D<br />

E<br />

L<br />

<br />

Observation Model : Parameters<br />

φ(s i ) = ||r(s i )-r f (s i )|| 2, if we get edge pixel<br />

= ρ otherwise<br />

<br />

The weights can be calculated in the<br />

following way-<br />

exp{<br />

N<br />

1<br />

( )}<br />

2<br />

i<br />

s i<br />

2 i 1<br />

Indian<br />

Statistical<br />

Institute<br />

August 2008


C<br />

O<br />

N<br />

D<br />

E<br />

N<br />

S<br />

A<br />

T<br />

I<br />

O<br />

N<br />

A<br />

L<br />

G<br />

O<br />

R<br />

I<br />

T<br />

H<br />

M<br />

• Proposed by Isard & Blake, 1997<br />

– Condensation – CONDitional DENSity<br />

propagATION, International Journal Of Computer<br />

Vision<br />

• Application so far<br />

– Dancing girl (Isard & Blake, 1997)<br />

– Human hand moving over table (Isard & Blake,<br />

1998)<br />

– Multiple object tracking (McCormick et al, …)<br />

Indian<br />

Statistical<br />

Institute<br />

August 2008


C<br />

O<br />

N<br />

D<br />

E<br />

N<br />

S<br />

A<br />

T<br />

I<br />

O<br />

N<br />

A<br />

L<br />

G<br />

O<br />

R<br />

I<br />

T<br />

H<br />

M<br />

• This presentation addresses<br />

– Condensation Algorithm applied to medical surgery<br />

video<br />

• Challenges I faced<br />

– Non-unifornm movement of surgical tool<br />

– Too much clutter!!!<br />

– Heavy noise<br />

– Insufficient illumination / specular effects (due to<br />

too much illumination)<br />

Indian<br />

Statistical<br />

Institute<br />

August 2008<br />

– Occlusion (tool going inside human organ)


C<br />

O<br />

N<br />

D<br />

E<br />

N<br />

S<br />

A<br />

T<br />

I<br />

O<br />

N<br />

A<br />

L<br />

G<br />

O<br />

R<br />

I<br />

T<br />

H<br />

M<br />

Indian<br />

Statistical<br />

Institute<br />

Iteration From the old sample set {s k-1 (n), π k-1 (n), c k-1 (n), n=1,2,…..,N}<br />

at time step t k-1 , construct a new sample set {s k (n), π k (n), c k (n),<br />

n=1,2,…..,N} for time t k .<br />

Construct the n-th of N new samples as follows-<br />

Select a sample s k ’(n) as follows-<br />

Generate a random number, uniformly distributed.<br />

Find, by binary subdivision, the smallest j for which c k-1 (j)>=r<br />

Set Set s k ’ (n) =s<br />

(j)<br />

k-1<br />

Predict by sampling from p(χ k |χ k-1 =s k ’ (n) ) to chose each s k (n). As the<br />

dynamics are governed by linear AR process, the new sample value<br />

may be generated as<br />

s k (n)=As k (n)+(I-A)+Bw k (n)<br />

wk(n) is vector of standard normal variates.<br />

BB T is process noise covariance.<br />

A=[0 I; A2 A1] B=[0; B0]<br />

Measure and weight the new position in terms of the measured features<br />

Z k -<br />

π k (n)=p(Z k |X k =s k (n))<br />

then normalize so that k(n)=1 and store together with cumulative<br />

probability as<br />

(s k (n), π k (n), c k (n)) where<br />

c k (0)=0<br />

c k (n)=c k (n-1)+π k (n)<br />

n=1,2,…..,N


Indian<br />

Statistical<br />

Institute<br />

August 2008


I<br />

M<br />

P<br />

L<br />

E<br />

M<br />

E<br />

N<br />

T<br />

A<br />

T<br />

I<br />

O<br />

N<br />

Indian<br />

Statistical<br />

Institute<br />

August 2008<br />

• Training Set<br />

– From each of first 20 (why 20 ) frames<br />

• Locate the tool by hand<br />

• Take 32 (why 32) points along the border of<br />

the tool (called as Q)<br />

• The tool in the first frame is considered master<br />

template (Q o )<br />

• Deduce Shape Vector X i for i = 1, 2, …, 20<br />

frames by Affine Shape Space Transformation<br />

X<br />

W<br />

( Q Q ) o<br />

• 32 dimensional Q vector is reduced to 6 -<br />

dimensional shape vector X


I<br />

M<br />

P<br />

L<br />

E<br />

M<br />

E<br />

N<br />

T<br />

A<br />

T<br />

I<br />

O<br />

N<br />

Indian<br />

Statistical<br />

Institute<br />

August 2008<br />

• Learning Motion Model (2 nd order AR Process)<br />

X<br />

– From all shape vectors {X 1 , X 2 , …, X 20 } from the<br />

k<br />

20 frames we learn the 4 parameters of motion<br />

model<br />

X<br />

A ( X X ) A ( X X<br />

2 k 2<br />

1 k 1<br />

• Learning Observation Model (Gaussian Mixtures)<br />

– From all shape vectors {X 1 , X 2 , …, X 20 } from the<br />

20 frames we learn the 4 parameters of motion<br />

model {ϭ, Length of Normal}<br />

B 0<br />

w k<br />

)


I<br />

M<br />

P<br />

L<br />

E<br />

M<br />

E<br />

N<br />

T<br />

A<br />

T<br />

I<br />

O<br />

N<br />

Indian<br />

Statistical<br />

Institute<br />

August 2008<br />

• Tracking Initialization<br />

– On the 21 st frame we hand picked “two” sets of 32 points<br />

• One set of 32 points (say Q’) lie inside the tool contour<br />

X 1 = W + (Q’ – Q o )<br />

• One set of 32 points lie outside the tool contour<br />

X 1 = W + (Q’ – Q o )<br />

– In between them we interpolated n number of shape<br />

vectors ( n = 10 in our case)


I<br />

M<br />

P<br />

L<br />

E<br />

M<br />

E<br />

N<br />

T<br />

A<br />

T<br />

I<br />

O<br />

N<br />

• Tracking Initialization (contd…)<br />

– So we have {X 1 , X 2 , …, X 10 } shape vectors initially<br />

– Initially we assign equal weights π i = 1/10 to each of<br />

the 10 shape vectors<br />

– Now the iteration step …<br />

Indian<br />

Statistical<br />

Institute<br />

August 2008


I<br />

M<br />

P<br />

L<br />

E<br />

M<br />

E<br />

N<br />

T<br />

A<br />

T<br />

I<br />

O<br />

N<br />

Indian<br />

Statistical<br />

Institute<br />

August 2008<br />

• Input (from K-1 th frame):<br />

{X 1 , X 2 , …, X 10 } – 10 shape vectors<br />

{π 1 , π 2 ,…, π 10 } - 10 weights, each associated with a<br />

particular shape vector<br />

• Iteration: (1 st step)<br />

Selection<br />

‣ Generate a random number r Є (0,1), uniformly<br />

distributed<br />

‣ Find the smallest j for which π j ≥ r<br />

‣ Select X j


I<br />

M<br />

P<br />

L<br />

E<br />

M<br />

E<br />

N<br />

T<br />

A<br />

T<br />

I<br />

O<br />

N<br />

Indian<br />

Statistical<br />

Institute<br />

August 2008<br />

• Input (from K-1 th frame):<br />

{X 1 , X 2 , …, X 10 } – 10 shape vectors<br />

{π 1 , π 2 ,…, π 10 } - 10 weights, each associated with a<br />

particular shape vector<br />

• Iteration: (2 nd step)<br />

Prediction (AR2 Motion Model)<br />

‣ Each shape vector from K-1 th frame and its<br />

parent from k-2 th frame are used to predict the<br />

possible location of tool in k th frame<br />

X<br />

K<br />

X A2 ( XK<br />

2<br />

X)<br />

A1<br />

( XK<br />

1<br />

X)<br />

B 0<br />

w K


I<br />

M<br />

P<br />

L<br />

E<br />

M<br />

E<br />

N<br />

T<br />

A<br />

T<br />

I<br />

O<br />

N<br />

Indian<br />

Statistical<br />

Institute<br />

August 2008<br />

• Input (from K-1 th frame):<br />

{X 1 , X 2 , …, X 10 } – 10 shape vectors<br />

{π 1 , π 2 ,…, π 10 } - 10 weights, each associated with a<br />

particular shape vector<br />

• Iteration: (3 rd step)<br />

Measurement – Construction of X 1,2,…,10 for K th frame<br />

‣ Each predicted shape vector X is Affine<br />

Transformed as follows to generate 32 points<br />

Q<br />

Q<br />

x<br />

y<br />

10Q<br />

x<br />

0<br />

010 Q<br />

00Q<br />

y<br />

0<br />

Q<br />

y<br />

0<br />

x<br />

0<br />

0<br />

*<br />

x<br />

x<br />

1<br />

...<br />

6<br />

Q<br />

Q<br />

x<br />

0<br />

y<br />

0


I<br />

M<br />

P<br />

L<br />

E<br />

M<br />

E<br />

N<br />

T<br />

A<br />

T<br />

I<br />

O<br />

N<br />

• Input (from K-1 th frame):<br />

{X 1 , X 2 , …, X 10 } – 10 shape vectors<br />

{π 1 , π 2 ,…, π 10 } - 10 weights, each associated with a<br />

particular shape vector<br />

• Iteration: (3 rd step)<br />

Measurement - Construction of X 1,2,…,10 for K th frame<br />

‣ Each predicted shape vector X is Affine<br />

Transformed as follows to generate 32 points<br />

‣ Normal is drawn and edge pixel is sought on each<br />

normal. The nearest pixel is chosen<br />

Indian<br />

Statistical<br />

Institute<br />

August 2008


I<br />

M<br />

P<br />

L<br />

E<br />

M<br />

E<br />

N<br />

T<br />

A<br />

T<br />

I<br />

O<br />

N<br />

Indian<br />

Statistical<br />

Institute<br />

August 2008<br />

• Input (from K-1 th frame):<br />

{X 1 , X 2 , …, X 10 } – 10 shape vectors<br />

{π 1 , π 2 ,…, π 10 } - 10 weights, each associated with a<br />

particular shape vector<br />

• Iteration: (3 rd step)<br />

Measurement - Construction of X 1,2,…,10 for K th frame<br />

‣ Each predicted shape vector X is Affine<br />

Transformed as follows to generate 32 points<br />

‣ Normal is drawn and edge pixel is sought on each<br />

normal. The nearest pixel is chosen<br />

‣ X = W + (Q – Q o ) - ( X is constructed this way for K<br />

th frame)


I<br />

M<br />

P<br />

L<br />

E<br />

M<br />

E<br />

N<br />

T<br />

A<br />

T<br />

I<br />

O<br />

N<br />

Indian<br />

Statistical<br />

Institute<br />

August 2008<br />

• Input (from K-1 th frame):<br />

{X 1 , X 2 , …, X 10 } – 10 shape vectors<br />

{π 1 , π 2 ,…, π 10 } - 10 weights, each associated with a<br />

particular shape vector<br />

• Iteration: (3 rd step)<br />

Measurement: Construction of π 1,2,…,10 for K th frame<br />

‣ Error Estimate (s i )<br />

φ(si)= ||r(s i )-r f (s i )|| 2 if we get edge pixel<br />

= ρ otherwise<br />

exp{<br />

N<br />

1<br />

( )}<br />

2<br />

i<br />

s i<br />

2 i 1


I<br />

M<br />

P<br />

L<br />

E<br />

M<br />

E<br />

N<br />

T<br />

A<br />

T<br />

I<br />

O<br />

N<br />

Indian<br />

Statistical<br />

Institute<br />

August 2008<br />

• Input (from K-1 th frame):<br />

{X 1 , X 2 , …, X 10 } – 10 shape vectors<br />

{π 1 , π 2 ,…, π 10 } - 10 weights, each associated with a<br />

particular shape vector<br />

• Iteration: (3 rd step)<br />

Measurement: Construction of π 1,2,…,10 for K th frame<br />

‣ Error Estimate (s i )<br />

φ(si)= ||r(s i )-r f (s i )|| 2 if we get edge pixel<br />

= ρ otherwise<br />

exp{<br />

N<br />

1<br />

( )}<br />

2<br />

i<br />

s i<br />

2 i 1


Indian<br />

Statistical<br />

Institute<br />

August 2008


R<br />

E<br />

S<br />

U<br />

L<br />

T<br />

S<br />

Normals and edge pixels on each normal<br />

Indian<br />

Statistical<br />

Institute<br />

August 2008


R<br />

E<br />

S<br />

U<br />

L<br />

T<br />

S<br />

Initialization done with 2 hand drawn shape vectors<br />

and 8 more interpolated (from the 2) shape vectors<br />

Indian<br />

Statistical<br />

Institute<br />

August 2008


R<br />

E<br />

S<br />

U<br />

L<br />

T<br />

S<br />

One may of course initialize the algorithm with many<br />

(say 100) shape vectors… but at the cost of<br />

computation!<br />

Indian<br />

Statistical<br />

Institute<br />

August 2008


R<br />

E<br />

S<br />

U<br />

L<br />

T<br />

S<br />

Frame wise Tracking Results<br />

Frame 19<br />

Frame 23<br />

Indian<br />

Statistical<br />

Institute<br />

August 2008<br />

Frame 34 Frame 47


R<br />

E<br />

S<br />

U<br />

L<br />

T<br />

S<br />

Survival Of Fittest – Choosing the best shape<br />

(Front Tool)<br />

Indian<br />

Statistical<br />

Institute<br />

August 2008


R<br />

E<br />

S<br />

U<br />

L<br />

T<br />

S<br />

Survival Of Fittest – Choosing the best shape<br />

(Back Tool)<br />

Frame 5 Frame 8<br />

Indian<br />

Statistical<br />

Institute<br />

August 2008<br />

Frame 10


R<br />

E<br />

S<br />

U<br />

L<br />

T<br />

S<br />

Indian<br />

Statistical<br />

Institute<br />

August 2008


F<br />

I<br />

T<br />

N<br />

E<br />

S<br />

S<br />

Frame<br />

Number<br />

Measure Of Fit Of Estimated Shape To True Shape<br />

Area Covered<br />

By Tool<br />

(T sq units)<br />

Area Covered<br />

By Best<br />

Estimated Fit<br />

(E sq units)<br />

Area Of<br />

Overlap<br />

(O sq units)<br />

Missfit = (T-O)<br />

(in %)<br />

19.00 10296.00 10227.00 9006.00 12.53<br />

23.00 10726.00 10186.00 9260.00 13.67<br />

34.00 12025.00 9846.00 9541.00 20.66<br />

47.00 11231.00 11134.00 8771.00 21.90<br />

Indian<br />

Statistical<br />

Institute<br />

August 2008


F<br />

U<br />

T<br />

U<br />

R<br />

E<br />

S<br />

C<br />

O<br />

P<br />

E<br />

• Multiple tool detection<br />

• Updating motion parameters<br />

Indian<br />

Statistical<br />

Institute<br />

August 2008


R<br />

E<br />

F<br />

E<br />

R<br />

E<br />

N<br />

C<br />

E<br />

S<br />

Indian<br />

Statistical<br />

Institute<br />

August 2008<br />

• Andrew Blake, Michael Isard and David Reynard, Learning<br />

to track curves in motion, 1994 IEEE<br />

• Andrew Blake and Michael Isard, Active Contours, Springer<br />

• Michael Isard and Andrew Blake. Contour tracking by<br />

stochastic propagation of conditional density, 1996<br />

• Andrew Blake and Michael Isard, 3D position, attitude and<br />

shape input using video tracking of hands and lips, Robotics<br />

Research Group, University of Oxford.<br />

• David Reynard, Andrew Wildenberg, Andrew Blake and John<br />

Merchant, Learning Dynamics of Complex Motions from<br />

Image Sequences, 1996<br />

• A. Blake, M.Isard and D.Reynard, Learning to track the visual<br />

motion of contours, Artificial Intelligence, 1995.<br />

• DataSource: www.video.google.com<br />

• Michael Isard and Andrew Blake, Condensation-Conditional<br />

Density Propagation for Visual Tracking, International Journal<br />

of Computer Vision, 1998.<br />

• Craig, Introduction To robotics, Addison Wesley.<br />

• J. Canny, A Computational Approach to Edge Detection,


Thank You

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

Saved successfully!

Ooh no, something went wrong!