Professional Documents
Culture Documents
A Compact Portable Object Tracking System
A Compact Portable Object Tracking System
Abstract - Computer vision and object tracking are systems, while the second gives a brief background of the
becoming increasingly more important with a wide variety of object tracking algorithms that were used in this work.
applications in our daily life. Most of the available tracking
systems are not compact enough to be mounted on small A. Commercial off The Shelf (COTS) Tracking Systems
ground or aerial robots. Also, most of these systems are Moog quickset has a video tracking system (Model 7-
relatively expensive. The tracking system presented in this 08625)[1] that is designed to track boats, aircrafts, vehicles
work is a compact low cost system which makes it suitable for
and people. Its algorithm has been modified for the tracking
weight sensitive applications. The proposed system is a
commercial off the shelf android-based mobile device that is
of these objects in the sky or on water. This comes at the
mounted on a pan/tilt gimbal. The system utilizes the camera expense of extra complexity, weight and cost.
and the processor of the mobile device to capture and process In order to achieve this, two high end cameras positioned
video frames. The tracking algorithm is a newly modified on a quickset pan/tilt base were used. One of which is a
algorithm that combines three well known algorithms: SURF, thermal camera and the other is a visible camera, both are
CAMShift, Lucas-Kanade. Each of these algorithms is connected to a PC through a video tracking server/power
deployed at a different stage of the tracking process which
and controlled via a rugged joystick connected to the PC.
yields a reliable real-time tracking system. The newly modified
Fig.1, illustrates the system [1].
tracking algorithm was developed using OpenCV within an
Android environment. An indoor lab experimental test showed
that the system was able to track a (3cm x 5cm) object moving
at a speed of 133cm/sec and placed 50 cm away from the
system.
B. Tracking Algorithms
To perform video tracking we need to get sequential
video frames and process them using a tracking algorithm
which analyzes the movement of the object of interest
between the sequential frames. There are two major
requirements that a visual tracking system has to satisfy:
identifying the object and its location, as well as filtering
any undesired elements. Several tracking algorithms have
been developed, each one has strengths and weaknesses,
depending on its use case.
Fig. 3. High Level Hardware Design
SURF [3] (Speeded Up Robust Features) is a tracking
algorithm that is categorized as a feature matching
algorithm. It is one of the most reliable algorithms in this
category [4]. SURF selects interest points of an image, and
then builds local features based on histograms of gradient- With a frame rate of 30 frames per second, the system
like local operators. However SURF consumes a lot of can track a mid-speed moving object. The phone processor
system resources, which makes it inapplicable for real time will handle the entire image processing needed for the
tracking with limited resources. tracking system. The phone processor is an Arm Cortex A9
CAMShift (Continuously Adaptive Mean Shift) [5] is a Dual Core Processor clocked at 1.2 GHz.
tracking algorithm that is categorized as a Kernel-based The actuation function of the system is implemented via
tracking algorithm [6]. This matching algorithm works on an Arduino Uno [8] microcontroller communicating serially
similarities between frames based on color histograms. The with the phone. The microcontroller will control a
algorithm does not consume system resources, which makes mechanical gimbal composed of two servo motors that will
it suitable for real time tracking. On the other hand, be responsible for moving the entire tracking system setup.
CAMShift cannot be used for shape detection. Also due to Fig.4, illustrate the pan/tilt gimbal setup, while Fig.5
changes in lighting CAMShift may lose track of the desired demonstrates the electrical circuit design.
object.
Another known algorithm is Lucas Kanade. It is an
optical flow algorithm [7]. This algorithm keeps tracking of
object edges between frames. Lucas Kanade algorithm does
not consume a lot of resources for low detailed
backgrounds. However, in order to keep locking the object
in a high detailed background, it will require additional error
computations and filtering.
Using the dimensions and position of the bounding Fig. 11. Lucas Kanade working in parallel with the CAMShift algorithm
rectangle, a ROI (Region of Interest) will be extracted from
the current frame. A mask is created based on the extracted 5) In each frame the distance from the center of the
ROI which will isolate the object, create an image out of it ROI and the center of the frame is calculated (X, Y), see
and cover all of the undesired elements in the frame. This Fig.11. The X and Y values found in this step are sent to the
step is illustrated in Fig.9. microcontroller through a serial link.
6) The Arduino microcontroller receives the X and
Y values and scales each of them to an angle between 0 and
180 degrees. These angle values will be later converted to
Pulse Width Modulation (PWM) signals to control the
rotation angles of the two servo motors of the gimbal.
IV. EXPERIMENTAL SETUP AND RESULTS
In order to compare the newly developed algorithm with
existing algorithms a test setup has been created in the
Fig. 9. Creating a mask based on the extracted ROI physics lab. A tilted bar with an air cushion is used to slide
the desired object on top of the tilted bar, see Fig.12. The
The isolated image is converted into HSV color space, tracking system is placed 50 cm away from the setup. As the
which will be used to calculate the object’s histogram as object slides down, the algorithm’s ability to keep track of
shown in Fig.10. The histogram is used to calculate the the object is monitored. Multiple tests with different speeds
mean value of the colors in the isolated image. The mean have been performed. The setup has a limitation on the
value is then used by the CAMShift algorithm to maintain maximum speed, which was 4.7 Km/h.
lock on the object.
V. CONCLUSION
In this paper we have presented a compact object
tracking system. The system utilized the image processing
and computing power of commercial smart phones along
with servo motors and an Arduino microcontroller unit. The
system uses a new algorithm to acquire lock and keep track
of the target object. The algorithm uses SURF to acquire
lock on the target, and then uses a hybrid of Lucas Kanade
and CAMShift to keep track of it. As can be seen the new
algorithm has the best time to acquire the lock on the target
because it uses SURF, and it efficiently keeps track of the
object as it accelerates as it uses CAMshift and Lucas–
Kanade for this purpose.