HUMAN BODY TRACKING BASED ON PROBABILITY
EVOLUTIONARY ALGORITHM
Shuhan Shen, Weirong Chen
School of Electrical Engineering, Southwest Jiaotong University, Chengdu, China
Keywords:
Tracking, Human Tracking, Probabilistic evolutionary algorithm.
Abstract: A novel evolutionary algorithm called Probability Evolutionary Algorithm (PEA), and a method based on
PEA for visual tracking of human body are presented. PEA is inspired by the Quantum computation and the
Quantum-inspired Evolutionary Algorithm, and it has a good balance between exploration and exploitation
with very fast computation speed. The individual in PEA is encoded by the probabilistic compound bit,
defined as the smallest unit of information, for the probabilistic representation. The observation step is used
in PEA to obtain the observed states of the individual, and the update operator is used to evolve the
individual. In the PEA based human tracking framework, tracking is considered to be a function
optimization problem, so the aim is to optimize the matching function between the model and the image
observation. Then PEA is used to optimize the matching function. Experiments on synthetic and real image
sequences of human motion demonstrate the effectiveness, significance and computation efficiency of the
proposed human tracking method.
1 INTRODUCTION
With the fast developments of computer science and
technology, visual analysis of human motion in
image sequences interests more and more
researchers from both laboratory and industry.
Human motion analysis has many potential
application areas such as intelligent visual
surveillance, advanced human-computer interface,
virtual reality, etc. Human tracking is a particularly
important issue in human motion analysis. How to
track human accurately and fast is a challenging task,
and it has been a popular topic in the research of
computer vision.
Tracking can be considered to be equivalent to
establishing coherent relations of image features
between frames with respect to position, velocity,
shape, texture, color, etc (Hu et al., 2004). Tracking
can be divided into region-based tracking
(Haritaoglu et al., 2000; Collins et al., 2000), feature
-based tracking (Breit et al., 2003), active-counter
-based tracking (Zhong et al., 2000; Paragio et al.,
2000), and model-based tracking. Model-based
tracking can provide abundant information of human
motion, but the increasing of subparts of the human
model would potentially incur high dimensionality
and make tracking a difficult task. To solve the
problem, many approaches have been investigated.
Gavrila et al. (Gavrila et al., 1996) split human
model into torso-head and limb partitions, and then
matching is implemented in the partitioned search
space. The Pfinder developed by Wren et al. (Wren
et al., 1997) employ a multi-class statistical model of
color and shape to obtain a 2D representation of
head and hands in a wide range of viewing
conditions. Isard et al. (Isard et al., 1998) propose
Condensation algorithm, which is a conditional
density propagation method for visual tracking.
Condensation is a useful approximate method for
nonlinearity and non-gaussianity posterior
probability within the Bayesian framework.
Condensation has various versions, and these
algorithms have been widely used now. Deutscher et
al. (Deutscher et al., 2001) present an Annealed
Particle Filtering (APF) method combined with
hierarchical search strategy and crossover operator.
Wu et al. (Wu et al., 2003) proposed a tracking
approach using mean field Monte Carlo (MFMC)
algorithm. In the approach, the subparts of human
model are considered to be independent and a set of
low dimensional particle filters interact with each
other to solve the high dimensional problem
collaboratively. Zhao et al. (Zhao et al., 2003)
303
Shen S. and Chen W. (2006).
HUMAN BODY TRACKING BASED ON PROBABILITY EVOLUTIONARY ALGORITHM.
In Proceedings of the First International Conference on Computer Vision Theory and Applications, pages 303-309
DOI: 10.5220/0001362603030309
Copyright
c
SciTePress
employ a 3D elliptical human model and segment
human body in crowed situations using Data-Driven
Markov Chain Monte Carlo (DDMCMC) algorithm.
In their further work (Zhao et al., 2004), Markov
chain Monte Carlo (MCMC) was used to tracking
segmented human in sequences.
Different from using particle filters within the
Bayesian framework, human tracking is considered
to be a function optimization problem in this paper,
so the aim is to optimize the matching function
between the model and the observation. Function
optimization is a typical application area of Genetic
Algorithms (GAs), but canonical genetic algorithms
is hard to be used here due to the high
dimensionality of human model and the requirement
of computation speed. In this paper, we present a
novel evolutionary algorithm called Probability
Evolutionary Algorithm (PEA) which is inspired by
the Quantum computation (Nielsen et al., 2000; Hey,
1996) and Quantum-inspired Evolutionary
Algorithm (QEA) (Han et al., 2002; Kim et al.,
2003), and then the PEA based human body tracking
is proposed in which PEA is used to optimize the
matching function. PEA has a good balance between
exploration and exploitation with very fast
computation speed, and it is suitable for human
tracking and other real-time optimization problems.
The rest of the paper is organized as follows.
Section 2 contains the Probabilistic Evolutionary
Algorithm (PEA). Section 3 describes the PEA
based human body tracking. Section 4 shows the
experimental results of our proposed tracking
algorithm. Finally, the conclusion follows in section
5.
2 PROBABILISTIC
EVOLUTIONARY ALGORITHM
Probabilistic Evolutionary Algorithm (PEA) is
inspired by the Quantum computation and the
Quantum-inspired Evolutionary Algorithm (QEA).
QEA is characterized by the representation of
quantum-bit, the observation step and the update
step with quantum gate. QEA performs well in the
function optimization and the knapsack problems.
For the full details of QEA, one can peruse Ref.
(Han et al., 2002; Kim et al., 2003). Considering that
QEA has only two observed states (0,1), it is more
suitable for the problem use binary coding than
multi-nary coding. Although multi quantum-bit can
be used to obtain multi observed states, this need to
use multi quantum gate which is extraordinarily hard
to design, and this shortcoming confines the
application area of QEA (Nielsen et al., 2000; Hey,
1996). To overcome the disadvantage, we present
the probability evolutionary algorithm (PEA).
2.1 The Individual’s Representation
in PEA
In PEA, the individual is encoded by the
probabilistic superposed bit, which is defined as the
smallest unit of information in PEA, as below.
Definition 1: A probabilistic superposed bit is a
vector that consists of the observation probabilities,
as:
1,
10
1
0
=+++
k
k
ppp
p
p
p
L
M
(1)
Where P
0
, P
1
, … P
k
give the probability that a
probabilistic superposed bit will be observed in the
‘0’ state, the ‘1’ state, …, and the ‘k’ state,
respectively. So a probabilistic superposed bit is a
linear superposition of the states 0 to k.
In PEA, an individual is defined as a string of the
probabilistic superposed bits. The individual is no
longer a deterministic state, but a linear
superposition of all kinds of states.
Definition 2: An individual p is a string of m
probabilistic superposed bits, as:
mjppp
ppp
ppp
ppp
j
k
jj
m
kkk
m
m
,,2,1,1,
10
21
1
2
1
1
1
0
2
0
1
0
KL
L
MMM
L
L
==+++
=p
(2)
Where m is the length of the string. A PEA
individual can represent a linear superposition of
(k+1)
m
deterministic states probabilistically. For
example: for an individual with m=3 and k=9, the
probability to represent the state “123” is
p
1
1
×p
2
2
×p
3
3
, and the probability to represent the state
“709” is p
7
1
×p
0
2
×p
9
3
, etc. In the initialization of the
individual, all p
i
j
,i=0,1,…,k, j=1,2,…,m, are set to
1/(k+1), so the initial individual represents the linear
superposition of all possible states with the same
probability.
2.2 The Observation in PEA
The individual p in PEA can’t be used in the fitness
function directly, and an observation step should be
used to get the observed individual s. For p with
length m, it’s observed individual s=[s
1
,s
2
,…,s
m
],
VISAPP 2006 - MOTION, TRACKING AND STEREO VISION
304
where s
i
(i=0,1,…,m) is a deterministic k-nary value
and s is a deterministic k-nary string.
For the i-th probabilistic superposed bit [p
0
p
1
p
k
]
T
in p, its observed value s
i
is obtained by the
following step. First, a random number r is
generated from the range [0,1]. Second, if P
0
+…+
P
v-1
<r< P
v
+…+ P
k
, s
i
is set to v.
Figure 1 shows an example of the observation
step when k=4, r=0.6 and the i-th probabilistic
superposed bit in p is [0.25, 0.125, 0.375, 0.125,
0.125]
T
, here the observed value is s
i
= 2.
Figure 1: Observation.
2.3 The Update in PEA
The update operator is the only evolutionary
operator in PEA which can increase the observation
probabilities of some states, and decrease the
observation probabilities of some other states, in
order to make the high fitness state be observed
more likely.
Let s be the observed individual of p, and b be
the best solution of p at current generation. The
update value Δp of the i-th probabilistic superposed
bit [p
0
p
1
p
k
]
T
in p can be formed from s and b, and
it can be found in Table 1.
s
i
=b
i
f(s)f(b) Δp
false false δ
true true 0
false true 0
true false 0
The update process is described in equation 3.
Δ+
Δ
ppp
ppp
ii
ii
bb
ss
(3)
Considering that the observation probability can
not be negative, and to ensure the decreased
probability will not attenuate too fast, we make the
change value δ adaptively change according to the
decreased observation probability, as:
10, <<×= dpd
i
s
δ
(4)
Where d is the update rate that controls the
convergence speed of PEA. A bigger d leads a rapid
convergence speed but a rough search in the search
space, a smaller d has the opposite effect.
Figure 2 shows an example of the update step
when k=4, s
i
=2, b
i
=0 and Δp=0.05, here p
2
decrease,
p
0
increase, p
1
, p
3
and p
4
have no change.
Figure 2: Update.
2.4 The Procedure of PEA
The procedure of PEA is described in the following.
Begin
t0
Initialization: Initialize population P(0)
Observation: Obtain the observed population S(0)
by observing P(0)
Evaluation: Calculate the fitness of the observed
individuals in S(0)
Store: Store S(0) into B(0)
While Termination-condition = false
tt+1
Observation: Obtain the observed population S(t)
by observing P(t-1)
Evaluation: Calculate the fitness of the observed
individuals in S(t)
Update: Obtain the population P(t) by update
P(t-1)
Store: Store the best solution among B(t -1) and
S(t) into B(t), Store the best solution in B(t)
into gb
If Migration-condition = true
Migrate individuals in B(t) Locally or globally
End If
End While
End Begin
P(t) is the population, P(t)={p
1
t
,p
2
t
,…, p
n
t
}. p
j
t
is
the j-th individual at the t-th generation, where n is
the population size. In the initial population P(0), all
possible states in the search space should be
observed with the same probability.
Table 1: Lookup table of Δp, where f(·) is the fitness
function, s
i
and b
i
are the i-th bits of s and b,
ti l
HUMAN BODY TRACKING BASED ON PROBABILITY EVOLUTIONARY ALGORITHM
305
S(t) is the observed population,
S(t)={s
1
t
,s
2
t
,…,s
n
t
}. s
j
t
is the observed individual of
p
j
t
, and it is obtained by the observation step
described in section 2.2.
B(t) is the best solution population, B(t)=
{b
1
t
,b
2
t
,…,b
n
t
}. b
j
t
is the best solution of p
j
t
at the
t-th generation. gb is the global best solution. When
the local migration condition is satisfied, the best
solution among some of the solutions in B(t) is
migrated to them. When the global migration
condition is satisfied, the global best solution gb is
migrated to B(t).
Update operator generates the update position
and update value according to s
j
t
and b
j
t
, and evolves
p
j
t-1
to p
j
t
by the update step described in section 2.3.
3 PEA BASED HUMAN BODY
TRACKING
3.1 The Framework of PEA Based
Tracking
Different from tracking human using particle filters
within the Bayesian framework, tracking is
considered to be a function optimization problem in
this paper. We denote the human model by X, and
denote the observation associate with X by Z. The
function f(X,Z) represents the matching degree
between X and Z. Assume that we have known that
the model at time instance t-1 is X
t-1
, so the model X
t
at time instance t can be get by equation 5.
X
t
=X
t-1
+ΔX (5)
Here, ΔX is the change of the model X
t-1
. After
we get X
t
, the matching function f(X
t
,Z
t
) can be
calculated. Since X
t
is associated with ΔX, the
matching function can be written as:
f(X
t
,Z
t
) = g (ΔX) (6)
So tracking at time instance t is to optimize g
(ΔX) in ΔX’s search space. Generally, g (ΔX) is a
multi-modal function with many local best solutions,
and conventional optimization methods are difficult
to get the global best solution, so we use PEA to
optimize g (ΔX).
3.2 Search Strategy
Human model always has high dimensionality, and
search space partition is a useful strategy to change
the high dimensional problem into some low
dimensional problems and improve the matching
results (Gavrila et al., 1996; Deutscher et al., 2001;
Chen et al., 2005). Here we split the human model
into five partitions including the trunk-head partition
and four limb partitions. First, PEA is used to match
the trunk-head partition. Then, keeping the best
matched parameters of the trunk-head partition
constant, and PEA is used to math the four limb
partitions respectively.
In PEA based tracking, the model for the
previous frame only gives the initial position for the
current frame, so even if there are some matching
errors at the previous frame, the matching is easy to
be recovered in the following frames as long as the
search space of ΔX is enough.
3.3 Human Model
We employ a 10-part articulated human body model
which consists of 10 parts and each pairs of neighbor
parts are connected by the joint point, as shown in
Figure3.
Figure 3: 2D human body model.
The model has 10 joints, and the root joint is at
the middle bottom of the trunk. The root joint has 3
degrees, and each of the other 9 joints has 1 degree.
The model X can be written as:
X = {x, y, θ
1
, θ
2
, …θ
10
} (7)
Here, x and y represent the location of the root
joint, and θ
1
,θ
2
θ
10
represent the swiveling angles
of the 10 joints. ΔX can be written as:
ΔX={Δx, Δy, Δθ
1
, …Δθ
10
} (8)
Human motion is a gradually changed movement,
so ΔX can be limited in a logical small scope. This
scope can be learned or man-made. For example, Δx
and Δy are in the range [-19,19] (integral pixel),
θ
1
,θ
2
θ
10
are in the range [-29,29] (integral degree).
Apparently, ΔX is suitable for decimal encoding
here, so the initial PEA individual of the trunk-head
partition and that of the limb partitions are shown in
Figure 4 and Figure 5 respectively.
In the observation step, the probabilistic
superposed bits corresponding with Δx and Δy can
VISAPP 2006 - MOTION, TRACKING AND STEREO VISION
306
be observed as {0,1,…39}, and subtracting 20
from these values give the true values of Δx and Δy.
The probabilistic superposed bits corresponding with
θ
1
,θ
2
θ
10
can be observed as {0,1,…59}, and
subtracting 30 from these values give the true values
of θ
1
,θ
2
θ
10
.
Figure 4: Initial PEA individual of the trunk-head
partition.
Figure 5: Initial PEA individual of the limb partition.
Here, we have a comparison of PEA with QEA.
If we use QEA here, ΔX should be encoded in
binary. For the same range of ΔX mentioned above,
the lengths of QEA’s individuals for trunk-head
partition and limb partitions are 24 and 12
respectively, and those lengths of PEA’s individual
are 8 and 4 respectively. In PEA and QEA, the most
intensive computation is the observation and the
update for each bit in the individual, so the shorter
length of individual make PEA run much faster than
QEA.
4 EXPERIMENTAL RESULTS
Two image sequences are used here to demonstrate
the effectiveness of PEA. Sequence 1 is a synthetic
image sequence generated by Pose software which
consists of 100 frames. Sequences 2 is a real image
sequence which consists of 325 frames. The
observation Z is also an important factor in tracking.
Here we use two types of visual cues: edge and
intensity. We compared the tracking results from
PEA with Annealed Particle Filtering (APF). All the
algorithms run on a 2.4GHz PC without code
optimization.
4.1 Parameters Setting
In APF based tracking, 200 particles are used, and
the particles are annealed for 8 times.
In PEA based tracking, we test two population
sizes. The population sizes of PEA1 and PEA2 are
set to 1 and 4, respectively. In PEA2, the local
migration occurs every generation between each pair
of neighboring individuals, and the global migration
occurs every 100 generations. The maximum
number of generations is 200.
4.2 Results
Some tracking results of PEA and APF for sequence
1 and sequence 2 are shown in Figure 6 and Figure 7
respectively. The average computation time for one
frame of PEA and APF are shown in table 2.
Algorithm
Particles or
Population size
second/frame
APF 200 3.77s
PEA2 4 1.62s
PEA1 1 0.41s
The results show that the PEA based tracking
algorithm yields more stable results than APF, and
run much faster than APF.
In some frames, PEA1 has some matching errors,
this is because there is only one individual in the
population and the premature convergence is
happened sometimes. PEA2 generates very stable
results in all the experiments.
In the experiments we also found that, when the
population size is bigger than 10, the tracking result
can not be improved further, so we suggest that the
population size is set to 2 to 8 in applications in
order to get a balance between the tracking accuracy
and the computation time.
Table 2: Avera
g
e com
p
utation time for one frame.
HUMAN BODY TRACKING BASED ON PROBABILITY EVOLUTIONARY ALGORITHM
307
5 CONCLUSIONS AND FURTHER
WORK
Model-based human tracking is a challenging
problem, since the human model has high
dimensionality. Different from tracking human using
particle filters, we consider tracking to be a function
optimization problem, and a novel evolutionary
algorithm called Probabilistic Evolutionary
Algorithm (PEA) is proposed to optimize the
matching function between the model and the
observation. PEA has a good balance between
exploration and exploitation with very fast
computation speed. Experiments on synthetic and
real image sequences of human motion demonstrate
the effectiveness, significance and computation
efficiency of the PEA based human body tracking
algorithm.
This paper mainly concerned to 2D tracking, but
the PEA based tracking method is easy to be
extended to 3D tracking, and our further work is to
extend our algorithm to 3D and combine more
observed cues such as motion and color. Our further
work also includes the further improving of the
searching ability and the computation speed of PEA.
REFERENCES
Breit, H. and Rigoll, G., 2003. A flexible mulitimodel
object tracking system. In Proceedings of International
Conference on Image Processing.
Chen, R., Liu, G.Y., Zhao, G.Y., et al, 2005. 3D human
motion tracking based on sequential monte carlo
method. Journal of Computer-aided Design &
Computer Graphics, vol. 17, no. 1, pp. 85-92.
Collins, R.T., Lipton, A.J., Kanade, T., et al, 2000. A
system for video surveillance and monitoring.
Carnegie Mellon Univ., Pittsburgh, PA, Tech. Rep.,
CMU-RI-TR- 00-12.
Deutscher, J., Davidson, A. and Reid, I., 2001. Articulated
partitioning of high dimensional search spaces
associated with articulated body motion capture. In
IEEE Proceedings of International Conference on
Computer Vision and Pattern Recognition, Hawaii.
Gavrila, D. and Davis, L., 1996. 3D model based tracking
of humans inaction: A multiview approach. In IEEE
Proceedings of International Conference on Computer
Vision and Pattern Recognition, San Francisco,
California.
Han, K.H. and Kim, J.H., 2002. Quantum-Inspired
Evolutionary Algorithm for a Class of Combinatorial
Optimization. IEEE Trans. on Evolutionary
Computing, vol. 6, no. 6, pp. 580-593.
Haritaoglu, I., Harwood, D., and Davis, L.S., 2000. W
4
:
real-time survei llance of people and their activities.
IEEE Trans. on Pattern Analysis Machine Intelligence,
vol. 22, no. 8, pp. 809-830.
Hey, T., 1996. Quantum computing: An introduction.
Computing & Control Engineering Journal, vol. 10, no.
3, pp. 105-121.
Hu, W.M, Tan, T.N, Wang, L., and Maybank, S.J., 2004.
A survey on visual surveillance of object motion and
behaviors. IEEE Trans. on System Man and
Cybernetics, vol. 34, no. 3, pp. 334-351.
Isard, M. and Blake, A., 1998.
CONDENSATION-conditional density propagation
for visual tracking. vol. 29, no. 1, pp. 5-28,
International Journal of Computer Vision.
Kim, K.H., Hwang, J.Y., Han, K.H., et al, 2003. A
Quantum-Inspired Evolutionary Algorithm for disk
allocation method. IEICE Trans. on Information &
Systems, vol. 86, no. 3, pp. 645-649.
Nielsen, M.A. and Chuang, I.L., 2000. Quantum
Computation and Quantum Information, Cambridge
University Press. Cambridge.
Paragio, N. and Deriche, R., 2000. Geodesic active
contours and level sets for the detection and tracking
of moving objects. IEEE Trans. on Pattern Analysis
and Machine Intelligence, vol. 22, no. 3, pp. 266-280.
Wren, C., Azarbayejani, A., Darrell, T. and Pentland, A.P.,
1997. Pfinder: Real-Time Tracking of the Human
Body. IEEE Trans. on Pattern Analysis and Machine
Intelligence, vol. 19, no. 7, pp.780-785.
Wu, Y., Hua, G. and Yu, T., 2003. Tracking Articulated
Body by Dynamic Markov Network. In Proceedings
of the Ninth IEEE International Conference on
Computer Vision.
Zhao, T. and Nevatia, R., 2003. Bayesian Human
Segmentation in Crowded Situations. In IEEE
Proceedings of International Conference on Computer
Vision and Pattern Recognition.
Zhao, T. and Nevatia, R., 2004. Tracking Multiple
Humans in Crowded Environment. In IEEE
Proceedings of International Conference on Computer
Vision and Pattern Recognition.
Zhong, Y., Jain, A., and Dubuisson, J.M., 2000. Object
tracking using deformable templates. IEEE Trans. on
Pattern Analysis and Machine Intelligence, vol. 22, no.
5, pp. 544-549.
VISAPP 2006 - MOTION, TRACKING AND STEREO VISION
308
(a)
(b)
(c)
Figure 6: Some tracking results of sequence 1. (a) Tracking based on APF. (b) Tracking based on PEA with population size
1 (PEA1). (c) Tracking based on PEA with population size 4 (PEA2).
(a)
(b)
(c)
Figure 7: Some tracking results of sequence 2. (a) Tracking based on APF. (b) Tracking based on PEA with population size
1 (PEA1). (c) Tracking based on PEA with population size 4 (PEA2).
HUMAN BODY TRACKING BASED ON PROBABILITY EVOLUTIONARY ALGORITHM
309