Professional Documents
Culture Documents
M. Usman Butt
10 July, 2012
Department of Electrical and Computer Engineering
Introduction
Digital video cameras
o Single camera
o Multiple cameras
Stereo cameras
3D information
Segmentation
Illumination
Shadow
Occlusion
Objectives
To propose a novel solution for robust object
detection and tracking using 3D (depth) information
and other features, if necessary, such as texture,
edges etc.
To design and develop a program implementing the
scheme.
To investigate and identify the problems for realtime implementation of the scheme for object
detection and tracking.
To develop the scheme on an FPGA or a GPU
platform for real-time implementation.
To evaluate and validate the performance of the
system by comparing with existing state-of-the-art
systems.
Previous Work
Stereo with:
o Intensity and binary template
(Beymer et al., Frame-rate, 1999)
My Approach
Only 3D information from a high resolution disparity map
generated by implementation of Symmetric Dynamic
Programming Stereo (SDPS) algorithm on FPGA
Object detection from SDPS disparity map
Tracking using the Kalman filter
Assumptions
A suitable background disparity map is available
Objects of interest can be any rigid (e.g. vehicles) or non-rigid (e.g.
human) object, but object sizes must lie in a pre-defined range
Each tracked object first appears as an isolated object and moves
upright
Object speed is less than 10 m s-1 (Olympic sprinter) for human
tracking
The ground plane is basically flat and fixed
Cameras are tilted at fixed angle to the ground plane
Sphere
Major Drawback
o Streaking artefacts
Disparity map
Contours
CFo
V
Rcamera
R
image
L
image
Lcamera
SDPS
Algorithm
(FPGA or
GPU)
Disp
map
Occl
map
Threshold from ds to
dmin
Initializ
e&
update
position
Kalman
Filter
List of
Predicted
contours
in RW
Construct
Predicted
(Translated
Objects) disp
map
List of
Predicted
contours in
prev frame
(k-1)
Previo
us list
=
current
list
Predicted
disp map
CFo
V
Rcamera
R
image
L
image
Lcamera
Disp
map
SDPS
Algorithm
(FPGA)
Occl
map
Threshold from ds to
dmin
Initializ
e&
update
position
Kalman
Filter
List of
Predicted
contours
in RW
Construct
Predicted
(Translated
Objects) disp
map
List of
Predicted
contours in
prev frame
(k-1)
Previo
us list
=
current
list
Predicted
disp map
CFo
V
Rcamera
R
image
L
image
Lcamera
Disp
map
SDPS
Algorithm
(FPGA)
Occl
map
Threshold from ds to
dmin
objects
Initializ
e&
update
position
Kalman
Filter
List of
Predicted
contours
in RW
Construct
Predicted
(Translated
Objects) disp
map
List of
Predicted
contours in
prev frame
(k-1)
Previo
us list
=
current
list
Predicted
disp map
CFo
V
Rcamera
R
image
L
image
Lcamera
Disp
map
SDPS
Algorithm
(FPGA)
Occl
map
Threshold from ds to
dmin
objects
Initializ
e&
update
position
Kalman
Filter
List of
Predicted
contours
in RW
Construct
Predicted
(Translated
Objects) disp
map
List of
Predicted
contours in
prev frame
(k-1)
Previo
us list
=
current
list
Predicted
disp map
After MOO
MOO
CFo
V
Rcamera
R
image
L
image
Lcamera
Disp
map
SDPS
Algorithm
(FPGA)
Occl
map
Threshold from ds to
dmin
objects
Initializ
e&
update
position
Kalman
Filter
List of
Predicted
contours
in RW
Construct
Predicted
(Translated
Objects) disp
map
List of
Predicted
contours in
prev frame
(k-1)
Previo
us list
=
current
list
Predicted
disp map
CFo
V
Rcamera
R
image
L
image
Lcamera
Disp
map
SDPS
Algorithm
(FPGA)
Occl
map
Threshold from ds to
dmin
objects
Initializ
e&
update
position
Kalman
Filter
List of
Predicted
contours
in RW
Construct
Predicted
(Translated
Objects) disp
map
List of
Predicted
contours in
prev frame
(k-1)
Previo
us list
=
current
list
Predicted
disp map
CFo
V
Rcamera
R
image
L
image
Lcamera
Disp
map
SDPS
Algorithm
(FPGA)
Occl
map
Threshold from ds to
dmin
objects
Initializ
e&
update
position
Kalman
Filter
List of
Predicted
contours
in RW
Construct
Predicted
(Translated
Objects) disp
map
List of
Predicted
contours in
prev frame
(k-1)
Previo
us list
=
current
list
Predicted
disp map
d-x
Contours
CFo
V
Rcamera
R
image
L
image
Lcamera
Disp
map
SDPS
Algorithm
(FPGA)
Occl
map
Threshold from ds to
dmin
objects
Initializ
e&
update
position
Kalman
Filter
List of
Predicted
contours
in RW
Construct
Predicted
(Translated
Objects) disp
map
Predicted
disp map
List of
Predicted
contours in
prev frame
(k-1)
Previo
us list
=
current
list
Tracki
ng
CFo
V
Rcamera
R
image
L
image
Lcamera
Disp
map
SDPS
Algorithm
(FPGA)
Occl
map
Threshold from ds to
dmin
objects
Initializ
e&
update
position
Kalman
Filter
List of
Predicted
contours
in RW
Construct
Predicted
(Translated
Objects) disp
map
Predicted
disp map
List of
Predicted
contours in
prev frame
(k-1)
Previo
us list
=
current
list
Tracki
ng
CFo
V
Rcamera
R
image
L
image
Lcamera
Disp
map
SDPS
Algorithm
(FPGA)
Occl
map
Threshold from ds to
dmin
objects
Initializ
e&
update
position
Kalman
Filter
List of
Predicted
contours
in RW
Construct
Predicted
(Translated
Objects) disp
map
Predicted
disp map
List of
Predicted
contours in
prev frame
(k-1)
Previo
us list
=
current
list
Tracki
ng
CFo
V
Rcamera
R
image
L
image
Lcamera
Disp
map
SDPS
Algorithm
(FPGA)
Occl
map
Threshold from ds to
dmin
objects
Initializ
e&
update
position
Kalman
Filter
List of
Predicted
contours
in RW
Construct
Predicted
(Translated
Objects) disp
map
Predicted
disp map
List of
Predicted
contours in
prev frame
(k-1)
Previo
us list
=
current
list
Tracki
ng
CFo
V
Rcamera
R
image
L
image
Lcamera
Disp
map
SDPS
Algorithm
(FPGA)
Occl
map
Threshold from ds to
dmin
objects
Initializ
e&
update
position
Kalman
Filter
List of
Predicted
contours
in RW
Construct
Predicted
(Translated
Objects) disp
map
Predicted
disp map
List of
Predicted
contours in
prev frame
(k-1)
Previo
us list
=
current
list
Tracki
ng
CFo
V
Rcamera
R
image
L
image
Lcamera
Disp
map
SDPS
Algorithm
(FPGA)
Occl
map
Threshold from ds to
dmin
objects
Initializ
e&
update
position
Kalman
Filter
List of
Predicted
contours
in RW
Construct
Predicted
(Translated
Objects) disp
map
Predicted
disp map
List of
Predicted
contours in
prev frame
(k-1)
Previo
us list
=
current
list
Tracki
ng
CFo
V
Rcamera
R
image
L
image
Lcamera
Disp
map
SDPS
Algorithm
(FPGA)
Occl
map
Threshold from ds to
dmin
objects
Initializ
e&
update
position
Kalman
Filter
List of
Predicted
contours
in RW
Construct
Predicted
(Translated
Objects) disp
map
Predicted
disp map
List of
Predicted
contours in
prev frame
(k-1)
Previo
us list
=
current
list
Tracki
ng
Tracking
Kalman Filter predicts the object position in the next frame
Adequate for simple linear model
Faster computationally simple
Predicted data helps to
o Identify heads cut off due to SDPS streaks
o Find missing objects (occluded or buried in noise) in the frame
Search in a small area around the predicted position for best match with
the template
X,m
Y,m
Z,m
Centroi
d
0.04
0.09
0.18
Feet
0.08
0.07
0.15
Head
0.05
0.04
0.14
Results
Scenario A
Results
Scenario A
Obsvd
Track
Pred
Track
X = 0.04
Y = 0.04
Z = 0.18
Results
Scenario B
Results
Scenario B
XA = 0.04
XB = 0.06
YA = 0.02
YB = 0.04
ZA = 0.12
ZB = 0.16
Results
Scenario C
Results
Scenario C
-2
A(Pred)
B(Pred)
A(X)
A(Pred_X)
B(X)
B(Pred_X)
-1
C(Pred)
0.2
0.1
Deviation(X) m 0.0
0
Xm
-0.1
-0.2
3
2
2
Zm
a)
A(Y)
B(Y)
C(Y)
A(Pred_Y)
B(Pred_Y)
C(Pred_Y)
Y m1
d
)B
Deviation(Y)
1
0
Frame #
-2
-2
-1
-1
0
Xm
30
25
A(Z )
b)
B(Z )
Deviation(Z)
Z m
15
10
Frame #
c)
0.2
0.1
m 0.0
-0.1
-0.2
e)
B(Pred_Z )
20
1.0
0.5
m 0.0
-0.5
-1.0
Frame #
f)
XA = 0.03
30
XB = 0.01
XC= 0.01
20
10
A
B
C
g)
Y Devition
15 YA = 0.03
YB = 0.03
10
XC = 0.03 B
C
0
-0.6-0.4-0.2 0.0 0.2 0.4 0.6
Frame #
A(Pred_Z )
X Devition
40
0
-0.6-0.4-0.2 0.0 0.2 0.4 0.6
Frame #
Frame #
h)
Z Devition
4
ZA = 0.19
ZB = 0.16 A
2
1
ZC = 0.13
B
C
0
-0.6-0.4-0.2 0.0 0.2 0.4 0.6
j)
Results
Results
Scenario D
Results
Scenario D
X = 0.04
Y = 0.03
Z = 0.18
Results
A Further Check For Precision
Height (Y),m
Actual
Measured
Subject A
1.70
1.64
0.05
Subject B
1.73
1.7
0.04
Subject C
1.77
1.59
0.21
Subject D
1.56
1.52
0.03
Results
Performance
Time, s
Background
Detection
subtraction
Scenario A
(Single
Person)
Scenario B
(Two People)
Scenario C
(Three People)
Tracking
(KF)
Total
0.4
11
0.03
12
0.5
32
0.08
33
0.6
56
0.12
57
Future Work