Interacting Multiple Model-based Joint Homography Matrix and Multiple Object State Estimation
Paul Johannes Claasen Johan Pieter de Villiers














































up]Paul Johannes Claasencor1
pj@benjamin.ng.org.za

up]Johan Pieter de Villiers
pieter.devilliers@up.ac.za

[up]organization=Department of Electrical, Electronic and Computer Engineering, University of Pretoria,
            addressline=Lynnwood Road, Hatfield, 
            city=Pretoria,
            postcode=0028, 
            country=South Africa

[cor1]Corresponding author.

§ ABSTRACT 

A novel MOT algorithm, IMM Joint Homography State Estimation (IMM-JHSE), is proposed. By jointly modelling the camera projection matrix as part of track state vectors, IMM-JHSE removes the explicit influence of camera motion compensation techniques on predicted track position states, which was prevalent in previous approaches. Expanding upon this, static and dynamic camera motion models are combined through the use of an IMM filter. A simple bounding box motion model is used to predict bounding box positions to incorporate image plane information. In addition to applying an IMM to camera motion, a non-standard IMM approach is applied where bounding-box-based BIoU scores are mixed with ground-plane-based Mahalanobis distances in an IMM-like fashion to perform association only. Finally, IMM-JHSE makes use of dynamic process and measurement noise estimation techniques. IMM-JHSE improves upon related techniques on the DanceTrack and KITTI-car datasets, increasing HOTA by 2.64 and 2.11, respectively, while offering competitive performance on the MOT17, MOT20 and KITTI-pedestrian datasets.


















    multi-object tracking tracking by detection camera calibration camera motion compensation homography estimation














§ INTRODUCTION


    The increasing reliability of object detectors <cit.> has encouraged research on the topic of tracking objects in the image space, i.e. where objects are tracked in pixel coordinates. Most recent methods have focused on using bounding box information with or without appearance embeddings <cit.>. Yet, it is possible in some cases to obtain an estimate of the location of a bounding box within the ground plane of the imaged 3D space <cit.>. The ground plane is a coordinate system that represents a 2D approximation of the earth's surface in front of the camera, as viewed from above. Leveraging such information may improve association performance. Occlusion and camera motion effects may be mitigated if the target dynamics within the ground plane are reliably estimated and the homographic projection of the ground plane to the image plane is decoupled from the target's motion. This is illustrated in Figure <ref>, which depicts two tracks that undergo heavy occlusion in the image plane at time t. Although the red track is occluded by the blue track, their locations on the ground plane are still easily separable. Furthermore, camera motion does not influence target association, i.e. additional camera motion compensation is not required if an accurate projection matrix (homography) can be determined at any time step. 

    

    

    This paper expands upon previous multiple object tracking (MOT) methods. In particular, it makes the following contributions:
        
            
  * Modelling limitations of a previous method <cit.> are addressed; see Section <ref>. Briefly, target motion is decoupled from the homography matrix state.
            
  * The homography matrix is included in the target state vector. Thus, it is estimated jointly with the target position and velocity.
            
  * A static camera motion model (which assumes that the homography matrix does not change over time) is combined with a dynamic camera motion model (which accounts for camera-motion-induced changes in the homography) with an interacting multiple model (IMM) filter.
            
  * In addition to applying the IMM to camera motion as mentioned in the point directly above, the proposed method dynamically mixes ground-plane- and image-plane-based association scores, i.e. Mahalanobis distance and buffered intersection over union (BIoU) respectively, for the purpose of association only.
            
  * Dynamic measurement noise estimation is used to estimate the noise associated with a particular track's measured bounding box, and dynamic process noise estimation is used to estimate the noise associated with each camera motion model.
            
  * The proposed method outperforms related methods on the DanceTrack <cit.> and KITTI-car <cit.> datasets while offering competitive performance on the MOT17 <cit.>, MOT20 <cit.>, and KITTI-pedestrian <cit.> datasets.
        

    The remainder of the paper is structured as follows. Section <ref> examines previous work on the topic of image-based tracking. Section <ref> provides more detail on motion models and camera motion compensation in the literature. Section <ref> gives a detailed overview of the proposed method. Section <ref> provides the experimental setup and results of tests on validation data. Section <ref> reports the results on the MOT17, MOT20, DanceTrack and KITTI test datasets. Finally, Section <ref> concludes the findings of this paper and suggests topics of focus for future work.



§ PREVIOUS WORK
 
    This section provides an overview of previous approaches to the MOT problem in order to provide context for the contributions presented in this paper.

    

 §.§ Image-based Tracking

    
        Tracking the motion of objects from a video has been of interest as early as 1998 when Isard and Blake <cit.> developed the condensation algorithm for tracking objects represented by a curve or sets of curves with learned motion models. Their method propagates conditional density distributions similar to the approach of particle filtering. However, tracking multiple objects simultaneously with their method may become infeasible, especially for complex multi-modal posterior densities where large samples or particles may be required to obtain accurate estimates. Besides, multi-object tracking requires solving the association problem – deciding which observations belong to which tracked object – which becomes increasingly difficult when the tracked objects are near one another, partially or fully occluding each other. Multiple object tracking (MOT) methods presented in the literature focus more on the association problem than on detection or individual target tracking. 
        
        Given a set of object detections, Li et al. <cit.> model the association problem with a cost-flow network, with the solution obtained by a minimum-cost flow algorithm. They also explicitly model occluded observations, which is achieved by simply comparing differences in detection locations and scale to predetermined thresholds. While the approach is reported to be real-time and yields favourable results on the  Context-Aware Vision using Image-based Active Recognition (CAVIAR) <cit.> dataset, object motion is not explicitly modelled. As a result, the method may perform poorly when object motion is highly dynamic. Berclaz et al. <cit.> similarly model object trajectories with a flow model consisting of a discretised 2D spatial grid (representing the image area) at each time step. They use the K-shortest path algorithm to solve their linear programming formulation of the association problem. Motion is modelled by only allowing an occupied node at the previous time step to transition to a specific neighbourhood around that node in the current time step. As with <cit.>, this is an unsatisfactory solution in situations where objects are highly dynamic. 
        
        With the increasing reliability and popularity of several object detectors <cit.>, modern methods have primarily made use of bounding box information. Bewley et al. <cit.> emphasise the importance of detection quality and use the Hungarian algorithm to perform data association based on the intersection-over-union (IoU) of detected bounding boxes with those predicted by Kalman-filtered tracks (specifically, predicted bounding boxes are constructed from the predicted bounding box centre x- and y-coordinates, height and aspect ratio). Their method has been influential in promoting the use of Kalman filters to estimate object motion distributions and/or the Hungarian algorithm (or other linear assignment algorithms) to perform association: these have become the status quo in <cit.>. Taking the minimalist approach of the original SORT algorithm one step further, Bergmann et al. <cit.> rely purely on the regression head of their detector network (or “Tracktor”) to perform tracking. However, they show that performance improves with camera motion compensation and appearance-feature-based re-identification, suggesting that explicit motion models (and appearance information) can still be beneficial. Supporting this idea, Khurana et al. <cit.> use motion models that consider monocular depth estimates to maintain occluded tracks. SORT is improved upon in <cit.> by integrating appearance information, resulting in DeepSORT. They train a convolutional neural network (CNN) to discriminate between pedestrians and keep each track's normalised appearance embeddings of the last 100 frames. Track association is performed by finding the minimum cosine distance of the current detected appearance embedding with the history of embeddings for each of the previous tracks. Additionally, they use motion information by obtaining the Mahalanobis distance between detections and predicted Kalman filter states, consisting of bounding box centre positions, aspect ratios, heights and their corresponding velocities. In SiMIlarity LEarning for Occlusion-Aware Multiple Object Tracking (SMILEtrack), Hsiang et al. <cit.> make use of a Siamese-based network which incorporates elements inspired by vision transformers (specifically, self-attention computed on image patches) to extract appearance features from detected bounding boxes. However, it does not achieve a convincing improvement in higher-order tracking accuracy (HOTA) <cit.> compared to ByteTrack, despite its superior computational speed. Leveraging multiple-camera traffic surveillance systems, another method explicitly models inter-vehicle occlusion using reconstructed-cuboid projections instead of relying on similarity learning <cit.>. It is noted that the use of camera motion compensation has become ubiquitous, with applications in <cit.>.  
        
        Whereas previous methods separately perform detection and appearance embedding extraction, Wang et al. <cit.> design a model which performs both of these simultaneously. They report that similar results can be achieved compared to state-of-the-art SDE (separate detection and embedding) methods at reduced computational cost. Zhang et al. <cit.> show that such multi-task networks must be designed carefully since the tasks require different features and feature dimensions and that the anchors used for object detection can introduce ambiguity in the re-identification features. They introduce a carefully designed anchor-free model to simultaneously perform object detection and appearance embedding extraction, which outperforms the state-of-the-art methods in tracking metrics and frame rate.
        
        Shifting the focus from appearance embeddings, Zhang et al. <cit.> note that it is beneficial to perform association in two steps in their method called ByteTrack: the first step takes only high-confidence detections into account, while the remaining unmatched detections, as well as the lower-confidence detections, are associated in a second association step. They note that using the IoU is essential in the second association step since other features may become unreliable for low-confidence detections, which may be occluded and/or blurred. Still, re-identification or other features may be used in the first step. By altering the Kalman filter state vector, Aharon et al. <cit.> improve upon ByteTrack. Instead of tracking the aspect ratio of bounding boxes, they perform better by directly tracking bounding box widths and heights. Similar to <cit.>, an exponential moving average mechanism is used to update the appearance states of tracklets – the features of which are obtained by a re-identification network from the FastReID library <cit.>. Specifically, the bags of tricks <cit.> stronger baseline with a ResNeSt50 <cit.> backbone is used. Accordingly, they name their method BoT-SORT. Although tracking width and height may improve performance, Cao et al. <cit.> note that previous motion models are estimation-centric, allowing for rapid error accumulation over time, especially when no observations are available, and motion is non-linear. This implies that previous approaches are more sensitive to the noise in state estimation than the noise in measurements. They propose observation-centric SORT (OC-SORT), which incorporates a re-update step when an object is re-identified, during which the Kalman filter is updated with virtual detections generated based on the last-known and currently detected bounding box state. In addition, they use a novel association criterion that considers the change in motion direction that each new detection would induce, which is termed observation-centric momentum (OCM). Finally, Yang et al. <cit.> buffers object bounding boxes to expand the matching space of subsequent detections in their Cascaded Buffered IoU (C-BIoU) tracker. A cascaded matching approach is used such that small buffers are used in the first association step, and larger buffers are used in the second step. Despite its simplicity, Their method performs superior to DeepSORT, SORT, ByteTrack and OC-SORT.

        
        

    
    
    
        
    

 §.§ Tracking Involving Homography

    
        Various methods have used homography between multiple camera views to increase the robustness of the tracking of sports players. Since a particular player may be occluded in one camera view but not in another, using multiple cameras increases the robustness of a player tracking system to player occlusions. Examples of methods which make use of inter-camera homographies may be found in <cit.>. However, few approaches consider the homography between a single camera view and the playing field. Notably, Hayet et al. <cit.> incrementally update the homography between the camera view and an imaged soccer field and explicitly use it to track player locations on the playing field with a Kalman filter. Recently, Maglo et al. <cit.> compute the homography to display player positions, but the tracking is performed without the aid of the homography. Instead, they rely heavily on appearance features extracted by a model fine-tuned offline after tracklet generation (on the corresponding bounding boxes). As a result, their method is not suitable for online operation. Most recently, Yi et al. <cit.> manually annotated the homographic projections between the image and ground planes of various datasets. They then perform tracking and association in the ground plane. However, as will be shown in detail in Section <ref>, camera motion explicitly influences target position in their method – which this paper regards as a modelling error.





































































































§ BACKGROUND: CAMERA MOTION COMPENSATION AND MOTION MODELS

        The majority of modern approaches to MOT model target motion in the image plane <cit.>. Particularly, the near-constant velocity model is usually employed:
            
    x^I_t=x^I_t-1+x^I_t-1Δ t,

        where x^I_t represents the centre x- or y-coordinate, width or height (in pixels) of the target's bounding box (these are jointly estimated and form part of the same state vector) at time t. The superscript I indicates that the state vector x^I_t is represented in the image plane. The individual state components will subsequently be denoted by x^I,x_t, x^I,y_t, x^I,w_t, x^I,h_t, respectively. The velocity of a state component is denoted by x, and Δ t represents the sampling period — in this case, it is equal to the reciprocal of the video frame rate. The additive noise term has been omitted for brevity. 
        
        The current state is conditioned on the previous state, with measurements in the form of detected bounding boxes being directly related to the state itself. This model is graphically represented in Figure <ref>,
        
        and assumes that the camera remains stationary. As a result, several approaches <cit.> make use of camera motion compensation after prediction with (<ref>). Specifically, a matrix 
            
    𝐀_t = [[ 𝐑^A_t∈ℛ^2× 2   𝐭_t∈ℛ^2× 1;       0^1× 2            1 ]]

        is estimated such that
            
    [ x^I,x'_t; x^I,y'_t;        1 ] = 𝐀_t[ x^I,x_t; x^I,y_t;       1 ]

        and
            
    [ x^I,w'_t; x^I,h'_t;          ] = 𝐑^A_t[ x^I,w_t; x^I,h_t;         ],

        where the prime superscript denotes the camera-motion-compensated state component. 𝐀_t is estimated with the camera calibration module of the OpenCV <cit.> library. Most previous approaches make use of optical flow features and the RANSAC <cit.> algorithm, although <cit.> makes use of the enhanced correlation coefficient (ECC) optimisation method.

        UCMCTrack <cit.> instead models target motion in the ground plane:
            
    x^G_t=x^G_t-1+x^G_t-1Δ t + w^G,

        where x^G_t represents the target's x- or y-coordinate, and the superscript G indicates that the state is represented in the ground plane. These components will subsequently be denoted by x^G,x_t and x^G,y_t, respectively. The additive noise term w^G is sampled from a zero-mean multivariate normal distribution with covariance 𝐐^G,x (i.e. the process noise covariance matrix) determined by<cit.>:
                
    𝐐^G,x=𝐆diag(σ_x,σ_y)𝐆^T,

            where 
            
    𝐆=[[ Δ t^2/2       0;     Δ t       0;       0 Δ t^2/2;       0     Δ t ]],

            and σ_x and σ_y are process noise compensation factors along the x- and y-axes, respectively. The superscript x in 𝐐^G,x differentiates this noise term from those associated with the homography components in (<ref>), (<ref>). 
            
            UCMCTrack manually annotates the homographic projection relating the ground plane to the starting frame of each video on which they evaluate their method. Let 𝐇^L represent this initial projection, then 
            
    [                 x^I,x_t; x^I,y_t + 0.5 × x^I,h_t;                       1 ] = norm(𝐇^L[ x^G,x_t; x^G,y_t;       1 ]),

        where norm([ x y z ]^⊤) = [ x/z y/z   1 ]^⊤. For details regarding the theory of the pinhole camera model employed here, the reader is directed to <cit.>. The left-hand side of (<ref>) will subsequently be referred to as the bottom-centre bounding box coordinates. As in <cit.>, these coordinates are selected to represent the projection of an object's ground plane position since it is where the object is expected to touch the ground (e.g. if the object is a person, this coordinate represents where their feet touch the ground).
        
        UCMCTrack does not consider how the projection matrix 𝐇^L evolves over time. Because of this, existing tracks' positions must be corrected to compensate for camera motion. In particular, UCMCTrack makes use of a post-prediction camera motion compensation step. First, the bottom-centre bounding box location is obtained by applying (<ref>) to the predicted ground plane coordinates. The approximate centre x- and y-coordinates of the bounding box in the image plane are then obtained by subtracting half of the last-known height from the y-coordinate of this projection. This estimate is then used in (<ref>) to approximate the x- and y-coordinates of the target bounding box in the current frame after camera motion compensation (CMC) has been applied. CMC is also applied to the width and height of the last-known bounding box (i.e. the bounding box which has been associated with the particular track most recently) as in (<ref>). Finally, the inverse of (<ref>) is used to obtain the camera-motion-compensated ground plane coordinates. Ignoring the effect of bounding box width and height, this update step can roughly but concisely be described by
            
    𝐱^G'_t=norm((𝐇^L)^-1𝐀_tnorm(𝐇^L𝐱^G_t)).

        One might interpret (<ref>) to imply that the target position in the ground plane is in some way dependent on camera motion, which is counter-intuitive to the knowledge that a target's movement does not depend on camera motion. Target and camera motion models are treated independently in the proposed solution to address this.
        
        

§ THE PROPOSED SOLUTION

        Let 𝐇^G_t represent the projection matrix as it evolves over time. Its evolution may be described by <cit.>
            
    𝐇^G_t = 𝐀_t𝐇^G_t-1 + 𝐐_𝐭^𝐆,𝐇,

        with 𝐇^G_0=𝐇^L, and 𝐐_𝐭^𝐆,𝐇 is an additive noise term which is estimated as described in Section <ref>. The superscript 𝐇 differentiates this noise term from that of the ground plane position components, and the tilde differentiates it from the static motion model introduced in (<ref>). Equation <ref> describes how the homographic projection changes as a function of the previous projection and the estimated camera motion. Importantly, this is independent of and does not influence target motion. 
        
        A graphical model which combines Equations <ref> and <ref> with the measurement model in (<ref>) is shown in Figure <ref>. Here, x^I_t represents the bottom-centre bounding box position of the target detection. According to Bayesian network theory, the target and camera projection dynamics are independent while the target bounding box is unobserved, but they become dependent when conditioned on x_t^I <cit.>. Thus, the temporal evolution of the ground plane and homography states are independent but are related through a common measurement in the image plane. This model may allow for a more accurate estimation of a target's ground plane motion since its ground plane position prediction is not directly influenced by camera motion — only the position of its projection in the image plane.

        

        The authors of <cit.> note that in scenes with relatively low camera motion, their method performs better without the camera motion compensation step in (<ref>). This may be because the estimated affine matrix <ref> is inaccurate, and noise is not considered in (<ref>). To remedy this, the method proposed in this paper includes an additive noise term in (<ref>) (see Sections <ref> and <ref>). Additionally, to better model the evolution of 𝐇^G_t when there is no camera motion, the following motion model is included:
            
    𝐇^G_t = 𝐇^G_t-1 + 𝐐̅_𝐭^𝐆,𝐇,

        where 𝐐̅_𝐭^𝐆,𝐇 is an additive noise term, where the bar differentiates it from that in (<ref>). For each track, two filters are run in parallel. One of these makes use of (<ref>), and the other makes use of (<ref>). The states of these filters are fused in an IMM filter.
        
        Furthermore, it has been shown that making use of buffered intersection over union (BIoU) during association can increase performance in scenes where either the camera or the tracks are highly dynamic <cit.>. Besides, there may be times when the tracks leave the ground plane (for example, jumps or flips in the DanceTrack dataset <cit.>), causing their measured ground plane positions to fluctuate wildly. During these times, it may be better to perform association with an image-based association measure such as the BIoU. Even if tracks do not leave the ground plane, they may be occluded, which could cause partial detections that manifest similar behaviour to when tracks leave the ground plane. Nevertheless, considering bounding box dimensions during association increases performance, as shown in Section <ref>. Therefore, the proposed method makes use of the simple bounding box motion model proposed in <cit.>. To perform association, the ground plane and image-based association scores are taken into account proportionally according to the predicted model probability <cit.>:
            
    μ_t | t-1^i=P(m_t^i|𝐱^I_1: t-1)=∑_j=1^r p_j iμ_t-1^j,

        where μ_t-1^j denotes the probability that the target motion matches model m^j at time t-1, p_ji denotes the probability of a transition from model m^j to model m^i, r denotes the number of models under consideration and 𝐱^I_1: t-1 represents all past observations. This is explained further in Section <ref>.

        Finally, the proposed method makes use of dynamic measurement and process noise estimation, which significantly improves performance (Section <ref>).

        

 §.§ State Definition and Motion Models

            The ground plane state of a track includes its position and velocity along both ground plane axes. Furthermore, this paper proposes including the elements of the projection matrix that relate the track's ground plane position to its position in the image plane in the state vector. Thus, the ground plane state is defined as 
            
    𝐱 = [ x^G,x; x^G,x; x^G,y; x^G,y; 𝐇^G,1; 𝐇^G,2; 𝐇^G,3 ],

            where 𝐇^G,1, 𝐇^G,2 and 𝐇^G,3 are the first, second and third columns of the homography matrix, respectively.

            Note that although each track is treated as having its own unique projection matrix, in reality, there is a single projection matrix that relates the image plane to the ground plane. Examining Figure <ref>, this would imply that all of the current tracks' ground plane positions become dependent upon receiving an image plane measurement. However, this work handles each track independently to simplify track management. 

            The proposed method makes use of the constant velocity model for the ground plane dimensions as in (<ref>). For the homography state elements, both the dynamics models of (<ref>) and (<ref>) are combined with an IMM filter. The reader is referred to <cit.> for details regarding IMM filters. The process noise covariance matrix corresponding to the homography state elements is determined as Section <ref> explains.

            When a track's position is predicted without a measurement update, it is said to be coasting, and it is in the coasted state. Otherwise, it is confirmed. In the image plane, the bounding box prediction is independent of the state vector in (<ref>) while the track is confirmed. This paper makes use of the simple motion model presented in <cit.>, which averages bounding box velocities over a buffer of previous measurements and adds this average to the previous bounding box measurement:
                
    𝐱^M_t| t-1=𝐱^M_t-1 + 1/n - 1∑_i=t-n+1^t-1𝐱^M_i-𝐱^M_i-1,

            n denotes the size of the buffer, which stores the bounding box measurements 𝐱^M_t-n:t-1 previously associated with the particular track. The superscript M indicates a measurement, except in 𝐱^M_t| t-1 which refers to the predicted measurement at time t given the measurements from t-n to t-1. Each measurement is stored as [ x^I,l x^I,t x^I,r x^I,b ], where the components denote the left x-, top y-, right x- and bottom y-coordinate of the corresponding bounding box, respectively. The maximum size of the bounding box measurement buffer is fixed to n=5. When fewer than two measurements are in the buffer, the last-known bounding box is used as the prediction.

            When a track is coasted, the predicted bounding box is coupled to the predicted ground plane position. Specifically, the bottom-centre coordinates of the predicted bounding box are set to the projection of the predicted ground plane position in the image plane. The width and height of the predicted bounding box are determined by (<ref>), where the last-confirmed bounding box width and height are propagated through time. This is illustrated in Figure <ref>, where a track is successfully re-identified after a period of occlusion due to this technique. When a measurement is associated with a track after a period of being coasted, the previous buffer of (<ref>) is cleared and contains only the newly associated detection.
                
                
        

 §.§ Measurement Model

            Let x̅^I,x and x̅^I,y denote the bottom-centre x- and y- bounding box coordinates in the image plane as obtained in (<ref>). A track's ground plane coordinates x^G,x and x^G,y are related to these image coordinates through its homographic projection state elements:
            
    [ x̅^I,x_t; x̅^I,y_t;        1 ] = norm(𝐇^G_t[ x^G,x_t; x^G,y_t;       1 ]) + 𝐑_t= h(𝐱) + 𝐑_t.

            𝐑_t is a noise term which is dynamically estimated as described in Section <ref>, but initially set to
                
    𝐑_0=[[ (σ_m x^I,w_0)^2               0;               0 (σ_m x^I,h_0)^2 ]]
  
            as in <cit.>, where σ_m=0.05.

            Let the vector 𝐛 represent the unnormalised projection of the ground plane position:
            
    𝐛 = [ b_1; b_2; b_3 ] = 𝐇^G_t[ x^G,x_t; x^G,y_t;       1 ]

            and
            
    𝐇^G_t=[ h_1 h_2 h_3; h_4 h_5 h_6; h_7 h_8 h_9 ].

            Following a similar derivation to that presented in <cit.>, the Jacobian matrix of (<ref>) with respect to the ground plane coordinates is
            
    ∂(x^I,x_g_t, x^I,y_g_t)/∂(x^G,x_t, x^G,y_t) = γ[ h_1-b_1/b_3h_7 h_2-b_1/b_3h_8; h_4-b_2/b_3h_7 h_5-b_2/b_3h_8 ],

        where γ = b_3^-1.

        Furthermore, the Jacobian matrix with respect to the homography matrix elements is:
            
    ∂(x^I,x_g_t, x^I,y_g_t)/∂(h_1,h_4,h_7,h_2,h_5,h_8,h_3,h_6) =
       γ[         x^G,x_t               0 -b_1/b_3x^G,x_t         x^G,y_t               0 -b_1/b_3x^G,y_t               1               0;               0         x^G,x_t -b_2/b_3x^G,x_t               0         x^G,y_t -b_2/b_3x^G,x_t               0               1 ].

        Note that in practice, 𝐇^G_t is normalised with respect to h_9 such that h_9=1. Therefore, the partial derivative with respect to h_9 is 0.

        

 §.§ Dynamic Noise Estimation

            Instead of attempting to determine a static process noise covariance matrix for the dynamics models in (<ref>) and (<ref>), the proposed method obtains dynamic estimates of these parameters. The same is performed for the measurement noise covariance matrix associated with the measurement model (<ref>) – this is shown to increase performance in Table <ref>. 
            
            From <cit.>, consider a generalised representation of the process noise covariance matrix 𝐐_t, which can represent either the static motion model of (<ref>), or the dynamic motion model of (<ref>). This matrix is the expected value of the outer product of the state process noise vector 𝐰_t:
                
    𝐐_t=E[𝐰_t𝐰_t^T].

            Similarly, the measurement noise covariance matrix is the outer product of the state measurement noise vector 𝐯_t:
                
    𝐑_t=E[𝐯_t𝐯_t^T].


            When a measurement update is performed, the measurement noise covariance matrix for the current time step is estimated by <cit.>:
                
    E[𝐯_t𝐯_t^T]=ε_t ε_t^T + 𝐉_t𝐏^-_t𝐉_t^T,

            where 𝐉_t is the Jacobian matrix with respect to the predicted state components obtained from (<ref>), (<ref>). 𝐏^-_t is the a priori state covariance matrix. Let 𝐱̅^M_t denote the measured bottom-centre x- and y- bounding box coordinate vector, then ε_t=[𝐱̅^M_t-h(𝐱^+_t)] is the residual between the measurement and the updated state vector projected into the image plane. This paper makes use of a moving window to average noise covariance estimates such that
                
    𝐑_t=1/m∑_i=t-m+1^tE[𝐯_i𝐯_i^T],

            where m=5. Note that the Kalman filter update step requires an estimate of 𝐑_t, yet 𝐑_t depends on the residual of the updated state vector in (<ref>). To make use of as much information as possible at the current time step, a “dummy” Kalman filter update is first performed to obtain the quantity in (<ref>). The actual update step is then performed with 𝐑_t obtained from (<ref>).

            After 𝐑_t is obtained from (<ref>), the resulting Kalman gain 𝐊_t is used to obtain an estimate of the process noise covariance matrix for the current time step <cit.>:
                
    E[𝐰_t𝐰_t^T]=E[𝐊_t(𝐝_t 𝐝_t^T) 𝐊_t^T]=𝐊_t E[𝐝_t 𝐝_t^T] 𝐊_t^T,

            where 𝐝_t=[𝐱̅^M_t-h(𝐱^-_t)] is the measurement innovation and 𝐱^-_t is the predicted a priori state estimate. Similar to (<ref>), a moving window is used to average process noise covariance estimates obtained from (<ref>). The process noise covariance matrix for the homography state elements, which will be used in the subsequent prediction at time step t + 1, is obtained by
                
    𝐐^G,H_t=1/m∑_i=t-m+1^tE[𝐰_t𝐰_t^T].

            Only the matrix elements which correspond to homography state elements are extracted from (<ref>), such that the final process covariance matrix for the entire state is 𝐐_t=diag(𝐐^G,x,𝐐^G,H_t). 𝐐^G,H_t refers either to 𝐐^G,H_t or to 𝐐̅^G,H_t, depending on the filter motion model in question.

        

 §.§ Association and Track Management

            This section describes the association algorithm and how the BIoU and Mahalanobis distances are combined to form robust association scores between tracks and candidate detections. The Hungarian algorithm (specifically, the Jonker-Volgenant variation <cit.>) uses these scores in cascaded matching stages to obtain track-detection associations. There are three association stages in total, with association score thresholds α_1, α_2 and α_3, respectively. The values of the hyperparameters introduced in this section are obtained as described in Section <ref>.

            

  §.§.§ Track Management

                Before the association algorithm is described, it is necessary to define the track states that determine by which branch of the algorithm a specific track will be considered. When a track is initialised, it is in the tentative state. From the tentative state, a track becomes confirmed if it is associated with a detection for two consecutive time steps after initialisation; otherwise, it is deleted if it is not associated with any detection for two consecutive time steps. If a confirmed track's position is predicted without a measurement update (i.e. it is not associated with any detection), it is coasting and is in the coasted state. If a measurement is associated with a coasted track, its state changes again to confirmed. If a coasted track is not associated with a measurement within Ω time steps, it is deleted.

            

  §.§.§ The Association Algorithm

                Figure <ref> depicts the association algorithm graphically. At the start of a time step, the detections for the corresponding video frame are obtained, and all existing tracks' positions are predicted by their ground- and image-plane filters. From here, confirmed and coasted tracks are considered by two cascaded association stages. Before the first stage, detections are separated into high- and low-confidence detections by the confidence thresholds d_high and d_low, as introduced in <cit.>. Specifically, detections with confidence greater than or equal to d_high are considered high-confidence, and those with confidence less than d_high but greater than or equal to d_low, are considered low-confidence. Detections with confidences below d_low are discarded.

                During the first association stage, high-confidence detections are associated with the confirmed and coasted tracks, with the association score
                    
    P(D)×BIoU(𝐱^M_t, 𝐱^M_t|t-1)× d_conf,

                where d_conf refers to the detection confidence value output by the detector, and D is the normalised Mahalanobis distance as in <cit.>:
                    
    D=𝐝_t^T𝐒_t^-1𝐝_t + ln |𝐒_t|,

                where 𝐒_t=𝐉_t𝐏_t^-𝐉_t^T + 𝐑_t-1, |𝐒_t| denotes the determinant of 𝐒_t, ln is the natural logarithm and 𝐑_t-1 is the measurement noise covariance estimate (<ref>) obtained in the previous update step. For reasons that will be explained subsequently, D is converted to a probability by 
                    
    P(D)=1 - CDF(D),

                where CDF is the cumulative distribution function of the chi-squared distribution, which is defined to have 24 degrees of freedom (determined experimentally). As a result, P(D) is in the range [0, 1]. Finally, BIoU(𝐱^M_t, 𝐱^M_t|t-1) denotes the BIoU between a given detection 𝐱^M_t and the bounding box predicted by (<ref>). The BIoU is calculated as in <cit.>, where the measured and predicted bounding box widths and heights are each scaled by 2b+1; in this paper, only a single buffer scale parameter is used.

                After the first association stage, the remaining unassociated detections are combined with the low-confidence detections. These are associated with the remaining unassociated confirmed and coasted tracks, with the association score
                    
    (μ^I_t|t-1BIoU(𝐱^M_t, 𝐱^M_t|t-1)+μ_t|t-1^GP(D))d_conf,

                where μ^I_t|t-1 and μ^G_t|t-1 refer to the predicted model probabilities of the image and ground plane filters, respectively. These weighting factors are determined by (<ref>). From (<ref>), it should be clear that D is converted to probability P(D) to allow the Mahalanobis distance to be mixed with the BIoU on the same scale.
                
                This association stage manifests the filter architecture depicted in Figure <ref>. While the ground plane filters are mixed explicitly with an IMM filter in the manner established in the literature <cit.>, the image and ground plane filters are handled independently. Transition probabilities between these filters are only defined to use the predicted model probability (<ref>) during association. Each model probability is initialised as μ^I_0=μ^G_0=0.5. When a measurement is associated with a track, these model probabilities are updated <cit.>:
                    
    μ^i_t|t=μ^i_t|t-1Λ^i_t/∑_jμ^j_t|t-1Λ^j_t,

                where Λ^i_t is the likelihood of the associated measurement given model i∈{I,G}. Specifically, the proposed method uses Λ^I_t=BIoU(𝐱^M_t, 𝐱^M_t|t-1) and Λ^G_t=P(D). This is another reason for converting D to a probability: so that the likelihoods Λ^I_t and Λ^G_t are on the same scale.
                
                The second association stage helps to avoid tracks from coasting when their detections in the image plane diverge from their expected value as predicted by the ground plane filter. This may occur due to partial occlusion or irregular, rapid object motion. It may also occur when ground plane filter state estimates are inaccurate, notably when a track is re-identified after a period during which it was coasted <cit.>. In these cases, the predicted model probability μ^G_t|t-1 is expected to be close to zero, while the predicted model probability μ^I_t|t-1 is expected to be close to one. Thus, the association score (<ref>) will be dominated by the BIoU and the track may still be associated despite low P(D). Note that <cit.> introduced a re-update step to mitigate the effect of state estimation noise and that the second association stage proposed here could be considered an alternative to their solution.

                After the second association stage, the remaining unassociated tracks are placed in the coasted state. Of the unassociated detections, those with detection confidence greater than d_high are used in the third association stage to be associated with the tentative tracks. The third association stage also makes use of the association score in (<ref>). The unassociated detections that remain after this stage are used to initialise new tracks.  
                
            

    

§ EXPERIMENTS

        This section describes the experimental procedure used to find optimal hyperparameters for IMM-JHSE and reports the results of experiments on validation data. The datasets considered during these experiments are the MOT17 <cit.> and DanceTrack <cit.> datasets. Results on the test sets are reported in Section <ref> and include the MOT20 <cit.> and KITTI <cit.> datasets.

        For all experiments and test set results, the camera calibration matrices provided in <cit.> are used – except for the KITTI dataset, which provides its own. Furthermore, the estimates of 𝐀_t (<ref>) provided by <cit.> are used for the MOT17 and MOT20 datasets, but for the DanceTrack and KITTI datasets optical flow features and the RANSAC algorithm are used to estimate 𝐀_t with the OpenCV library.
    
        For IMM-JHSE, the following hyperparameters need to be specified:
        σ_x, σ_y, α_1, α_2, α_3, Ω, b, d_high, d_low, as well as the transition probabilities illustrated in Figure <ref>. For the transition probabilities, it is only necessary to specify the self-transition probabilities p_s,s, p_d,d, p_G,G and p_I,I, since the other transition probabilities can be derived from them. 
        
        This paper uses the pattern search algorithm <cit.> to find optimum values for the hyperparameters. For each experiment described subsequently, the initial values are set as follows: σ_x=5, σ_y=5, α_1=α_2=α_3=0.5, Ω=30, b=0, d_high=0.6, d_low=0.5, p_s,s=p_d,d=p_G,G=p_I,I=0.9, and the number of pattern search iterations is restricted to 200. The objective function selected for optimisation is HOTA for the MOT17, MOT20 and KITTI datasets and association accuracy (AssA) for the DanceTrack dataset. Other evaluation metrics include IDF1 and multiple object tracking accuracy (MOTA). The reader is referred to <cit.> for details regarding these metrics. In all cases, evaluation is performed with the TrackEval library <cit.>. For the DanceTrack, KITTI and MOT20 datasets, the combined objective function of the entire dataset is optimised, while for the MOT17 dataset, the objective function is optimised per video.

        Table <ref> reports the results of an ablation study on the DanceTrack validation dataset. The second column refers to the use of the dynamic measurement noise estimation method described in Section <ref>. When dynamic measurement noise is not used (as indicated with X), (<ref>) is used to provide an estimate of the measurement noise at each time step. When the dynamic estimation method is not used, HOTA decreases from 63.81 to 60.80. Thus, the dynamic noise estimation method contributes significantly to the success of IMM-JHSE. The third column refers to the use of an IMM filter. Without an IMM filter, IMM-JHSE is restricted to the single camera motion model of (<ref>). In this case, HOTA decreases to 62.04 – showing that the mixture with the static camera motion model (<ref>) allows for more accurate state propagation. The final column refers to the use of the image plane filter and the BIoU. Without these, all association scores are calculated by P(D)d_conf, and HOTA decreases to 63.03. Thus, the use of bounding box information in conjunction with the ground plane state vector proves beneficial.  
        

        In Table <ref>, the way bounding box information is considered is varied. For “IMM-like”, the association score for stages 2 and 3 remains as in (<ref>). For “Multiplicative”, all stages use the association score in (<ref>). The “IMM-like” association scores achieve the best performance across all metrics for both MOT17 and DanceTrack. Furthermore, the benefit of using the “IMM-like” association score is illustrated in Figure <ref>, where track identities are maintained while the performers jump, and the ground plane position estimates cannot be relied upon. Thus, the proposed association score in (<ref>) is justified.
        
        

        Table <ref> shows that for some datasets, such as the DanceTrack dataset, it may be beneficial to optimise for AssA instead of HOTA. Conversely, optimising for AssA for the MOT17 dataset drastically reduces HOTA, IDF1 and MOTA. A possible explanation is that partial detections (e.g. slightly occluded tracks) are correctly associated. As a result, AssA increases, but localisation accuracy may decrease since the associated detection is not well aligned with the ground truth. This hints that specific datasets (such as MOT17) could benefit significantly from increased detector localisation accuracy. Furthermore, note that all metrics significantly improve for the DanceTrack dataset when the objective function is optimised per video instead of optimising the combined objective function over the entire dataset. Nevertheless, for the DanceTrack, MOT20 and KITTI datasets, the parameters optimised on the combined objective function are used for testing in the subsequent section. This is to avoid estimating an association between validation and testing videos. However, for the MOT17 dataset, this association is clear and manageable since it consists of fewer videos. Thus, for MOT17, the parameters optimised per video are used.
        
        
    

§ RESULTS
    
        This section presents the results of IMM-JHSE evaluated on the DanceTrack, MOT17, MOT20 and KITTI test datasets. The results for the DanceTrack test set are shown in Table <ref>, where IMM-JHSE significantly outperforms related methods in terms of HOTA, IDF1 and AssA, using the same detections. Specifically, compared to the runner-up (UCMCTrack+), HOTA increases by 2.64, IDF1 by 6.72 and Assa by 4.11. Following the ablation study presented in Table <ref>, this is attributed to IMM-JHSE's dynamic noise estimation, ground plane IMM filter, which accounts for two camera motion models, and its specific use of BIoU during association. Note that MOTA is the only metric that has not improved over previous methods. It is possible that this is due to the fact that tentative tracks are removed from the result file if they are never confirmed. Thus increasing the number of false negative detections and reducing the MOTA. It is also possible that partial detections are associated with IMM-JHSE, which do not have corresponding ground truth detections because the object is, for example, mostly occluded. This would increase the number of false positive detections, which could also cause a decrease in MOTA. The last row of Table <ref> shows the results of FusionTrack <cit.> on the DanceTrack test set. FusionTrack performs joint detection and tracking with an attention-based decoder and also uses appearance features generated from an encoder-like component. Despite this, IMM-JHSE outperforms FusionTrack in terms of HOTA.
        

        IMM-JHSE achieves the results reported in Table <ref> on the MOT17 test dataset. While IMM-JHSE does not achieve the best result for any metric, it places itself firmly in between UCMCTrack and UCMCTrack+ for all metrics – outperforming all other methods (besides UCMCTrack+) in HOTA, IDF1 and AssA. As will be seen in Tables <ref> and <ref>, IMM-JHSE seems to perform poorly with tracks which take up relatively little of the image plane area, particularly if a multitude of such tracks are in close proximity to one another. In other words, the merits of IMM-JHSE are more evident when tracking relatively large (in terms of bounding box area) objects that move irregularly or with high acceleration or velocity in the image plane rather than in highly cluttered situations. This may be due to the second association stage, which is designed to account for ambiguous detections that may diverge from that expected by the predicted ground plane state. Yet, if multiple tracks are close to one another and all have ambiguous detections, it is conceivable that they may be confused with one another since they are likely to have high BIoU scores with detections that belong to other tracks.
        
        Since MOT20 deals with even more cluttered environments than MOT17, this reasoning seems all but confirmed in Table <ref>, where IMM-JHSE achieves the worst results for every metric except AssA on the MOT20 test dataset. Another possibility is that the optimised parameters overfit the validation sets, reducing performance on the test sets. Indeed, the pattern search algorithm seems prone to getting stuck in local minima based on close observation during optimisation iterations.
        
        
        For the KITTI test dataset, IMM-JHSE once again shows the poorest results for the pedestrian class in all metrics except AssA in Table <ref>. However, it outperforms the HOTA and AssA scores of other methods in the car class – with HOTA increasing by 2.11 over UCMCTrack and AssA by 5.09.
        



§ CONCLUSION

    This work introduced IMM-JHSE, a novel MOT algorithm. The method makes use of an IMM ground plane filter, which combines static and dynamic camera motion models. Crucially, object motion is decoupled from these motion models. Furthermore, image plane information is incorporated through a simple bounding box motion filter and the BIoU score. IMM-JHSE dynamically switches between and mixes BIoU and ground plane-based Mahalanobis distance in an IMM-like fashion to perform association. Finally, dynamic process and measurement noise estimation are used. All of these components contribute to the overall performance of the method. 

    IMM-JHSE improves significantly upon similar methods on the DanceTrack and KITTI-car datasets while offering competitive performance on the MOT17, MOT20 and KITTI-pedestrian datasets. Future work may improve its performance on data with high track densities.



§ CREDIT AUTHORSHIP CONTRIBUTION STATEMENT

    Paul Claasen: Conceptualization, Methodology, Software, Validation, Formal analysis, Investigation, Resources, Data Curation, Writing - Original Draft, Visualization. Pieter de Villiers: Writing - Review & Editing, Supervision, Project administration, Funding acquisition.






§ DATA AVAILABILITY

    The used datasets are already publicly available.



§ ACKNOWLEDGEMENTS

    This work was supported by the MultiChoice Chair in Machine Learning and the MultiChoice Group.
    















 elsarticle-num 
 












