Skip to main content
Log in

Tracking multiple moving objects in images using Markov Chain Monte Carlo

  • Published:
Statistics and Computing Aims and scope Submit manuscript

Abstract

A new Bayesian state and parameter learning algorithm for multiple target tracking models with image observations are proposed. Specifically, a Markov chain Monte Carlo algorithm is designed to sample from the posterior distribution of the unknown time-varying number of targets, their birth, death times and states as well as the model parameters, which constitutes the complete solution to the specific tracking problem we consider. The conventional approach is to pre-process the images to extract point observations and then perform tracking, i.e. infer the target trajectories. We model the image generation process directly to avoid any potential loss of information when extracting point observations using a pre-processing step that is decoupled from the inference algorithm. Numerical examples show that our algorithm has improved tracking performance over commonly used techniques, for both synthetic examples and real florescent microscopy data, especially in the case of dim targets with overlapping illuminated regions.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8

Similar content being viewed by others

Notes

  1. Fab (Fragment antigen binding) is a region on an antibody that binds to antigens.

  2. When \(\sigma _h\) is too small, the illuminated region taken into account is smaller than it should be which would cause many more targets than expected. In that case, we should increase \(\sigma _h\).

References

  • Andrieu, C., Doucet, A., Holenstein, R.: Particle Markov chain Monte Carlo methods. J. R. Stat. Soc. Ser. B Stat. Methodol. 72(3), 269–342 (2010)

    Article  MathSciNet  MATH  Google Scholar 

  • Bar-Shalom, Y., Fortmann, T.E.: Tracking and Data Association. Academic Press, Boston (1988)

    MATH  Google Scholar 

  • Boers, Y., Driessen, J.: Multitarget particle filter track before detect application. IEE Proc. Radar Sonar Navig. 151(6), 351–357 (2004)

    Article  Google Scholar 

  • Davey, S.J., Rutten, M.G., Cheung, B.: A comparison of detection performance for several track-before-detect algorithms. EURASIP J. Adv. Signal Process. 2008, 1–10 (2007)

  • Del Moral, P., Doucet, A., Jasra, A.: Sequential monte carlo samplers. J. R. Stat. Soc. 68, 411–436 (2006)

    Article  MathSciNet  MATH  Google Scholar 

  • Doucet, A., Johansen, A.M.: A tutorial on particle filtering and smoothing: fifteen years later. Handb. Nonlinear Filter. 12, 656–704 (2009)

    MATH  Google Scholar 

  • Duckworth, D.: Monte carlo methods for multiple target tracking and parameter estimation. Master’s thesis, EECS Department, University of California, Berkeley (2012). URL http://www.eecs.berkeley.edu/Pubs/TechRpts/2012/EECS-2012-68.html

  • Green, P.J.: Reversible jump Markov chain monte carlo computation and Bayesian model determination. Biometrika 82(4), 711–732 (1995)

    Article  MathSciNet  MATH  Google Scholar 

  • Jiang, L., Singh, S., Yildirim, S.: A new particle filtering algorithm for multiple target tracking with non-linear observations. In: Information Fusion (FUSION), 2014 17th International Conference on, pp. 1–8, (2014)

  • Jiang, L., Singh, S., Yıldırım, S.: Bayesian tracking and parameter learning for non-linear multiple target tracking models. IEEE Trans. Signal Process. 63, 5733–5745 (2015)

  • Kantas, N., Doucet, A., Singh, S.S., Maciejowski, J., Chopin, N.: On particle methods for parameter estimation in state-space models. Stat. Sci. 30(3), 328–351 (2015). doi:10.1214/14-STS511

    Article  MathSciNet  MATH  Google Scholar 

  • Kokkala, J., Sarkka, S.: Combining particle MCMC with Rao-Blackwellized monte carlo data association for parameter estimation in multiple target tracking. Digit. Signal Process. 47, 84–95 (2015)

    Article  MathSciNet  Google Scholar 

  • Mahler, R.P.: Statistical Multisource-Multitarget Information Fusion. Artech House, Boston (2007)

    MATH  Google Scholar 

  • Oh, S., Russell, S., Sastry, S.: Markov chain monte carlo data association for multi-target tracking. IEEE Trans. Automat. Contr. 54(3), 481–497 (2009)

    Article  MathSciNet  MATH  Google Scholar 

  • Papi, F., Kim, D.Y.: A particle multi-target tracker for superpositional measurements using labeled random finite sets. IEEE Trans. Signal Process. 63(16), 4348–4358 (2015)

    Article  MathSciNet  Google Scholar 

  • Punithakumar, K., Kirubarajan, T., Sinha, A.: A sequential monte carlo probability hypothesis density algorithm for multitarget track-before-detect. In: Proceedings of SPIE 5913, Signal and Data Processing of Small Targets 2005, 59131S, 8 pp (2005). doi:10.1117/12.618438

  • Rezatofighi, S.H., Gould, S., Vo, B.T., Vo, B.N., Mele, K., Hartley, R.: Multi-target tracking with time-varying clutter rate and detection profile: application to time-lapse cell microscopy sequences. IEEE Trans. Med. Imaging 34(6), 1336–1348 (2015)

    Article  Google Scholar 

  • Rutten, M.G., Gordon, N.J., Maskell, S.: Recursive track-before-detect with target amplitude fluctuations. IEE Proc. Radar Sonar Navig. 152(5), 345–352 (2005)

    Article  Google Scholar 

  • Schlangen, I., Franco, J., Houssineau, J., Pitkeathly, W.T.E., Clark, D., Smal, I., Rickman, C.: Marker-less stage drift correction in super-resolution microscopy using the single-cluster PHD filter. IEEE J. Sel. Top. Signal Process. 10(1), 193–202 (2016)

    Article  Google Scholar 

  • Singh, S.S., Whiteley, N., Godsill, S.J.: Approximate likelihood estimation of static parameters in multi-target models. In: Barber, D., Cemgil, A.T., Chiappa, S. (eds.) Bayesian Time Series Models, pp. 225–244. University Press, Cambridge (2011)

    Chapter  Google Scholar 

  • Streit, R.L., Graham, M.L., Walsh, M.J.: Multitarget tracking of distributed targets using histogram PMHT. Digit. Signal Proc. 12(2), 394–404 (2002)

    Article  Google Scholar 

  • Vo, B.N., Vo, B.T., Pham, N.T., Suter, D.: Joint detection and estimation of multiple objects from image observations. IEEE Trans. Signal Process. 58(10), 5129–5141 (2010)

    Article  MathSciNet  Google Scholar 

  • Vu, T., Vo, B.N., Evans, R.: A particle marginal Metropolis-Hastings multi-target tracker. IEEE Trans. Signal Process. 62(15), 3953–3964 (2014)

    Article  MathSciNet  Google Scholar 

  • Weimann, L., Ganzinger, K.A., McColl, J., Irvine, K.L., Davis, S.J., Gay, N.J., Bryant, C.E., Klenerman, D.: A quantitative comparison of single-dye tracking analysis tools using monte carlo simulations. PLoS ONE 8(5), e64,287 (2013)

    Article  Google Scholar 

  • Whiteley, N.: Discussion of particle Markov chain monte carlo methods by Andrieu, Doucet and Holenstein. JRSSB 72(3), 306–307 (2010)

  • Yıldırım, S., Jiang, L., Singh, S.S., Dean, T.A.: Calibrating the Gaussian multi-target tracking model. Stat. Comput. 25(3), 595–608 (2015). doi:10.1007/s11222-014-9456-2

Download references

Acknowledgements

We thank Kristina Ganzinger and Professor David Klenerman for providing the real data and the code in Weimann et al. (2013) for the comparisons in Sect.  4.2, and Sinan Yıldırım for his careful reading of this paper.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Sumeetpal S. Singh.

Additional information

This work was supported by the Engineering and Physical Sciences Research Council [Grant Numbers EP/G037590/1, EP/K020153/1].

Appendix

Appendix

1.1 Appendix 1: Hypothesis testing

The term of (26) to be calculated is \(p( y^r_{t,L(i)} | H_1)\) where \(y^r_{t,L(i)}=\{y^r_{t,j}\}_{j \in L(i)} \) and \(i \in G_t\) is a pixel that is a local maximum of \(y_t^f\). Let (rc) be its row and column number and

$$\begin{aligned} (\bar{a},\bar{s})=(y^f_{t,i},{\varDelta }r, {\varDelta }c). \end{aligned}$$

Vector \((\bar{a},\bar{s})\) can be interpreted as the likely intensity \(\bar{a}\) and location \(\bar{s}\) of an undetected target. Below we just write L as the set of pixels under consideration instead of L(i).

Let \(x=(a,s,v)\in \mathbb {R} \times \mathbb {R}^2 \times \mathbb {R}^2\) where as before a denotes intensity, \(s=(s(1),s(2))\) spatial coordinates and \(v=(v(1),v(2))\) spatial velocity. (Recall that a pixel illumination is not a function of velocity.) The aim is to calculate

$$\begin{aligned} p(y^r_{t,L}|H_1)= & {} \int \left( \prod _{j\in L} \mathcal {N}(y_{t,j}^r; a \bar{h}_j(s), \sigma _{r,t}^2) \right) \nonumber \\&\times p(a,s,v|H_1) \text {d}a \text {d}s \text {d}v \nonumber \\= & {} \int p(y^r_{t,L}|a,s) p(a,s|H_1) \text {d}a \text {d}s \end{aligned}$$
(40)

where \(p(a,s|H_1)\) is either the marginal (or restriction to intensity and spatial position only) of the law of the birth \(\mu _{\psi }\) [see (1)] if proposing the initial state of the birth move, or the pdf \(p(a,s|a_{0:k}, a_{0:k})\) (to be defined below) if extending the target intensity and position trajectory after having created the initial intensity and position. \(p(y^r_{t,L}|a,s)\) is implicitly defined.

Let \(p(y^r_{t,L},a,s|H_1)=p(y^r_{t,L}|a,s) p(a,s|H_1)\). Use the approximation

$$\begin{aligned}&\ln p(y^r_{t,L},a,s|H_1)\approx \ln p(y^r_{t,L}, \bar{a},\bar{s}|H_1) \nonumber \\&\qquad -\frac{1}{2} [(a,s)-(\bar{a},\bar{s}) ] D [(a,s)- (\bar{a},\bar{s}) ]^T \end{aligned}$$
(41)

where \(-D\) is the second-order derivative \(\nabla ^2 \ln p(y^r_{t,L},a,s|H_1)\) evaluated at \((\bar{a},\bar{s})\). Expression (41) is like the Laplace approximation except that the second-order Taylor expansion is computed at \((y^f_{t,i},{\varDelta }r, {\varDelta }c)\) and not the true maximum \(\arg \max _{a,s} p(y^r_{t,L},a,s|H_1)\) to save on the maximisation step, which we find in the numerical examples to be still effective as a component of the birth move. (Moreover, it is a fair simplification for a diffused prior.) Thus,

$$\begin{aligned} p(y^r_{t,L}|H_1)\approx p\left( y^r_{t,L}, \bar{a},\bar{s} |H_1\right) \; \frac{(2\pi )^{3/2}}{\sqrt{|D|}} \end{aligned}$$

and the Gaussian distribution in (29) is

$$\begin{aligned} \mathcal {N}\left( \cdot | (\bar{a},\bar{s}),D^{-1}\right) . \end{aligned}$$
(42)

Section 4 (numerical examples) assumes a linear and Gaussian model for the targets in both the synthetic and real data examples. The description is now completed by specifying \(p(\bar{a},\bar{s}|H_1)\).

When the birth move is constructing the initial/first state of the target,

$$\begin{aligned} p(a,s|H_1)= \int \mu _{\psi }(a,s,v)\text {d}v \end{aligned}$$
(43)

and the expression in (26) now simplifies to

$$\begin{aligned} \rho (y_{t,L(i)}^r) =\frac{p(H_1)}{p(H_0)}\frac{p(y^r_{t,L}| \bar{a},\bar{s})}{p(y^r_{t,L}|H_0)} p(\bar{a},\bar{s}|H_1) \frac{(2\pi )^{3/2}}{\sqrt{|D|}}. \end{aligned}$$
(44)

Finally, we derive \(p(a,s| H_1)\) in (40) when the birth move is extending the target intensity and position trajectory after having created the initial intensity position pairs \((a_{0}, s_{0}),\ldots ,\) \((a_{k-1}, s_{k-1})\) for some \(k\ge 1\). For a target with a linear Gaussian model (1), the pdf of \(v_{k-1}\) (or \(v_{0:k-1}\)) conditioned on \(s_{0:k-1}\), which is denoted \(p_{\psi }(v_{k-1}|{s}_{0:k-1})\), is a Gaussian. Thus, \(p(a,s| H_1)\) is

$$\begin{aligned} \int f_{\psi }(a,s,v| a_{k-1},s_{k-1},v_{k-1}) p_{\psi }(v_{k-1}|{s}_{0:k-1}) \mathrm {d}v \mathrm {d}v_{k-1} \end{aligned}$$

and the corresponding expression for \(\rho (y_{t_k,L(i)}^r)\) in (30) is the same as in (44).

1.2 Appendix 2: State proposal

The state proposal of Sect. 3.7 alters the state values of the targets whose trajectories have been partially exchanged. This proposal is defined for the Gaussian model in Sect. 4.

Let \(\left\{ (k,t_{b}^{k},\mathbf {x}^{k})\right\} _{k=1}^{K}\) be the MTT state and assume without loss of generality \(U=\{1,2\}\). The state proposal is decomposed into

$$\begin{aligned}&q_{s,\theta }(U,t,\tilde{\mathbf {x}}^{1},\tilde{\mathbf {x}}^{2}|\mathbf {x}^{1:K},t_{b}^{1:K},y_{1:n})\\&\quad =q_{s,\theta }(U,t|\mathbf {x}^{1:K},t_{b}^{1:K}) q_{s,\theta }(\tilde{\mathbf {x}}^{1},\tilde{\mathbf {x}}^{2}|\mathbf {x}^{1:K},t_{b}^{1:K},y_{1:n},U,t) \end{aligned}$$

where the first term is the probability of selecting (Ut) and is not \(y_{1:n}\) dependent. Using \(y_{1:n}\) and \(\left\{ (k,t_{b}^{k},\mathbf {x}^{k})\right\} _{k=3}^{K}\), generate the residual image as in (23) by subtracting the background intensity and the contribution from all targets except \((t_{b}^{1},\mathbf {x}^{1})\) and \((t_{b}^{2},\mathbf {x}^{2}\)). Let \(y_{t}^{r}=(y_{t,1}^{r},\ldots ,y_{t,m}^{r})\) denote the residual images at time t. The state proposal samples \((\tilde{\mathbf {x}}^{1},\tilde{\mathbf {x}}^{2})\) from the pdf \(q_{s,\theta }(\tilde{\mathbf {x}}^{1},\tilde{\mathbf {x}}^{2}|\hat{\mathbf {x}}^{1:2},\tau _{b}^{1:2},y_{1:n}^{r})\) where \((\hat{\mathbf {x}}^{1},\hat{\mathbf {x}}^{2})\) is defined in (33). Note the dependency on targets \(k>2\) is captured through the residual image.

For brevity, instead of \((\hat{\mathbf {x}}^{1},\hat{\mathbf {x}}^{2})\), we write \(({\mathbf {x}}^{1},{\mathbf {x}}^{2})\). Also, to highlight the intensity, spatial coordinates and velocity components, \(\mathbf {x}^{i}=(a_{0}^{i},s_{0}^{i},v_{0}^{i},\ldots ,a_{l^{i}-1}^{i},s_{l^{i}-1}^{i},v_{l^{i}-1}^{i})\) is written as \((\mathbf {a}^{i},\mathbf {s}^{i},\mathbf {v}^{i})\).

The proposal \(q_{s,\theta }\) does not alter the spatial components, i.e. \(\tilde{\mathbf {s}}^{1}=\mathbf {{s}}^{1}\) and \(\tilde{\mathbf {s}}^{2}=\mathbf {{s}}^{2}\).

The velocities \((\tilde{\mathbf {v}}^{1},\tilde{\mathbf {v}}^{2})\sim p_{\psi }(\tilde{\mathbf {v}}^{1}|\mathbf {{s}}^{1})p_{\psi }(\tilde{\mathbf {v}}^{2}|\mathbf {{s}}^{2})\), i.e. are sampled independently from \(p_{\psi }\), which is the prior pdf of the velocity conditioned on the spatial coordinates values, which is Gaussian.

If targets 1 and 2 exist at time t, then their state values are \(x_{t-\tau _{b}^{1}}^{1}\) and \(x_{t-\tau _{b}^{2}}^{2}\), respectively. We assume (for pixel i) \(y_{t,i}^{r}\sim \mathcal {N}(\cdot |0,\sigma _{r,t}^{2})\) if targets 1 and 2 both do not exist at time t, \(y_{t,i}^{r}\sim \mathcal {N}(\cdot |a_{t-\tau _{b}^{1}}^{1}h_{i}(s_{t-\tau _{b}^{1}}^{1}),\sigma _{r,t}^{2})\) if only target 1 exists and \(y_{t,i}^{r}\sim \mathcal {N}(\cdot |a_{t-\tau _{b}^{1}}^{1}h_{i}(s_{t-\tau _{b}^{1}}^{1})+a_{t-\tau _{b}^{2}}^{2}h_{i}(s_{t-\tau _{b}^{2}}^{2}),\sigma _{r,t}^{2})\) if both exists. The prior probability model [see (1))] for the intensities is independent Gaussians, denoted \(p_{\psi }(\mathbf {a}^{1})p_{\psi }(\mathbf {a}^{2})\). Conditioned on \(y_{1:n}^{r}\), \((\tau _{b}^{1},\mathbf {s}^{1})\) and \((\tau _{b}^{2},\mathbf {s}^{2})\), the posterior pdf for the joint intensities is also a Gaussian, which is denoted by \(q_{s,\theta }(\tilde{\mathbf {a}}^{1},\tilde{\mathbf {a}}^{2} | \mathbf {s}^{1:2},\tau _{b}^{1:2},y_{1:n}^{r})\). Thus

$$\begin{aligned} q_{s,\theta }(\tilde{\mathbf {x}}^{1},\tilde{\mathbf {x}}^{2}|\mathbf {x}^{1:2},\tau _{b}^{1:2},y_{1:n}^{r})= & {} p_{\psi }(\tilde{\mathbf {v}}^{1}|\mathbf {s}^{1}) p_{\psi }(\tilde{\mathbf {v}}^{2}|\mathbf {s}^{2})\\&\times \; q_{s,\theta }(\tilde{\mathbf {a}}^{1},\tilde{\mathbf {a}}^{2}|\mathbf {s}^{1:2},\tau _{b}^{1:2},y_{1:n}^{r}). \end{aligned}$$

1.3 Appendix 3: CSMC step of Algorithm 1

(Initialisation.) Denote target k’s trajectory by \((t_{b}^{k},\mathbf {x}^{k})\) with \(\mathbf {x}^{k}=(x_{0},\ldots ,x_{l-1})\). Let \(\mathbf {x}'_{1:n}\) denote the MTT state, in the representation of Sect. 2.3, omitting target k. Define target k’s state likelihood to be

$$\begin{aligned} g_{t}(x)=\prod _{i=1}^{m}\mathcal {N}(y_{t,i}\vert h_{i}(\mathbf {x}{}_{t}')+h_{i}(x)+b_{t},\sigma _{r,t}^{2}) \end{aligned}$$

[c.f. (11).]

Execute the CSMC algorithm of Whiteley (2010), with backward sampling, for the partially observed Markov model with state law \(\mu _{\psi }(x_{0})\), \(f_{\psi }(x_{t}\vert x_{t-1})\) [see (1)], state likelihood \(g_{t_{b}^{k}+t}(x_{t})\) above and input trajectory \((x_{0},\ldots ,x_{l-1})\) to yield an updated target k trajectory \((x'_{0},\ldots ,x'_{l-1})\). The CSMC implementation used proposes particles from the state law.

1.4 Appendix 4: Gibbs step of Algorithm 1 for the MTT model of Sect. 4

Recall \(K_{t}^{s}\) is a binomial r.v. with success probability \(p_{s}\) and number of trials \(K_{t-1}^{x}\). \(K_t^b\) is a Poisson r.v. with rate \(\lambda _b\). Thus, their posteriors are the Beta and Gamma pdfs:

$$\begin{aligned}&p_{s} | z_{1:n},\mathbf {x}_{1:n},y_{1:n}\sim \mathcal {B} \left( 1+\sum _{t=1}^n k_t^s,\, 1+\sum _{t=2}^n (k_{t-1}^x-k_t^s)\right) ,\\&\lambda _{b} | z_{1:n}, \mathbf {x}_{1:n},y_{1:n} \sim \mathcal {G} \left( \alpha _{0} + \sum _{t=1}^{n} k_{t}^{b},\, (\beta _{0}^{-1} + n)^{-1} \right) . \end{aligned}$$

The updates for \(b_t\) and \(\sigma _{r,t}\) require the following empirical means and variances [c.f. (10], (11)): \(\bar{e}_{t} = m^{-1}\sum _{i=1}^m y_{t,i} - h_i (\mathbf {x}_t)\), \(\beta _1 = \sum _{i=1}^m( y_{t,i} - h_i (\mathbf {x}_t) - \bar{e}_t)^2\), \(\beta _2= \frac{n_0 m}{n_0 + m} (\mu _0 - \bar{e}_{t})^2\),

$$\begin{aligned}&\sigma ^2_{r,t} \vert z_{1:n},\mathbf {x}_{1:n},y_{1:n} \sim \mathcal {IG}(\alpha _0+m/2,\beta _0 + \beta _1/2 + \beta _2/2),\\&b_{t} \vert \sigma ^2_{r,t}, z_{1:n},\mathbf {x}_{1:n},y_{1:n} \sim \mathcal {N}\left( \frac{n_0\mu _0+m \bar{e}_t}{n_0+m},\frac{\sigma _{r,t}^2}{n_0+m}\right) . \end{aligned}$$

The Gibbs update for means and variances of the remaining Gaussians of the MTT model of Sect. 4 follows similar update formulae.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Jiang, L., Singh, S.S. Tracking multiple moving objects in images using Markov Chain Monte Carlo. Stat Comput 28, 495–510 (2018). https://doi.org/10.1007/s11222-017-9743-9

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11222-017-9743-9

Keywords

Navigation