Object Tracking System
Object Tracking System
Abstract
Most sensing applications require some form of digital signal processing. This processing can be performed on
an FPGA rather than a microprocessor or DSP. While real-time tracking and processing is achievable on serial
processors, it can be beneficial to take advantage of the parallelism, low cost, and low power consumption
offered by FPGAs. The design and implementation of a real-time object tracking algorithm on an FPGA focuses
on minimising resource utilisation to allow functionality of the application that uses the tracking information to
be added. The effectiveness of this approach is demonstrated through an interactive arcade-style game that
allows the user to manipulate the game environment in real time. The game effectively simulates any application
that may use the information derived from sensing and tracking for control purposes, and illustrates the
effectiveness of an FPGA based solution.
Introduction
66
2.2
Image capture
2.3
2.1
Environment
67
0.299
0.587
0.114
U =
V
0.169
0.331
0.500
0.500
0.419
0.081
(1)
2.5
1
4
1
4
1
2
1
2
1
2
1
4
1
2
(2)
(3)
2.4
Colour thresholding
U
V
< U max and Vmin <
< Vmax
Y
Y
1
4
(5)
(4)
68
2.6
Morphological filtering
This filter will remove any pixel labels that are not
part of a group of pixels in a square four element
window. This was found to be sufficient to remove
most of the noise provided the environment lighting,
image capture sub-system (including aperture) and
colour thresholds have been defined appropriately
(see section four).
2.7
Bounding box
Results
69
39
39
Logic
LUT
Flip
Flops
Block
RAM
111
25
124
78
15
147
5
76
19
12
123
10
360
4704
385
4704
2
14
4.2
DSP
clock
cycles
4
8
6
4.3
4
6
28
Discussion
4.4
4.1
Noise
Normalisation
Tracking information
Lighting
4.5
Cost
70
Applications
Acknowledgements
References
Summary
71