<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xml:lang="en" article-type="research-article">
<front>
<journal-meta>
<journal-id journal-id-type="nlm-ta">Sensors</journal-id>
<journal-title>Sensors</journal-title>
<issn pub-type="epub">1424-8220</issn>
<publisher>
<publisher-name>Molecular Diversity Preservation International (MDPI)</publisher-name></publisher></journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.3390/s120608218</article-id>
<article-id pub-id-type="publisher-id">sensors-12-08218</article-id>
<article-categories>
<subj-group>
<subject>Article</subject></subj-group></article-categories>
<title-group>
<article-title>A Fast MEANSHIFT Algorithm-Based Target Tracking System</article-title></title-group>
<contrib-group>
<contrib contrib-type="author">
<name><surname>Sun</surname><given-names>Jian</given-names></name><xref ref-type="aff" rid="af1-sensors-12-08218"><sup>1</sup></xref><xref ref-type="aff" rid="af2-sensors-12-08218"><sup>2</sup></xref><xref ref-type="aff" rid="af3-sensors-12-08218"><sup>3</sup></xref></contrib></contrib-group>
<aff id="af1-sensors-12-08218">
<label>1</label> State Key Laboratory for Strength &amp; Vibration, School of Aerospace, Xi'an Jiaotong University, Xi'an 710049, China; E-Mail: <email>sunjian10@xjtu.edu.cn</email>; Tel.: +86-029-8258-2547</aff>
<aff id="af2-sensors-12-08218">
<label>2</label> State Key Laboratory of Precision Measurement Technology and Instruments, Tsinghua University, Beijing 100084, China</aff>
<aff id="af3-sensors-12-08218">
<label>3</label> College of Astronautics, Northwest Polytechnical University, Xi'an 710072, China</aff>
<pub-date pub-type="collection">
<year>2012</year></pub-date>
<pub-date pub-type="epub">
<day>13</day>
<month>06</month>
<year>2012</year></pub-date>
<volume>12</volume>
<issue>6</issue>
<fpage>8218</fpage>
<lpage>8235</lpage>
<history>
<date date-type="received">
<day>13</day>
<month>04</month>
<year>2012</year></date>
<date date-type="rev-recd">
<day>09</day>
<month>05</month>
<year>2012</year></date>
<date date-type="accepted">
<day>22</day>
<month>05</month>
<year>2012</year></date></history>
<permissions>
<copyright-statement>© 2012 by the authors; licensee MDPI, Basel, Switzerland.</copyright-statement>
<copyright-year>2012</copyright-year>
<license>
<p>This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution license (http://creativecommons.org/licenses/by/3.0/).</p></license></permissions>
<abstract>
<p>Tracking moving targets in complex scenes using an active video camera is a challenging task. Tracking accuracy and efficiency are two key yet generally incompatible aspects of a Target Tracking System (TTS). A compromise scheme will be studied in this paper. A fast mean-shift-based Target Tracking scheme is designed and realized, which is robust to partial occlusion and changes in object appearance. The physical simulation shows that the image signal processing speed is &gt;50 frame/s.</p></abstract>
<kwd-group>
<kwd>target tracking system</kwd>
<kwd>moving object tracking</kwd>
<kwd>fast Mean-Shift algorithm</kwd></kwd-group></article-meta></front>
<body>
<sec sec-type="intro">
<label>1.</label>
<title>Introduction</title>
<p>Visual tracking plays an important role in various computer vision applications, such as surveillance [<xref ref-type="bibr" rid="b1-sensors-12-08218">1</xref>,<xref ref-type="bibr" rid="b2-sensors-12-08218">2</xref>], firing systems [<xref ref-type="bibr" rid="b3-sensors-12-08218">3</xref>], vehicle navigation [<xref ref-type="bibr" rid="b4-sensors-12-08218">4</xref>] and missile guidance [<xref ref-type="bibr" rid="b5-sensors-12-08218">5</xref>]. Target tracking using an active video camera is a challenging task mainly due to three reasons [<xref ref-type="bibr" rid="b6-sensors-12-08218">6</xref>–<xref ref-type="bibr" rid="b8-sensors-12-08218">8</xref>]: (1) the tracking system should have good robustness to the targets' pose variation and occlusion; (2) tracking requires properly dealing with video camera motion through suitable estimation and compensation techniques; (3) most applications would introduce some real-time constraints, which require tracking techniques to reduce the computational time [<xref ref-type="bibr" rid="b5-sensors-12-08218">5</xref>].</p>
<p>Target tracking, according to its properties, can be mainly divided into two types: feature- and optical flow-based approaches. Optical flow is the vector field which describes how the image changes with time [<xref ref-type="bibr" rid="b9-sensors-12-08218">9</xref>]. The amplitude and direction of the optical flow vector of each pixel is usually computed by the Lucak-Kande algorithm. Shi and Tomasi [<xref ref-type="bibr" rid="b10-sensors-12-08218">10</xref>] also proposed the well-known Shi-Tomasi-Kanade (STK) tracker which iteratively computes the translation of a region centered on an interest point [<xref ref-type="bibr" rid="b9-sensors-12-08218">9</xref>]. However, optical flow computation is too complicated to meet real-time requirements, and it is sensitive to illumination changes and noises, which limit its practical application.</p>
<p>Feature-based algorithms were originally developed for tracking a small number of salient features in an image sequence. These features include: color, grain, contour and some detection operators such as invariant feature transform (SIFT) [<xref ref-type="bibr" rid="b9-sensors-12-08218">9</xref>] or histogram of oriented gradient (HOG) [<xref ref-type="bibr" rid="b11-sensors-12-08218">11</xref>]. Feature-based algorithms involve the extraction of regions of interest in the images and then location of the target in individual images of the sequence. Typical feature-based tracking algorithms are: multiple hypothesis tracking (MHT) [<xref ref-type="bibr" rid="b12-sensors-12-08218">12</xref>], Template Matching (TM) [<xref ref-type="bibr" rid="b13-sensors-12-08218">13</xref>–<xref ref-type="bibr" rid="b16-sensors-12-08218">16</xref>], Mean-Shift (MS) [<xref ref-type="bibr" rid="b17-sensors-12-08218">17</xref>–<xref ref-type="bibr" rid="b19-sensors-12-08218">19</xref>], Kalman filtering (KF) [<xref ref-type="bibr" rid="b20-sensors-12-08218">20</xref>] and particle filter (PF) [<xref ref-type="bibr" rid="b21-sensors-12-08218">21</xref>,<xref ref-type="bibr" rid="b22-sensors-12-08218">22</xref>].</p>
<p>The TM is a simple and popular technique in target tracking, which is widely used in civilian and military automatic target recognition systems. Given an input and a template image, the matching algorithm finds the partial image that most closely matches the template image in terms of some specific criterion, such as the Euclidean distance or cross correlation. The conventional template matching methods consume a large amount of computational time. A number of techniques have been investigated with the intent of speeding up the template matching, and have given perfect results [<xref ref-type="bibr" rid="b14-sensors-12-08218">14</xref>,<xref ref-type="bibr" rid="b15-sensors-12-08218">15</xref>]. However, the TM does not achieve robust performance in complex scenes, especially in the case of clutter and occlusion [<xref ref-type="bibr" rid="b3-sensors-12-08218">3</xref>].</p>
<p>The Kalman filter and particle filter are used to estimate target location in the next frame, which has also been extensively studied. Comparing to the Kalman filter, the particle filter has a more robust performance in the case of nonlinear and non-Gaussian problems due to the simulated posterior distribution. Many efforts have been carried out to speed up the particle filter. Martinez-del-Rincon <italic>et al.</italic> [<xref ref-type="bibr" rid="b21-sensors-12-08218">21</xref>] proposed a new particle filter algorithm based on two sampling techniques, which improves substantially the efficiency of the filter. Sullivan et al. [<xref ref-type="bibr" rid="b23-sensors-12-08218">23</xref>] proposed layered sampling using multiscale processing of images. It turns out that these solutions significantly reduce the computational costs, but in-depth efforts are desirable for better efficiency.</p>
<p>In image sequences, the target appearances have a strong correlation. Among all appearance based tracking models, there is one popular subset called “subspace model”. Black [<xref ref-type="bibr" rid="b24-sensors-12-08218">24</xref>] used a set of orthogonal vectors to describe the target image. Principal Component Analysis (PCA) and other classic dimensionality reduction methods provide an effective tool to compute the set of orthogonal vectors. Levy and Linden-Baum [<xref ref-type="bibr" rid="b25-sensors-12-08218">25</xref>] presented a novel incremental PCA algorithm (Sequential Kathunen-Loeve, SKL) to update the eigen-basis when new data is available with greatly reduced computation and memory requirements. Lin applied Fisher linear discriminant analysis in subspace tracking to take background into account [<xref ref-type="bibr" rid="b26-sensors-12-08218">26</xref>], however, it cannot perform well in case of non-Gaussian distribution.</p>
<p>The MS based tracker has very good robustness to the variation of translation, rotation and scale. The MS algorithm is a nonparametric density gradient estimation approach to local mode seeking and it was originally invented for data clustering. Comaniciu [<xref ref-type="bibr" rid="b18-sensors-12-08218">18</xref>] was the first to develop its application in target tracking. The tracker needs a target model to be able to track. The target model is obtained from the color histogram of the moving object. The target candidate is obtained in the same way at a location specified by the MS algorithm. The similarity measure between the target candidate and the target model is computed using the Bhattacharya coefficient.</p>
<p>One of MS's drawbacks is that it often converges slowly. To the best of our knowledge, few attempts have been made to speed up the convergence of MS. The k<sub>d</sub>-tree can be used to reduce the large number of nearest-neighbor queries. Although a dramatic decrease in the computational time is achieved for high-dimensional clustering, these techniques are not attractive for relatively low-dimensional problems such as visual tracking. Cheng [<xref ref-type="bibr" rid="b27-sensors-12-08218">27</xref>] showed that mean shift is gradient ascent with an adaptive step size, but the theory behind the step sizes remains unclear.</p>
<p>The innovative work in this paper is to propose a novel fast robust tracking algorithm combining the MS with the template match (TM), which is a balanced scheme between robustness and real-time performance. A fast MS-based target tracking scheme is designed and implemented, which has a good robustness to target pose variation and partial occlusion. The hardware-in-loop simulation shows that the image signal processing speed is &gt;50 frame/s.</p>
<p>The paper is organized as follows: the target tracking system description is described in Section 2, the hardware composition is presented in Section 3, the software structure and algorithm are described in details in Section 4, and, finally, Section 5 reports tests and results, and Section 6 describes the future works.</p></sec>
<sec>
<label>2.</label>
<title>System Description</title>
<p>As shown in <xref ref-type="fig" rid="f1-sensors-12-08218">Figure 1</xref>, the target tracking system in this paper mainly has the following parts: video camera, signal processing module, monitor and 2D-turntable. In order to meet some practical application requirements the TTS must to have the following two performance features:
<list list-type="order">
<list-item>
<p>Robustness. In a complex background, most of the applications require the tracker to be robust to partial occlusion, clutter and changes in object appearance.</p></list-item>
<list-item>
<p>Real-time performance. TTS needs to complete the image signal pre-processing, tracking and predicting target location, control 2D-turntable and other computational tasks which requires that the image processing speed should be &gt;25 frames/s, and for some special applications processing speeds need to be &gt;50 frame/s.</p></list-item></list></p>
<p>The signal flow diagram of a typical target tracking system is shown in <xref ref-type="fig" rid="f2-sensors-12-08218">Figure 2</xref>. The TTS obtains the target image by a video camera. Through a tracker, the target location <italic>X</italic> in the current image is obtained and sent to the predictor to predict the target location <italic>X<sub>p</sub></italic> in the next frame. The predicted result <italic>θ<sub>c</sub></italic>, the desired angle <italic>θ</italic> and the feedback angle <italic>θ<sub>m</sub></italic> are used to control the 2D-turntable.</p></sec>
<sec>
<label>3.</label>
<title>Hardware Composition</title>
<sec>
<label>3.1.</label>
<title>Signal Processing Module</title>
<p>The video signal processer used in this paper is the TDS642EVM multi-channel real-time image processing platform produced by the TI Company. Its main performance features are listed in <xref ref-type="table" rid="t1-sensors-12-08218">Table 1</xref>.</p>
<p>The structure of the TDS642EVM is shown in <xref ref-type="fig" rid="f3-sensors-12-08218">Figure 3</xref>. The red line denotes video signal flow; the green line denotes control signal flow.</p></sec>
<sec>
<label>3.2.</label>
<title>Video Camera and 2D Turntable</title>
<p>The pitch and yaw axis of 2D-turntable (as shown in <xref ref-type="fig" rid="f4-sensors-12-08218">Figure 4</xref>) are linked with the output shaft of the stepping motor, respectively. The control of the 2D-turntable is realized by controlling the two stepper motors. The turntable controller obtains control instructions from TDS642EVM by a UART, and generates the pulse signal to drive the stepping motor. The rotation angle of the turntable measured by a potentiometer is used as the feedback for the closed-loop control system. The performance characterstics of the 2D turntable are given in <xref ref-type="table" rid="t2-sensors-12-08218">Table 2</xref>.</p></sec></sec>
<sec>
<label>4.</label>
<title>Software Structure and Algorithm</title>
<p>The structure of the TTS software is shown in <xref ref-type="fig" rid="f5-sensors-12-08218">Figure 5</xref>. The TTS software mainly includes the following two parts: image tracking algorithm, the target prediction algorithm.
<list list-type="order">
<list-item>
<p>The tracking algorithm is to identify the location of the target in the current image. A fast robust MS-based target tracking algorithm is presented.</p></list-item>
<list-item>
<p>The target prediction algorithm is to predict the location of the target in the next image though the sequence image. There are many algorithms that can achieve the prediction goal such as Kalman filter, particle filter and linear prediction method. Although the Kalman filter and particle filter [<xref ref-type="bibr" rid="b20-sensors-12-08218">20</xref>,<xref ref-type="bibr" rid="b21-sensors-12-08218">21</xref>] have obtained good results, these two algorithms are both inefficient. In this paper we use a linear prediction method to implement the target location prediction.</p></list-item></list></p>
<sec>
<label>4.1.</label>
<title>Fast MS Tracking Scheme</title>
<sec>
<label>4.1.1.</label>
<title>Mean-Shift Basis [<xref ref-type="bibr" rid="b19-sensors-12-08218">19</xref>]</title>
<p>Kernel density estimation is a nonparametric method that extracts information about the underlying structure of a data set when no appropriate parametric model is available. Given <italic>n</italic> data points <italic>x<sub>i</sub></italic>, <italic>i</italic> = 1 <italic>n</italic>, in the <italic>d</italic> dimensional space <bold>R</bold><sup>d×d</sup>, the kernel density estimation at the location <italic>x</italic> can be computed by:
<disp-formula id="FD1">
<label>(1)</label>
<mml:math id="mm1" display="block">
<mml:semantics id="sm1">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>f</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mi>k</mml:mi></mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>x</mml:mi>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mi>k</mml:mi></mml:msub></mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:msup>
<mml:mi>h</mml:mi>
<mml:mi>d</mml:mi></mml:msup></mml:mrow></mml:mfrac>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>n</mml:mi></mml:munderover>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>‖</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi></mml:msub></mml:mrow>
<mml:mi>h</mml:mi></mml:mfrac></mml:mrow>
<mml:mo>‖</mml:mo></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula>where <italic>k</italic>(·) is the profile the kernel function <italic>K</italic>(·) and <italic>c<sub>k</sub></italic> is a normalization constant. The optimization procedure of seeking the local modes is solved by setting the gradient equal to zero. Thus, we can derive the following equation:
<disp-formula id="FD2">
<label>(2)</label>
<mml:math id="mm2" display="block">
<mml:semantics id="sm2">
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mi>m</mml:mi>
<mml:mi>G</mml:mi></mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>x</mml:mi>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:munderover>
<mml:mtext>∑</mml:mtext>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>n</mml:mi></mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:mi>g</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>‖</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi></mml:msub></mml:mrow>
<mml:mi>h</mml:mi></mml:mfrac></mml:mrow>
<mml:mo>‖</mml:mo></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mrow>
<mml:mrow>
<mml:munderover>
<mml:mtext>∑</mml:mtext>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>n</mml:mi></mml:munderover>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>‖</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi></mml:msub></mml:mrow>
<mml:mi>h</mml:mi></mml:mfrac></mml:mrow>
<mml:mo>‖</mml:mo></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mrow></mml:mfrac>
<mml:mo>−</mml:mo>
<mml:mi>x</mml:mi></mml:mtd></mml:mtr></mml:mtable></mml:semantics></mml:math></disp-formula>where <italic>g</italic>(<italic>x</italic>) = −<italic>k′</italic>(<italic>x</italic>), <italic>m<sub>G</sub></italic>(<italic>x</italic>) is the MS vector.</p></sec>
<sec>
<label>4.1.2.</label>
<title>Target Description and Distance Metric</title>
<p>According to the classical MS tracking algorithm [<xref ref-type="bibr" rid="b19-sensors-12-08218">19</xref>], we can compute the target and candidate target feature vectors as follows:</p>
<p>Target feature vectors:
<disp-formula id="FD3">
<label>(3)</label>
<mml:math id="mm3" display="block">
<mml:semantics id="sm3">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mi>u</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mi>C</mml:mi>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>n</mml:mi></mml:munderover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>‖</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi></mml:msub></mml:mrow>
<mml:mo>‖</mml:mo></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mi>δ</mml:mi>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi></mml:msub></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mo>−</mml:mo>
<mml:mi>u</mml:mi></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mo>,</mml:mo>
<mml:mi>u</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>⋯</mml:mo>
<mml:mi>m</mml:mi></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>Candidate target feature vectors:
<disp-formula id="FD4">
<label>(4)</label>
<mml:math id="mm4" display="block">
<mml:semantics id="sm4">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>p</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mi>u</mml:mi></mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>y</mml:mi>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mi>h</mml:mi></mml:msub>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>h</mml:mi></mml:msub></mml:mrow></mml:munderover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>‖</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi></mml:msub></mml:mrow>
<mml:mi>h</mml:mi></mml:mfrac></mml:mrow>
<mml:mo>‖</mml:mo></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mi>δ</mml:mi>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi></mml:msub></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mo>−</mml:mo>
<mml:mi>u</mml:mi></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mo>,</mml:mo>
<mml:mi>u</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>⋯</mml:mo>
<mml:mi>m</mml:mi></mml:mrow></mml:semantics></mml:math></disp-formula>where <italic>δ</italic> is the Kronecker delta function, <italic>b</italic>(<italic>x<sub>i</sub></italic>) is the quantified number of the pixels value in the quantitative feature space, <italic>C</italic>, C<italic><sub>h</sub></italic> are the normalization constants.</p>
<p>The similarity function defines a distance between target model and candidates. To accommodate comparisons among various targets, this distance should have a metric structure. We define the distance between two discrete distributions as:
<disp-formula id="FD5">
<label>(5)</label>
<mml:math id="mm5" display="block">
<mml:semantics id="sm5">
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>y</mml:mi>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:msqrt>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>−</mml:mo>
<mml:mi>ρ</mml:mi>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>p</mml:mi>
<mml:mo>⌢</mml:mo></mml:mover>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>y</mml:mi>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mo>,</mml:mo>
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>⌢</mml:mo></mml:mover></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:msqrt></mml:mrow></mml:semantics></mml:math></disp-formula>
<disp-formula id="FD6">
<label>(6)</label>
<mml:math id="mm6" display="block">
<mml:semantics id="sm6">
<mml:mrow>
<mml:mover accent="true">
<mml:mi>ρ</mml:mi>
<mml:mo>⌢</mml:mo></mml:mover>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>y</mml:mi>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mi>ρ</mml:mi>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>p</mml:mi>
<mml:mo>⌢</mml:mo></mml:mover>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>y</mml:mi>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mo>,</mml:mo>
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>⌢</mml:mo></mml:mover></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>u</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>m</mml:mi></mml:munderover>
<mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>p</mml:mi>
<mml:mo>⌢</mml:mo></mml:mover>
<mml:mi>u</mml:mi></mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>y</mml:mi>
<mml:mo>)</mml:mo></mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>⌢</mml:mo></mml:mover>
<mml:mi>u</mml:mi></mml:msub></mml:mrow></mml:msqrt></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula>where <italic>ρˆ</italic>(<italic>y</italic>) named Bhattacharyya coefficient.</p></sec>
<sec>
<label>4.1.3.</label>
<title>Tracking Algorithm</title>
<p>To find the location of the target in the current frame, the distance (5) of a function of <italic>y</italic> should be minimized. The tracking starts from the location of the target in the previous frame and searches in the neighborhood. Minimizing the distance (5) is equivalent to maximizing the Bhattacharyya coefficient <italic>ρˆ</italic>(<italic>y</italic>).</p>
<p>Thus, the probabilities {<italic>pˆ<sub>u</sub></italic>(<italic>y<sub>0</sub></italic>)}<sub>u=1,…</sub><italic><sub>m</sub></italic> of the target candidate at location <italic>y</italic><sub>0</sub> in the current frame must be computed first. Using Taylor expansion around the values <italic>pˆ<sub>u</sub></italic>(<italic>y<sub>0</sub></italic>), the linear approximation of the Bhattacharyya coefficient (6) is obtained after some manipulations as:
<disp-formula id="FD7">
<label>(7)</label>
<mml:math id="mm7" display="block">
<mml:semantics id="sm7">
<mml:mrow>
<mml:mi>ρ</mml:mi>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>p</mml:mi>
<mml:mo>⌢</mml:mo></mml:mover>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>y</mml:mi>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mo>,</mml:mo>
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>⌢</mml:mo></mml:mover></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mo>≈</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn></mml:mfrac>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>u</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>m</mml:mi></mml:munderover>
<mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>p</mml:mi>
<mml:mo>⌢</mml:mo></mml:mover>
<mml:mi>u</mml:mi></mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>y</mml:mi>
<mml:mo>⌢</mml:mo></mml:mover>
<mml:mn>0</mml:mn></mml:msub></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>⌢</mml:mo></mml:mover>
<mml:mi>u</mml:mi></mml:msub></mml:mrow></mml:msqrt></mml:mrow>
<mml:mo>+</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn></mml:mfrac>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>u</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>m</mml:mi></mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>p</mml:mi>
<mml:mo>⌢</mml:mo></mml:mover>
<mml:mi>u</mml:mi></mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>y</mml:mi>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>⌢</mml:mo></mml:mover>
<mml:mi>u</mml:mi></mml:msub></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>p</mml:mi>
<mml:mo>⌢</mml:mo></mml:mover>
<mml:mi>u</mml:mi></mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>y</mml:mi>
<mml:mo>⌢</mml:mo></mml:mover>
<mml:mn>0</mml:mn></mml:msub></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mfrac></mml:mrow></mml:msqrt></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>This approximation is satisfactory when the candidate {<italic>pˆ<sub>u</sub></italic>(<italic>y</italic>)}<italic><sub>u</sub></italic><sub>=1,…</sub><italic><sub>m</sub></italic> and the initial {<italic>pˆ<sub>u</sub></italic>(<italic>yˆ</italic><sub>1</sub>)}<italic><sub>u</sub></italic><sub>=1,…</sub><italic><sub>m</sub></italic> are little difference. In general, for adjacent two frames this assumption is reasonable. Thus we have:
<disp-formula id="FD8">
<label>(8)</label>
<mml:math id="mm8" display="block">
<mml:semantics id="sm8">
<mml:mrow>
<mml:mi>ρ</mml:mi>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>p</mml:mi>
<mml:mo>⌢</mml:mo></mml:mover>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>y</mml:mi>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mo>,</mml:mo>
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>⌢</mml:mo></mml:mover></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mo>≈</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn></mml:mfrac>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>u</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>m</mml:mi></mml:munderover>
<mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>p</mml:mi>
<mml:mo>⌢</mml:mo></mml:mover>
<mml:mi>u</mml:mi></mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>y</mml:mi>
<mml:mo>⌢</mml:mo></mml:mover>
<mml:mn>1</mml:mn></mml:msub></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>⌢</mml:mo></mml:mover>
<mml:mi>u</mml:mi></mml:msub></mml:mrow></mml:msqrt></mml:mrow>
<mml:mo>+</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mi>h</mml:mi></mml:msub></mml:mrow>
<mml:mn>2</mml:mn></mml:mfrac>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>h</mml:mi></mml:msub></mml:mrow></mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:msup>
<mml:mi>k</mml:mi>
<mml:mo>′</mml:mo></mml:msup></mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>‖</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi></mml:msub></mml:mrow>
<mml:mi>h</mml:mi></mml:mfrac></mml:mrow>
<mml:mo>‖</mml:mo></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>In which:
<disp-formula id="FD9">
<label>(9)</label>
<mml:math id="mm9" display="block">
<mml:semantics id="sm9">
<mml:mrow>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>u</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>m</mml:mi></mml:munderover>
<mml:mrow>
<mml:mi>δ</mml:mi>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi></mml:msub></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mo>−</mml:mo>
<mml:mi>u</mml:mi></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>⌢</mml:mo></mml:mover>
<mml:mi>u</mml:mi></mml:msub></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>p</mml:mi>
<mml:mo>⌢</mml:mo></mml:mover>
<mml:mi>u</mml:mi></mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>y</mml:mi>
<mml:mo>⌢</mml:mo></mml:mover>
<mml:mn>1</mml:mn></mml:msub></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mfrac></mml:mrow></mml:msqrt></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>In this way, minimizing <italic>d</italic>(<italic>y</italic>) becomes to maximize the second of <xref rid="FD8" ref-type="disp-formula">Equation (8)</xref>, which denotes the kernel density estimation computed by using <italic>k</italic>(<italic>x</italic>) at the <italic>y</italic> in current frame. In this process, the kernel shifts from the current location <italic>y</italic> to the new location <italic>y</italic><sub>1</sub>. Thus we can use the MS procedure to find the great density estimation value in the neighborhood:
<disp-formula id="FD10">
<label>(10)</label>
<mml:math id="mm10" display="block">
<mml:semantics id="sm10">
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>h</mml:mi></mml:msub></mml:mrow></mml:msubsup>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:mi>g</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>‖</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi></mml:msub></mml:mrow>
<mml:mi>h</mml:mi></mml:mfrac></mml:mrow>
<mml:mo>‖</mml:mo></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>h</mml:mi></mml:msub></mml:mrow></mml:msubsup>
<mml:mrow>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:mi>g</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>‖</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi></mml:msub></mml:mrow>
<mml:mi>h</mml:mi></mml:mfrac></mml:mrow>
<mml:mo>‖</mml:mo></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mrow></mml:mfrac></mml:mtd></mml:mtr></mml:mtable></mml:semantics></mml:math></disp-formula></p>
<p>The general MS algorithm steps are as follows [<xref ref-type="bibr" rid="b19-sensors-12-08218">19</xref>]:</p>
<p>Given: the target model {<italic>q<sub>u</sub></italic>}<sub>u=1,…,m</sub> at <italic>y<sub>0</sub></italic> in the previous frame, <italic>y</italic><sub>1</sub> is the new location of spot. Then the flow of MS algorithm is:</p>
<p>Set the spot with a feature vector {<italic>q<sub>u</sub></italic>}<italic><sub>u</sub></italic><sub>=1,…,</sub><italic><sub>m</sub></italic>, at <italic>y</italic><sub>0</sub> in the previous frame.
<list list-type="order">
<list-item>
<p>Compute the feature vector of candidate spot {<italic>p̑<sub>u</sub></italic>(<italic>y̑</italic><sub>0</sub>)}<italic><sub>u</sub></italic><sub>=1,…,</sub><italic><sub>m</sub></italic>, and evaluate Bhattacharyya coefficient 
<inline-formula>
<mml:math id="mm11" display="inline">
<mml:semantics id="sm11">
<mml:mrow>
<mml:mi>ρ</mml:mi>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>p</mml:mi>
<mml:mo>⌢</mml:mo></mml:mover>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>y</mml:mi>
<mml:mo>⌢</mml:mo></mml:mover>
<mml:mn>0</mml:mn></mml:msub></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mo>,</mml:mo>
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>⌢</mml:mo></mml:mover></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>u</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>m</mml:mi></mml:msubsup>
<mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>p</mml:mi>
<mml:mo>⌢</mml:mo></mml:mover>
<mml:mi>u</mml:mi></mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>y</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mn>0</mml:mn></mml:msub></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>⌢</mml:mo></mml:mover>
<mml:mi>u</mml:mi></mml:msub></mml:mrow></mml:msqrt></mml:mrow></mml:mrow></mml:semantics></mml:math></inline-formula></p></list-item>
<list-item>
<p>Derive {<italic>w<sub>i</sub></italic>}<italic><sub>i</sub></italic><sub>=</sub><italic><sub>1</sub></italic><sub>…</sub><italic><sub>m</sub></italic> with <xref rid="FD9" ref-type="disp-formula">Equation (9)</xref>.</p></list-item>
<list-item>
<p>Find the new location of spot with <xref rid="FD10" ref-type="disp-formula">Equation (10)</xref></p></list-item>
<list-item>
<p>Compute {<italic>p̑<sub>u</sub></italic>(<italic>y̑</italic><sub>1</sub>)}<italic><sub>u</sub></italic><sub>=1,…</sub><italic><sub>m</sub></italic> and evaluate 
<inline-formula>
<mml:math id="mm12" display="inline">
<mml:semantics id="sm12">
<mml:mrow>
<mml:mi>ρ</mml:mi>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>p</mml:mi>
<mml:mo>⌢</mml:mo></mml:mover>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>y</mml:mi>
<mml:mo>⌢</mml:mo></mml:mover>
<mml:mn>1</mml:mn></mml:msub></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mo>,</mml:mo>
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>⌢</mml:mo></mml:mover></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>u</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>m</mml:mi></mml:msubsup>
<mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>p</mml:mi>
<mml:mo>⌢</mml:mo></mml:mover>
<mml:mi>u</mml:mi></mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>y</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mn>1</mml:mn></mml:msub></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>⌢</mml:mo></mml:mover>
<mml:mi>u</mml:mi></mml:msub></mml:mrow></mml:msqrt></mml:mrow></mml:mrow></mml:semantics></mml:math></inline-formula>.</p></list-item>
<list-item>
<p>While <italic>ρ</italic>[<italic>p̑</italic>(<italic>y̑<sub>1</sub></italic>), <italic>q̑</italic>]&lt; <italic>ρ</italic>[<italic>p̑</italic>(<italic>y̑<sub>0</sub></italic>), <italic>q̑</italic>]</p>
<p>Do 
<inline-formula>
<mml:math id="mm13" display="inline">
<mml:semantics id="sm13">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>y</mml:mi>
<mml:mo>⌢</mml:mo></mml:mover>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>←</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn></mml:mfrac>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>y</mml:mi>
<mml:mo>⌢</mml:mo></mml:mover>
<mml:mn>0</mml:mn></mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>y</mml:mi>
<mml:mo>⌢</mml:mo></mml:mover>
<mml:mn>1</mml:mn></mml:msub></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></inline-formula></p>
<p>Evaluate ρ[<italic>p̑</italic>(<italic>y̑</italic><sub>1</sub>), <italic>q̑</italic>]</p></list-item>
<list-item>
<p>If ║ <italic>y̑</italic><sub>1</sub> − <italic>y̑</italic><sub>0</sub> ║&lt; <italic>ε</italic> stop iteration.</p>
<p>Else <italic>y̑</italic><sub>0</sub> ← <italic>y̑</italic><sub>1</sub> jump to 2</p></list-item></list></p></sec>
<sec>
<label>4.1.4.</label>
<title>Fast Tracking Algorithm</title>
<p>References [<xref ref-type="bibr" rid="b27-sensors-12-08218">27</xref>,<xref ref-type="bibr" rid="b28-sensors-12-08218">28</xref>] show that MS is actually a bound maximization. One step of the MS iteration finds the exact maximum of the lower bound of the objective function. The existing literatures [<xref ref-type="bibr" rid="b21-sensors-12-08218">21</xref>,<xref ref-type="bibr" rid="b29-sensors-12-08218">29</xref>–<xref ref-type="bibr" rid="b33-sensors-12-08218">33</xref>] also show that MS is a gradient ascent algorithm with adaptive step size. Hence, its convergence rate is better than conventional fixed-step gradient algorithms and no step-size parameters need to be tuned [<xref ref-type="bibr" rid="b17-sensors-12-08218">17</xref>]. From the viewpoint of bound optimization, the learning rate can be over-relaxed to make its convergence faster.</p>
<p>From another point of view, bound optimization methods always adopt conservative bounds in order to guarantee increasing the cost function value at each iteration [<xref ref-type="bibr" rid="b17-sensors-12-08218">17</xref>]. A lot of work has been done to speed up bound optimization methods. In [<xref ref-type="bibr" rid="b17-sensors-12-08218">17</xref>,<xref ref-type="bibr" rid="b29-sensors-12-08218">29</xref>], it was shown that by over-relaxing the step size, acceleration can be achieved. Supposing M<sub>G</sub> is the MS shift vector, and then the over-relaxed bound optimization iteration is given by:
<disp-formula id="FD11">
<label>(11)</label>
<mml:math id="mm14" display="block">
<mml:semantics id="sm14">
<mml:mrow>
<mml:msup>
<mml:mi>y</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:msup>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mi>y</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:msup>
<mml:mo>+</mml:mo>
<mml:mi>α</mml:mi>
<mml:mo>⋅</mml:mo>
<mml:msub>
<mml:mtext>M</mml:mtext>
<mml:mtext>G</mml:mtext></mml:msub></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>Apparently when the <italic>α</italic> = 1, over-relaxed optimization reduces to the standard MS algorithm. It is easily found that when <italic>α</italic> &gt; 1 acceleration is realized, but for a fixed <italic>α</italic>, no convergence is guaranteed and it is hard to get the optimal <italic>α</italic> [<xref ref-type="bibr" rid="b17-sensors-12-08218">17</xref>]. References [<xref ref-type="bibr" rid="b17-sensors-12-08218">17</xref>,<xref ref-type="bibr" rid="b31-sensors-12-08218">31</xref>] prove that in the case of general bound optimization model, convergence can be secured using the over-relaxed bound optimization iteration when the candidate are close to a local maximum and 0 &lt; <italic>α</italic> &lt; 2. Based on this proposition, an adaptive over-relaxed bound optimization is readily available: <italic>α</italic> can be adjusted by evaluating the cost function. When the cost function becomes worse for some <italic>α</italic> &gt; 1, then <italic>α</italic> has been set too large and needs to be reduced. By setting <italic>α</italic> = 1 immediately, convergence can be achieved. In this paper, we presented the accelerated MS algorithm as follows:
<list list-type="order">
<list-item>
<p>Initialization:</p>
<p>Set the iteration index <italic>k</italic> = 1, and the step parameter <italic>β</italic> &gt; 1, <italic>α</italic> = 1.</p></list-item>
<list-item>
<p>Iterate until convergence condition is met:</p></list-item>
<list-item>
<p>Compute <italic>yˆ<sub>i</sub></italic><sub>+1</sub> with <xref rid="FD13" ref-type="disp-formula">Equation (13)</xref>. And the MS vector m<sub>G</sub>(<italic>yˆ<sub>i</sub></italic><sub>+1</sub>)= <italic>yˆ<sub>i</sub></italic><sub>+1</sub><italic>− yˆ<sub>i</sub></italic>.</p></list-item>
<list-item>
<p><italic>y<sub>i</sub></italic><sub>+1</sub> = <italic>y<sub>i</sub></italic>+ α m<sub>G</sub>(<italic>yˆ<sub>i</sub></italic><sub>+1</sub>)</p></list-item>
<list-item>
<p>If <italic>ρ</italic>(<italic>y<sub>i</sub></italic><sub>+1</sub>)<italic>&gt; ρ</italic>(<italic>y<sub>i</sub></italic>)</p></list-item>
<list-item>
<p>Accept <italic>y<sub>i</sub></italic><sub>+1</sub> and <italic>α</italic> = 1, <italic>α</italic> = <italic>β·α</italic>.</p></list-item>
<list-item>
<p>Else reject <italic>y<sub>i</sub></italic><sub>+1</sub>, and <italic>y<sub>i</sub></italic><sub>+1</sub> = <italic>yˆ<sub>i</sub></italic><sub>+1</sub>, <italic>α</italic> = 1.</p></list-item>
<list-item>
<p>Set <italic>k</italic> = <italic>k +</italic> 1, start a new iteration</p></list-item>
<list-item>
<p>If m<sub>G</sub>(y<italic><sub>i</sub></italic><sub>+1</sub>)&lt;<italic>ε</italic> stop iteration.</p></list-item></list></p></sec>
<sec sec-type="methods">
<label>4.1.5.</label>
<title>Case Study</title>
<p>We compare the performance of the accelerated MS algorithm to the standard MS algorithm on real images (as shown in <xref ref-type="fig" rid="f6-sensors-12-08218">Figure 6</xref>). In the experiments, all codes run on the EVM642 mentioned in Section 3. We repeat all the tests 10 times and the average CPU time is reported in <xref ref-type="table" rid="t3-sensors-12-08218">Table 3</xref>. From the test results we can conclude that the Fast MS is at least three times faster than the standard MS.</p></sec>
<sec>
<label>4.1.6.</label>
<title>Occlusion Issue</title>
<p>The occlusion issue is a technical challenge in the image tracking field. Many methods have been proposed to solve this problem. In this paper, the Bhattacharyya coefficient is used to determine whether the target is in occlusion or lost. Setting thresholds T1, T2, if T1 &lt; Bhattacharyya coefficients &lt; T2, the target is considered to be occluded, if Bhattacharyya coefficients &lt; T1, the target is considered to be lost. In addition, by the effects of the environment illumination and the target appearance changes, the Bhattacharyya coefficient of the target candidate is, in general, the local maximum rather than the global maximum. When the target is in occlusion, the distance between the local maximum and the global maximum would increase, so some special method needs to be implemented to improve the tracking robustness. The Local Template Matching (LTM) method is used in this article to solve this problem. Template Matching (LM) is an existing algorithm, and, usually, it is a global template matching technique. In this paper template matching is implemented in the region of the candidate target, so here it is called Local Template Matching.</p>
<p>The final location (<italic>x</italic>, <italic>y</italic>) of the target is computed over a region of interest (ROI) surrounding the candidate location derived from the fast MS as shown in <xref ref-type="fig" rid="f7-sensors-12-08218">Figure 7</xref>. The LTM algorithm is as follows:
<disp-formula id="FD12">
<label>(12)</label>
<mml:math id="mm15" display="block">
<mml:semantics id="sm15">
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>y</mml:mi></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>u</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>M</mml:mi></mml:munderover>
<mml:mrow>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>M</mml:mi></mml:munderover>
<mml:mrow>
<mml:mi>R</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>u</mml:mi>
<mml:mo>+</mml:mo>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>v</mml:mi>
<mml:mo>+</mml:mo>
<mml:mi>y</mml:mi></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mo>−</mml:mo>
<mml:mi>S</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>y</mml:mi></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula>where <italic>S</italic>(<italic>x</italic>, <italic>y</italic>) is the pixel value at (<italic>x</italic>, <italic>y</italic>) in template image, <italic>R</italic>(<italic>u</italic>+<italic>x</italic>, <italic>v</italic>+<italic>y</italic>) is the pixel value at (<italic>u</italic>+<italic>x</italic>, <italic>v</italic>+<italic>y</italic>) in the search area. (<italic>u</italic>, <italic>v</italic>) is the candidate location derived from the fast MS. <italic>D</italic>(<italic>x</italic>, <italic>y</italic>) is the distance in the feature space, and a smaller value shows a higher correlation. Then the minimum distance <italic>D</italic><sub>Min</sub>(<italic>x</italic>, <italic>y</italic>) and the corresponding location (<italic>x</italic>, <italic>y</italic>) are determined.</p></sec></sec>
<sec>
<label>4.2.</label>
<title>Target Prediction Algorithm</title>
<p>In order to improve the TTS response speed it is necessary to use the prediction method in the tracking scheme. Compared to the Kalman filter and particle filter, the linear prediction algorithm is less complex and offers moderate performance. In this paper we use the linear prediction method to get the predicted angular position of the target.</p>
<p>A simple method to estimate the location of the target in the image can be formulated by the following equation:</p>
<disp-formula id="FD13">
<label>(13)</label>
<mml:math id="mm16" display="block">
<mml:semantics id="sm16">
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>y</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mo>Δ</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mo>Δ</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>y</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mo>≈</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mo>Δ</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mo>Δ</mml:mo>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>t</mml:mi></mml:msub></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula>
<p>where (<italic>xˆ<sub>t</sub></italic><sub>+1</sub>, <italic>yˆ<sub>t</sub></italic><sub>+1</sub>) represents the estimated location of the target, (Δ <italic>xˆ<sub>t</sub></italic><sub>+1</sub>, Δ <italic>yˆ<sub>t</sub></italic><sub>+1</sub>) represents the estimated shift vector from <italic>t</italic> to <italic>t</italic> + 1, (Δ <italic>x<sub>t</sub></italic>, Δ <italic>y<sub>t</sub></italic>) represents the real shift vector from <italic>t</italic> − 1 to <italic>t</italic>. This method assumes that the shift vector of velocity of the target is unchanged in a short time.</p>
<p>Another advanced algorithm which formulates the shift vector (Δ<italic>xˆ<sub>t</sub></italic><sub>+1</sub>, Δ<italic>yˆ<sub>t</sub></italic><sub>+1</sub>) as a linear combination of the shift vectors: {(Δ<italic>x<sub>t</sub></italic><sub>−</sub><italic><sub>k</sub></italic>, Δ<italic>y<sub>t</sub></italic><sub>−</sub><italic><sub>k</sub></italic>), (Δ<italic>x<sub>t</sub></italic><sub>−</sub><italic><sub>k</sub></italic><sub>+1</sub>, Δ<italic>y<sub>t</sub></italic><sub>−</sub><italic><sub>k</sub></italic><sub>+1</sub>),…, (Δ<italic>x<sub>t</sub></italic>, Δ<italic>y<sub>t</sub></italic>)}. Then the following equation is:
<disp-formula id="FD14">
<label>(14)</label>
<mml:math id="mm17" display="block">
<mml:semantics id="sm17">
<mml:mrow>
<mml:mo>Δ</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo>⋅</mml:mo>
<mml:mo>Δ</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi>k</mml:mi></mml:mrow></mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo>⋅</mml:mo>
<mml:mo>Δ</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo>+</mml:mo>
<mml:mo>⋯</mml:mo>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mn>0</mml:mn></mml:msub>
<mml:mo>⋅</mml:mo>
<mml:mo>Δ</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:semantics></mml:math></disp-formula>
<disp-formula id="FD15">
<label>(15)</label>
<mml:math id="mm18" display="block">
<mml:semantics id="sm18">
<mml:mrow>
<mml:mo>Δ</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>y</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>b</mml:mi>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo>⋅</mml:mo>
<mml:mo>Δ</mml:mo>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi>k</mml:mi></mml:mrow></mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>b</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo>⋅</mml:mo>
<mml:mo>Δ</mml:mo>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo>+</mml:mo>
<mml:mo>⋯</mml:mo>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>b</mml:mi>
<mml:mn>0</mml:mn></mml:msub>
<mml:mo>⋅</mml:mo>
<mml:mo>Δ</mml:mo>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:semantics></mml:math></disp-formula>where <italic>a<sub>k</sub></italic>,…,<italic>a</italic><sub>0</sub>,<italic>b<sub>k</sub></italic>,…,<italic>b</italic><sub>0</sub> is a group of fix coefficients which are set offline.</p>
<p>The 2D-Turntable's pitch and yaw angular deviation can be obtained by the following formula:
<disp-formula id="FD16">
<label>(16)</label>
<mml:math id="mm19" display="block">
<mml:semantics id="sm19">
<mml:mrow>
<mml:mo>Δ</mml:mo>
<mml:mrow>
<mml:mo mathvariant="bold">θ</mml:mo>
<mml:mo mathvariant="bold">=</mml:mo></mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>Δ</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>Δ</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mi>y</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>Δ</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>Δ</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>y</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula>where Δ<italic>θ<sub>x</sub></italic> and Δ<italic>θ<sub>y</sub></italic> is respectively the pitch and yaw angular deviation.</p>
<p>A reliable PD controller is used for the tracking system, and the angular deviation <bold>Δθ</bold> obtained from linear prediction is used as feed forward compensation, then the final control algorithm is:
<disp-formula id="FD17">
<label>(17)</label>
<mml:math id="mm20" display="block">
<mml:semantics id="sm20">
<mml:mrow>
<mml:mtext mathvariant="bold">u</mml:mtext>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">k</mml:mtext>
<mml:mn>0</mml:mn></mml:msub>
<mml:mo>∗</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mo mathvariant="bold">θ</mml:mo>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mo mathvariant="bold">θ</mml:mo>
<mml:mi>m</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">k</mml:mtext>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>∗</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:msub>
<mml:mtext mathvariant="bold">e</mml:mtext>
<mml:mi>θ</mml:mi></mml:msub></mml:mrow>
<mml:mrow>
<mml:mi>dt</mml:mi>
<mml:mi>t</mml:mi></mml:mrow></mml:mfrac>
<mml:mo>+</mml:mo>
<mml:mo mathvariant="bold">Δ</mml:mo>
<mml:mi mathvariant="bold">θ</mml:mi></mml:mrow></mml:semantics></mml:math></disp-formula>where <bold>θ</bold> represents the angles of the instruction, <bold>θ</bold><italic><sub>m</sub></italic> represents the angle of the feedback. The scheme of the feed-forward compensation based PD controller is shown in <xref ref-type="fig" rid="f8-sensors-12-08218">Figure 8</xref>.</p>
<disp-formula id="FD18">
<label>(18)</label>
<mml:math id="mm21" display="block">
<mml:semantics id="sm21">
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="bold">e</mml:mtext>
<mml:mi>θ</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mo mathvariant="bold">θ</mml:mo>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mo mathvariant="bold">θ</mml:mo>
<mml:mi>m</mml:mi></mml:msub></mml:mrow></mml:semantics></mml:math></disp-formula></sec></sec>
<sec>
<label>5.</label>
<title>Experiments Section</title>
<sec>
<label>5.1.</label>
<title>Parameter Setting</title>
<p>The kernel function has an important influence on the experimental results. In this paper the Epanechnikove kernel profile is used as:
<disp-formula id="FD19">
<label>(19)</label>
<mml:math id="mm22" display="block">
<mml:semantics id="sm22">
<mml:mrow>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mi>E</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>x</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>−</mml:mo>
<mml:mo>‖</mml:mo>
<mml:mfrac>
<mml:mi>x</mml:mi>
<mml:mi>z</mml:mi></mml:mfrac>
<mml:msup>
<mml:mo>‖</mml:mo>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>‖</mml:mo>
<mml:mfrac>
<mml:mi>x</mml:mi>
<mml:mi>z</mml:mi></mml:mfrac>
<mml:msup>
<mml:mo>‖</mml:mo>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>≤</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn>
<mml:mspace width="1em"/>
<mml:mo>‖</mml:mo>
<mml:mfrac>
<mml:mi>x</mml:mi>
<mml:mi>z</mml:mi></mml:mfrac>
<mml:msup>
<mml:mo>‖</mml:mo>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>&gt;</mml:mo>
<mml:mn>1</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula>where <italic>z</italic> = 128 is the bandwidth of MS tracking algorithm which is decided by the size of the target. <italic>x</italic> actually represents the distance between the effective pixels and the center of the tracking region.</p>
<p>The quantization function <italic>b</italic> is:
<disp-formula id="FD20">
<label>(20)</label>
<mml:math id="mm23" display="block">
<mml:semantics id="sm23">
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>x</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mn>1</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>&lt;</mml:mo>
<mml:mi>x</mml:mi>
<mml:mo>&lt;</mml:mo>
<mml:mn>60</mml:mn></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>2</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mn>110</mml:mn>
<mml:mo>≤</mml:mo>
<mml:mi>x</mml:mi>
<mml:mo>≤</mml:mo>
<mml:mn>160</mml:mn></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>3</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mn>160</mml:mn>
<mml:mo>&lt;</mml:mo>
<mml:mi>x</mml:mi>
<mml:mo>&lt;</mml:mo>
<mml:mn>210</mml:mn></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>4</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mn>210</mml:mn>
<mml:mo>≤</mml:mo>
<mml:mi>x</mml:mi>
<mml:mo>&lt;</mml:mo>
<mml:mn>255</mml:mn></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>Region of interest (ROI) is 20 × 20.</p></sec>
<sec sec-type="results">
<label>5.2.</label>
<title>Experiments Results</title>
<p>Four experiments have been implemented to test the above target tracking scheme. A wireless remote control car (as shown in <xref ref-type="fig" rid="f9-sensors-12-08218">Figure 9</xref>) has been used to simulate a moving target. The experiments include four cases: in case of tracking with the traditional MS (as shown in <xref ref-type="fig" rid="f10-sensors-12-08218">Figure 10</xref>), tracking in case of poses variation with the proposed method (as shown in <xref ref-type="fig" rid="f11-sensors-12-08218">Figure 11</xref>), tracking in case of partial occlusion with the proposed method (as shown in <xref ref-type="fig" rid="f12-sensors-12-08218">Figure 12</xref>), tracking in the case of poses variation in a complex scene with the proposed method (as shown in <xref ref-type="fig" rid="f13-sensors-12-08218">Figure 13</xref>).</p>
<p>From the following tracking image sequence, we can find two rectangular boxes. One represents the center of the optical system; the other represents the target location in the current image. The distance between the two rectangular boxes are used as errors to control the 2D-turntable. When the target is in stop condition, the two rectangular boxes should overlap.</p>
<p>From the following experiments results, we can conclude that the TTS designed in this paper has good robustness to the target pose variation and occlusion. The system totally processes an image in 18.21 ms, in which the fast MS consuming 14.6 ms, TM consumes 1.83 ms, other algorithms consume 1.78 ms. The Target Tracking Scheme time-consuming statistical table is as shown in <xref ref-type="table" rid="t4-sensors-12-08218">Table 4</xref>. The final image processing speed is &gt;50 frame/s. The experiment results indicate our approach to tracking a moving target is fast and robust. However, this proposed algorithm needs to be comprehensively evaluated in a wider database. Although the tracking results are promising in certain situations, further development and more evaluation is anticipated in severe image clutter and occlusion situations.</p></sec></sec>
<sec sec-type="conclusions">
<label>6.</label>
<title>Conclusions and Future Work</title>
<p>In this paper, a balanced scheme between the robustness and real-time performance of a TTS is presented. A novel robust tracking algorithm combining the MS with template match (TM) has been proposed, which has a good robustness to target pose variation, partial occlusion, and a fast MS-based target tracking scheme is designed and implemented. The hardware-in-loop simulation shows that the image signal processing speed is &gt;50 frame/s. The TTS presented in this paper utilized s common CCD camera to realize acquisition of images, but for some special applications infrared CCD sensors or heterogeneous sensors are used, so IR CCD or heterogeneous sensor-based fast target tracking techniques would be a future research direction.</p></sec></body>
<back>
<ack>
<p>The authors thank the anonymous reviewers for their professional questions and constructive comments that help improve the quality of this manuscript. This paper was funded by the National Natural Science Foundation of China (No. 60904089) and the Fundamental Research Funds for the Central Universities of China. This research work was mainly carried out in Northwest Polytechnical University. The authors wish to acknowledge the important contributions made by Fengqi Zhou, Jun Zhou and Yanning Zhang.</p></ack>
<ref-list>
<title>References</title>
<ref id="b1-sensors-12-08218"><label>1.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Bakhtari</surname><given-names>A.</given-names></name><name><surname>Benhabib</surname><given-names>B.</given-names></name></person-group><article-title>An active vision system for multitarget surveillance in dynamic environments</article-title><source>IEEE Trans. Syst., Man, Cybern., Part B: Cybern.</source><year>2007</year><volume>37</volume><fpage>190</fpage><lpage>198</lpage><pub-id pub-id-type="doi">10.1109/TSMCB.2006.883423</pub-id></citation></ref>
<ref id="b2-sensors-12-08218"><label>2.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Collins</surname><given-names>R.T.</given-names></name><name><surname>Liu</surname><given-names>Y.</given-names></name><name><surname>Leordeanu</surname><given-names>M.</given-names></name></person-group><article-title>Online selection of discriminative tracking features</article-title><source>IEEE Trans. Pattern Anal. Mach. Intell.</source><year>2005</year><volume>27</volume><fpage>1631</fpage><lpage>1643</lpage><pub-id pub-id-type="doi">10.1109/TPAMI.2005.205</pub-id><pub-id pub-id-type="pmid">16237997</pub-id></citation></ref>
<ref id="b3-sensors-12-08218"><label>3.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Ali</surname><given-names>A.</given-names></name><name><surname>Kausar</surname><given-names>H.</given-names></name><name><surname>Khan</surname><given-names>M.I.</given-names></name></person-group><article-title>Automatic visual tracking and firing system for anti aircraft machine gun</article-title><conf-name>Proceedings of International Bhurban Conference on Applied Sciences &amp; Technology</conf-name><conf-loc>Islamabad, Pakistan</conf-loc><conf-date>19–22 January 2009</conf-date></citation></ref>
<ref id="b4-sensors-12-08218"><label>4.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Watanabe</surname><given-names>Y.</given-names></name><name><surname>Lesire</surname><given-names>C.</given-names></name><name><surname>Piquereau</surname><given-names>A.</given-names></name><name><surname>Fabiani</surname><given-names>P.</given-names></name></person-group><article-title>System development and flight experiment of vision-based simultaneous navigation and tracking</article-title><conf-name>Proceedings of AIAA InfoTech Aerospace 2010</conf-name><conf-loc>Atlanta, GA, USA</conf-loc><conf-date>20–22 April 2010</conf-date></citation></ref>
<ref id="b5-sensors-12-08218"><label>5.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Lamberti</surname><given-names>F.</given-names></name><name><surname>Sannagianluca</surname><given-names>A.</given-names></name><name><surname>Paravati</surname><given-names>G.</given-names></name></person-group><article-title>Improving robustness of infrared target tracking algorithms based on template matching</article-title><source>IEEE Trans. Aerosp. Electron. Syst.</source><year>2011</year><volume>47</volume><fpage>1467</fpage><lpage>1480</lpage><pub-id pub-id-type="doi">10.1109/TAES.2011.5751271</pub-id></citation></ref>
<ref id="b6-sensors-12-08218"><label>6.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Murray</surname><given-names>D.</given-names></name><name><surname>Basu</surname><given-names>A.</given-names></name></person-group><article-title>Motion tracking with an active camera</article-title><source>IEEE Trans. Pattern Anal. Mach. Intell.</source><year>1994</year><volume>16</volume><fpage>449</fpage><lpage>459</lpage><pub-id pub-id-type="doi">10.1109/34.291452</pub-id></citation></ref>
<ref id="b7-sensors-12-08218"><label>7.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Shirzi</surname><given-names>M.A.</given-names></name><name><surname>Hairi-Yazdi</surname><given-names>M.R.</given-names></name></person-group><article-title>Active tracking using intelligent fuzzy controller and kernel-based algorithm</article-title><conf-name>Proceedings of 2011 IEEE International Conference on Fuzzy Systems</conf-name><conf-loc>Taipei, Taiwan</conf-loc><conf-date>27–30 June 2011</conf-date></citation></ref>
<ref id="b8-sensors-12-08218"><label>8.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Luo</surname><given-names>R.C.</given-names></name><name><surname>Chen</surname><given-names>T.M.</given-names></name></person-group><article-title>Autonomous mobile target tracking system based on grey-fuzzy control algorithm</article-title><source>IEEE Trans. Ind. Electron.</source><year>2000</year><volume>47</volume><fpage>920</fpage><lpage>931</lpage><pub-id pub-id-type="doi">10.1109/41.857973</pub-id></citation></ref>
<ref id="b9-sensors-12-08218"><label>9.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Zhou</surname><given-names>H.</given-names></name><name><surname>Yuan</surname><given-names>Y.</given-names></name><name><surname>Shi</surname><given-names>C.</given-names></name></person-group><article-title>Object tracking using SIFT features and mean shift</article-title><source>Comput. Vis. Image Underst.</source><year>2009</year><volume>113</volume><fpage>345</fpage><lpage>352</lpage><pub-id pub-id-type="doi">10.1016/j.cviu.2008.08.006</pub-id></citation></ref>
<ref id="b10-sensors-12-08218"><label>10.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Shi</surname><given-names>J.</given-names></name><name><surname>Tomasi</surname><given-names>C.</given-names></name></person-group><article-title>Good features to track</article-title><conf-name>Proceeding of IEEE Computer Society Conference on Computer Vision and Pattern Recognition</conf-name><conf-loc>Seattle, WA, USA</conf-loc><conf-date>21–23 June 1994</conf-date></citation></ref>
<ref id="b11-sensors-12-08218"><label>11.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Chen</surname><given-names>W.-G.</given-names></name></person-group><article-title>Simultaneous object tracking and pedestrian detection using hogs on contour</article-title><conf-name>Proceeding of 2010 IEEE 10th International Conference on Signal Processing (ICSP)</conf-name><conf-loc>Beijing, China</conf-loc><conf-date>24–28, October 2010</conf-date><fpage>813</fpage><lpage>816</lpage></citation></ref>
<ref id="b12-sensors-12-08218"><label>12.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Cox</surname><given-names>I.</given-names></name><name><surname>Hingorani</surname><given-names>S.</given-names></name></person-group><article-title>An efficient implementation of reid's multiple hypothesis tracking algorithm and its evaluation for the purpose of visual tracking</article-title><source>IEEE Trans. Pattern Anal. Mach. Intell.</source><year>1996</year><volume>18</volume><fpage>138</fpage><lpage>150</lpage><pub-id pub-id-type="doi">10.1109/34.481539</pub-id></citation></ref>
<ref id="b13-sensors-12-08218"><label>13.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Sawasaki</surname><given-names>N.</given-names></name><name><surname>Morita</surname><given-names>T.</given-names></name><name><surname>Uchiyama</surname><given-names>T.</given-names></name></person-group><article-title>Design and implementation of high-speed visual tracking system for real-time motion analysis</article-title><conf-name>Proceedings of the 13th International Conference on Pattern Recognition</conf-name><conf-loc>Vienna, Austria</conf-loc><conf-date>25–29 August 1996</conf-date><fpage>478</fpage><lpage>483</lpage></citation></ref>
<ref id="b14-sensors-12-08218"><label>14.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Omachi</surname><given-names>S.</given-names></name></person-group><article-title>Fast template matching with polynomials</article-title><source>IEEE Trans. Image Process.</source><year>2007</year><volume>16</volume><fpage>2139</fpage><lpage>2149</lpage><pub-id pub-id-type="doi">10.1109/TIP.2007.901243</pub-id><pub-id pub-id-type="pmid">17688218</pub-id></citation></ref>
<ref id="b15-sensors-12-08218"><label>15.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Hajdu</surname><given-names>A.</given-names></name><name><surname>Pitas</surname><given-names>I.</given-names></name></person-group><article-title>Optimal approach for fast object-template matching</article-title><source>IEEE Trans. Image Process.</source><year>2007</year><volume>16</volume><fpage>2048</fpage><lpage>2057</lpage><pub-id pub-id-type="doi">10.1109/TIP.2007.901819</pub-id><pub-id pub-id-type="pmid">17688210</pub-id></citation></ref>
<ref id="b16-sensors-12-08218"><label>16.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Zhang</surname><given-names>X.</given-names></name><name><surname>Liu</surname><given-names>H.</given-names></name><name><surname>Li</surname><given-names>X.</given-names></name></person-group><article-title>Target tracking for mobile robot platforms via object matching and background anti-matching</article-title><source>J. Robot. Auton. Syst.</source><year>2010</year><volume>58</volume><fpage>1197</fpage><lpage>1206</lpage><pub-id pub-id-type="doi">10.1016/j.robot.2010.08.002</pub-id></citation></ref>
<ref id="b17-sensors-12-08218"><label>17.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Shen</surname><given-names>C.</given-names></name><name><surname>Brooks</surname><given-names>M.J.</given-names></name><name><surname>van den Hengel</surname><given-names>A.</given-names></name></person-group><article-title>Fast global kernel density mode seeking with application to localization and tracking</article-title><conf-name>Proceedings of the 10th IEEE International Conference on Computer Vision</conf-name><conf-loc>China, Beijing</conf-loc><conf-date>17–21 October 2005</conf-date></citation></ref>
<ref id="b18-sensors-12-08218"><label>18.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Comaniciu</surname><given-names>D.</given-names></name><name><surname>Ramesh</surname><given-names>V.</given-names></name></person-group><article-title>Kernel-based object tracking</article-title><source>IEEE Trans. Pattern Anal. Mach. Intell.</source><year>2003</year><volume>25</volume><fpage>564</fpage><lpage>577</lpage><pub-id pub-id-type="doi">10.1109/TPAMI.2003.1195991</pub-id></citation></ref>
<ref id="b19-sensors-12-08218"><label>19.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Comaniciu</surname><given-names>D.</given-names></name><name><surname>Meer</surname><given-names>P.</given-names></name></person-group><article-title>MEANSHIFT: A robust approach toward feature space analysis</article-title><source>IEEE Trans. Pattern Anal. Mach. Intell.</source><year>2002</year><volume>24</volume><fpage>603</fpage><lpage>619</lpage><pub-id pub-id-type="doi">10.1109/34.1000236</pub-id></citation></ref>
<ref id="b20-sensors-12-08218"><label>20.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Zhou</surname><given-names>H.</given-names></name><name><surname>Taj</surname><given-names>M.</given-names></name></person-group><article-title>Target detection and tracking with heterogeneous sensors</article-title><source>IEEE J. Sel. Top. Signal Process.</source><year>2008</year><volume>2</volume><fpage>503</fpage><lpage>513</lpage><pub-id pub-id-type="doi">10.1109/JSTSP.2008.2001429</pub-id></citation></ref>
<ref id="b21-sensors-12-08218"><label>21.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Martinez-del-Rincon</surname><given-names>J.</given-names></name><name><surname>Orrite-Urunuela</surname><given-names>C.</given-names></name><name><surname>Herrero-Jaraba</surname><given-names>J.E.</given-names></name></person-group><article-title>An efficient particle filter for color-based tracking in complex scenes</article-title><conf-name>Proceeding of IEEE Conference on Advanced Video and Signal Based Surveillance</conf-name><conf-loc>London, UK</conf-loc><conf-date>5–7 September 2007</conf-date><fpage>176</fpage><lpage>181</lpage></citation></ref>
<ref id="b22-sensors-12-08218"><label>22.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Yang</surname><given-names>W.</given-names></name><name><surname>Li</surname><given-names>J.</given-names></name><name><surname>Shi</surname><given-names>D.</given-names></name><name><surname>Hu</surname><given-names>S.</given-names></name></person-group><article-title>Mean shift based target tracking in FLIR imagery via adaptive prediction of initial searching points</article-title><conf-name>Proceeding of 2005 Second International Symposium on Intelligent Information Technology Application</conf-name><conf-loc>Shanghai, China</conf-loc><conf-date>20–22 December 2008</conf-date><fpage>852</fpage><lpage>855</lpage></citation></ref>
<ref id="b23-sensors-12-08218"><label>23.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Sullivan</surname><given-names>J.</given-names></name><name><surname>Blake</surname><given-names>A.</given-names></name><name><surname>Isard</surname><given-names>M.</given-names></name><name><surname>MacCormick</surname><given-names>J.</given-names></name></person-group><article-title>Object localization by Bayesian correlation</article-title><conf-name>Proceedings of the Seventh International Conference on Computer Vision</conf-name><conf-loc>Kerkyra, Greece</conf-loc><conf-date>20–27 September 1999</conf-date><fpage>1068</fpage><lpage>1075</lpage></citation></ref>
<ref id="b24-sensors-12-08218"><label>24.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Black</surname><given-names>M.J.</given-names></name><name><surname>Jepson</surname><given-names>A.D.</given-names></name></person-group><article-title>EigenTracking: Robust matching and tracking of articulated objects using a view-based representation</article-title><source>Int. J. Comput. Vis.</source><year>1998</year><volume>26</volume><fpage>63</fpage><lpage>84</lpage><pub-id pub-id-type="doi">10.1023/A:1007939232436</pub-id></citation></ref>
<ref id="b25-sensors-12-08218"><label>25.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Levy</surname><given-names>A.</given-names></name><name><surname>Lindenbaum</surname><given-names>M.</given-names></name></person-group><article-title>Sequential karhunen- loeve basis extraction and its application to image</article-title><source>IEEE Trans. Image Process.</source><year>2000</year><volume>8</volume><fpage>1371</fpage><lpage>1374</lpage></citation></ref>
<ref id="b26-sensors-12-08218"><label>26.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Lin</surname><given-names>R.</given-names></name><name><surname>Yang</surname><given-names>M.</given-names></name></person-group><article-title>Object tracking using incremental fisher discriminant analysis</article-title><conf-name>Proceedings of the 17th International Conference on Pattern Recognition</conf-name><conf-loc>Cambridge, UK</conf-loc><conf-date>23–26 August 2004</conf-date><fpage>757</fpage><lpage>760</lpage></citation></ref>
<ref id="b27-sensors-12-08218"><label>27.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Cheng</surname><given-names>Y.</given-names></name></person-group><article-title>Mean shift, mode seeking, and clustering</article-title><source>IEEE Trans. Pattern Anal. Mach. Intell.</source><year>1995</year><volume>17</volume><fpage>790</fpage><lpage>799</lpage><pub-id pub-id-type="doi">10.1109/34.400568</pub-id></citation></ref>
<ref id="b28-sensors-12-08218"><label>28.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Bentley</surname><given-names>J.L.</given-names></name></person-group><article-title>Multidimensional binary search trees in database applications</article-title><source>IEEE Trans. Softw. Eng.</source><year>1979</year><volume>SE-5</volume><fpage>333</fpage><lpage>340</lpage><pub-id pub-id-type="doi">10.1109/TSE.1979.234200</pub-id></citation></ref>
<ref id="b29-sensors-12-08218"><label>29.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Salakhutdinov</surname><given-names>R.</given-names></name><name><surname>Roweis</surname><given-names>S.</given-names></name></person-group><article-title>Adaptive overrelaxed bound optimization methods</article-title><conf-name>Proceedings of the Twentieth International Conference on Machine Learning (ICML-2003)</conf-name><conf-loc>Washington, DC, USA</conf-loc><conf-date>21–24 August 2003</conf-date><fpage>664</fpage><lpage>671</lpage></citation></ref>
<ref id="b30-sensors-12-08218"><label>30.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Kim</surname><given-names>J.S.</given-names></name><name><surname>Yeom</surname><given-names>D.H.</given-names></name><name><surname>Joo</surname><given-names>Y.H.</given-names></name></person-group><article-title>Fast and robust algorithm of tracking multiple moving objects for intelligent video surveillance systems</article-title><source>IEEE Trans. Consum. Electron.</source><year>2011</year><volume>57</volume><fpage>1165</fpage><lpage>1170</lpage><pub-id pub-id-type="doi">10.1109/TCE.2011.6018870</pub-id></citation></ref>
<ref id="b31-sensors-12-08218"><label>31.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Xu</surname><given-names>L.</given-names></name><name><surname>Jordan</surname><given-names>M.I.</given-names></name></person-group><article-title>On convergence properties of the EM algorithm for Gaussian mixtures</article-title><source>Neural Comput.</source><year>1996</year><volume>8</volume><fpage>129</fpage><lpage>151</lpage><pub-id pub-id-type="doi">10.1162/neco.1996.8.1.129</pub-id></citation></ref>
<ref id="b32-sensors-12-08218"><label>32.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ortiz</surname><given-names>L.E.</given-names></name><name><surname>Kaelbling</surname><given-names>L.P.</given-names></name></person-group><article-title>Accelerating EM: An empirical study</article-title><source>Uncertain. Artif. Intell.</source><year>1999</year><fpage>512</fpage><lpage>521</lpage></citation></ref>
<ref id="b33-sensors-12-08218"><label>33.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>You</surname><given-names>Z.</given-names></name><name><surname>Sun</surname><given-names>J.</given-names></name><name><surname>Xing</surname><given-names>F.</given-names></name></person-group><article-title>A novel multi-aperture based sun sensor based on a fast multi-point MEANSHIFT (FMMS) algorithm</article-title><source>Sensors</source><year>2011</year><volume>11</volume><fpage>2857</fpage><lpage>2874</lpage><pub-id pub-id-type="doi">10.3390/s110302857</pub-id><pub-id pub-id-type="pmid">22163770</pub-id></citation></ref></ref-list>
<sec sec-type="display-objects">
<title>Figures and Tables</title>
<fig id="f1-sensors-12-08218" position="float">
<label>Figure 1.</label>
<caption>
<p>The target tracking system structure chart.</p></caption>
<graphic xlink:href="sensors-12-08218f1.gif"/></fig>
<fig id="f2-sensors-12-08218" position="float">
<label>Figure 2.</label>
<caption>
<p>Signal flow diagram of a typical target tracking system.</p></caption>
<graphic xlink:href="sensors-12-08218f2.gif"/></fig>
<fig id="f3-sensors-12-08218" position="float">
<label>Figure 3.</label>
<caption>
<p>The structure of TDS642EVM.</p></caption>
<graphic xlink:href="sensors-12-08218f3.gif"/></fig>
<fig id="f4-sensors-12-08218" position="float">
<label>Figure 4.</label>
<caption>
<p>2D turntable and video camera.</p></caption>
<graphic xlink:href="sensors-12-08218f4.gif"/></fig>
<fig id="f5-sensors-12-08218" position="float">
<label>Figure 5.</label>
<caption>
<p>The structure of the TTS software structure.</p></caption>
<graphic xlink:href="sensors-12-08218f5.gif"/></fig>
<fig id="f6-sensors-12-08218" position="float">
<label>Figure 6.</label>
<caption>
<p>Two images for fast MS <italic>versus</italic> the standard MS.</p></caption>
<graphic xlink:href="sensors-12-08218f6.gif"/></fig>
<fig id="f7-sensors-12-08218" position="float">
<label>Figure 7.</label>
<caption>
<p>The template matching algorithm.</p></caption>
<graphic xlink:href="sensors-12-08218f7.gif"/></fig>
<fig id="f8-sensors-12-08218" position="float">
<label>Figure 8.</label>
<caption>
<p>The scheme of the feed forward compensation-based PD controller.</p></caption>
<graphic xlink:href="sensors-12-08218f8.gif"/></fig>
<fig id="f9-sensors-12-08218" position="float">
<label>Figure 9.</label>
<caption>
<p>The wireless remote car.</p></caption>
<graphic xlink:href="sensors-12-08218f9.gif"/></fig>
<fig id="f10-sensors-12-08218" position="float">
<label>Figure 10.</label>
<caption>
<p>Tracking with the traditional MS.</p></caption>
<graphic xlink:href="sensors-12-08218f10.gif"/></fig>
<fig id="f11-sensors-12-08218" position="float">
<label>Figure 11.</label>
<caption>
<p>Tracking with proposed method in case of poses variation.</p></caption>
<graphic xlink:href="sensors-12-08218f11.gif"/></fig>
<fig id="f12-sensors-12-08218" position="float">
<label>Figure 12.</label>
<caption>
<p>Tracking with proposed method in case of occlusion.</p></caption>
<graphic xlink:href="sensors-12-08218f12.gif"/></fig>
<fig id="f13-sensors-12-08218" position="float">
<label>Figure 13.</label>
<caption>
<p>Tracking with proposed method in case of poses variation under complex scene.</p></caption>
<graphic xlink:href="sensors-12-08218f13.gif"/></fig>
<table-wrap id="t1-sensors-12-08218" position="float">
<label>Table 1.</label>
<caption>
<p>The mainly performance of TDS642EVM.</p></caption>
<table frame="box" rules="all">
<thead>
<tr>
<th align="left" valign="top" rowspan="4"><bold>DSP</bold></th>
<th align="center" valign="top"><bold>DSP Chip</bold></th>
<th align="center" valign="top"><bold>TMXDM642</bold></th></tr>
<tr>
<th align="center" valign="top"><bold>Operating voltage</bold></th>
<th align="center" valign="top"><bold>I/O:3.3 V Vcore:1.4 V</bold></th></tr>
<tr>
<th align="center" valign="top"><bold>Clock</bold></th>
<th align="center" valign="top"><bold>600 MHz</bold></th></tr>
<tr>
<th align="center" valign="top"><bold>External bus clock</bold></th>
<th align="center" valign="top"><bold>100 MHz</bold></th></tr></thead>
<tbody>
<tr>
<td align="left" valign="top">Video In/Out</td>
<td colspan="2" align="center" valign="top">PAL/NTSC/SECAMS</td></tr>
<tr>
<td align="left" valign="top">External Interface</td>
<td colspan="2" align="center" valign="top">RS232 UART</td></tr></tbody></table></table-wrap>
<table-wrap id="t2-sensors-12-08218" position="float">
<label>Table 2.</label>
<caption>
<p>Performance of the 2D turntable.</p></caption>
<table frame="box" rules="all">
<tbody>
<tr>
<td align="left" valign="top">Maximum Speed</td>
<td align="left" valign="top">10°/s</td></tr>
<tr>
<td align="left" valign="top">Rotation Range</td>
<td align="left" valign="top">Pitch: ±20°; Yaw: ±80°</td></tr>
<tr>
<td align="left" valign="top">Motor Type</td>
<td align="left" valign="top">Stepper Motor</td></tr>
<tr>
<td align="left" valign="top">Maximum Torque</td>
<td align="left" valign="top">2 Nm</td></tr></tbody></table></table-wrap>
<table-wrap id="t3-sensors-12-08218" position="float">
<label>Table 3.</label>
<caption>
<p>Comparison of CPU times for two cases.</p></caption>
<table frame="box" rules="cols">
<thead>
<tr>
<th align="left" valign="top" rowspan="3"/>
<th colspan="2" align="center" valign="top"><bold>Image 1</bold></th>
<th colspan="2" align="center" valign="top"><bold>Image 2</bold></th></tr>
<tr>
<th valign="bottom" colspan="4">
<hr/></th></tr>
<tr>
<th align="center" valign="top">Number of iterations</th>
<th align="center" valign="top">CPU time</th>
<th align="center" valign="top">Number of iterations</th>
<th align="center" valign="top">CPU time</th></tr></thead>
<tbody>
<tr>
<td align="left" valign="top">Fast MS</td>
<td align="center" valign="top">8</td>
<td align="center" valign="top">18.8 ms</td>
<td align="center" valign="top">7</td>
<td align="center" valign="top">14.2 ms</td></tr>
<tr>
<td align="left" valign="top">Standard MS</td>
<td align="center" valign="top">26</td>
<td align="center" valign="top">61.1 ms</td>
<td align="center" valign="top">28</td>
<td align="center" valign="top">60.8 ms</td></tr></tbody></table></table-wrap>
<table-wrap id="t4-sensors-12-08218" position="float">
<label>Table 4.</label>
<caption>
<p>TTS time-consuming statistical.</p></caption>
<table frame="box" rules="cols">
<thead>
<tr>
<th align="left" valign="top"><bold>Algorithm</bold></th>
<th align="left" valign="top"><bold>Time</bold></th></tr></thead>
<tbody>
<tr>
<td align="left" valign="top">Fast MS (10 iteration)</td>
<td align="left" valign="top">14.6 ms</td></tr>
<tr>
<td align="left" valign="top">TM</td>
<td align="left" valign="top">1.83 ms</td></tr>
<tr>
<td align="left" valign="top">Other</td>
<td align="left" valign="top">1.78 ms</td></tr>
<tr>
<td align="left" valign="top">Total</td>
<td align="left" valign="top">18.21 ms</td></tr></tbody></table></table-wrap></sec></back></article>
