Generic Multiview Visual Tracking

Recent progresses in visual tracking have greatly improved the tracking performance. However, challenges such as occlusion and view change remain obstacles in real world deployment. A natural solution to these challenges is to use multiple cameras with multiview inputs, though existing systems are mostly limited to specific targets (e.g. human), static cameras, and/or camera calibration. To break through these limitations, we propose a generic multiview tracking (GMT) framework that allows camera movement, while requiring neither specific object model nor camera calibration. A key innovation in our framework is a cross-camera trajectory prediction network (TPN), which implicitly and dynamically encodes camera geometric relations, and hence addresses missing target issues such as occlusion. Moreover, during tracking, we assemble information across different cameras to dynamically update a novel collaborative correlation filter (CCF), which is shared among cameras to achieve robustness against view change. The two components are integrated into a correlation filter tracking framework, where the features are trained offline using existing single view tracking datasets. For evaluation, we first contribute a new generic multiview tracking dataset (GMTD) with careful annotations, and then run experiments on GMTD and the PETS2009 datasets. On both datasets, the proposed GMT algorithm shows clear advantages over state-of-the-art ones.


Introduction
Visual object tracking is a fundamental problem in computer vision. Among different tracking tasks, we focus on generic (aka model-free) visual tracking, which requests little prior information about the tracking target and has been intensively researched due to its wide range of applications. Despite great advances in tracking algorithms, tracking in  real world is still challenging especially when target appearance is distorted or damaged due to view change or occlusion.
A natural way to alleviate the above issues is to use multiple cameras for tracking, which provides important multiview information for handling cross-view target appearance change and occlusion. Existing multiview tracking algorithms (Sec. 2.2), however, typically focus on specific targets like humans, and often rely heavily on detection or reidentification models. Another limitation is that cameras are often assumed to be static, so background subtraction and/or camera calibration can be used to facilitate target localization. These limitations largely restrict the generalization of multiview tracking algorithms to real world applications. Consequently, effectively using multiple cameras for generic visual tracking remains an open problem.
To address the above mentioned issues, we propose a novel generic multiview tracker (GMT) in this paper by encoding rich multiview information with learning-based strategies. A key innovation in GMT is a cross-camera trajectory prediction network (TPN), which takes tracking results from reliable views to predict those for unreliable ones. TPN effectively alleviates the problem caused by occlusion or serious target view change. Another novel component in our GMT is the collaborative correlation filter (CCF), which assembles cross-camera information to update a correlation filter shared among different views, and hence improves tracking robustness against view change. TPN and CCF are integrated into the correlation filter tracking framework, where the features are trained offline using existing single view tracking datasets for further improvement.
For evaluation, we first construct a new generic multiview tracking benchmark (GMTD) to address the scarcity of such benchmarks. Then, the proposed GMT algorithm is tested on this dataset and the PETS2009 dataset [13], and demonstrates clear advantages in comparison with state-ofthe-art tracking algorithms.
To summarize, we make the following contributions: • The learning-based generic multiview tracking framework, which requires little prior information about the tracking target, allows camera movement and requires no camera calibration. • The novel cross-view trajectory prediction network that encodes camera geometric relations for improving tracking robustness. • The collaborative correlation filter that learns an online cross-view model and hence achieves natural robustness against view change. • A new generic multiview tracking dataset with manual annotations per frame, which is expected to further facilitate research in related topics. The source code and the dataset will be released to public with the publication of this paper.

Generic Single View Visual Tracking
Visual object tracking is one of the most important tasks in computer vision and has attracted a great amount of research efforts. It is beyond the scope of this paper to review all previous work in tracking. In the following section, we choose to review some of the most relevant ones.
Our work is most related to correlation filter-based trackers. Based on Discriminative Correlation Filters (DCF), MOSSE is proposed in [4] to efficiently train the correlation filter by minimizing the sum of the squared error between ground-truth and output in Fourier domain. The idea is later adopted and extended in Kernel Correlation Filter tracking (KCF) [18] and since then starts to gain great amount of attention. Among many tracking algorithms along the line, the series proposed by Danelljan et al. [10,11,8,3] provide the main backbone to our study. In these studies, DSST [9] and fDSST [10] use multiple correlation filters to estimate object translation and scale separately. CCOT [11] further enhanced predictions by learning from multi-resolution feature maps. ECO [8] and ECO+ [3] make further improvements on feature representation, sample space management and online update scheme in order to obtain more intuitive tracker and win both accuracy and efficiency.
Another line of tracking algorithms, from which we borrow the initial feature representation, are the Siamese network-based trackers. Siamese Fully Convolutional networks (SiameseFC) [2] solves the problem by training a fully convolutional Siamese architecture to evaluate the semantic similarity between proposals and target image. Utilizing lightweight CNN network with correlation filters, DCFNet [35] performs real-time offline tracking. Recent extensions continuously improve the performance such as in [5,36,34,15].
Moreover, our work explicitly addresses occlusion and target view change, which have been studied explicitly as well in some single view tracking algorithms. One way to resolve the appearance variation of the target is maintaining effective sample sets [8,28,27], which involves balancing different aspects of the target, for correlation filters online-training. Another strategy is conducting complementary information, for example, [33] makes use of spatial information, [39] enrolls flow between frames as part of features, [17] add a semantic branch to enhance prediction. For occlusion, there are part-based correlation filter trackers like [6,7,25], which learn target appearance in parts and tend to be robuster to partial-occlusion. When targets have strong structure relation, like pedestrians in RPAC [26], KCFs are assigned to five different parts of each target for robustness. [28,27,12] set thresholds to evaluate the results of correlation filtering. Mei et al. [31] investigate sparse representation for occlusion detection. MUSTer [16] avoid drifting and stabilize tracking by aggregating image information using short-and long-term stores. Different from all above-mentioned methods, our study focuses on multiview visual tracking that takes input streams from multiple cameras simultaneously. While borrowing some components from these single view tracking algorithms, we develop novel strategies such as cross-view trajectory prediction and a multiview collaborative correlation filter. These strategies, as demonstrated in our carefully designed experiments, clearly improve the tracking robustness.

Multiview Visual Tracking
Multi-camera inputs have been used for visual tracking. For examples, Khan et al. [19] apply a planar homography constraint on calibrated cameras for tracking pedestrians on the ground, and show the power of multiview system with common overlaps; studies in [22,29] explore spatial relations of target object in multi-camera system by analyzing entry/exit rates across pairs of cameras; [1] exploit dynamical and geometrical constraints among static cameras in a linear model; [32] based on detection and re-identification methods for multi-target tracking; the multiview trackers [37,23,24,30] track a target in each view and match each instances between cameras that are intuitively capable of occlusion situations due to diversity of observation directions.

Problem Formulation
Given a set of synchronized video streams from different cameras/views, we aim to localize the target (initialized in the first frames) across time. More specifically, let the system input be I t = {I c t } nc c=1 at time t for n c cameras, and let B 1 = {b c 1 ∈ R 4 } nc c=1 be the initial target bounding boxes for all views. Then, our multiview tracking task is to localize the target by finding B t = {b c t ∈ R 4 } nc c=1 , given {I 1 , I 2 , . . . , I t } and B 1 , 1 where b c t is the target bounding box with four parameters in view c at time t. We also define a trajectory set for each view c and g c t is the center of b c t in a consecutive time period from time t 1 to time t 2 .

Framework Overview
The key motivation of our generic multiview tracker (GMT) is to explore rich cross-view information to improve tracking robustness, especially against occlusion and target/camera view change. We adopt the correlation filterbased tracking framework as the backbone, and equip it with the novel collaborative correlation filter (CCF) and cross-view trajectory prediction network (TPN) techniques. An overview of pipeline of GMT is given in Figure 2, and we briefly describe it as follows.
During online tracking, for newly arrived multiview images I t , GMT locates the target (i.e., calculates B t ) in three major steps. First, for each view c and scale k, a region of interest (RoI) patch U c k is prepared around b c t−1 . The patch is then fed into the feature extraction network φ(·), which is shared among different views, to generate feature maps, denoted by X c k , for each view c. Second, each feature map is convolved with the shared CCF f for initial target localization, producing confidence map Y c k . The maximum response over different scales k is then picked for the initial tracking results. For sufficiently confident results, they will be assembled cross view to update CCF. In other words, CCF is online updated to enhance its robustness against view and appearance change.
Third, for a view with low confident initial tracking results (e.g., view 3 in Figure 2), TPN will be used to estimate its tracking result by implicitly taking into account the geometric relations among different views/cameras.
The overall framework is summarized in algorithm 1. More details are described in the following subsections. 1 The estimated {B 2 , . . . , B t−1 } can be used as well.

Algorithm 1: Generic Multiview Tracking
Input : I t : input images at time t; G t0,t−1 : previous trajectories of all cameras; f : dynamically updated collaborative filters; B t−1 : tracking results (boxes) in last frame; Z c : training samples for each view c; Output: B t : tracking result for time t; G t0,t , f, Z c : updated results;

Spatial-aware Feature Extraction Network
In order to improve the feature adaptability to correlation filter-based multiview tracking, we fine tune feature extraction model based on ResNet-50 that is pretrained on Ima-geNet. The offline fine tuning involves two components: the feature extractor module φ(·) and the correlation filter module ϕ(·), as shown in Figure 3.
We construct the training set from existing single view tracking datasets including VOT2017 [20], OTB100 [38] and LaSOT [14]. Different frames in a sequence can be regarded as the multi-view appearances of the same object. Data augmentation is conducted by slightly disturbing object locations. We randomly choose 16 sample pairs from the same sequence as a training batch.
The training for each batch has two stages. At the first stage, the 10 training pairs are used to train the correlation  filter f train by minimizing the following objective function: where Y * is target score map; θ f is the parameters for feature extractor; η is a penalty parameter; and ψ cos (·) is the Hann window function. After the first training stage, we obtain the optimal filter f * train of this current object. Then, we use the rest of the sample pairs to train φ(·). The output response map may have some blurred noise which is supposed to be zeros when only L2 loss is used. So we add a gradient-like term to the objective function to alleviate this phenomenon. The objective function is: where ∇ s (·) is the Sobel operator. We use Adam optimizer to train our spatial-aware feature extraction networks. Note that f train is only used during offline training process.

Collaborative Correlation Filter
View change is a notorious issue that troubles single view trackers. Fortunately, in the multiview tracking setup, images captured from different cameras naturally provide cross-view information for building reliable tracking models. Therefore, we extend the traditional correlation filter to a collaborative one. Specifically, during tracking, we update the correlation filters online with information collaboratively collected from all sufficiently reliable views.
Denote the training samples dynamically collected from view c by Z c = {X c j } mc j=1 with m c samples. We train a shared multiview collaborative correlation filter f using all samples from different sample sets (i.e. {Z c } nc c=1 ) by minimizing the following function where Y c j denotes the score map of the j-th sample in the cth camera, and * is the convolution operation. The weights α c j ≥ 0 represent the importance of the j-th training sample of camera c, which is positively correlated with q c during tracking. In this formulation, training samples from all camera views contribute to filter updating, and thus enhance the robustness of the learned filters against view change.

Trajectory Prediction Network
Our key novelty in multiview tracking is the proposed Trajectory Prediction Network (TPN) for handling tracking failure using cross-view trajectory prediction. Intuitively, when the target is occluded (or damaged similarly) in a target view b, we can usually still reliably track the target in a different view, say, a source view a. Then, based on the geometric relation between the two views, we shall be able to locate the occluded object in view b from the trajectory in view a. The job, despite being nontrivial due to nonlinearity and camera movement, is done by TPN. Network design. Denote the trajectories at time t for view a and view b by g a t and g b t , respectively. It is natural for us to find the direct mapping and prediction between them. This idea does not work in practice due to the large range of absolute coordinate of object locations. Instead, we decompose a trajectory as a sequence of between-frame movements, denoted by r c t = g c t − g c t−1 as the the motion vector for camera c at time t. Then, TPN aims to map from r a t to r b t at time t.
At time t, based on 3D geometrical constrains, the object position g b t in view b can be transformed from its location g a t in a. Let d a t (or d b t ) and T a t (or T b t ) denote respectively the depth and transformation matrix for view a (or b). We can have the following derivation t d a t (T a t ) −1 and λ is for normalization, and t 0 is the begin time of a trajectory. Such relation between r b t and r a t motivates us to design the following Recurrent Neural Network (RNN)-based TPN model and introduce corresponding hidden parameters in the model: In the model, Θ enc (·) is an encoder network to translate/convert the input; Θ rnn (·, ·) indicates stacked RNNs to simulate the non-linear transformation decided by Q t and accumulate temporal information (e.g. t i r b i , g a t and object movement); p t denotes hidden states of RNN at time t and it initially encodes camera matrices T c t and the initial position g a t0 ; h p encodes the initial position g b t0 ; and Θ pos (·) decodes all features to output the results.  Figure 4. Prediction by TPN. The trajectory in the source view a is decomposed into direction and velocity and arranged in a motion vector. Then the encoder Θenc maps the motion vector into a 128dimensional representation, which then passes through Θrnn containing with 2 stacked RNN layers and 2 learnable hidden states hr 1 , hr 2 . Following that, another hidden vector hp is concatenated with output of RNNs and sent to PoseNet Θpos that captures the between-view geometric constrain. During prediction, only hr 1 , hr 2 and hp need to be updated. The trajectory in the occluded target view b is corrected by integrating the predicted motion vector R b t 0 ,t . Here, we only illustrate a data flow at a specified time t during prediction.
The structure of TPN is shown in Figure 4. The initial hidden state p k t0 of k-th RNN layer consists of zero vector and a learnable hidden parameter vector h r k , i.e., p k t0 = [h r k , 0]. These initial hidden states form p t0 = {p 1 t0 , p 2 t0 } together, where the hidden states p t of RNN in general encode temporal information. Moreover, we use h rnn = [h r1 , h r2 ] to represent all hidden parameters of RNN. PoseNet is a deep fully-connected network whose input includes both the output of RNN and a hidden parameter vector h p . Therefore, TPN can be viewed as a decoder that parses hidden parameters to a mapping function that maps motion vectors from source view into the target view. Note that Q t is treated as a dynamic transformation, and thus allows camera movement.
In practice, estimated trajectories from a source view often contain noise that may cause unstable trajectory prediction for the target view. For this reason, we smooth the source trajectories before sending them to TPN. Specifically, the smoothed motion vector r c t (we abuse the notation r c t for conciseness) is estimated by In this way, r c t consists of two parts, the velocity (left) and the direction (right). Trajectory Dataset. To train and test TPN, we first prepare a trajectory dataset by collecting trajectory pairs from different kinds of camera settings and object motions. In total, 25 scenarios are used for training and 8 for testing. The data of each scenario is captured by two cameras with different relative pose constrains. The between-camera relative pose may change slightly during capturing. An object is placed in front of the cameras. We move the object or the cameras randomly in the free space so that trajectory pairs are formed in different views without occlusion. We have 30,000 frames altogether and each sequence has at least 900 frames. Training TPN. As for training, we sample n b (n b = 100) trajectory pairs from the 25 scenarios per batch. The i-th trajectory pair (G a,i t0,t2 , G b,i t0,t2 ) is chosen from 90 continuous frames, i.e., t 2 − t 0 = 89 with t 0 randomly chosen. Using Eq.5, we get a motion vector set pair (R a,i t0,t2 , be the learn-able hidden parameters of i-th sample pair in networks and θ be other parameters of networks. Our objective is to find an optimal θ * that: where n t is the number of training pairs; Ψ(·, ·, ·) denotes TPN, which takes a set of motion vector R a , network parameters θ and learn-able hidden parameters h as inputs, and outputs R b for the target view. Θ int (·, ·) integrates motion vectors into 2D absolute positions according to given initial point. We can recover a predicted trajectory by Since h i is also unknown in the beginning of each batch, we divide the training process into two stages: Stage 1: We randomly initialize h i and conduct network training which only optimizes h i and fixes current θ for each training batch: where (R a,i t0,t1 ,R b,i t0,t1 ) is first 40 frames of (R a,i t0,t2 ,R b,i t0,t2 ), which means t 1 − t 0 = 39. Stage 2: We use h i * as initial parameters, and train networks parameter θ by using training samples in a batch.
We use the Rprop algorithm to optimize the network parameters. After 20 epochs of training on the trajectory dataset, we obtain θ * and finish training TPN. TPN in Generic Multiview Tracking. During generic multiview tracking, the situation may be complicated. There may be more than one unreliable and reliable views. At time t, for each unreliable view b (i.e. q b < τ ), we use TPN to estimate its trajectory. We also take the result of correlation filter, g b t , into account. The corrected object's location g b t for camera b is given by: where w = c,q c ≥τ q c is a normalized coefficient and Θ TP (·, ·) is a trajectory prediction function, which is TPN embedded and predicts the object location g b t in camera b. The behavior of Θ TP (·, ·) is defined in the following. For the input (G c t0,t ,G b t0,t1 ), G c t0,t1 and G b t0,t1 are used to train hidden parameters h * according to Eq. 8; After that, we can obtain G b t0,t = Θ int (Ψ(R c t0,t , θ, h * ), g b t0 ). Finally, we take g b t as the output result of Θ TP (·, ·). t 1 is the last time when view b is reliable. We choose 40 frames to train h * , which means t 0 = t 1 − 39. This equation builds connections among multiple cameras and guides the trajectory correction when occlusion occurs.
In reality, there can be no reliable views. In that case, we keep the last momentum of the target object in each view. Let r c t1 be the motion vector at the last reliable time t 1 in view c. g c t = g c t−1 + r c t1 .

Experiments
To evaluate methods in this task, we build a multiview tracking dataset and compare our tracker with others on it. Afterwards, we analyze the performance of our Trajectory Prediction Network. The experiment shows that the proposed networks can find out the relationship between two trajectories effectively and improve tracking performance. We also evaluate our approaches on PETS2009 [13].

Multiview Tracking Datasets
Due to the difficulty in collecting and annotating multiview scenes, there is a serious lack of multiview tracking datasets. The PETS2009 dataset [13], which contains sequences taking from eight cameras, is such a dataset. PETS2009, however, by itself is insufficient for convincing experimental evaluation with its low frame rate and resolution. For this purpose, we capture and manually annotate the Generic Multiview Tracking Dataset (GMTD) to facilitate relevant research and evaluation.
GMTD contains a total of 17,571 frames and consists of 10 multiview sequences with each of them captured by two or three synchronized uncalibrated cameras, under 1080p resolution and 30fps. During data capturing, cameras are either tripod mounted or hand held. In particular, for handheld cameras scenario, cameras may undergo small translation and rotation. Cameras are placed with different relative angles, for example, facing opposite or same directions, to form diverse trajectories in each view.
GMTD takes into account the diversity of scenarios and targets. Several different targets, including rigid ones (e.g. cans, lantern and basketball) and deformable ones (e.g. leaves, human and cat), were captured in the indoor, outdoor, artificial or natural scenes. During the acquisition process, a target may move under multiple camera views with more than 75% overlap. These 10 sequences mainly cover six aspects of challenges in visual tracking, including scale variation, motion blur, deformation, background clusters, fast motion and occlusion.
The selected target is manually annotated in each sequence by axis-aligned rectangle bounding boxes. The annotation guarantees that a target occupies more than 60% area of the bounding box. For further analysis, we also label target state in each frame as fully-visible, partially-occluded (33.73% per sequence on average) or fully-occluded (4.78% per sequence on average). Object is occluded by 20% to 80% in partially-occluded scenario. Others are fully-visible (if below 20%) or fully-occluded (if beyond 80%). Bounding boxes are predicted by human when the object is occluded. Some example images are in Figure 1.

Evaluation Methodology
We evaluate our method in two ways, with (see [21]) and without re-initialization respectively. With Re-initialization. Based on widely-used tracking performance measurements, we choose two easily interpretable measurements to evaluate methods, which are accuracy and robustness. When evaluating with reinitialization, 'Accuracy' refers to the area, in percentage, of the results overlaps with the ground truth and 'Robustness' is a probability of tracker failing after S frames. For traditional single view single object trackers, we apply syn-chronous tracking evaluations on each camera view of each scene individually .
For more details, the target bounding boxes in all views will be reset to the next nearest fully-visible frame once IOU drops to zero (the tracking result has no overlapping with ground truth bounding box) in any view. The tracker will be initialized by using new bounding boxes and frame images at the same time. Let a c i,t denote the IoU in view c at time t in scene i, V i = {t|∀c, a c i,t > 0} the valid set. The per-scene accuracy ρ i for scene i is defined as We run a tracker 5 times for each scene to obtain average accuracy ρ i . Thus, the overall average accuracy ρ is obtained by the weighted average as We visualize results in accuracy-robustness(AR) plots. In AR plots, each tracker is represented as a point in terms of its overall averaged accuracy and robustness on GMTD dataset. Comparatively speaking, The tracker performs better if it is located in the top-right part of the plot and worse if it occupies the bottom-left part.
Without Re-initialization. To simulate a more realistic tracking environment, we also test relevant trackers without re-initialization. Under these circumstances, the accuracy is defined as the same as re-initialization case. We denote δ i = |Vi| li as the success rate of scene i , where l i counts the total number of frames of the view in scene i . Similarly, tracker is visualized in a plot with respect to average accuracy and average success rate of each scene.
We compare our method with ECO tracker [8], which is a typical example of correlation based tracker. In our experiments, all trackers' parameters are fixed and τ = 0.5.

Results on the GMTD Dataset
With Re-initialization. The overall averaged accuracy of GMT is 0.6984 and the overall average robustness is 0.7477. On ECO tracker, the overall averaged accuracy is 0.7541 and the overall average robustness is 0.2985. We can see a huge improvement on robustness in most scenes. Results can be seen in Figure 6(left). Without Re-initialization. Tracking algorithms cannot apply re-initialization due to the absence of ground truth in the real world. Thus, we also conduct evaluation without re-initialization to evaluate the long-term performance of algorithms. The results are shown in Figure 6(right).

Trajectory Prediction Evaluation
We evaluate our proposed TPN on trajectories' test dataset and compare TPN with naive methods. Moreover, we also test variants of TPN to show that the current structure (TPN-S) is comparatively optimal.
We provide two naive methods for trajectory prediction. One copies speeds of reference view and integrates them into the trajectory of current view (Naive-C). The other one simply repeats the last average speed of current view's trajectory (Naive-S). Variants of TPN contain the standard TPN (TPN-S) described in section 3.5. Another variant's hidden parameters are removed and all network parameters are trained online during tracking (TPN-O).
We simulate trajectory predictions on test dataset in online tracking between two views, a and b, to evaluate these methods. During each simulation, we sample a trajectory pair (G a t0,t2 ,G b t0,t2 ) of two views from time t 0 to time t 2 (t 2 − t 0 = 89). The trajectory pair is divided into two parts. The first part is (G a t0,t1 ,G b t0,t1 ), where t 1 − t 0 = 39. We train these models by using this pair. Then we use the left trajectory G a t1+1,t2 of reference view a and trained model to predict the trajectory of the other view b, denoted G b * t1+1,t2 . After that, we use ground truth G b t1+1,t2 to calculate the pixel distances of each frame between G b t1+1,t2 and G b * t1+1,t2 . In order to prevent potential variance of performance in evaluation, we repeat the simulation 1000 times and obtain the statistic average error of pixels for predicted position in each frame.
Results are shown in Figure 5. This evaluation shows that our proposed TPN-S has the best performance in predicting trajectory from the reference view. Respectively, TPN-O, whose hidden layers are removed, suffers from over-fitting problem. Moreover, TPN-O updates all parameters online, which leads to more computational costs. There still are some failure cases for all methods, such as (d) in Figure 5. It failed because G b t0,t1 lacks sufficient information to infer the relationship between cameras.

Results on PETS2009
We also make a comparison on PETS2009 dataset. We trim five video clips from city center scene, which has sets of training sequences with different views. Video clips cover both sparse and dense crowd scenarios. We pick one pedestrian under two views of each video clip as targets and manually annotate ground truth bounding boxes for evaluation with re-initialization. Results are shown in Table 1.

Conclusion
In this paper we propose a novel generic multiview tracker (GMT) for visual object tracking with multi-camera inputs. Unlike most previous multiview tracking systems, our GMT requests no prior knowledge about the tracking target, allows camera movement, and is calibration free. Our GMT has two novel components, a cross-view trajectory prediction network and collaborative correlation fil-ter, which are effectively integrated with a correlation filter tracking framework. For evaluation, we contribute a generic multiview tracking dataset to alleviate the lack of proper multiview tracking benchmarks. In our carefully designed experiments, the proposed tracking algorithm demonstrates advantages over state-of-the-art tracking algorithms.