X - Webdocs Cs Ualberta
X - Webdocs Cs Ualberta
X - Webdocs Cs Ualberta
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