Procedia Engineering 15 (2011) 3964 – 3968 1877-7058 © 2011 Published by Elsevier Ltd. doi:10.1016/j.proeng.2011.08.742
Procedia
Engineering
Procedia Engineering 00 (2011) 000–000 www.elsevier.com/locate/procediaAdvanced in Control Engineering and Information Science
A Moving Objects Tracking Method Based on a Combination
of Local Binary Pattern Texture and Hue
Guo-wu YUAN
*, Yun GAO, Dan XU
*Department of Computer Science & Engineering, Yunnan University, Kunming 650091, China
Abstract
Moving objects tracking is one of the key techniques in intelligent video surveillance. It is an important aspect to describe a moving object in a tracking algorithm. A new moving objects tracking algorithm is proposed in this paper, which combines improved local binary pattern texture and hue information to describe moving objects and adopts the idea of Camshift algorithm. In order to reduce matching complexity on the premise of satisfying the accuracy, many kinds of LBP and hue are cut down. Experiments show that the proposed algorithm can track effetely moving objects, can satisfy real-time and has better performance than others.
© 2011 Published by Elsevier Ltd. Selection and/or peer-review under responsibility of [CEIS 2011]
Keywords: Visual surveillance, moving objects tracking, CamShift, local binary pattern, hue
1. Introduction
Moving objects tracking is often one of the important tasks in computer vision. It is used widely in visual surveillance, intelligent transport systems, industrial vision etc [1, 2]. How to describe moving objects is a key issue in a tracking algorithm. Color, motion information, edge and texture are common features to represent moving objects. Color features are most widely used. But when an object and its corresponding background have similar color or the illumination varies rapidly, the tracking accuracy is not ideal.
Texture is a described way of gray or color changes in a neighborhood. In general, when a target and its corresponding background have similar colors, they have different textures. The common methods to extract texture features are gray-level co-occurrence matrix, high-pass filtering and mask filtering [3]. But
* Corresponding author. Tel.: +86-871-5033748; fax: +86-871-5031598. E-mail address: [email protected], [email protected]
This work is supported by the Science and Technology Project of Yunnan Province (No.2009CA021) and the Science Research Foundation of Education Department of Yunnan Province (09Y0044).
Open access under CC BY-NC-ND license.
their computational complexities are high, and it is difficult to satisfy real-time in moving objects tracking. In addition, gray gradient, which is simple and rapid, was used to describe moving objects [4]. Local binary pattern (LBP), proposed by Ojala etc, is a simple description operator of local texture. It can resist to the changes of illumination [5, 6]. In recent years, the LBP operator has been used for texture classification, face recognition, image retrieval and other fields. It is necessary to combine several features in order to better describe moving objects.
This paper presents a new moving object tracking method, which combines improved local binary pattern texture and hue to describe objects and merges the description into traditional Camshift algorithm. The texture information is represented by LBP uniform pattern, and hue value is cut down. Our experiments show that the proposed algorithm can satisfy real-time and has better performance than others.
2. Local binary pattern (LBP)
LBP is a powerful operator of texture description. It labels the pixels of an image region by thresholding the neighborhood of each pixel with the center value and by arraying the result to binary codes [5, 6]. The LBP operator is defined as follows:
1 , 0 ( , ) P ( )2i P R c c i c i LBP x y −s g g = =
∑
− , ( ) 1, (1) 0, u T s u u T ≥ ⎧ = ⎨ < ⎩where gc is the gray-scale value of the center pixel ( , )x yc c and gi is the values of P equally spaced pixels
on a circle of radius R. T is a threshold value.
If a value of neighbor does not fall exactly on a pixel, it is estimated by bilinear interpolation. A
relatively small value for T should be used, for example, 2 . In our experiments, T was given a value
of 4. ≤ ≤T 5
The LBP operator produces P-bit binary codes. If placing the binary codes end-to-end and counting the times of 0 jumping to 1 and 1 to 0, the jumping times represent the frequency of texture change. The jumping times are defined by Variance as follows:
2 ,( , ) ( ( ) ( 1 )) ( 1 ) ( ) P 0 0 P R c c i c i c P c c i Variance x y − s g g s g+ g s g + g s g g = =
∑
− ⊕ − + − ⊕ − , ( ) 1, (2) 0, u T s u u T ≥ ⎧ = ⎨ < ⎩In Eq. (2), ⊕ is an XOR logical operator in bit arithmetic operations. It can clearly be seen that
Variance has a value of even numbers between 0 and P.
However, there are 198 binary codes which meet 8,1 and 58 ones have 8,1 in the 256
possible binary codes produced from the LBP operator when P=8,R=1. We count the standard visual
surveillance testing videos [7, 8], and it is obtained that the pixels of Var have less than 4%
portions in all pixels. The 58 binary codes represent more than 96% pixels.
2
Variance > Variance ≤2
1>2 8,
iance
In order to achieve high processing speed in the following matching, the 198 codes of 8,1 are
combined to one class, which are called by non-uniform patterns. The 58 codes of 8,1 are called
by uniform patterns. The uniform patterns, which have the same number of 1, are combined to one class in order to reduce complexity again. Let us denote a LBP uniform pattern by
2 Variance > 2 e ≤ Varianc , riu P R LBP as follows: 1 , 0 , ( ), ( , ) ( , ) 1 , P i c P R c c riu i P R c c s g g if Variance x y LBP x y P otherwise − = ⎧ − ⎪ = ⎨ ⎪ + ⎩
∑
≤2 1, ( ) 0, u T s u u T ≥ ⎧ = ⎨ < ⎩ , (3)It is seen from the above formula that the model of P points has P+1 uniform patterns. According to the number of 1, we assign a unique serial number (0~P) to each uniform patterns, which is the quantity of 1
in its binary codes. The non-uniform patterns are assigned to a unique number of P+1. So the 2P LBP
The transformation from LBPP R, to LBPP Rriu, could use a calculated code table. The table is calculated only
once in the whole procedure so the transformation is very fast.
3. Improved Camshift tracking algorithm based on LBP texture and hue
Camshift has been widely used in the moving objects tracking. It can adjust adaptively tracking window size according to the size of the tracked object. Meanshift algorithm is the core of Camshift. Camshift executes Meanshift algorithm to all frames of video sequences, and transfers the tracked object’s center and the search window’s width to next frame’s corresponding parameters. The iterative process has been going to achieve the tracking.
Traditional Camshift algorithm is based on the colour histogram of moving objects. When an object and its corresponding background have similar colour, the illumination varies rapidly or an interferential object and the tracked object have similar colour, the tracking accuracy can be greatly affected. We combine LBP texture and hue to describe moving objects in order to solve these troubles. In the region with similar colour between moving objects and background, LBP texture can often achieve certain effects; and in the region of lacking texture, the LBP texture performance is not good, but colour can often achieve better results. Meanwhile, the shadow region, which is widespread in a video, has lower brightness than the corresponding background region, so it will also affect the tracking accuracy. Since two features are not sensitive to the shadow, they can overcome the effect of the shadow to some extent.
Each pixel is described by the LBP texture and hue in the tracked region. The LBP texture uses the
uniform pattern LBPP Rriu, , which has P+2 textures. Extracting the hue component from the RGB colour
space was depicted in the reference [3]. The hue value meets . If each degree of the hue
value is divided into one grade, then there are totally ⎡⎢360 /αHue∈⎤⎥ grades. So the joint histogram of LBP [0,360) α
texture and colour has P+ ⎡⎢360 /α⎤⎥ +2 bins.
For all pixels { /x i =i 1,2, , }Ln in the region that contains a moving object, the probability distribution
is calculated as a target model, and the probability density of the object’s feature is defined as follows:
$ u q $ 2 1 2 1 ( ) [ ( ) ],1 2 ( ) [ ( ) ], 3 360 / 2 n LBP i LBP i i u n Hue i Hue i i C k x b x u u P q C k x b x u P u P δ δ α = = ⎧ − ≤ ≤ + ⎪⎪ = ⎨ ⎪ − + ≤ ≤ +⎡⎢ ⎤⎥+ ⎪⎩
∑
∑
(4)where n is the number of the pixels in the target region, and is the number of the features.
is any convex, monotonically decreasing kernel profile that assigns higher weight to pixels near the centre of the normalized search window.
360 / 2 P+ ⎡⎢ α⎤⎥ + ( ) k x ( ) LBP i
b x is the LBP texture feature of a pixel xi, and bHue( )xi is the
hue feature of a pixel xi. When bLBP( )xi or bHue( )xi meets the characteristics of u, the Kronecker delta
function δ[ ] is 1,otherwise it is 0. The normalization constant CLBP and CHue are derived by the
condition 2$ and . 1qu 1 + = P u=
∑
2$ 1 u q = 360/ 3 P u P α +⎡⎢ ⎤⎥+ = +∑
If a target’s center is yj in a previous frame, then in the current frame, the candidate target’s center is
initialized by yj, and the kernel function k(x) uses the bandwidth h. The probability of the feature u in
the target candidate is given by
2 1 2 1 ( ( ) / ) [ ( ) ],1 2 ( ) ( ( ) / ) [ ( ) ], 3 360 / 2 n LBP i j LBP i i j u n Hue i j Hue i i C k x y h b x u u P p y C k x y h b x u P u P δ δ α ′ = ′ = ⎧ ′ − − ≤ ≤ + ⎪⎪ = ⎨ ⎪ ′ − − + ≤ ≤ + ⎡⎢ ⎤⎥ ⎪⎩
∑
∑
+ (5)where is the number of the pixels in the target candidate region. n′
In the tracking procedure, the kernel is continuously from the current location yj to the new location
1
j
y+ according to the relation
$ 2 1 1 ( ( ) / ) / 1 ( ( ) / ) n n i i i j i i j j i i y+ ′ x w g x y h ′w g x y h = = =
∑
−∑
− 2 (6) $ $ 1 / ( ) [ ( ) ] m i u u j u w q p y δb x = =∑
i −u (7)where is the weight value of each pixel, and wi g x( )= −k x′( ).
The steps of improved Camshift tracking algorithm are as follows:
(1) Initialize Meanshift algorithm: (a) select the target region; (b) calculate the joint histogram of LBP texture and color; (c) obtain the probability model of the object’s features
according to Eq. 4; (d) set the initial position to ; (e) let iteration factor ;
$ { /q uu =1,2, ,L P+⎡⎢360 /α⎤⎥+2} 0 $ 0 y k←
(2) Process next frame: (a) read next frame; (b) set the previous frame’s target center yj to the current
frame’s one; (c) set the searching window’s width and height by half of the minimum bounding
rectangle’s width and height; (d) calculate the joint histogram; (e) obtain candidate model ( )$
u k p y
according to Eq. 5;
(3) Derive the weights{ /w ii =1,2, , }Ln according to Eq. 7;
(4) Compute the next location of the target candidate $ according to Eq. 6, and let ;
1 k y+ k← +k 1 (5) Compute $ $ 1 k k
d← y −y− . If d , the current frame’s iteration is stopped, the position $k is the
current frame’s target center and the algorithm goes back to step 2; otherwise, to adjust the target position and to go back to step 3 in order to continue the current frame’s iteration.
ε
< y
4. Experiments and analysis
We used a PC with an Intel i3-350 CPU processor and a 2 GB memory in our experiments, in which Visual C++6.0 and OpenCV1.0 were installed. The performance of our method was evaluated using the standard testing videos [7, 8].
(a) The tracking results with the traditional Camshift algorithm (a) The tracking results with the traditional Camshift algorithm
(b) The tracking results with the Ref. 4 algorithm (b) The tracking results with the Ref. 4 algorithm
(c) The tracking results with our algorithm (c) The tracking results with our algorithm Fig. 1. Comparing experiment of tracking object in PETS2000 Fig. 2. Comparing experiment of tracking object in PETS2001
In Fig. 1 and Fig.2, our method was compared with traditional Camshift and the method in the Ref. 4. Fig. 1 came from the frame 125, 162 and 180 of PETS2000 respectively, and Fig. 2 came from the frame 556, 584 and 676 of DATASET1 in PETS2001 respectively. In our experiments, when we used R=1 and
P=8 to calculate LBPP Rriu, and used to calculate hue, the experiment’s tracking accuracy and speed
could achieve better results. Then the joint histogram of LBP texture and colour had 34 bins. In Fig. 1, the red vehicle had outstanding colour, great contrast to background and no other interference, so the three methods could track the red vehicle, but our method could locate the target more accurately. In Fig. 2, the images were gray, and the tracked vehicle’s colour had no significant difference with the background. In the tracking process, there was a walker’s interference. Traditional Camshift algorithm was not accurate and lost the target in the frame 676. The algorithm of Ref. 4 could track the target, but the position was not accurate. Our method could achieve good results.
15 α =
Our algorithm’s iteration time in each frame had no significant difference with the other 2 algorithms, but our algorithm could achieve more accurate results and its average time-consuming of each frame was only 0.057s.
Table 1. Performance comparison of three algorithms
Algorithm Feature space’s elements number of target region Each frame’s average times of iteration Each frame’s time-consuming(s)
Traditional CamShift 4096 2.6 0.053
The algorithm of Ref. 4 64 2.1 0.071
Our algorithm 34 2.15 0.057
5. Conclusions
This paper presents a moving object tracking method based on a combination of LBP texture and colour, which combines improved local binary pattern texture and hue to describe objects and merges the description into traditional Camshift algorithm. Experiments show that the algorithm achieves good results.
References
[1] Comaniciu D, Ramesh V, Meer P. Kernel-based object tracking. IEEE Transaction on Pattern Analysis and Machine Intelligence, 2003, 25(5):564-575
[2] Comaniciu D, Ramesh V, Meer P. Real-time tracking of non-rigid objects using meanshift. IEEE International Proceedings of the Computer Vision and Pattern Recognition, DC: IEEE Computer Society, 2000:142-149
[3] Rafael C. Gonzalez, Richard E. Woods. Digital image processing, 2nd Edition. Prentice Hall, 2002
[4] LU Xuan, LEI Hang, HAO Zong-bo. Automatic CamShift tracking algorithm based on multi-feature. Joural of Computer Application, 2010,30(3):650-652
[5] Ojala T, Pietikainen M, Maenpaa T. Multiresolution gray-scale and rotation invariant texture classification with local binary patterns. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2002, 24(7): 971-987
[6] Timo Ahonen, Jiri Matas, Chu He, Matti Pietikainen. Rotation invariant image description with local binary pattern histogram fourier features. In: Image Analysis, SCIA 2009 Proceedings, Lecture Notes in Computer Science 5575, 2009: 61-70 [7] Performance Evaluation of Tracking and Surveillance 2000 (PETS2000). Available: http://ftp.pets.rdg.ac.uk/pub/PETS2000/ [8] Performance Evaluation of Tracking and Surveillance 2001 (PETS2001). Available: http://ftp.pets.rdg.ac.uk/pub/PETS2001/