This is the slides for a paper presented in ICDM workshop in Vancouver-Canada 2011.
In the paper we describe a Camshift implementation on mobile robotic system for tracking and pursuing a moving person with a monocular camera. Camshift algorithm uses color distribution information to track moving object. It is computationally efficient for working in real-time applications and robust to image noise. It can deal well with illumination changes, shadows and irregular objects motion (linear/non-linear). We compared the Camshift with a HSV color based tracking and our results show that the Camshift method outperformed the HSV color based tracking. Moreover, the former method is much more robust against different illumination conditions.
Paper link:
http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=6137446&url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D6137446
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
Implementing Camshift on a Mobile Robot for Person Tracking and Pursuit_ICDM
1. IMPLEMENTING CAMSHIFT ON A
MOBILE ROBOT FOR
PERSON TRACKING AND PURSUIT
Somar Boubou, Asuki Kouno,
Einoshin Suzuki
Kyushu University, Japan
@LIMER 2011, Vancouver
2011, Dec 11th
1
2. OUTLINE
Objective and applications
Problem
Tracking approaches
Mean-shift and Camshift
Related work
Robot hardware and software
Experiments
Results
Discussion
2
3. OBJECTIVE
A Camshift implementation on mobile robotic
system for tracking and pursuing a moving person
with a camera.
Although researches are very promising, the
problem is still far away from being solved. 3
6. ASSUMPTIO
NS
CONSTRAINTS
DUE TO ON-
BOARD
IMPLEMENTATIO
N
Tracked person wears two wrist
bands on his both foots.
Person must be 2m far or less from
the robot, so it can clearly detect
him.
The system has :
• to be robust regarding external
noise (e.g., illumination,
background changes and low-
resolution camera input).
• a sufficient processing speed to
PROBLEM
6
7. Model-based tracking: Where the geometric structure
of a human body can be represented as 2D or 3D model.
Region-based tracking: Considers the human body
as a combination of some blobs, representing various body
parts.
Active-contour-based tracking: Aims at directly
extracting the shape of the subjects by a representation of
the bounding contour of the object and keeps dynamically
updating it.
Feature-based tracking: Abandons the idea of
tracking objects as a whole, this tracking approach uses
TRACKING
APPROCHES
[Liang Wang 2002]
7
8. MEAN-SHIFT
Introduced by Y. Cheng. in “Mean Shift, Mode
Seeking, and Clustering” PAMI 1995.
Mean-shift algorithm
climbs the gradient of a
probability distribution to
find the nearest peak.
8
10. MEAN-SHIFT
Reference data set
Query point
Center of Mass
x
h
xx
k
h
xx
kx
xm
n
i
i
i
n
i
i
1
2
2
1
'
'
)(
Mean shift vector with
kernel k
[Dorin Comaniciu 2000]
Convergence to
cluster center
1
11. CONTINUOUSLY ADAPTIVE MEAN-
SHIFT (CAMSHIFT) [GR Bradski. In1998]
Camshift is used for video sequence,
CAMSHIFT operates on a probability distribution
image derived from color histograms.
CAMSHIFT calculates the centroid of the 2D color
probability distribution within its 2D window of
calculation.
Re-centers the window, then calculates the area for
the next window size.
It differs from Mean-shift: Search window adjusts its
size dynamically.
11
12. FLOW CHART OF PROPPOSED
METHOD
Camshift-based tracking
method
Frame Hue Backprojecti
on
ROIs Tracking
Threshol
dHistogra
m
cf. HSV-based tracking use only threshold to define
1
13. RELATED WORK
[Fhed 2009]: People Tracking via a Modified Camshift
Algorithm
Fixed platform with static background
[Simon 2009]: Most Salient Region Tracking
Manual initialization by selecting a rectangle around the
target of interest
[Feyrer 1999]: Detection, Tracking, and Pursuit of
Humans with an Autonomous Mobile Robot
Used HSI color model combined with motion and contour
information for person detection.
[Saravanakumar 2011]: Multiple Object Tracking Using
HSV Color Spaces
1
14. OUR WORK
System Initialization and Detection
Human detection aims at segmenting regions
corresponding to people from the rest of the image.
Tracking and pursuit
Tracking over time typically involves matching objects in
consecutive frames using features such as points, lines or
blobs.
Originality: Implementing CAMSHIFT for real robot.
1
15. ①SYSTEM INITIALIZATION AND
DETECTION
Converts the sequence of images into
backprojection images.
First robot loads the saved
wearable mark template, analyses
it then creates the target
histogram.
Use mean-shift to define ROIs (Region Of Interest)
we used Camshift to detect the wearable marks
coordinates (u, v).
1
16. α
Go Forward
Turn Right
Turn
Left
𝟓
𝟖
× 𝑼 𝒄𝒐𝒈 − 𝑼 𝒄𝒆𝒏𝒕𝒆𝒓
millisec
Stabilization
range
Action
range
We use the ROI’s windows
defined during detection step to
initialize Camshift instants
used for tracking the wearable
marks.
②TRACKING/ PURSUIT
W : Image width.
FOV : Field of View. FOV
𝑈 𝑎 = α ×
𝑊
𝐹𝑂𝑉
1
17. ROBOT
HARDWARE 6 Touch
sensors
8 IR sensors
USB camera
USB camera
IR sensors
Touch sensors
PandaBoard
Arduino LED unit
Motors
Input MPUs Output
PandaBoard
• 1GHz CPU
• 1GB Memory
• 16 GB SDHC
card
Arduino
• 16 MHz
• 8 KB memory
The two independent components exchange information via a fast inter
process serial communication. 1
18. ROBOT SOFTWARE AND
CONTROLLER PROGRAM
DIAGRAM
The diagram to the right
explains the controller
initialization and
Initialize camera
input
If object
template
new
Load object
template
Find Object/s
Select object
Save object template
Track
object/s
Start
End
Main controlling algorithms, for both
PandaBoard and Arduino board,
are written using C language.
We also implemented
Camshift algorithm,
which is publicly
available from openCV
library.
Ye
s
No
1
19. Wearable marks (i.e., Wrist bands) with size 6 × 8cm.
Variables manual calibration of camshift parameters:
Hue (27 < H < 32).
saturation (100 < S < 255).
Value (200 < V < 255).
10 experiments for each method
where robot pursuit a person
walking inside an office in
approximate path of 11.25 meter
length with average speed of
14cm/sec.
EXPERIMENTAL CONDITIONS
1
20. DESIGN OF THE EXPERIMENTS
We compared Camshift with a HSV color based
tracking methods by evaluating the performance of
the robot in two levels:
Visual tracking.
Robot pursuit performance.
Also we compared execution
time for both methods:
• Camshift (363 milisecond)
• HSV (297 millisecond)
Two frames continuous miss-track
21. EXPEREMINTAL RESULTS
As figure shows Camshift is more robust and stable
since the variance of its results is smaller.
Temporal distribution of tracking failures affects
pursuit performance
0%
20%
40%
60%
80%
100%
Visual tracking Pursuit
Successrate
Camshift
HSV-based tracking
2
22. DISSCUSSION
Although, Camshift method is computationally
slower, it outperformed the HSV color based
tracking.
Camshift method is much more robust against
different illumination conditions.
Both methods show better tracking results with
larger targets (e.g., tracking the T-shirt or trousers).
2
During the experiments we realized that the HSV
color based method had serious difficulties in the
first part of our path.
Good afternoon every one,
My name is Somar Boubou from Kyushu university Japan
and Today I’ll present my work titled “Implementing Camshift on a Mobile Robot for Person Tracking and Pursuit”
Co-authors are Asuki Kouno and my supervisor Einoshin Suzuki.
At first let’s see the outlines of this presentation.
I’ll start by Introduction and applications, Problem statement, followed by an overview of tracking algorithms and related work, Then I’ll explain the hardware and the software of the robot with our implemented method.
At the end I’ll present the experiments, the results and the discussion.
A Camshift implementation on mobile robotic system for tracking and pursuing a moving person with a monocular camera.
Although researches are very promising, the problem is still far away from being solved.
museum guidance, hospital assistance, or socially assistive robot.
-Model-based tracking.
Where the geometric structure of a human body can be represented as stick figure, 2-D contour or volumetric model. So body segments can be approximated as
lines, 2-D ribbons and 3-D volumes accordingly.
-Region-based tracking.
Considers the human body as a combination of some blobs, representing various body parts such as head, torso and four limbs.
-Active-contour-based tracking.
Aims at directly extracting the shape of the subjects. The idea is to have a representation of the bounding contour of the object and keep dynamically updating it over
time.
-Feature-based tracking
Abandons the idea of tracking objects as a whole, this tracking approach uses features such as distinguishable points or lines on the object to realize the tracking task.
In mean-shift you have what’s known as reference data set. It’s the data set which you want to cluster (mean shift is a clustering algorithm)
Another data set known as query data set. This correspond to the data set of coordinates that you would like to assign to cluster center.
The way that mean shift is works as follows.Suppose that the red plus sign is your query data point. Then you draw a circle around it.
Then compute center of mass in that circle shown by green plus sign.
Then compute What is known the mean shift vector which basically follows the gradient of the density function.
Then we shift the query point to the green plus sign.
If we look to the formula of meanshift vector it looks a lot like kernel density estimation formula.
K is divertive from kernel function
Repeat until converge to class center
When tracking a colored object, CAMSHIFT operates on a color probability distribution image derived from color histograms. CAMSHIFT calculates the centroid of the 2D color probability distribution within its 2D window of calculation, re-centers the window, then calculates the area for the next window size. Thus, we needn’t calculate the color probability distribution over the whole image, but can instead restrict the calculation of the distribution to a smaller image region surrounding the current CAMSHIFT window. This tends to result in large computational savings when flesh color does not dominate the image. We refer to this feedback of calculation region size as the Coupled CAMSHIFT algorithm.
Histogram intersection is scale variant
In vision-based tracking field, Camshift algorithm has already been used for face-tracking. It is, however, not reported to be successfully used for a person tracking on-board. Although modified Camshift was implemented by Fhed et. al. [6] for a fixed platform with static background to track people indoor, we are the first to implement Camshift for mobile robots.
Simon et. al. [7] suggested a new MSR tracker method for finding salient regions of tracked objects. They claim that suggested method is applicable to track different kinds of objects without adjusting parameters. However it needs a manual initialization by selecting a rectangle around the target of interest. They also claimed that the system provides all conditions which are necessary to use it on mobile robots. However experiments were never done on physical robots.
[Feyrer 1999] presents a system which is able to visually detect human faces, to track them by controlling a robot head, and to pursue a detected person by means of driving movements. They used HSI combined with motion and contour information for person detection.
An example of implementing HSV on a fixed platform for multiple object tracking is introduced by [Saravanakumar 2011].
The upper half of Figure shows that visual field of the robot is divided into three ranges. Each range, the rightmost and leftmost range is defined as action range of angle . The remaining range in the middle is called a stabilization range. The frame in Figure 2 is divided into three areas corresponding to the three ranges represented in the visual field of the robot. Those three areas of the frame are defined by widths Ua and Us.where W is set to be 360 pixel, is set to 40 and FOV have a mean 112 and variance 2. Simple rules were applied for the pursuit processing. Firstly, COG (Center of Gravity) of tracked multi-targets is calculated. Secondly, Robot keeps moving forward to pursuit detected human while COG stays in stabilization range and turns right or left if COG moved to one of the action ranges. Turning duration depends on the horizontal distance between COG and the frame center
This decoupled architecture allows us to achieve a fast image processing even during quick movements of the person, while the second component is able to independently control output units and read sensors data in an appropriate processing frequency.
The size of the robot is 20 22 10 centimeter
Ubuntu 10.10 is installed on the PandaBoard. Main controlling algorithms, for both PandaBoard and Arduino board, are written using C language. We also implemented Camshift algorithm, which is publicly available from openCV library, for tracking. Arduino board program is responsible for controlling motors and receiving sensor signals while PandaBoard program is responsible for image processing. Figure shows a diagram of the controlling program on PandaBoard.
It’s clearly shows that Camshift is much more appropriate to be implemented for robotics tracking and pursuit application compared to the HSV color based method.
(Since the first part is near the window, we think that sunlight reflected on the metal surfaces could be responsible about that, but more detailed experiments are needed to prove it.)