Method and apparatus for tracking a number of objects or object parts in image sequences
Summary by NHIP
Bayesian Object Tracking Method
The method tracks objects by computing a probability distribution over target configurations at each new image time. It propagates a prior distribution from time (t−1) to time (t) using a target dynamics model, then aligns it with visual evidence via a likelihood model. This alignment identifies expected image portions using a shape rendering function and assigns pixel probabilities based on occlusion derived from prior distributions and shape models of other targets.
Claim Score by NHIP
Abstract
A method for tracking a number of objects or object parts in image sequences utilizes a Bayesian-like approach to object tracking, computing, at each time a new image is available, a probability distribution over all possible target configurations for that time. The Bayesian-like approach to object tracking computes a probability distribution for the previous image, at time (t−1), is propagated to the new image at time (t) according to a probabilistic model of target dynamics, obtaining a predicted distribution at time (t). The Bayesian-like approach to object tracking also aligns the predicted distribution at time (t) with the evidence contained in the new image at time (t) according to a probabilistic model of visual likelihood.

Term
3.6 yearsleft in the term
Expires 19 April 2030, including 1,019 days of term adjustment.
- Priority
- Filed
- Granted
- Today
- Expires
10 claims: 3 independent, 7 dependent
- 1A method for tracking a number of objects or object parts in image sequences, comprising following a Bayesian-like approach to object tracking, computing, at each time a new image is available, a probability distribution over target configurations for that time, said Bayesian-like approach to object tracking comprising:computing a probability distribution for the previous image, at time (t−1), and propagating the probability distribution to the new image, at time (t), according to a probabilistic model of target dynamics, to obtain a predicted, or prior, distribution at time (t);and aligning the predicted distribution, at time (t), with the evidence contained in the new image, at time (t), according to a probabilistic model of visual likelihood, to obtain a posterior distribution at time (t);wherein aligning the predicted distribution, at time (t), of a hypothetic target configuration associated with a new frame by performing image analysis includes, identifying the image portion in which the target under consideration is expected to be visible under the current configuration, by using a shape rendering function, assigning a probability value to each pixel of the identified image portion, which is computed as a probability of the target under consideration being expected to be visible under the current configuration being occluded by another target, the probability of the target under consideration being expected to be visible under the current configuration being occluded by another target being derived from prior distributions and shape models of other targets, computing a degree of dissimilarity between visual features extracted from the identified image portion and a corresponding characterization, or appearance model, of the target, an importance, or weight, of the different pixels being calculated by the probability of the target under consideration being expected to be visible under the current configuration being occluded, adding, to the value of degree of dissimilarity, a further dissimilarity term per each other tracked target, each further dissimilarity term being computed in form of an expectation, under a prior distribution, of the dissimilarity value, the expectation of dissimilarity value being calculated on configurations that map closer to an image recording device than the target under analysis wherein the target, currently under consideration, being neglected, and calculating a distribution value, assigned to the hypothetic target configuration of the target under analysis, by multiplying a prior value with a negative exponential of an overall dissimilarity score.
- 9Broadest claimClaim Score 20, narrow(NHIP)An apparatus for tracking a number of objects or object parts in image sequences comprising:a processor;said processor computing a probability distribution for the previous image, at time (t−1 ), and propagating the probability distribution to the new image, at time (t), according to a probabilistic model of target dynamics, to obtain a predicted, or prior, distribution at time (t);and said processor aligning the predicted distribution, at time (t), with the evidence contained in the new image, at time (t), according to a probabilistic model of visual likelihood, to obtain a posterior distribution at time (t);said processor aligning the predicted distribution, at time (t), of a hypothetic target configuration associated with a new frame by, identifying the image portion in which the target under consideration is expected to be visible under the current configuration, by using a shape rendering function, assigning a probability value to each pixel of the identified image portion, which is computed as a probability of the target under consideration is expected to be visible under the current configuration being occluded by another target, the probability of the target under consideration being expected to be visible under the current configuration being occluded by another target being derived from prior distributions and shape models of other targets, computing a degree of dissimilarity between visual features extracted from the identified image portion and a corresponding characterization, or appearance model, of the target, the importance, or weight, of the different pixels in this calculation being calculated by the probability of the target under consideration being expected to be visible under the current configuration being occluded, adding, to the value of degree of dissimilarity, a further dissimilarity term per each other tracked target, each further dissimilarity term being computed in form of an expectation, under a prior distribution, of the dissimilarity values, the expectation of dissimilarity values being calculated on configurations that map closer to an image recording device than the target under analysis wherein the target, currently under consideration, being neglected, and calculating a distribution value, assigned to the hypothetic target configuration of the target under analysis, by multiplying a prior value with the negative exponential of the overall dissimilarity score.
- 10A recordable computer readable medium having a program recorded thereon, adapted to cause a process to be executed on a computer, the process comprising:computing a probability distribution for the previous image, at time (t−1 ), and propagating the probability distribution to the new image, at time (t), according to a probabilistic model of target dynamics, to obtain a predicted, or prior, distribution at time (t);and aligning the predicted distribution, at time (t), with the evidence contained in the new image, at time (t), according to a probabilistic model of visual likelihood, to obtain a posterior distribution at time (t);wherein aligning the predicted distribution, at time (t), of a hypothetic target configuration associated with a new frame by performing image analysis includes, identifying the image portion in which the target under consideration is expected to be visible under the current configuration, by using a shape rendering function, assigning a probability value to each pixel of the identified image portion, which is computed as a probability of the target under consideration is expected to be visible under the current configuration being occluded by another target, the probability of the target under consideration being expected to be visible under the current configuration being occluded by another target being derived from prior distributions and shape models of other targets, computing a degree of dissimilarity between visual features extracted from the identified image portion and a corresponding characterization, or appearance model, of the target, the importance, or weight, of the different pixels in this calculation being calculated by the probability of the target under consideration being expected to be visible under the current configuration being occluded, adding, to the value of degree of dissimilarity, a further dissimilarity term per each other tracked target, each further dissimilarity term being computed in form of an expectation, under a prior distribution, of the dissimilarity values, the expectation of dissimilarity values being calculated on configurations that map closer to an image recording device than the target under analysis wherein the target, currently under consideration, being neglected, and calculating a distribution value, assigned to the hypothetic target configuration of the target under analysis, by multiplying a prior value with the negative exponential of the overall dissimilarity score.
Independent claims3
95 paragraphs in 5 sections, as filed
FIELD OF THE INVENTION
The present invention relates to a method and apparatus for tracking a number of objects or object parts in image sequences.
BACKGROUND
As known, video tracking is the process of locating a moving object (or several ones) in time using a camera (or several ones). An algorithm analyses the video frames and outputs the location, optionally in real time.
Visual tracking of multiple moving targets is a challenging problem. Independent tracking of individual bodies is a simple solution but fails in the presence of occlusions, where the disappearance of a target cannot be explained but in relationship with the other targets (the event in which the light emitted or reflected by an object is blocked by another object before it reaches the eye or camera where the image is taken, is called occlusion).
On the other hand, principled modeling of the occlusion process is possible when considering the joint configuration of all involved targets, and enables a single tracker in charge of estimating the joint dynamics of the different bodies to interpret images correctly during occlusion. This solution, however, requires a representation size that grows exponentially with the number of bodies, thus leading to an estimation algorithm whose computational complexity grows exponentially as well.
However, the problem of tracking the position and the velocity of a single target is well distinguished from the one of tracking the position of two or more different targets. Although both tasks can be formalized as a joint estimation problem, in the first case physical constraints impose a strong correlation of position and velocity, while in the second case the two components, the locations of the different objects, may depend only weakly from each other, if at all. Their measurements, however, may still be strongly correlated due to occlusions. This is the basic observation that has motivated the invention. In our method we deal with estimates separately, but analyze images jointly.
There are a number of acknowledged approaches described in the literature which address the multi-target/multi-part tracking problem.
In particular the article by M. Isard and J. MacCormick, BraMBLe, a Bayesian multiple-blob tracker, in <i>Int. Conf. Computer Vision, </i>2003, appears to be a point of reference for the kind of probabilistic approach that this proposal addresses.
Other articles address similar problems, like T. Zhao and R. Nevatia, “Tracking Multiple Humans in Crowded Environment,” <i>IEEE Conf. on Computer Vision and Pattern Recognition, </i>2004; or K. Otsuka and N. Mukawa, “Multiview occlusion analysis for tracking densely populated objects based on 2-D visual angles,” in <i>Int. Conf. Computer Vision and Pattern Recognition, </i>2004.
The above references disclose implementing principled occlusion reasoning suffering from the problem of dimensionality resulting in heavy computational burden due to exponential complexity increase in the number of targets.
SUMMARY OF THE INVENTION
Therefore it is the main object of the present invention to provide a method and apparatus for tracking a number of objects or object parts in image sequences, which offers a considerable reduction in computational complexity.
The subject of this invention is a new method for tracking a number of objects or object parts based on their visual appearance observed in a plurality of successive image frames, which can handle multiple occlusions consistently and at an affordable computational cost.
The present invention offers two main contributions which allow solving the multitarget tracking problem at an affordable computational cost.
The first contribution provides a novel Bayesian framework tailored to sequential estimation problems of weakly coupled signals, like the ones describing trajectories of different targets to which we will refer from now on. Involved joint distributions are represented by the outer product of single target components, while updates are carried out using joint likelihood model. These updates produce nonseparable distributions which are mapped into single target spaces by a projection that guarantees minimal information loss. The key feature of the resulting model, dubbed Hybrid Joint-Separable (HJS), is its economical representation size that scales linearly with the number of targets.
The second contribution is the presentation of an occlusion robust multitarget appearance likelihood and an associated algorithm for an efficient update within the HJS model. The likelihood model is derived according to image formation principles and implements occlusion reasoning at pixel level.
The complexity of the HJS posterior update is quadratic in the number of tracked objects and linear in representation size of single target estimates.
Therefore the present method is unique in the way it handles occlusions in a principled way but maintains an affordable computational cost. The complexity of the method scales quadratically with the number of targets rather than exponentially, as in the known systems.
The method described hereafter addresses both scalability and robustness issues, providing a new solution which is robust to inter-object occlusions and remains practical at the same time. The method follows a Bayesian approach to object tracking: it computes, at each time a new image is available, a probability distribution over target configurations for that time. Bayesian tracking then involves two steps: <ul><li id="ul0001-0001" num="0000"><ul><li id="ul0002-0001" num="0018">Prediction: the probability distribution computed for the previous image, at time (t−1), is propagated to the new image at time (t) according to a probabilistic model of target dynamics, obtaining a predicted, or prior, distribution at time (t); and</li><li id="ul0002-0002" num="0019">Update: the predicted distribution at time (t) is then aligned with the evidence contained in the new image at time (t) according to a probabilistic model of visual likelihood, obtaining a posterior distribution at time (t).</li></ul></li></ul>
More specifically, the method in accordance with the present invention computes the posterior distribution value, or probability density, in the Update step, of any hypothetic target configuration associated with a new frame by performing image analysis, in the following way: <ul><li id="ul0003-0001" num="0000"><ul><li id="ul0004-0001" num="0021">the image portion in which the target under consideration is expected to be visible under the current configuration is identified, by using a shape rendering function, namely a user-defined shape model of the target that is rendered onto the image for the specific configuration under analysis;</li><li id="ul0004-0002" num="0022">a probability value is assigned to each pixel of the identified image portion, which is computed as the probability of being occluded by another target, the probability being derived from other targets' prior distributions and their shape model;</li><li id="ul0004-0003" num="0023">a degree of dissimilarity is computed, in a user-defined way, between visual features extracted from the identified image portion and a corresponding characterization, or appearance model, of the target, the importance, or weight, of the different pixels in this calculation being thereby calculated by said probability of being occluded;</li><li id="ul0004-0004" num="0024">to said value of degree of dissimilarity, a further dissimilarity term per each other tracked target is added, each such other target-term being computed in form of the expectation, under its prior distribution, of the dissimilarity values calculated on those configurations that map closer to the camera (or to any other shooting or picture recording device used) than the one of the target under analysis, the target currently under consideration being neglected; and</li><li id="ul0004-0005" num="0025">the distribution value assigned to the hypothesized configuration of the target under analysis is finally calculated by multiplying the prior value with the negative exponential of the overall dissimilarity score as obtained according to the previous two items.</li></ul></li></ul>
With the term “any hypothetic target configuration” it is meant not only the location of a moving subject, but also the posture, the orientation, the leg or arm angles, of any simple or articulated subjects, etc.
The above list of operations has to be repeated for each target configuration on which the value of the probability distribution has to be determined. For example, in a Particle filter implementation of the method, the list of operations has to be executed for each single element of the sample set that has been chosen to represent the distribution (i.e., for each particle). However, the method is by no means limited to being applied to such realization. The present invention is about a new routine to compute the update step of a multi-body/multi-part Bayes filter, which might be realized on a computer through approximate implementation of it, including, but not limited to, Kalman Filter, Particle Filter, Markov Chain Monte Carlo (MCMC) Filter, PhD Filter, Rao-Blackwellised Particle Filter, Grid Filter, Kernel Filter, Belief Propagation, Non-parametric Belief Propagation, PAMPAS, etc.
These and further objects are achieved by means of a method and apparatus for tracking a number of objects or object parts in image sequences, as described in the attached claims, which are considered an integral part of the present description.
BRIEF DESCRIPTION OF THE DRAWINGS
The patent or application file contains at least one drawing executed in color. Copies of this patent or patent application publication with color drawing(s) will be provided by the Office upon request and payment of the necessary fee. The invention will become fully clear from the following detailed description, given by way of a mere exemplifying and non limiting example, to be read with reference to the attached drawing figures, wherein:
<figref idrefs="DRAWINGS">FIG. 1</figref> shows an example of Bayes filter iteration according to known criteria;
<figref idrefs="DRAWINGS">FIG. 2</figref> shows an example of implementation of the shape rendering function according to the invention;
<figref idrefs="DRAWINGS">FIG. 3</figref> shows an example of image partition by a Two-body image partitioning for an occlusion hypothesis using the shape rendering function, as from <figref idrefs="DRAWINGS">FIG. 2</figref>;
<figref idrefs="DRAWINGS">FIG. 4</figref> shows an example of weight map; and
<figref idrefs="DRAWINGS">FIG. 5</figref> shows a silhouette contour rendered at a hypothetic position x<sup>k </sup>of the target in background, say with index k, and corresponding weight map w<sup>k </sup>overlaid for visualization purpose as transparency mask.
DETAILED DESCRIPTION
The present invention is about a new functional routine which computes the update step of a multi-body/multi-part Bayes filter (or any approximate implementation of it including, but not limited to, Kalman Filter, Particle Filter, Markov Chain Monte Carlo (MCMC) Filter, PhD Filter, Rao-Blackwellised Particle Filter, Grid Filter, Kernel Filter, Belief Propagation, Non-parametric Belief Propagation, PAMPAS, etc.): <ul><li id="ul0005-0001" num="0000"><ul><li id="ul0006-0001" num="0036">for a specific, approximate, representation of target configuration distribution;</li><li id="ul0006-0002" num="0037">using a specific form of visual likelihood that implements the visual occlusion process, which however is completely generic w.r.t the type of image cues used (including, but not limited to, image gradients, edges, color, optical flow, motion layers, texture, wavelets, feature points, etc., or any combination of them); and</li><li id="ul0006-0003" num="0038">built upon an explicit shape model of the target(s).</li></ul></li></ul>
In the following each of the above items is specified rigorously, build upon an explicit shape model of the target(s).
<figref idrefs="DRAWINGS">FIG. 1</figref> shows an example of Bayes filter iteration according to known criteria: the posterior distribution computed for time t−1 (Posterior t−1) is first projected to time t according to a Prediction model to get a prior distribution for time t (Prior t), and then updated with the likelihood evaluated on the new image, to get a Posterior distribution at time t (Posterior t).
This section describes the type of estimate representation the method calculates.
The configuration of a target within the monitored scene is represented on a computer by an n-dimensional vector, x, the target state. A target can be, for example but not in a limiting sense, a single object, or a part of it such as the upper leg of a person, or a joint of a mechanical arm of a robotic platform.
This state can simply be the image coordinates of the centroid of the object, or the spatial position of a person measured on the floor plane, or a high-dimensional description of its posture in terms of joint angles, etc. Let x<sub>t</sub><sup>k </sup>denote the state of a target k at time t, where k is a unique identifier associated to each target. The joint conditional distribution p(x<sub>t</sub><sup>1:K</sup>|z<sub>1:t</sub>) of a number of targets 1, . . . , K, which can all be of the same type or even of different types and thus each x<sub>t</sub><sup>k </sup>may have different dimension and meaning, is defined as the distribution over the combined, joint, state vector x<sub>t</sub><sup>1:K</sup>=(x<sub>t</sub><sup>1</sup>, . . . ,x<sub>t</sub><sup>K</sup>) of all the targets, conditioned on the sequence of images z<sub>1:t</sub>=(z<sub>1</sub>, . . . ,z<sub>t</sub>).
The method proposed here computes an approximate representation q(x<sub>t</sub><sup>1:K</sup>|z<sub>1:t</sub>) of p(x<sub>t</sub><sup>1:K</sup>|z<sub>1:t</sub>) which is given by the product of its marginal components
<maths id="MATH-US-00001" num="00001"><math overflow="scroll"><mtable><mtr><mtd><mrow><mrow><mrow><mi>q</mi><mo></mo><mrow><mo>(</mo><mrow><msubsup><mi>x</mi><mi>t</mi><mrow><mn>1</mn><mo>:</mo><mi>K</mi></mrow></msubsup><mo></mo><mstyle><mtext>❘</mtext></mstyle><mo></mo><msub><mi>z</mi><mrow><mn>1</mn><mo>:</mo><mi>t</mi></mrow></msub></mrow><mo>)</mo></mrow></mrow><mo>=</mo><mrow><munderover><mo>∏</mo><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>K</mi></munderover><mo></mo><mstyle><mspace width="0.3em" height="0.3ex" /></mstyle><mo></mo><mrow><mi>q</mi><mo></mo><mrow><mo>(</mo><mrow><msubsup><mi>x</mi><mi>t</mi><mi>k</mi></msubsup><mo></mo><mstyle><mtext>❘</mtext></mstyle><mo></mo><msub><mi>z</mi><mrow><mn>1</mn><mo>:</mo><mi>t</mi></mrow></msub></mrow><mo>)</mo></mrow></mrow></mrow></mrow><mo></mo><mstyle><mtext /></mstyle><mo></mo><mi>with</mi></mrow></mtd><mtd><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mrow><mrow><mi>q</mi><mo></mo><mrow><mo>(</mo><mrow><msubsup><mi>x</mi><mi>t</mi><mi>k</mi></msubsup><mo></mo><mstyle><mtext>❘</mtext></mstyle><mo></mo><msub><mi>z</mi><mrow><mn>1</mn><mo>:</mo><mi>t</mi></mrow></msub></mrow><mo>)</mo></mrow></mrow><mo>=</mo><mrow><mo>∫</mo><mrow><mrow><mi>p</mi><mo></mo><mrow><mo>(</mo><mrow><msubsup><mi>x</mi><mi>t</mi><mrow><mn>1</mn><mo>:</mo><mi>k</mi></mrow></msubsup><mo></mo><mstyle><mtext>❘</mtext></mstyle><mo></mo><msub><mi>z</mi><mrow><mn>1</mn><mo>:</mo><mi>t</mi></mrow></msub></mrow><mo>)</mo></mrow></mrow><mo></mo><mrow><mo>ⅆ</mo><msubsup><mi>x</mi><mi>t</mi><mrow><mrow><mn>1</mn><mo>:</mo><mi>K</mi></mrow><mo>❘</mo><mi>k</mi></mrow></msubsup></mrow></mrow></mrow></mrow></mtd><mtd><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mtd></mtr></mtable></math></maths>
(superscript 1:K|k enumerates all object indices but k)
where distribution p(x<sub>t</sub><sup>1:K</sup>|z<sub>1:t</sub>) in equation (2) comes from a Bayes-like filter update
<maths id="MATH-US-00002" num="00002"><math overflow="scroll"><mtable><mtr><mtd><mrow><mrow><mrow><mi>p</mi><mo></mo><mrow><mo>(</mo><mrow><msubsup><mi>x</mi><mi>t</mi><mrow><mn>1</mn><mo>:</mo><mi>K</mi></mrow></msubsup><mo></mo><mstyle><mtext>❘</mtext></mstyle><mo></mo><msub><mi>z</mi><mrow><mn>1</mn><mo>:</mo><mi>t</mi></mrow></msub></mrow><mo>)</mo></mrow></mrow><mo>∝</mo><mrow><mrow><mi>p</mi><mo></mo><mrow><mo>(</mo><mrow><msub><mi>z</mi><mi>t</mi></msub><mo></mo><mstyle><mtext>❘</mtext></mstyle><mo></mo><msubsup><mi>x</mi><mi>t</mi><mrow><mn>1</mn><mo>:</mo><mi>K</mi></mrow></msubsup></mrow><mo>)</mo></mrow></mrow><mo></mo><mrow><munderover><mo>∏</mo><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>K</mi></munderover><mo></mo><mstyle><mspace width="0.3em" height="0.3ex" /></mstyle><mo></mo><mrow><mi>q</mi><mo></mo><mrow><mo>(</mo><mrow><msubsup><mi>x</mi><mi>t</mi><mi>k</mi></msubsup><mo></mo><mstyle><mtext>❘</mtext></mstyle><mo></mo><msub><mi>z</mi><mrow><mn>1</mn><mo>:</mo><mrow><mi>t</mi><mo>-</mo><mn>1</mn></mrow></mrow></msub></mrow><mo>)</mo></mrow></mrow></mrow></mrow></mrow><mo>,</mo></mrow></mtd><mtd><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mtd></mtr></mtable></math></maths>
q(x<sub>t</sub><sup>k</sup>|z<sub>1:t−1</sub>) is the predicted distribution for target k at time t, and p(z<sub>t</sub>|x<sub>t</sub><sup>1:K</sup>) is a likelihood function of the type defined in section “Occlusion robust visual likelihood.”
Relation (3) defines an equivalence up to a proportionality factor which is independent of x<sub>t</sub><sup>k</sup>, and will thus be omitted since it does not alter the shape of the distribution to be estimated (its shape contains all the information requested for tracking purpose).
This section describes the shape rendering function of a target and its representation that is used as input to the method. Each target k has a rendering procedure associated to the numeric description chosen, denoted by g<sup>k</sup>(x<sup>k</sup>). This function provides, for a given configuration x<sup>k </sup>of the target, a depth map of the target as seen from a given camera. Precisely, it computes a real-valued scalar image whose pixels contain the distance of the target surface, or an approximation of it, from the camera optical centre; in pixels where the object is not visible, a reserved value, e.g., ∞, is assigned.
An example of an implementation of this function is given in <figref idrefs="DRAWINGS">FIG. 2</figref>, showing a functional procedure of an example shape rendering function for a person tracking task. A coarse 3D model is adopted for shape, target state x<sup>k </sup>is encoded as its 2D position on the floor plane. Given a calibrated model of the camera, a depth map g<sup>k</sup>(x<sup>k</sup>) can be computed (i.e., by Computer Graphics techniques, such as ray-tracing or polygonal mesh rendering). Distance is green-coded, textured regions are at infinity.
This section describes the specific type of visual likelihood function p(z|x<sup>1:K</sup>) on which the method operates. p(z|x<sup>1:K</sup>) is a real-valued function of joint configuration x<sup>1:K </sup>and image z, and operates as follows. Image z is subdivided into a set of image patches z<sup>1</sup>, . . . ,z<sup>K</sup>. Each patch z<sup>k </sup>is composed of image pixels in which g<sup>k</sup>(x<sup>k</sup>), the associated shape rendering function instantiated for the camera which captured z and evaluated for the state represented by the k-th component of x<sup>1:K</sup>, is different from ∞ and has smaller value that all the other depth maps g<sup>m</sup>(x<sup>m</sup>) with m≠k. Patch z<sup>k</sup>, a short-hand for z<sup>k</sup>(x<sup>1:K</sup>), therefore represents the image portion in which target k is expected to be visible under hypothesis x<sup>1:K</sup>.
An example of image partition is given with reference to <figref idrefs="DRAWINGS">FIG. 3</figref> which shows a Two-body image partitioning for an occlusion hypothesis using shape models as defined with reference to <figref idrefs="DRAWINGS">FIG. 2</figref>.
The likelihood function on which the method operates is given by the following expression
<maths id="MATH-US-00003" num="00003"><math overflow="scroll"><mtable><mtr><mtd><mrow><mrow><mrow><mrow><mo>-</mo><mi>log</mi></mrow><mo></mo><mstyle><mspace width="0.3em" height="0.3ex" /></mstyle><mo></mo><mrow><mi>p</mi><mo></mo><mrow><mo>(</mo><mrow><mi>z</mi><mo></mo><mstyle><mtext>❘</mtext></mstyle><mo></mo><msup><mi>z</mi><mrow><mn>1</mn><mo>:</mo><mi>K</mi></mrow></msup></mrow><mo>)</mo></mrow></mrow></mrow><mo>∝</mo><mrow><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>K</mi></munderover><mo></mo><mrow><msup><mi>L</mi><mi>k</mi></msup><mo></mo><mrow><mo>(</mo><mrow><msup><mi>z</mi><mi>k</mi></msup><mo></mo><mstyle><mtext>❘</mtext></mstyle><mo></mo><msup><mi>x</mi><mrow><mn>1</mn><mo>:</mo><mi>K</mi></mrow></msup></mrow><mo>)</mo></mrow></mrow></mrow></mrow><mo>,</mo></mrow></mtd><mtd><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mtd></mtr></mtable></math></maths>
with L<sup>k</sup>(z<sup>k</sup>|x<sup>1:K</sup>) denoting a generic image log-likelihood function for target k only, that is evaluated on z<sup>k </sup>only.
In addition, for the method it is required each L<sup>k</sup>(z<sup>k</sup>|x<sup>1:K</sup>) being a function that allows modulating the contribution of each single pixel of that portion to the overall score by providing a real-value weight map ω that defines the importance of each such pixel. To underline this property, let us rewrite each term in Eq. (4) by L<sup>k</sup>(z|ω<sup>k</sup>), where ω<sup>k</sup>, a short-hand for ω<sup>k</sup>(x<sup>1:K</sup>), is a specific weight map computed as the characteristic function of the support of image patch z<sup>k </sup>under hypothesis x<sup>1:K</sup>. Precisely, ω<sup>k </sup>takes value 1 on the pixels associated to z<sup>k</sup>, and 0 elsewhere. L<sup>k</sup>(z|ω<sup>k</sup>) can be built upon image cues such as gradients, edges, color, optical flow, stereo disparity, motion layers, texture, wavelets, feature points, etc., or any combinations of them.
As an example, L<sup>k</sup>(z|ω<sup>k</sup>) could be evaluated by means of Bhattacharrya-coefficient based distance between the color histogram of z<sup>k </sup>and a model histogram of target k.
The method subject of the invention introduces a new functional block that performs the update of approximate distribution defined in Eq. (1) in an efficient way using the likelihood function in Eq. (4).
Manipulations show that computing q(x<sub>t</sub><sup>k</sup>|z<sub>1:t</sub>) from Eq. (2), up to a proportionality factor, is equivalent to multiplying the temporal prior q(x<sub>t</sub><sup>k</sup>|z<sub>1:t−1</sub>) with the function
<maths id="MATH-US-00004" num="00004"><math overflow="scroll"><mtable><mtr><mtd><mrow><mrow><mi>f</mi><mo></mo><mrow><mo>(</mo><mrow><mrow><msub><mi>z</mi><mi>t</mi></msub><mo></mo><mstyle><mtext>❘</mtext></mstyle><mo></mo><msubsup><mi>x</mi><mi>t</mi><mi>k</mi></msubsup></mrow><mo>,</mo><msub><mi>z</mi><mrow><mn>1</mn><mo>:</mo><mrow><mi>t</mi><mo>-</mo><mn>1</mn></mrow></mrow></msub></mrow><mo>)</mo></mrow></mrow><mo>=</mo><mrow><mo>∫</mo><mrow><mrow><mi>p</mi><mo></mo><mrow><mo>(</mo><mrow><msub><mi>z</mi><mi>t</mi></msub><mo></mo><mstyle><mtext>❘</mtext></mstyle><mo></mo><msubsup><mi>x</mi><mi>t</mi><mrow><mn>1</mn><mo>:</mo><mi>K</mi></mrow></msubsup></mrow><mo>)</mo></mrow></mrow><mo></mo><mrow><munderover><mo>∏</mo><mrow><mi>m</mi><mo>≠</mo><mi>k</mi></mrow><mi>K</mi></munderover><mo></mo><mstyle><mspace width="0.3em" height="0.3ex" /></mstyle><mo></mo><mrow><mrow><mi>q</mi><mo></mo><mrow><mo>(</mo><mrow><msubsup><mi>x</mi><mi>t</mi><mi>m</mi></msubsup><mo></mo><mstyle><mtext>❘</mtext></mstyle><mo></mo><msub><mi>z</mi><mrow><mn>1</mn><mo>:</mo><mrow><mi>t</mi><mo>-</mo><mn>1</mn></mrow></mrow></msub></mrow><mo>)</mo></mrow></mrow><mo></mo><mrow><mrow><mo>ⅆ</mo><msubsup><mi>x</mi><mi>t</mi><mrow><mrow><mn>1</mn><mo>:</mo><mi>K</mi></mrow><mo>❘</mo><mi>k</mi></mrow></msubsup></mrow><mo>.</mo></mrow></mrow></mrow></mrow></mrow></mrow></mtd><mtd><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow></mtd></mtr></mtable></math></maths><ul><li id="ul0007-0001" num="0000"><ul><li id="ul0008-0001" num="0063">(superscript 1:K|k enumerates all object indices but k). Again, the proportionality factor can be omitted for the same reason as in Equation (3).</li></ul></li></ul>
Under the specific form of likelihood defined in Equation (4), an approximation to f(z<sub>t</sub>|x<sub>t</sub><sup>k</sup>,z<sub>1:t−1</sub>) is computed by
<maths id="MATH-US-00005" num="00005"><math overflow="scroll"><mtable><mtr><mtd><mrow><mrow><mrow><mrow><mo>-</mo><mi>log</mi></mrow><mo></mo><mstyle><mspace width="0.3em" height="0.3ex" /></mstyle><mo></mo><mrow><mi>f</mi><mo></mo><mrow><mo>(</mo><mrow><mrow><msub><mi>z</mi><mi>t</mi></msub><mo></mo><mstyle><mtext>❘</mtext></mstyle><mo></mo><msubsup><mi>x</mi><mi>t</mi><mi>k</mi></msubsup></mrow><mo>,</mo><msub><mi>z</mi><mrow><mn>1</mn><mo>:</mo><mrow><mi>t</mi><mo>-</mo><mn>1</mn></mrow></mrow></msub></mrow><mo>)</mo></mrow></mrow></mrow><mo>≈</mo><mrow><mrow><msup><mi>L</mi><mi>k</mi></msup><mo></mo><mrow><mo>(</mo><mrow><msub><mi>z</mi><mi>t</mi></msub><mo></mo><mstyle><mtext>❘</mtext></mstyle><mo></mo><msup><mi>w</mi><mi>k</mi></msup></mrow><mo>)</mo></mrow></mrow><mo>+</mo><mrow><munder><mo>∑</mo><mrow><mi>m</mi><mo>≠</mo><mi>k</mi></mrow></munder><mo></mo><mrow><mo>∫</mo><mrow><mrow><msup><mi>L</mi><mi>m</mi></msup><mo></mo><mrow><mo>(</mo><mrow><msub><mi>z</mi><mi>t</mi></msub><mo></mo><mstyle><mtext>❘</mtext></mstyle><mo></mo><msup><mi>w</mi><mrow><mi>m</mi><mo>❘</mo><mi>k</mi></mrow></msup></mrow><mo>)</mo></mrow></mrow><mo></mo><mrow><mi>q</mi><mo></mo><mrow><mo>(</mo><mrow><msubsup><mi>x</mi><mi>t</mi><mi>m</mi></msubsup><mo></mo><mstyle><mtext>❘</mtext></mstyle><mo></mo><msub><mi>z</mi><mrow><mn>1</mn><mo>:</mo><mrow><mi>t</mi><mo>-</mo><mn>1</mn></mrow></mrow></msub></mrow><mo>)</mo></mrow></mrow><mo></mo><mrow><mo>ⅆ</mo><msubsup><mi>x</mi><mi>t</mi><mi>m</mi></msubsup></mrow></mrow></mrow></mrow></mrow></mrow><mo></mo><mstyle><mtext /></mstyle><mo></mo><mi>where</mi></mrow></mtd><mtd><mrow><mo>(</mo><mn>6</mn><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mrow><msup><mi>w</mi><mi>k</mi></msup><mo>=</mo><mrow><mo>∫</mo><mrow><msup><mi>ω</mi><mi>k</mi></msup><mo></mo><mrow><munderover><mo>∏</mo><mrow><mi>m</mi><mo>≠</mo><mi>k</mi></mrow><mi>K</mi></munderover><mo></mo><mstyle><mspace width="0.3em" height="0.3ex" /></mstyle><mo></mo><mrow><mrow><mi>q</mi><mo></mo><mrow><mo>(</mo><mrow><msubsup><mi>x</mi><mi>t</mi><mi>m</mi></msubsup><mo></mo><mstyle><mtext>❘</mtext></mstyle><mo></mo><msub><mi>z</mi><mrow><mn>1</mn><mo>:</mo><mrow><mi>t</mi><mo>-</mo><mn>1</mn></mrow></mrow></msub></mrow><mo>)</mo></mrow></mrow><mo></mo><mrow><mo>ⅆ</mo><msup><mi>x</mi><mrow><mrow><mn>1</mn><mo>:</mo><mi>K</mi></mrow><mo>❘</mo><mi>k</mi></mrow></msup></mrow></mrow></mrow></mrow></mrow></mrow></mtd><mtd><mrow><mo>(</mo><mn>7</mn><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mrow><msup><mi>w</mi><mrow><mi>m</mi><mo>❘</mo><mi>k</mi></mrow></msup><mo>=</mo><mrow><mo>∫</mo><mrow><msup><mi>ω</mi><mi>m</mi></msup><mo></mo><mrow><munderover><mo>∏</mo><mrow><mrow><mi>n</mi><mo>≠</mo><mi>m</mi></mrow><mo>,</mo><mi>k</mi></mrow><mi>K</mi></munderover><mo></mo><mstyle><mspace width="0.3em" height="0.3ex" /></mstyle><mo></mo><mrow><mrow><mi>q</mi><mo></mo><mrow><mo>(</mo><mrow><msubsup><mi>x</mi><mi>t</mi><mi>n</mi></msubsup><mo></mo><mstyle><mtext>❘</mtext></mstyle><mo></mo><msub><mi>z</mi><mrow><mn>1</mn><mo>:</mo><mrow><mi>t</mi><mo>-</mo><mn>1</mn></mrow></mrow></msub></mrow><mo>)</mo></mrow></mrow><mo></mo><mrow><mrow><mo>ⅆ</mo><msup><mi>x</mi><mrow><mrow><mrow><mn>1</mn><mo>:</mo><mi>K</mi></mrow><mo>❘</mo><mi>m</mi></mrow><mo>,</mo><mi>k</mi></mrow></msup></mrow><mo>.</mo></mrow></mrow></mrow></mrow></mrow></mrow></mtd><mtd><mrow><mo>(</mo><mn>8</mn><mo>)</mo></mrow></mtd></mtr></mtable></math></maths>
w<sup>k</sup>,w<sup>m|k </sup>are now continuous-valued weight maps to be accounted for when evaluating L<sup>k</sup>,L<sup>m</sup>.
Equation (6), with Equations (7) and (8), define the mathematical framework of this invention.
An example weight map is shown in <figref idrefs="DRAWINGS">FIG. 4</figref>, where on the left a high-dimensional shape model of a person in a specific pose and a bimodal distribution representing a possible prior estimate of the person's position is shown. The right image shows the corresponding weight map used to update the estimate of a second person hypothesized behind her: the template shape becomes blurred due to estimation uncertainty.
The key claim is that evaluating Eq. (6) can be accomplished in a number of computations that grows quadratically with the number of targets K; evaluating f(z<sub>t</sub>|x<sub>t</sub><sup>k</sup>,z<sub>1:t−1</sub>) directly from Eq. (5) requires, instead according to known criteria, an exponential number of operations.
The gain in efficiency can be understood by rewriting w<sup>k </sup>(and similarly w<sup>m|k</sup>) in the following form:
<maths id="MATH-US-00006" num="00006"><math overflow="scroll"><mtable><mtr><mtd><mrow><mrow><msup><mi>w</mi><mi>k</mi></msup><mo></mo><mrow><mo>(</mo><mi>u</mi><mo>)</mo></mrow></mrow><mo>=</mo><mrow><mo>{</mo><mtable><mtr><mtd><mrow><munder><mo>∏</mo><mrow><mi>m</mi><mo>≠</mo><mi>k</mi></mrow></munder><mo></mo><mstyle><mspace width="0.3em" height="0.3ex" /></mstyle><mo></mo><mrow><mo>(</mo><mrow><mn>1</mn><mo>-</mo><mrow><msub><mo>∫</mo><mrow><msubsup><mi>x</mi><mi>t</mi><mi>m</mi></msubsup><mo></mo><msub><mo><</mo><mi>u</mi></msub><mo></mo><msubsup><mi>x</mi><mi>t</mi><mi>k</mi></msubsup></mrow></msub><mo></mo><mrow><mrow><mi>q</mi><mo></mo><mrow><mo>(</mo><mrow><msubsup><mi>x</mi><mi>t</mi><mi>m</mi></msubsup><mo></mo><mstyle><mtext>❘</mtext></mstyle><mo></mo><msub><mi>z</mi><mrow><mn>1</mn><mo>:</mo><mrow><mi>t</mi><mo>-</mo><mn>1</mn></mrow></mrow></msub></mrow><mo>)</mo></mrow></mrow><mo></mo><mrow><mo>ⅆ</mo><msubsup><mi>x</mi><mi>t</mi><mi>m</mi></msubsup></mrow></mrow></mrow></mrow><mo>)</mo></mrow></mrow></mtd><mtd><mrow><mrow><mi>if</mi><mo></mo><mstyle><mspace width="0.8em" height="0.8ex" /></mstyle><mo></mo><msubsup><mi>x</mi><mi>t</mi><mi>k</mi></msubsup></mrow><mo></mo><msub><mo><</mo><mi>u</mi></msub><mo></mo><mi>∞</mi></mrow></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mi>elsewhere</mi></mtd></mtr></mtable></mrow></mrow></mtd><mtd><mrow><mo>(</mo><mn>9</mn><mo>)</mo></mrow></mtd></mtr></mtable></math></maths>
where x<sub>t</sub><sup>m</sup><<sub>u</sub>x<sub>t</sub><sup>k </sup>identifies the set of configurations x<sub>t</sub><sup>m </sup>which, according to associated shape rendering function, render closer to the camera in pixel u than configuration x<sub>t</sub><sup>k</sup>. Relation x<sub>t</sub><sup>k</sup><<sub>u</sub>∞ is meant to be true when x<sub>t</sub><sup>k </sup>is observable in pixel u. The gain comes from the fact that the computation of the joint integral in Eq. (5) is now partitioned into K single-space integrals in Eq. (6) and Eq. (9). In practice w<sup>k</sup>(u) is equal to 0 where x<sub>t</sub><sup>k </sup>is not observable (i.e. outside z<sup>k</sup>(x<sup>1:K</sup>)), is close to 0 in the pixels in which occlusion is likely, and is equal to 1 in the pixels in which occlusion is certainly not present.
This section describes the implementation details of the method in a stand-alone fashion. The method presents a new way to perform the update step of a Bayes filter for visual multi-target tracking. In general, Bayesian tracking involves recursively computing the posterior distribution p(x<sub>t</sub>|z<sub>1:t</sub>) of some vectorial description of the configuration x<sub>t </sub>of a scene at time t in the following way: <br />p(x<sub>t</sub>|z<sub>1:t</sub>)∞p(z<sub>t</sub>|x<sub>t</sub>)p(x<sub>t</sub>|z<sub>1:t−1</sub>) (10)
where p(z<sub>t</sub>|x<sub>t</sub>) is a likelihood function for hypothesis x<sub>t </sub>evaluated on the new image z<sub>t </sub>and p(x<sub>t</sub>|z<sub>1:t−1</sub>) is the prior distribution usually computed by prediction.
When multiple targets are present, this formula can be applied to compute a posterior distribution q(x<sub>t</sub><sup>k</sup>|z<sub>1:t</sub>) for each single target k. As shown in the previous section, each such distribution can be computed recursively from single-target priors q(x<sub>t</sub><sup>k</sup>|z<sub>1:t−1</sub>) by <br />q(x<sub>t</sub><sup>k</sup>|z<sub>1:t</sub>)∞f(z<sub>t</sub>|x<sub>t</sub><sup>k</sup>,z<sub>1:t−</sub>1)q(x<sub>t</sub><sup>k</sup>|z<sub>1:t−1</sub>) (11)
where f(z<sub>t</sub>|x<sub>t</sub><sup>k</sup>,z<sub>1:t−1</sub>) is a multi-target likelihood function which implements the occlusion process.
Evaluating f in a straightforward way conveys exponential complexity.
The novelty of the method then lies in the efficient implementation of an approximate version of it which is defined in the following way (see also Eq. (6)):
<maths id="MATH-US-00007" num="00007"><math overflow="scroll"><mtable><mtr><mtd><mrow><mrow><mrow><mo>-</mo><mi>log</mi></mrow><mo></mo><mstyle><mspace width="0.3em" height="0.3ex" /></mstyle><mo></mo><mrow><mi>f</mi><mo></mo><mrow><mo>(</mo><mrow><mrow><msub><mi>z</mi><mi>t</mi></msub><mo></mo><mstyle><mtext>❘</mtext></mstyle><mo></mo><msubsup><mi>x</mi><mi>t</mi><mi>k</mi></msubsup></mrow><mo>,</mo><msub><mi>z</mi><mrow><mn>1</mn><mo>:</mo><mrow><mi>t</mi><mo>-</mo><mn>1</mn></mrow></mrow></msub></mrow><mo>)</mo></mrow></mrow></mrow><mo>≈</mo><mrow><mrow><msup><mi>L</mi><mi>k</mi></msup><mo></mo><mrow><mo>(</mo><mrow><msub><mi>z</mi><mi>t</mi></msub><mo></mo><mstyle><mtext>❘</mtext></mstyle><mo></mo><msup><mi>w</mi><mi>k</mi></msup></mrow><mo>)</mo></mrow></mrow><mo>+</mo><mrow><munder><mo>∑</mo><mrow><mi>m</mi><mo>≠</mo><mi>k</mi></mrow></munder><mo></mo><mrow><mo>∫</mo><mrow><mrow><msup><mi>L</mi><mi>m</mi></msup><mo></mo><mrow><mo>(</mo><mrow><msub><mi>z</mi><mi>t</mi></msub><mo></mo><mstyle><mtext>❘</mtext></mstyle><mo></mo><msup><mi>w</mi><mrow><mi>m</mi><mo>❘</mo><mi>k</mi></mrow></msup></mrow><mo>)</mo></mrow></mrow><mo></mo><mrow><mi>q</mi><mo></mo><mrow><mo>(</mo><mrow><msubsup><mi>x</mi><mi>t</mi><mi>m</mi></msubsup><mo></mo><mstyle><mtext>❘</mtext></mstyle><mo></mo><msub><mi>z</mi><mrow><mn>1</mn><mo>:</mo><mrow><mi>t</mi><mo>-</mo><mn>1</mn></mrow></mrow></msub></mrow><mo>)</mo></mrow></mrow><mo></mo><mrow><mo>ⅆ</mo><msubsup><mi>x</mi><mi>t</mi><mi>m</mi></msubsup></mrow></mrow></mrow></mrow></mrow></mrow></mtd><mtd><mrow><mo>(</mo><mn>12</mn><mo>)</mo></mrow></mtd></mtr></mtable></math></maths>
Informally, w<sup>k</sup>,w<sup>m|k </sup>are scalar images computed by the algorithm which attribute to each pixel of z a value in the range [0,1]. This value is interpreted by the method as the importance of that pixel when computing the likelihood score for target k. In other words, it encodes the predicted degree of visibility of k in the considered pixel. Formally, w<sup>k</sup>,w<sup>m|k </sup>are computed for each pixel u as follows:
<maths id="MATH-US-00008" num="00008"><math overflow="scroll"><mtable><mtr><mtd><mrow><mrow><msup><mi>w</mi><mi>k</mi></msup><mo></mo><mrow><mo>(</mo><mi>u</mi><mo>)</mo></mrow></mrow><mo>=</mo><mrow><mo>{</mo><mtable><mtr><mtd><mrow><munder><mo>∏</mo><mrow><mi>m</mi><mo>≠</mo><mi>k</mi></mrow></munder><mo></mo><mstyle><mspace width="0.3em" height="0.3ex" /></mstyle><mo></mo><mrow><mo>(</mo><mrow><mn>1</mn><mo>-</mo><mrow><msub><mo>∫</mo><mrow><msubsup><mi>x</mi><mi>t</mi><mi>m</mi></msubsup><mo></mo><msub><mo><</mo><mi>u</mi></msub><mo></mo><msubsup><mi>x</mi><mi>t</mi><mi>k</mi></msubsup></mrow></msub><mo></mo><mrow><mrow><mi>q</mi><mo></mo><mrow><mo>(</mo><mrow><msubsup><mi>x</mi><mi>t</mi><mi>m</mi></msubsup><mo></mo><mstyle><mtext>❘</mtext></mstyle><mo></mo><msub><mi>z</mi><mrow><mn>1</mn><mo>:</mo><mrow><mi>t</mi><mo>-</mo><mn>1</mn></mrow></mrow></msub></mrow><mo>)</mo></mrow></mrow><mo></mo><mrow><mo>ⅆ</mo><msubsup><mi>x</mi><mi>t</mi><mi>m</mi></msubsup></mrow></mrow></mrow></mrow><mo>)</mo></mrow></mrow></mtd><mtd><mrow><mrow><mi>if</mi><mo></mo><mstyle><mspace width="0.8em" height="0.8ex" /></mstyle><mo></mo><msubsup><mi>x</mi><mi>t</mi><mi>k</mi></msubsup></mrow><mo></mo><msub><mo><</mo><mi>u</mi></msub><mo></mo><mi>∞</mi></mrow></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mrow><mi>elsewhere</mi><mo>,</mo></mrow></mtd></mtr></mtable></mrow></mrow></mtd><mtd><mrow><mo>(</mo><mn>13</mn><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mrow><mrow><msup><mi>w</mi><mrow><mi>m</mi><mo>❘</mo><mi>k</mi></mrow></msup><mo></mo><mrow><mo>(</mo><mi>u</mi><mo>)</mo></mrow></mrow><mo>=</mo><mrow><mo>{</mo><mtable><mtr><mtd><mrow><munder><mo>∏</mo><mrow><mrow><mi>n</mi><mo>≠</mo><mi>k</mi></mrow><mo>,</mo><mi>m</mi></mrow></munder><mo></mo><mstyle><mspace width="0.3em" height="0.3ex" /></mstyle><mo></mo><mrow><mo>(</mo><mrow><mn>1</mn><mo>-</mo><mrow><msub><mo>∫</mo><mrow><msubsup><mi>x</mi><mi>t</mi><mi>n</mi></msubsup><mo></mo><msub><mo><</mo><mi>u</mi></msub><mo></mo><msubsup><mi>x</mi><mi>t</mi><mi>m</mi></msubsup></mrow></msub><mo></mo><mrow><mrow><mi>q</mi><mo></mo><mrow><mo>(</mo><mrow><msubsup><mi>x</mi><mi>t</mi><mi>n</mi></msubsup><mo></mo><mstyle><mtext>❘</mtext></mstyle><mo></mo><msub><mi>z</mi><mrow><mn>1</mn><mo>:</mo><mrow><mi>t</mi><mo>-</mo><mn>1</mn></mrow></mrow></msub></mrow><mo>)</mo></mrow></mrow><mo></mo><mrow><mo>ⅆ</mo><msubsup><mi>x</mi><mi>t</mi><mi>n</mi></msubsup></mrow></mrow></mrow></mrow><mo>)</mo></mrow></mrow></mtd><mtd><mrow><mrow><mi>if</mi><mo></mo><mstyle><mspace width="0.8em" height="0.8ex" /></mstyle><mo></mo><msubsup><mi>x</mi><mi>t</mi><mi>m</mi></msubsup></mrow><mo></mo><msub><mo><</mo><mi>u</mi></msub><mo></mo><msubsup><mi>x</mi><mi>t</mi><mi>k</mi></msubsup><mo></mo><msub><mo><</mo><mi>u</mi></msub><mo></mo><mi>∞</mi></mrow></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mrow><mi>elsewhere</mi><mo>,</mo></mrow></mtd></mtr></mtable></mrow></mrow></mtd><mtd><mrow><mo>(</mo><mn>14</mn><mo>)</mo></mrow></mtd></mtr></mtable></math></maths>
Here relations x<sub>t</sub><sup>m</sup><<sub>u</sub>x<sub>t</sub><sup>k </sup>and x<sub>t</sub><sup>k</sup><<sub>u</sub>∞ are defined as for Equation (9), and can be resolved by using depth information provided by the shape rendering procedure.
An informal interpretation of the formula presented in Eq. 12, and a description of how to evaluate it, is given in the following.
The equation 12 is composed of several terms, one per target, whose roles are explained next based on <figref idrefs="DRAWINGS">FIG. 5</figref>, showing a silhouette contour rendered at a hypothetic position x<sub>t</sub><sup>k </sup>of the target in background, and corresponding weight map w<sup>k </sup>overlaid for visualization purpose as transparency mask.
L<sup>k</sup>(z<sub>t</sub>|w<sup>k</sup>) is called the foreground term. This term calculates a dissimilarity score between the image part where target k is expected to be visible, and its appearance model.
To compute this term, the image portion in which hypothesis x<sub>t</sub><sup>k </sup>is visible is identified by the shape rendering function is first calculated (the red contour in <figref idrefs="DRAWINGS">FIG. 5</figref>). Then, pixel weights w<sup>k </sup>are computed within this image area according to Eq. (13) (the transparency mask in <figref idrefs="DRAWINGS">FIG. 5</figref>), weighted appearance features are extracted from that region (e.g., weighted color histograms for head, torso and legs) and finally compared to the appearance model of the target. This comparison is made in terms of a distance function between extracted and modeled appearance features (e.g., Bhattacharrya-coefficient based distance between color histograms, as described for example in D. Comaniciu, V. Ramesh, and P. Meer, “Kernel-based object tracking,” <i>IEEE Trans. on Pattern Analysis and Machine Intelligence</i>, vol. 25, no. 5, 2003) and defines the value of L<sup>k</sup>(z<sub>t</sub>|w<sup>k</sup>). The use of w<sup>k </sup>in this calculation has the effect of decreasing the influence of contributions due to pixels in which x<sub>t</sub><sup>k </sup>is supposed to be occluded by at least one other target.
∫L<sup>m</sup>(z<sub>t</sub>|w<sup>m|k</sup>)q(x<sub>t</sub><sup>m</sup>|z<sub>1:t−1</sub>)dx<sub>t</sub><sup>m </sup>is called the background term. This term takes into account the occlusion evidence deriving from the presence of target m≠k.
It is computed as the expectation of the foreground term of m under prior q(x<sub>t</sub><sup>m</sup>|z<sub>1:t−1</sub>) when the configuration of k is blocked to hypothesis x<sub>t</sub><sup>k </sup>under analysis. More in detail, for each x<sub>t</sub><sup>m </sup>a foreground score L<sup>m</sup>(z<sub>t</sub>|w<sup>m|k</sup>) is computed as described above, using weight map w<sup>m|k </sup>defined in Eq. 14. These scores are modulated with the prior q(x<sub>t</sub><sup>m</sup>|z<sub>1:t−1</sub>) and finally integrated. The effect of using this term in the definition of f is to enforce occluded hypotheses if they are really occluded (i.e., when there is occlusion evidence within the image), and to weaken those who are not.
For reference purposes, a possible example of pseudo-code of a particle filter implementation of the method is given as follows, applying software criteria known per se.
<tables id="TABLE-US-00001" num="00001"><table frame="none" colsep="0" rowsep="0"><tgroup align="left" colsep="0" rowsep="0" cols="1"><colspec colname="1" colwidth="217pt" align="center" /><thead><row><entry namest="1" nameend="1" align="center" rowsep="1" /></row><row><entry>Algorithm 1 Particle filter implementation of the proposed method</entry></row><row><entry namest="1" nameend="1" align="center" rowsep="1" /></row></thead><tbody valign="top"><row><entry /></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="1"><colspec colname="1" colwidth="217pt" align="left" /><tbody valign="top"><row><entry>input: {<x<sub>i</sub><sup>k</sup>, 1>} are weighted particle sets representing q(x<sub>t</sub><sup>k</sup>|z<sub>1:t−1</sub>)</entry></row><row><entry>update:</entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="offset" colwidth="14pt" align="left" /><colspec colname="1" colwidth="203pt" align="left" /><tbody valign="top"><row><entry /><entry>order {x<sub>i</sub><sup>k</sup>} according to camera distance</entry></row><row><entry /><entry>let {x<sub>p</sub>} denote the so obtained hybrid, ordered, particle set</entry></row><row><entry /><entry>let k<sub>p </sub>denote the object index the particle x<sub>p </sub>belongs to</entry></row><row><entry /><entry>initialize buffers {b<sub>fg</sub><sup>k </sup>= N, b<sub>bg</sub><sup>k </sup>= 0}</entry></row><row><entry /><entry>for p = 1,...,N K do</entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="offset" colwidth="28pt" align="left" /><colspec colname="1" colwidth="189pt" align="left" /><tbody valign="top"><row><entry /><entry>compute weight map w<sup>k</sup><sup><sub2>p </sub2></sup>= w<sup>k</sup><sup><sub2>p</sub2></sup>(x<sub>p</sub>) Π<sub>m≠k</sub><sub><sub2>p</sub2></sub>(b<sub>fg</sub><sup>m</sup>/N)</entry></row><row><entry /><entry>compute foreground term l<sub>1 </sub>= L<sup>k</sup><sup><sub2>p</sub2></sup>(z<sub>t</sub>|w<sup>k</sup><sup><sub2>p</sub2></sup>)</entry></row><row><entry /><entry>compute background term l<sub>2 </sub>= Σ<sub>m≠k</sub><sub><sub2>p</sub2></sub>Σ<sub>u</sub>w<sub>[u]</sub><sup>k</sup><sup><sub2>p</sub2></sup>(x<sub>p</sub>) bg<sub>[u]</sub><sup>k</sup><sup><sub2>p</sub2></sup></entry></row><row><entry /><entry>assign particle weight π<sub>p </sub>= exp(−α(l<sub>1 </sub>+ l<sub>2</sub>))</entry></row><row><entry /><entry>update foregroung buffer b<sub>fg</sub><sup>k</sup><sup><sub2>p </sub2></sup>= b<sub>fg</sub><sup>k</sup><sup><sub2>p </sub2></sup>− w<sup>k</sup><sup><sub2>p</sub2></sup>(x<sub>p</sub>)</entry></row><row><entry /><entry>foreach object index m ≠ k<sub>p </sub>do</entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="offset" colwidth="42pt" align="left" /><colspec colname="1" colwidth="175pt" align="left" /><tbody valign="top"><row><entry /><entry>compute weight map w<sup>k</sup><sup><sub2>p</sub2></sup><sup>|m </sup>= w<sup>k</sup><sup><sub2>p</sub2></sup>(x<sub>p</sub>) Π<sub>n≠m,k</sub><sub><sub2>p</sub2></sub>(b<sub>fg</sub><sup>n</sup>/N)</entry></row><row><entry /><entry>compute reduced foreground term l<sub>3 </sub>= L<sup>k</sup><sup><sub2>p</sub2></sup>(z<sub>t</sub>|w<sup>k</sup><sup><sub2>p</sub2></sup>|m)</entry></row><row><entry /><entry>update background buffer b<sub>bg</sub><sup>k</sup><sup><sub2>p </sub2></sup>= b<sub>bg</sub><sup>k</sup><sup><sub2>p </sub2></sup>+ l<sub>3</sub>w<sup>k</sup><sup><sub2>p</sub2></sup><sup>|m</sup>w<sup>k</sup><sup><sub2>p</sub2></sup>(x<sub>p</sub>)</entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="1"><colspec colname="1" colwidth="217pt" align="left" /><tbody valign="top"><row><entry>output: {<x<sub>i</sub><sup>k</sup>,π<sub>i</sub><sup>k</sup>>} are weighted particle sets representing q(x<sub>t</sub><sup>k</sup>|z<sub>1:t</sub>)</entry></row><row><entry namest="1" nameend="1" align="center" rowsep="1" /></row></tbody></tgroup></table></tables>
In this realization, each target is assigned two image buffers, b<sub>fg</sub><sup>k </sup>and b<sub>bg</sub><sup>k</sup>, which are used as support to incrementally calculate weight maps and background terms (mathematical operations on these buffers, as well as on ω<sup>k</sup>, without explicit reference to pixel values are intended to be applied at each single pixel). α is a parameter whose value has been determined empirically. With this realization, the complexity of the method is bounded by O(K<sup>2</sup>N), where K is the number of tracked targets and N is the number of particles used to represent each single distribution q(x<sub>t</sub><sup>k</sup>|z<sub>1:t</sub>). The term prediction q(x<sub>t</sub><sup>k</sup>|z<sub>1:t−1</sub>) can be computed according to known criteria. The particle set {<x<sub>t</sub><sup>k</sup>,1>} representing prior p(x<sub>t</sub><sup>k</sup>|z<sub>1:t−1</sub>) can be computed from the particle representation of p(x<sub>t−1</sub><sup>k</sup>|z<sub>1:t−1</sub>) according to known criteria.
The method can be used to address any vision-based state estimation problem; among them we can cite: people tracking, vehicle tracking, human pose estimation, tracking of mechanical objects such as a robotic arm, target tracking from a mobile platform such as a robot, etc.
Potential application areas include: Domotics, Ambient Intelligence, Visual Monitoring, Visual Surveillance, Traffic Analysis, Vision-based Control and Automation, Human-Computer Interaction, Sports Event Analysis, Robotics, and others.
A multi-person tracking system based on the present invention can be realized as follows.
The apparatus is composed of a single Personal Computer (PC) with dual Intel XEON™ 3 GHz processor, and 4 non-synchronized cameras delivering RGB images at 15 Hz, connected to the PC via fire-wire. Image data captured by these cameras is made accessible to software implementation of the method via a software package of a known type (for example the software called “libVHPD1394”).
In this realization, the following specifications over the general formulation subject of this invention have been made: <ul><li id="ul0009-0001" num="0000"><ul><li id="ul0010-0001" num="0097">target state is described as target position and velocity on the floor plane, thus for each target a distribution over a 4-dimensional state space is estimated;</li><li id="ul0010-0002" num="0098">as common in many similar approaches, a linear-Gaussian dynamical model is assumed for each target to perform the prediction step of the Bayes filter;</li><li id="ul0010-0003" num="0099">the shape rendering function depicted in <figref idrefs="DRAWINGS">FIG. 2</figref> has been adopted;</li><li id="ul0010-0004" num="0100">the appearance of the target has been characterized in terms of three body part color histograms (RGB, 8 uniform bins per channel): one for head, one for torso, and one for legs;</li><li id="ul0010-0005" num="0101">L<sup>k</sup>(z|w<sup>k</sup>) is evaluated by means of sum of Bhattacharrya-coefficient based distance between extracted weighted body-part histograms and their pre-acquired models, body parts being thereby identified by the elements of the composite shape rendering function; and</li><li id="ul0010-0006" num="0102">the proposed method has been implemented in form of a Particle filter as reported by the above Algorithm 1.</li></ul></li></ul>
With these choices, the calculations involved have been translated into a computer program in form of C/C++ code. No particular software development methodology or technology has been used.
The realization allows real-time tracking of 5 people on complex indoor sequences involving several complete, temporally persistent, occlusions among multiple targets. The number of image streams used by the realization can be changed via software: it operates reliably during severe occlusions even when using the images of a single camera only.
Further implementation details will not be described, as the man skilled in the art is able to carry out the invention starting from the teaching of the above description.
The present invention can be advantageously implemented through a program for computer comprising program coding means for the implementation of one or more steps of the method, when this program is running on a computer. Therefore, it is understood that the scope of protection is extended to such a program for computer and in addition to a computer readable means having a recorded message therein, said computer readable means comprising program coding means for the implementation of one or more steps of the method, when this program is run on a computer.
By means of the present invention, a number of advantages are achieved.
Tracking is based on a sequential Bayesian approach, with the aim of estimating a probability distribution for each target defined over all its possible locations or, more generically, configurations. This has the advantage of providing estimates which can support multiple hypotheses and intrinsic uncertainty, expressed by multiple modes of any shape in the distribution, which is crucial for achieving robust tracking in complex scenes.
When occlusions exist among the targets, such distributions must be computed by considering jointly all targets involved when analyzing the images because of their visual dependencies.
This leads to tracking methods which convey computational complexity that scales exponentially with the number of targets, with obvious implications on real-time applications.
In this invention it is shown that an approximate form of such distributions can be computed much more efficiently, in quadratic complexity, while still applying joint image analysis. The resulting method then handles occlusions robustly, in a principled way, while maintaining an affordable computational cost. Based on the proposed method, a tracking system has been realized that allows real-time 3D tracking of 5 people on complex indoor sequences involving several complete, temporally persistent, occlusions among multiple targets.
Many changes, modifications, variations and other uses and applications of the subject invention will become apparent to those skilled in the art after considering the specification and the accompanying drawings which disclose preferred embodiments thereof. All such changes, modifications, variations and other uses and applications which do not depart from the spirit and scope of the invention are deemed to be covered by this invention.
Contents5
16 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14 Sheet 15 Sheet 16
Every citation, both waysCites: the store holds 8 of 9
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US2012106798A1 | Cited by | United States of America | Pre-grant |
| US8436913B2 | Cited by | United States of America | Search report |
| US11040729B2 | Cited by | United States of America | Search report |
| US12043284B2 | Cited by | United States of America | Applicant |
| US2012148102A1 | Cited by | United States of America | Pre-grant |
| US2010303302A1 | Cited by | United States of America | Pre-grant |
| US8989438B2 | Cited by | United States of America | Search report |
| US10605607B2 | Cited by | United States of America | Applicant |
| US2013050014A1 | Cited by | United States of America | Pre-grant |
| US11175142B2 | Cited by | United States of America | Search report |
| US8963766B2 | Cited by | United States of America | Search report |
| US9182814B2 | Cited by | United States of America | Search report |
| US10261168B1 | Cited by | United States of America | Applicant |
| US9953245B2 | Cited by | United States of America | Applicant |
| US2011050940A1 | Cited by | United States of America | Pre-grant |
| US8295547B1 | Cited by | United States of America | Search report |
| US9361517B2 | Cited by | United States of America | Search report |
| US9449258B1 | Cited by | United States of America | Applicant |
| US2003108220A1 | Cites | United States of America | Search report |
| US2003219146A1 | Cites | United States of America | Search report |
| US2005129311A1 | Cites | United States of America | Search report |
| US2005185826A1 | Cites | United States of America | Search report |
| US6542621B1 | Cites | United States of America | Search report |
| US6674877B1 | Cites | United States of America | Search report |
| US6826292B1 | Cites | United States of America | Search report |
| US7587064B2 | Cites | United States of America | Search report |
| Isard, M. and MacCormick, J.; BraMBLe, a Bayesian multiple-blob tracker, in Int. Conf. Computer Vision, 2003; XP010554066, Publication Date: 2001 vol. 2, On pp. 34-41 vol. 2. | Non-patent | – | Applicant |
| Zhao, T. et al., Tracking Multiple Humans in Crowded Environment, IEEE cvpr, pp. 406-413, 2004 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'04)-vol. 2, 2004. | Non-patent | – | Applicant |
| Otsuka, K. and Mukawa, N.; Multiview Occlusion Analysis for Tracking Densely Populated Objects Based on 2-D Visual Angles, cvpr, pp. 90-97, 2004 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'04)-vol. 1, 2004. | Non-patent | – | Applicant |
| Cucchiara, R. et al.; Probalistic People Tracking for Occlusion Handling; Proceedings of the 17th International Conference on Pattern Recognition; (ICPR '04) pp. 132-135, XP010724167. | Non-patent | – | Applicant |
| Zhou, Y. et al.; A background layer model for object tracking through occlusion; Proceedings of the 9th IEEE Conference on Computer Vision (ICCV) Nice, France, Oct. 13-16, 2003,; Dept. of Computer Engineering. | Non-patent | – | Applicant |
| Lanz, O. et al.; Hybrid Joint-separable multibody tracking; Proceedings of the 2005 IEEE Computer Society Conference on Computer Vision and Recognition (CVPR '05). | Non-patent | – | Applicant |
4 members in 2 offices
Priority claims4
| Document | Office | Kind | Date |
|---|---|---|---|
| 06116896 | European Patent Office (EPO) | A | |
| 06116896 | European Patent Office (EPO) | A | |
| 06116896 | – | – | – |
| EP20060116896 | – | – | – |
Members4
| Document | Office | Kind | |
|---|---|---|---|
| EP1879149A1 | European Patent Office (EPO) | A1 | |
| US2008031492A1 | United States of America | A1 | |
| US7965867B2This record | United States of America | B2 | |
| EP1879149B1 | European Patent Office (EPO) | B1 |
52 transactions on the USPTO file
Allowed after 1 non-final rejection.
- Non-final rejections
- 1
- Final rejections
- 0
- RCEs
- 0
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| 11.5 yr surcharge- late pmt w/in 6 mo, Small EntityM2556 | M2556 | |
| Payment of Maintenance Fee, 12th Yr, Small EntityM2553 | M2553 | |
| 7.5 yr surcharge - late pmt w/in 6 mo, Small EntityM2555 | M2555 | |
| Payment of Maintenance Fee, 8th Yr, Small EntityM2552 | M2552 | |
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Patent Issue Date Used in PTA CalculationAllowedPTAC | PTAC | |
| Email NotificationEML_NTR | EML_NTR | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Dispatch to FDCD1935 | D1935 | |
| Dispatch to FDCD1935 | D1935 | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Receipt into PubsR1021 | R1021 | |
| Email NotificationEML_NTR | EML_NTR | |
| Mail-Petition Decision - GrantedMPTGR | MPTGR | |
| Petition Decision - GrantedPTGR | PTGR | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| IFW TSS Processing by Tech Center CompleteTSSCOMP | TSSCOMP | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Email NotificationEML_NTR | EML_NTR | |
| PG-Pub Issue NotificationPG-ISSUE | PG-ISSUE | |
| Email NotificationEML_NTR | EML_NTR | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Reference capture on IDSRCAP | RCAP | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Request for Foreign Priority (Priority Papers May Be Included)RQPR | RQPR | |
| Application Dispatched from OIPEOIPE | OIPE | |
| Filing Receipt - UpdatedFLRCPT.U | FLRCPT.U | |
| Sent to Classification ContractorPGPC | PGPC | |
| Petition EnteredPET. | PET. | |
| Request for Foreign Priority (Priority Papers May Be Included)RQPR | RQPR | |
| Preliminary AmendmentA.PE | A.PE | |
| Payment of additional filing fee/PreexamFLFEE | FLFEE | |
| A statement by one or more inventors satisfying the requirement under 35 USC 115, Oath of the ApplicOATHDECL | OATHDECL | |
| Applicant has submitted new drawings to correct Corrected Papers problemsCORRDRW | CORRDRW | |
| Notice Mailed--Application Incomplete--Filing Date AssignedINCD | INCD | |
| Cleared by OIPE CSRL194 | L194 | |
| IFW Scan & PACR Auto Security ReviewSCAN | SCAN | |
| Request from applicant for the USPTO to retrieve the Priority DocumentPDREQUST | PDREQUST | |
| Initial Exam Team nnIEXX | IEXX |
7 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Fee payment procedure11.5 YR SURCHARGE- LATE PMT W/IN 6 MO, SMALL ENTITY (ORIGINAL EVENT CODE: M2556); ENTITY STATUS OF PATENT OWNER: SMALL ENTITYFEPP | FEPP | |
| Maintenance fee paymentMAFP | MAFP | |
| Fee payment procedure7.5 YR SURCHARGE - LATE PMT W/IN 6 MO, SMALL ENTITY (ORIGINAL EVENT CODE: M2555); ENTITY STATUS OF PATENT OWNER: SMALL ENTITYFEPP | FEPP | |
| Maintenance fee paymentMAFP | MAFP | |
| Fee paymentFPAY | FPAY | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF | |
| AssignmentAS | AS |
Numbers
- Publication
- 07965867
- Publication, DOCDB
- 7965867
- Publication, EPODOC
- US7965867
- Application
- 11773483
- Application, DOCDB
- 77348307
- Application, EPODOC
- US20070773483
Titles
- English
- Method and apparatus for tracking a number of objects or object parts in image sequences
Patent term adjustment
- A delay
- +780 daysthe office missed an examination deadline
- B delay
- +351 dayspendency past three years
- Overlap
- −112 daysdelays counted once
- Net adjustment
- 1,019 days
Classification
- CPC, 6
- G06T7/251
- G06T2207/10016
- G06T2207/30196
- G06T2207/30232
- G06V40/103
- G06V10/24
- IPC, 1
- G06V10 24
- USPC, 1
- 382103000