# Camera Localization in Distributed Networks Using Trajectory Estimation

Authors: Nadeem Anjum
Journal: Journal of Electrical and Computer Engineering
 (2011)

---

## Abstract

This paper presents an algorithm for camera localization
using trajectory estimation (CLUTE) in a distributed
network of nonoverlapping cameras. The algorithm recovers the
extrinsic calibration parameters, namely, the relative position and
orientation of the camera network on a common ground plane
coordinate system. We first model the observed trajectories in
each camera's field of view using Kalman filtering, then we use
this information to estimate the missing trajectory information
in the unobserved areas by fusing the results of a forward and
backward linear regression estimation from adjacent cameras.
These estimated trajectories are then filtered and used to recover
the relative position and orientation of the cameras by analyzing
the estimated and observed exit and entry points of an object in
each camera's field of view. The final configuration of the network
is established by considering one camera as a reference and by
adjusting the remaining cameras with respect to this reference.
We demonstrate the algorithm on both simulated and real data
and compare the results with state-of-the-art approaches. The
experimental results show that the proposed algorithm is more
robust to noisy and missing data and in case of camera failure.


---

## Body

## 1. Introduction

Over the last few decades, ubiquitous use of large-scale camera networks has been ramping up in a wide range of applications such as visual surveillance of mass transportation sites, calamity watching, and traffic control. These camera networks essentially enable monitoring of extensively large areas and hence detection of interesting activities on a larger scale, which is impossible with the use of single cameras (see [1, 2]). Existing activity detection systems primarily perform manual analysis of the data collected by such networks, which is an extremely tedious job; therefore, the development of automated data analysis and summarization tools are essential to accomplish maximum from these camera networks [3].Calibration of camera networks is the first and foremost important step in the development of such an automated activity summarization system. The calibration defines the correspondence between points in the image plane and points in the 3D space and can be divided into intrinsic and extrinsic calibration (also labeled as localization). The intrinsic calibration establishes the relationship between camera-centric coordinates and images coordinates and can be performed by acquiring an object with known Euclidean structure, while extrinsic calibration defines relationship between scene-centric coordinate system and camera-centric coordinate system. For overlapping camera networks, the estimation of epipolar geometry is a popular choice for extrinsic calibration, where candidate corresponding points are initially extracted from the scene and then a model is learnt that minimizes the images and their reprojects [4]. However, in many real scenarios, cameras do not have overlapping views (Figure 1). Examples of such scenarios are wide area surveillance of underground train stations and/or subways, and mobile ad-hoc networks of low-cost surveillance cameras. The large number of cameras makes it difficult or expensive to record cameras' locations manually or to equip each camera with a GPS unit [5]. One way of addressing this issue is through the novel paradigm of automated nonoverlapping camera calibration algorithms, which enable cameras to determine their positions and orientations after the placement.Figure 1
Example of camera network with nonoverlapping fields of view.In this paper, we present a camera localization algorithm using trajectory estimation (CLUTE) for a network of nonoverlapping cameras. The algorithm addresses the problem of recovering the relative position and orientation of multiple cameras whose intrinsic parameters are known. CLUTE uses temporal and geometric constraints derived from the available trajectory information to estimate the unobserved trajectory segments, which are then used to position the cameras on the common ground plane. The object motion information also helps in estimating the relative orientation of the cameras. The registration process aligns the cameras with respect to each other in a single camera frame (that of the reference camera). The algorithm is demonstrated on both simulated and real data, and its results are compared with state-of-the-art approaches.This paper is organized as follows. Section2 reviews state-of-the-art approaches for camera localization. Section 3 formalizes the problem under consideration. Section 4 provides detailed description of CLUTE. Section 5 demonstrates the results and analysis of CLUTE on real and simulated data and also compares its performance with two existing techniques. Lastly, Section 6 draws the conclusions.


## 2. Related Work

Localization is a well-established problem in sensor (camera, audio, RFID, etc.) networks ([6–8]). Algorithms for localization can be categorized into two main classes, namely, fine-grained algorithms (see [9, 10]) and coarse-grained algorithms ([11, 12]). Fine-grained methods use timing and/or signal strength for localization. In this class of localization methods, only a few sensors positions are known. These sensors are called beacons or anchors (see [13–15]). The knowledge of beacons is then propagated across the entire network to find the position of the remaining sensors. The nodes measure the distance to their neighbors whenever possible using hardware ranging techniques such as received signal strength (RSS) and time difference of arrival (TDoA). However, the selection of the anchor nodes is a significant problem and using all anchor nodes does not give the most precise position. Moreover, there is the need to identify criteria for selecting the optimal number of anchor nodes to achieve a more accurate position estimation.Economic factors and hardware limitations are key motivations for the use ofcoarse-grained localization methods. These methods estimate the proximity of the sensors in a network to an arbitrary reference sensor. Coarse-grained algorithms can further be divided into nonstatistical and statistical approaches. The first nonstatistical approach is multidimensional scaling (MDS) for localization ([16–18]). MDS arranges the sensors in a lower-dimensional space, whose size depends on the application data. MDS is very accurate in recovering the sensor network configuration when precise distances are available between all sensor pairs. To compute the locations of N cameras on a 2D space using MDS [19], an affinity matrix is constructed based upon pairwise Euclidean distances. Then, the inner product matrix I using the double centering matrix and the affinity matrix is calculated, followed by the computation of the eigenvalues and the eigenvectors of I. After sorting the eigenvalues in descending order, the sensors’ locations are calculated using the top p eigenvalues and their corresponding vectors. The major shortcoming of this approach is its dependency on the affinity matrix and the unavailability of a few distances degrades the overall performance significantly.Another nonstatistical approach is used to calibrate a network of randomly placed cameras with nonoverlapping fields of view using moving scene features in the near and far fields [20]. A strong assumption is made that object motions are deterministic. Distant objects (e.g., stars) enable the recovery of the orientation (rotation) of the cameras, while close objects (e.g., people or cars) enable the recovery of the translation of the cameras up to a scalar multiple. In this approach, the camera parameters are recovered by solving a complex geometry problem, without imposing a probabilistic framework.Statistical approaches include numerical, motion-based, maximum a posterior (MAP), and velocity extrapolation based approaches. Numerical solutions are iterative methods for network localization, and each iteration contributes to the reduction of the residual errors. Existing approaches are generally variations of the gradient descent or the Gauss-Newton methods. As an example, Taylor  et al. [21] use the Newton Raphson method to estimate the network configuration. Although the simplicity of such approaches is a key advantage, they heavily depend on the proper initialization and increment (or decrement) rate to find the global (or local) minimum.In structure from motion (SFM), the trajectory of a moving camera, and the 3D coordinates of a stationary target are recovered simultaneously from a series of 2D images of a scene. In [22], the focus is on real-time processing of the image data using an extended Kalman filter, whereas the concept of recursive or sequential SFM can be found in [23, 24]. Similar to SFM, simultaneous localization and mapping (SLAM) localizes a moving sensor (robot) and estimates its trajectory using its egomotion and the stationary objects in the scene (see [25, 26]). The performance of SLAM algorithms is affected by noise, as the robots rely on their camera to compute the distance traveled and therefore noisy measurements add up quickly. Environment maps can be helpful in these situations.Rahimi  et al. [27] used the maximum a posterior (MAP) framework for simultaneous calibration and tracking. A network of nonoverlapping cameras is localized by using the motion of a target. The MAP estimates for the calibration parameters are calculated using the trajectory prior (i.e., the motion model) and the likelihood function, which are constructed from the available observations. The MAP approach is highly computationally complex. Furthermore, it is also possible that the solution may place the target inside the field of view of another sensor for which no observations are available at that particular time instance.Javed  et al. [28] use the concept of velocity extrapolation to project the field of view of one camera onto the other. The projection is then used as a tool to find the calibration parameters. However, the approach assumes that people walk in a straight line in the unobserved regions. Finally, Junejo  et al. [29] propose an approach in which vanishing points are used to find the relative orientation of the cameras whose positions are already known.A summary of the state-of-the-art approaches for sensor localization is presented in Table1.Table 1
Summary of the state-of-the-art approaches for sensor localization.
ClassesApproachesReferencesFine-grained localizationMaximum likelihood, trigonometric,[13, 14, 30],Received signal strength, time difference of arrival[9, 11]Coarse-grained(nonstatistical localization)Multidimensional scaling[16–19]Moving scene features[20]Active badge location[12]Coarse-grained(statistical localization)Linear regression and Kalman filter[31]Maximum a posterior probability estimation[21, 27, 32]Simultaneous localization and mapping[25, 26]Structure from motion[22–24]Tracking and camera field of view information[28]Vanishing points and known position[29]


## 3. Problem Formulation

Suppose we have a network ofN non-overlapping cameras ψ={C1,C2,…,CN}, similar to [33]. Let a trajectory ℘i within Ci be represented as ℘i={(xi(j),yi(j)):0<j<Mi;i=1,…,N}, where (xi,yi) is the estimated position of the target in the image plane and Mi is the number of target observations from camera Ci.Furthermore, let each observation be generated by a motion model as(1)[xi(j+1)xνi(j+1)yi(j+1)yνi(j+1)]=[1ax000100001ay0001][xi(j)xνi(j)yi(j)yνi(j)]+[vx(j)vν,x(j)vy(j)vν,y(j)],
where (xνi,yνi) is the velocity of the object. In addition, (ax,ay) may change over period of time. Moreover, vj(𝒩(0,Σv(j))) is modeling additive noise with covariance Σv(j)=diag([1e-3,1e-3,1e-3,1e-3]).Let each cameraCi provides a vertical top-down view of the scene (i.e., its optical axis is perpendicular to the ground plane or the trajectories are preprocessed using a homography transformation [34]). Under this assumption, the number of parameters for the localization of each camera Ci is reduced to two, namely, the camera position, Pi=(pxi,pyi), and the rotation angle, ϕi, expressed as the relative angle between the camera Ci and the horizontal axis (Figure 2). To summarize, the unknown parameters Θi for camera Ci are(2)Θi=[pxi,pyi,ϕi].
If Ci observes the object at a particular time instant t and after t+τ time intervals the object enters into Ci+η with Ci≠Ci+η, then it can be visualized as Ci+η is viewing the object from the ϕi,i+η℘i,i+η position, where ϕi,i+η and ℘i,i+η are the rotation matrix and the translation vector.Figure 2
Schematic representation of a scene observed with nonoverlapping cameras (Ci). (pxi,pyi,ϕi) represent the unknown camera location and rotation to be estimated.The cameralocalization process estimates (℘i,i+η,ϕi,i+η) such that the configuration estimation error ɛ becomes minimum, that is,(3)(ϕi,i+η+℘i,i+η)(xi+η(t+τ),yi+η(t+τ))-(x̂(i,i+η)(t+τ),ŷ(i,i+η)(t+τ))=ɛ⟶0,
where (x̂(i,i+η),ŷ(i,i+η)) is the projected estimate of the object’s position from Ci at t to Ci+η at t+τ.


## 4. Proposed Approach

Let an object move in the environment and be tracked by each camera in the network. To find the rotation matrix,ϕi,i+η, and the translation vector, ℘i,i+η, between adjacent cameras, we propose a two-step iterative process. Two consecutive batches of measurements from two adjacent cameras form one iteration and the adjacency between cameras are defined by the motion of the object itself. The first step calculates ℘i,i+η by estimating the missing trajectory between pairs of adjacent cameras. In the second step, ϕi,i+η is calculated by utilizing the trajectory information and the object’s exit and entry points of the fields of view of adjacent cameras. The details of each step are given below.


### 4.1. Trajectory Estimation in Unobserved Areas

Figure3 shows the flow diagram of the trajectory estimation process. Unlike [31], each trajectory segment ℘si from each camera Ci is smoothed for intercamera trajectory estimation:(4)℘si=S(℘i),
where S is a smoothing function and i=1,…,N. If Ci and Ci+η are the two adjacent cameras, then ℘̂i,i+η is the estimated trajectory between the camera pair: (5)℘̂i,i+η=H(G(℘si,℘si+η)),
where G and H are nonparametric and a parametric functions, respectively, which extrapolate a smoothed trajectory in the unobserved region.Figure 3
Trajectory estimation process for the unobserved region between cameraCi and Ci+η.We use theKalman filter (see [35, 36]) as a parametric function (H). The approach is inspired by speech recognition, where the Kalman filter [37] has extensively been used to estimate intervals with missing observations [38]. However, the Kalman filter's innovation signal distorts significantly in the absence of target information. To overcome this problem, we employ linear regression estimation as a non-parametric function, as, in the unobserved regions, Kalman filter and the linear regression models exhibit a similar behavior (see the  appendix).Within each camera's field of view, the Kalman filtering is applied to obtain the initialization of the parameters. When the target enters an unobserved region, the linear regression model replaces the Kalman filter to estimate the target position. In order to improve the estimation, we use bothforward and backward motion models. The process consists of trajectory estimation in both the forward (℘¯fi,i+η) and the backward (℘¯bi,i+η) direction between Ci and Ci+η.The final estimation℘¯i,i+η is obtained as weighted average over ℘¯fi,i+η and ℘¯bi,i+η, for each segment k: (6)℘¯i,i+η(k)=(1-α(k))℘¯fi,i+η+α(k)℘¯bi,i+η,
where α(k)=k/J and k=1,…,J are J segments of the estimated trajectory. The forward estimation results are given weights that are decreasing with the distance from the border of the camera’s fields. The backward estimation results are given higher weights when the object gets closer to the next camera’s field of view. The underlying assumption for this approach is that both trajectories contribute to the construction of the estimated trajectory [39]. The linear regression model expands over the uncertainty volume of the region so that when the target is once again visible in a camera, it can immediately reinitialize the Kalman filter. For simplicity, sharp turns are modeled as smooth curves (Figure 4). The process terminates if the difference between five consecutive iterations is smaller than a threshold or when all the available data are utilized.Figure 4
Example of sharp turns modeled with smooth curves in the unobserved regions (gray: original trajectory, green: estimated trajectory, gray square: original camera location (field of view), and yellow square: estimated camera location (field of view)).


### 4.2. Orientation Estimation

The relative angleϕi,i+η between two adjacent cameras Ci and Ci+η is computed by calculating the angle between the observed object position (xi+η,yi+η) in camera Ci+η and the corresponding estimated object position (x̂(i,i+η),ŷ(i,i+η)) in the same camera by extrapolating the trajectory from Ci: (7)ϕi,i+η=cos⁡-1⁡((xi+η,yi+η)⋅(x̂(i,i+η),ŷ(i,i+η))|(xi+η,yi+η)||(x̂(i,i+η),ŷ(i,i+η))|).Onceϕi,i+η is computed for all pairs of adjacent cameras, the final configuration is obtained by rearranging all the cameras Ci (i=2,…,N) with respect to the reference sensor C1. An example of the complete localization process of the proposed algorithm in shown is Figure 5. The figure shows the original trajectory segments (linear and nonlinear) as well as reconstructed trajectory segments in unobserved regions. Furthermore, intermediate and final localization results of the proposed algorithm are also provided in the same figure to demonstrate the process of localization over iterations.An example of localization of a camera network: (a) a network of cameras along with the original object trajectory (dash-line); (a–d) few nonlinear turns that object take in unobserved regions, (b) estimated trajectory and final localization results with the proposed algorithm, and (c) outputs at intermediate iterations.
(a)(b)(c)


## 4.1. Trajectory Estimation in Unobserved Areas

Figure3 shows the flow diagram of the trajectory estimation process. Unlike [31], each trajectory segment ℘si from each camera Ci is smoothed for intercamera trajectory estimation:(4)℘si=S(℘i),
where S is a smoothing function and i=1,…,N. If Ci and Ci+η are the two adjacent cameras, then ℘̂i,i+η is the estimated trajectory between the camera pair: (5)℘̂i,i+η=H(G(℘si,℘si+η)),
where G and H are nonparametric and a parametric functions, respectively, which extrapolate a smoothed trajectory in the unobserved region.Figure 3
Trajectory estimation process for the unobserved region between cameraCi and Ci+η.We use theKalman filter (see [35, 36]) as a parametric function (H). The approach is inspired by speech recognition, where the Kalman filter [37] has extensively been used to estimate intervals with missing observations [38]. However, the Kalman filter's innovation signal distorts significantly in the absence of target information. To overcome this problem, we employ linear regression estimation as a non-parametric function, as, in the unobserved regions, Kalman filter and the linear regression models exhibit a similar behavior (see the  appendix).Within each camera's field of view, the Kalman filtering is applied to obtain the initialization of the parameters. When the target enters an unobserved region, the linear regression model replaces the Kalman filter to estimate the target position. In order to improve the estimation, we use bothforward and backward motion models. The process consists of trajectory estimation in both the forward (℘¯fi,i+η) and the backward (℘¯bi,i+η) direction between Ci and Ci+η.The final estimation℘¯i,i+η is obtained as weighted average over ℘¯fi,i+η and ℘¯bi,i+η, for each segment k: (6)℘¯i,i+η(k)=(1-α(k))℘¯fi,i+η+α(k)℘¯bi,i+η,
where α(k)=k/J and k=1,…,J are J segments of the estimated trajectory. The forward estimation results are given weights that are decreasing with the distance from the border of the camera’s fields. The backward estimation results are given higher weights when the object gets closer to the next camera’s field of view. The underlying assumption for this approach is that both trajectories contribute to the construction of the estimated trajectory [39]. The linear regression model expands over the uncertainty volume of the region so that when the target is once again visible in a camera, it can immediately reinitialize the Kalman filter. For simplicity, sharp turns are modeled as smooth curves (Figure 4). The process terminates if the difference between five consecutive iterations is smaller than a threshold or when all the available data are utilized.Figure 4
Example of sharp turns modeled with smooth curves in the unobserved regions (gray: original trajectory, green: estimated trajectory, gray square: original camera location (field of view), and yellow square: estimated camera location (field of view)).


## 4.2. Orientation Estimation

The relative angleϕi,i+η between two adjacent cameras Ci and Ci+η is computed by calculating the angle between the observed object position (xi+η,yi+η) in camera Ci+η and the corresponding estimated object position (x̂(i,i+η),ŷ(i,i+η)) in the same camera by extrapolating the trajectory from Ci: (7)ϕi,i+η=cos⁡-1⁡((xi+η,yi+η)⋅(x̂(i,i+η),ŷ(i,i+η))|(xi+η,yi+η)||(x̂(i,i+η),ŷ(i,i+η))|).Onceϕi,i+η is computed for all pairs of adjacent cameras, the final configuration is obtained by rearranging all the cameras Ci (i=2,…,N) with respect to the reference sensor C1. An example of the complete localization process of the proposed algorithm in shown is Figure 5. The figure shows the original trajectory segments (linear and nonlinear) as well as reconstructed trajectory segments in unobserved regions. Furthermore, intermediate and final localization results of the proposed algorithm are also provided in the same figure to demonstrate the process of localization over iterations.An example of localization of a camera network: (a) a network of cameras along with the original object trajectory (dash-line); (a–d) few nonlinear turns that object take in unobserved regions, (b) estimated trajectory and final localization results with the proposed algorithm, and (c) outputs at intermediate iterations.
(a)(b)(c)


## 5. Experimental Results and Analysis

In this section, we compare the proposed approach (CLUTE) with the MDS (see [16, 17]) and the MAP approaches (see [27, 32]) on both simulated and real data. A 4-camera and a 8-camera network, are tested with simulated data, and a 4-camera network is tested with real data. The performance of the algorithms is evaluated based on the translation and rotation errors in the localization using ground-truth information. The translation error is calculated as Euclidean distance between the true camera position and the estimated camera position. The rotation error is calculated as absolute difference between the true camera orientation (the angle with respect to the reference camera) and the estimated camera orientation. The details about the dataset used and the experimental results are given below.


### 5.1. 4-Camera Network

In this setup, we first simulate a network of 4 cameras and then test the algorithms on a real camera network. Let an object travel across the network and generate the trajectory. Each camera observes the object within its field of view (in Figure6, the observations within each field of view are shown with circles). The lines outside the squares are the unobserved track points of the object. We analyze the results of three experiments using the same network configuration, but with three different moving objects. The CLUTE results are shown in Figure 8. The translational error at each iteration is shown in Figure 9. The performance of CLUTE is evaluated and compared with MAP and MDS on the original, noisy, and subsampled data. Also, the algorithms are compared in the case of camera failure.Three trajectory datasets from a nonoverlapping 4-camera network.Shaded squares indicate the field of view of each camera, circles denotes the observed object locations, and lines show the portions of the trajectories unobserved by the cameras.
(a)(b)(c)Figure10 compares the results of CLUTE, MAP, and MDS along with the true positions of the cameras. The visual inspection of the results show that in all three experiments, the performance of the statistical approaches is better than that of nonstatistical approaches (especially for C2 in the experiment 1 dataset, for C3 in the experiment 2 dataset, and for C3 and C4 in the experiment 3 dataset). The detailed experimental results are shown in Table 2. In the first experiment, the average translation error for CLUTE is 0.18 units or 4.5% of the environment area. Furthermore, the average rotation error for CLUTE is 1.29°. In comparison with the other two approaches, on average CLUTE is more accurate in locating the network. The average translation error for MAP and MDS is poorer by 0.50% and 3.25%, respectively. Likewise, the average rotation errors for MAP and MDS are worse by 1.35° and 4.63°, respectively. In the second experiment, the average translation error for CLUTE is 0.13 units or 3.25% of the environment area, which is better by 1.25% and 4.25% compared to MAP and MDS, respectively. Moreover, the average rotation error estimated by CLUTE is better by 0.41° and 2.84° than that of MAP and MDS, respectively. In the third experiment, the average translation error for CLUTE is 0.24 units, which are 6% of the environment area. Also, the average rotation error for CLUTE is 5.37°. In comparison, the average translation error for MAP and MDS is 0.32 units and 0.46 units, respectively. Similarly, the average rotation angles for MAP and MDS approaches are 8.55° and 13.72°. In summary, these experiments show that the performance of CLUTE is better by an average of 1.25% for translation and of 1.65° for rotation with respect with MAP. In comparison to MDS, the performance of CLUTE is better by 4.5% and 5.28° for estimating translation and rotation, respectively. In addition to this, the error variance for CLUTE is smaller than that for MAP and MDS. Furthermore, it is noticeable that the estimation results for the statistical approaches (i.e., CLUTE and MAP) are better than that of the nonstatistical approach (i.e., MDS). In general, the main limitation of MDS is that it is based on a single parameter (in this case, the shortest Euclidean distance) with an appropriate value. Therefore, the parameter calculation is accurate and the approach performs satisfactory only if given enough information.Table 2
Performance comparison betweenCLUTE, MAP, and MDS on the three datasets (4-camera network).
IDCLUTEMAPMDSϵtϵrϵtϵrϵtϵrExp 120.262.360.315.940.5711.5630.331.600.392.040.418.4140.121.180.112.590.273.72Average0.181.290.202.640.315.92Exp 220.154.360.191.520.230.9630.235.360.346.380.728.7640.154.650.178.080.2315.99Average0.133.590.184.000.306.43Exp 320.206.420.2811.940.3921.2630.5613.060.7818.240.8923.4240.191.980.234.000.5710.19Average0.245.370.328.550.4613.72We also analyzed the robustness ofCLUTE to reduced sampled trajectory (missing data) and noisy trajectory and in case of camera failure. As MDS is poor in estimating the localization, we compare the robustness of CLUTE and MAP only (Table 3).Table 3
Performance comparison betweenCLUTE, MAP, and MDS on the three datasets for missing and noisy data (4-camera network).
IDDownsampled by 2Downsampled by 3NoisyCLUTEMAPCLUTEMAPCLUTEMAPϵtϵrϵtϵrϵtϵrϵtϵrϵtϵrϵtϵrExp 120.252.480.275.640.221.330.313.430.151.870.154.1330.341.700.422.320.320.730.443.390.6310.990.6312.8840.121.110.214.080.142.150.438.700.7813.060.7815.50Average0.181.320.223.010.171.050.303.880.396.480.398.13Exp 220.144.270.214.470.154.540.135.960.3711.120.3913.4530.225.020.356.270.245.700.347.880.337.550.439.8840.154.450.167.940.164.860.435.410.5819.140.7117.14Average0.133.440.184.670.143.780.224.810.329.450.3810.12Exp 320.092.950.2313.360.031.040.3116.540.43168.100.57175.2130.347.160.5712.920.352.460.657.630.924.771.329.3240.395.610.948.800.6414.911.3018.961.8641.361.9045.56Average0.203.930.448.770.264.600.5610.780.8053.560.9557.52For the missing data test, the object’s trajectory is downsampled by 2 and by 3 for all the three experiments. The results for downsampling by 2 show that on averageCLUTE does not suffer for translation estimation in experiment 1 and experiment 2  and improves in experiment 3. Similarly for the rotation (especially for experiment 2 and experiment 3), a closer look at the results shows that in experiment 3 the estimation result is quite poor for C3 on the original data compared to the other cameras. Figure 8 shows that in most cases the object takes very sharp turns before entering into this camera. These sharp turns cause the degradation of the result, while downsampling reduces the sharpness of the turns and therefore simplifies the modeling. Compared to MAP, the average translation error over the three experiments for CLUTE is better by 2.75%. Similarly, the rotation estimation is better by 2.58° in favor of CLUTE. Also the performance of MAP degrades considerably due to downsampling. The reason for this behavior is due to the fact that in MAP the track points provide the likelihood function over the trajectories and the camera parameters, and therefore the posterior probability depends directly upon the availability of enough reliable object measurements. Downsampling reduces the likelihood probability and hence degrades the overall results. On the other hand, in CLUTE, the trajectories are estimated by interpolation of the track points over time. For this reason, as long as the available object observations maintain the shape of the trajectory, the calibration will be performed accurately. For further downsampling by 3, the average translation error over the three experiments for CLUTE is still 4.25% better than that of MAP. Similarly, the rotation estimation is better by 3.35° for CLUTE. Also when downsampled from 2 to 3, the degradation for the position estimation is just 0.02 units for CLUTE and 0.08 units for MAP. To summarize, CLUTE is more robust to reduced sampling rates compared to MAP.In order to analyze the performance ofCLUTE with noisy observations, we introduced a 5% Gaussian noise in the measurements with variance equal to the 15% of the camera’s field of view, for all three datasets. For both CLUTE and MAP, the results degrade substantially for the position estimation (especially C3, C4 in experiment 1 and C2, C4 in experiment 3) and orientation (especially C2 in experiment 3). This is due to the fact that the noise not only degrades the quality of the observations (essential for MAP), but also changes the shape of the trajectory (essential for CLUTE), which are necessary for accurate results from both approaches. However, it is noticed that on average the results for CLUTE are degraded by 8% for the translation and 20.02° for the rotation, whereas the degradation for MAP is 8.5% and 20.20°.In order to analyze the localization performance in the case of camera failure, we removed one camera’s observations from the available datasets (1-camera failure case). The complete results for the three experiments are shown in Table4. On average, the results for CLUTE are degraded by 5% for the translation and 22.47° for the rotation, whereas the degradation for MAP is 10.25% and 24.81°. The results show that CLUTE is more robust in case of camera failure.Table 4
4-camera network:CLUTE and MAP comparison for 1-camera failure.
IDCLUTEMAPϵtϵrϵtϵrExp 120.5713.320.6216.0531.0624.251.6230.53Average0.5412.520.7515.53Exp 220.123.840.256.5330.285.800.8312.49Average0.133.210.366.34Exp 320.40166.840.53178.7331.0218.861.9224.52Average0.4761.900.8267.75In the final experiment for the 4-camera network, we use real data captured indoor (Figure7). The fields of view of the cameras are squares whose sides are 1.5 meters, and the cameras are between 3 and 4 meters apart. A toy car is moving at varying velocities traces a long trajectory across the cameras. Based on the ground-truth segmentation of the moving object in the field of view of every camera, we compute the relative distance and orientation between the cameras based on trajectory estimation. Figure 11 shows the results obtained with CLUTE, and Table 5 compares the results of the three approaches on the real data. For CLUTE, the sensors were on average misplaced by 70 cm from the locations measured by hand, with an average orientation error of 10.33°. For the orientation estimation, CLUTE performs on average better than MAP by 0.33° and better than MDS by 5°. For the position estimation, the error of CLUTE is 0.45 meter smaller than that of MDS and poorer than that of MAP by 0.04 meters only.Table 5
The rotation (in degrees) and translation (in meters) errors ofCLUTE for real data.
IDCLUTEMAPMDSϵtϵrϵtϵrϵtϵr20.8010.000.6510.501.0012.0030.698.000.738.631.1218.0040.6113.000.5912.851.3316.00Average0.7010.330.6610.661.1515.33Sequence of images extracted from real dataset consisting of four nonoverlapping cameras. Frame numbers show the motion of the object across the network.
(a)(b)(c)(d)CLUTE localization results for the 4-camera network. Yellow squares are the estimated localization and green lines indicate the e6stimated trajectory in the unobserved areas. (a) Experiment 1dataset; (b) experiment 2 dataset; (c) experiment 3dataset.
(a)(b)(c)Figure 9
Evolution of theCLUTE translation error at each iteration in the three experiments.Performance comparison for camera localization usingCLUTE (green circle), MAP (magenta star), and MDS (blue cross). The red triangles denote the ground-truth position of the cameras. (a) Experiment 1; (b) Experiment 2; (c) Experiment 3.
(a)(b)(c)Figure 11
Network localization results usingCLUTE on real data. (black: original trajectory, green: estimated object trajectory in the unobserved areas, gray square: original camera location (field of view),  andyellow square: estimated camera location (field of view).


### 5.2. 8-Camera Network

Three datasets have been generated by simulating three different moving objects in a network of 8 cameras with nonoverlapping fields of view. The results obtained withCLUTE on these datasets are shown in Figure 12. Table 6 contains the results obtained in each experiment. CLUTE outperformed MDS as its average translation and rotation errors are 13.75% and 3.63° lower than those of MDS. Likewise, CLUTE outperformed MAP in estimating the orientation, as the average rotation error over the three datasets is lower by 0.90% and in estimating the translation MAP is better by 0.16%.Table 6
Performance comparison betweenCLUTE, MAP, and MDS on the three datasets (8-camera network).
IDCLUTEMAPMDSϵtϵrϵtϵrϵtϵrExp 120.120.890.120.861.0010.5430.020.610.020.631.053.4840.081.560.082.120.451.8250.161.540.161.541.8417.2960.020.400.020.422.047.1370.040.770.040.800.040.6780.522.010.052.000.502.52Average0.141.110.071.200.996.21Exp 220.140.850.241.900.9811.0130.281.380.281.940.983.4740.143.000.264.120.732.9250.200.070.220.541.2317.2960.361.490.351.421.012.1370.221.090.221.860.990.6780.171.250.145.200.552.52Average0.191.140.222.120.815.00Exp 320.000.070.000.930.003.0730.030.130.031.890.101.8740.098.160.109.230.9510.1650.072.320.062.130.920.6860.040.120.060.830.173.1270.000.040.030.620.208.9680.000.020.049.580.224.69Average0.031.360.043.150.324.07CLUTE localization results with a 8-camera network: (a) experiment 1 dataset; (b) experiment 2 dataset, (c) experiment 3 dataset.
(a)(b)(c)We further investigate the robustness of the methods for missing data, noisy trajectories (Table7), and camera failure. For downsampling by 2, the average translation error over the three experiments for CLUTE is 0.03 unit-size better than MAP. Similarly, the rotation estimation is better by 2.19°. Also, for downsampling by 3, the average translation error using CLUTE over the three experiments is 1.5% better than using MAP. Furthermore, the rotation estimation is better by 3.69 for CLUTE. Also, when downsampled from 2 to 3, the degradation for the position estimation is 40% better for CLUTE, compared to MAP. For trajectories contaminated with a 5% Gaussian noise with variance equal to the 15% of the camera's field of view, the average translation error for CLUTE over the three datasets is 2.5% better than that of MAP and the rotation error is also better by 2.48°.Table 7
Performance comparison betweenCLUTE, MAP, and MDS on the three datasets for missing and noisy data (8-camera network).
IDDownsampled by 2Downsampled by 3NoisyCLUTEMAPCLUTEMAPCLUTEMAPϵtϵrϵtϵrϵtϵrϵtϵrϵtϵrϵtϵrExp 120.231.010.282.590.281.390.335.050.6633.690.9642.6930.050.630.070.870.061.720.102.930.6418.650.7410.6540.182.870.203.260.217.400.289.360.8817.251.6828.2550.331.460.371.400.403.810.763.740.4215.370.8222.3760.041.200.060.870.070.450.092.861.4158.191.6162.1970.070.720.121.220.051.380.204.250.8423.831.3427.8380.111.960.162.090.125.750.245.180.4215.450.5217.45Average0.141.410.181.760.173.130.294.770.7726.061.1030.20Exp 220.020.780.033.610.020.910.095.910.030.300.047.6130.081.470.060.590.081.480.097.520.020.530.053.7440.034.380.056.620.054.990.1011.010.061.220.084.2450.040.060.095.480.040.100.115.620.210.520.232.9260.141.680.175.680.131.660.148.850.110.410.132.0770.051.060.063.990.061.240.096.590.193.620.205.3780.031.250.044.250.031.300.077.310.020.250.062.40Average0.051.340.063.780.051.460.096.600.080.860.103.54Exp 320.010.300.032.520.010.670.043.390.210.270.283.1230.030.120.093.680.040.030.062.890.656.940.868.3140.119.130.0711.310.108.600.1013.550.6022.820.9328.2450.072.310.072.140.061.810.172.000.9328.820.9930.1160.050.320.175.240.050.140.146.691.2840.121.3249.2070.040.050.094.970.030.450.083.531.3030.651.3318.3280.000.010.0912.980.000.020.0115.780.073.020.084.33Average0.041.530.085.360.041.470.085.980.6316.580.7217.70For the camera failure, we simulated the one, three, and five cameras failure situations by ignoring the measurements coming from one, three, and five cameras, respectively, and by evaluating the localization accuracy of the remaining sensors. For one camera failure (Table8), the average translation error (taken over three datasets) for CLUTE is 0.16 unit, which is better by 0.25 units compared to MAP. The rotation error for CLUTE is 6.81° better than MAP. Likewise, the translation error for CLUTE in case of three (Table 9) and five (Table 10) cameras failing is 12% of the environment size. The translation results obtained by CLUTE are better than MAP by more than 5% in both cases. Also for the rotation error, the performance of CLUTE is better by 2.3° and 9.52° for the three and five cameras missing cases, respectively.Table 8
8-camera network: comparison betweenCLUTE and MAP in case of the failure of 1 camera.
IDCLUTEMAPϵtϵrϵtϵrExp 120.203.121.009.2330.061.431.6011.2340.1814.390.8324.4250.211.610.6214.9860.081.960.7619.2270.122.771.1221.77Average0.144.210.9916.81Exp 220.020.710.063.0330.091.550.103.8940.084.950.137.4550.040.070.112.3960.181.540.213.8870.051.090.083.55Average0.071.410.103.46Exp 320.3620.390.3921.0030.030.040.0312.3140.9329.650.9619.4350.610.350.5920.1960.020.570.0229.0570.030.480.032.54Average0.287.350.2914.93Table 9
8-camera network: comparison betweenCLUTE and MAP in case of the failure of 3 cameras.
IDCLUTEMAPϵtϵrϵtϵrExp 120.202.740.766.6730.071.671.475.7640.1326.800.3842.8150.211.900.8723.82Average0.158.280.8719.77Exp 220.0123.140.323.5130.0325.160.171.9943.1330.283.4445.3450.062.330.497.98Average0.6416.180.8911.76Exp 320.4023.140.5226.2531.4125.161.3122.2740.9830.281.3238.8250.602.331.214.18Average0.6816.180.8718.30Table 10
8-camera network: comparison betweenCLUTE and MAP in case of the failure of 5 cameras.
IDCLUTEMAPϵtϵrϵtϵrExp 120.658.580.8542.5131.552.631.6324.12Average1.105.611.2433.32Exp 220.010.350.584.5130.010.090.5712.51Average0.010.140.385.67Exp 320.5530.310.7545.9031.3926.421.6924.57Average0.6418.910.8123.49


## 5.1. 4-Camera Network

In this setup, we first simulate a network of 4 cameras and then test the algorithms on a real camera network. Let an object travel across the network and generate the trajectory. Each camera observes the object within its field of view (in Figure6, the observations within each field of view are shown with circles). The lines outside the squares are the unobserved track points of the object. We analyze the results of three experiments using the same network configuration, but with three different moving objects. The CLUTE results are shown in Figure 8. The translational error at each iteration is shown in Figure 9. The performance of CLUTE is evaluated and compared with MAP and MDS on the original, noisy, and subsampled data. Also, the algorithms are compared in the case of camera failure.Three trajectory datasets from a nonoverlapping 4-camera network.Shaded squares indicate the field of view of each camera, circles denotes the observed object locations, and lines show the portions of the trajectories unobserved by the cameras.
(a)(b)(c)Figure10 compares the results of CLUTE, MAP, and MDS along with the true positions of the cameras. The visual inspection of the results show that in all three experiments, the performance of the statistical approaches is better than that of nonstatistical approaches (especially for C2 in the experiment 1 dataset, for C3 in the experiment 2 dataset, and for C3 and C4 in the experiment 3 dataset). The detailed experimental results are shown in Table 2. In the first experiment, the average translation error for CLUTE is 0.18 units or 4.5% of the environment area. Furthermore, the average rotation error for CLUTE is 1.29°. In comparison with the other two approaches, on average CLUTE is more accurate in locating the network. The average translation error for MAP and MDS is poorer by 0.50% and 3.25%, respectively. Likewise, the average rotation errors for MAP and MDS are worse by 1.35° and 4.63°, respectively. In the second experiment, the average translation error for CLUTE is 0.13 units or 3.25% of the environment area, which is better by 1.25% and 4.25% compared to MAP and MDS, respectively. Moreover, the average rotation error estimated by CLUTE is better by 0.41° and 2.84° than that of MAP and MDS, respectively. In the third experiment, the average translation error for CLUTE is 0.24 units, which are 6% of the environment area. Also, the average rotation error for CLUTE is 5.37°. In comparison, the average translation error for MAP and MDS is 0.32 units and 0.46 units, respectively. Similarly, the average rotation angles for MAP and MDS approaches are 8.55° and 13.72°. In summary, these experiments show that the performance of CLUTE is better by an average of 1.25% for translation and of 1.65° for rotation with respect with MAP. In comparison to MDS, the performance of CLUTE is better by 4.5% and 5.28° for estimating translation and rotation, respectively. In addition to this, the error variance for CLUTE is smaller than that for MAP and MDS. Furthermore, it is noticeable that the estimation results for the statistical approaches (i.e., CLUTE and MAP) are better than that of the nonstatistical approach (i.e., MDS). In general, the main limitation of MDS is that it is based on a single parameter (in this case, the shortest Euclidean distance) with an appropriate value. Therefore, the parameter calculation is accurate and the approach performs satisfactory only if given enough information.Table 2
Performance comparison betweenCLUTE, MAP, and MDS on the three datasets (4-camera network).
IDCLUTEMAPMDSϵtϵrϵtϵrϵtϵrExp 120.262.360.315.940.5711.5630.331.600.392.040.418.4140.121.180.112.590.273.72Average0.181.290.202.640.315.92Exp 220.154.360.191.520.230.9630.235.360.346.380.728.7640.154.650.178.080.2315.99Average0.133.590.184.000.306.43Exp 320.206.420.2811.940.3921.2630.5613.060.7818.240.8923.4240.191.980.234.000.5710.19Average0.245.370.328.550.4613.72We also analyzed the robustness ofCLUTE to reduced sampled trajectory (missing data) and noisy trajectory and in case of camera failure. As MDS is poor in estimating the localization, we compare the robustness of CLUTE and MAP only (Table 3).Table 3
Performance comparison betweenCLUTE, MAP, and MDS on the three datasets for missing and noisy data (4-camera network).
IDDownsampled by 2Downsampled by 3NoisyCLUTEMAPCLUTEMAPCLUTEMAPϵtϵrϵtϵrϵtϵrϵtϵrϵtϵrϵtϵrExp 120.252.480.275.640.221.330.313.430.151.870.154.1330.341.700.422.320.320.730.443.390.6310.990.6312.8840.121.110.214.080.142.150.438.700.7813.060.7815.50Average0.181.320.223.010.171.050.303.880.396.480.398.13Exp 220.144.270.214.470.154.540.135.960.3711.120.3913.4530.225.020.356.270.245.700.347.880.337.550.439.8840.154.450.167.940.164.860.435.410.5819.140.7117.14Average0.133.440.184.670.143.780.224.810.329.450.3810.12Exp 320.092.950.2313.360.031.040.3116.540.43168.100.57175.2130.347.160.5712.920.352.460.657.630.924.771.329.3240.395.610.948.800.6414.911.3018.961.8641.361.9045.56Average0.203.930.448.770.264.600.5610.780.8053.560.9557.52For the missing data test, the object’s trajectory is downsampled by 2 and by 3 for all the three experiments. The results for downsampling by 2 show that on averageCLUTE does not suffer for translation estimation in experiment 1 and experiment 2  and improves in experiment 3. Similarly for the rotation (especially for experiment 2 and experiment 3), a closer look at the results shows that in experiment 3 the estimation result is quite poor for C3 on the original data compared to the other cameras. Figure 8 shows that in most cases the object takes very sharp turns before entering into this camera. These sharp turns cause the degradation of the result, while downsampling reduces the sharpness of the turns and therefore simplifies the modeling. Compared to MAP, the average translation error over the three experiments for CLUTE is better by 2.75%. Similarly, the rotation estimation is better by 2.58° in favor of CLUTE. Also the performance of MAP degrades considerably due to downsampling. The reason for this behavior is due to the fact that in MAP the track points provide the likelihood function over the trajectories and the camera parameters, and therefore the posterior probability depends directly upon the availability of enough reliable object measurements. Downsampling reduces the likelihood probability and hence degrades the overall results. On the other hand, in CLUTE, the trajectories are estimated by interpolation of the track points over time. For this reason, as long as the available object observations maintain the shape of the trajectory, the calibration will be performed accurately. For further downsampling by 3, the average translation error over the three experiments for CLUTE is still 4.25% better than that of MAP. Similarly, the rotation estimation is better by 3.35° for CLUTE. Also when downsampled from 2 to 3, the degradation for the position estimation is just 0.02 units for CLUTE and 0.08 units for MAP. To summarize, CLUTE is more robust to reduced sampling rates compared to MAP.In order to analyze the performance ofCLUTE with noisy observations, we introduced a 5% Gaussian noise in the measurements with variance equal to the 15% of the camera’s field of view, for all three datasets. For both CLUTE and MAP, the results degrade substantially for the position estimation (especially C3, C4 in experiment 1 and C2, C4 in experiment 3) and orientation (especially C2 in experiment 3). This is due to the fact that the noise not only degrades the quality of the observations (essential for MAP), but also changes the shape of the trajectory (essential for CLUTE), which are necessary for accurate results from both approaches. However, it is noticed that on average the results for CLUTE are degraded by 8% for the translation and 20.02° for the rotation, whereas the degradation for MAP is 8.5% and 20.20°.In order to analyze the localization performance in the case of camera failure, we removed one camera’s observations from the available datasets (1-camera failure case). The complete results for the three experiments are shown in Table4. On average, the results for CLUTE are degraded by 5% for the translation and 22.47° for the rotation, whereas the degradation for MAP is 10.25% and 24.81°. The results show that CLUTE is more robust in case of camera failure.Table 4
4-camera network:CLUTE and MAP comparison for 1-camera failure.
IDCLUTEMAPϵtϵrϵtϵrExp 120.5713.320.6216.0531.0624.251.6230.53Average0.5412.520.7515.53Exp 220.123.840.256.5330.285.800.8312.49Average0.133.210.366.34Exp 320.40166.840.53178.7331.0218.861.9224.52Average0.4761.900.8267.75In the final experiment for the 4-camera network, we use real data captured indoor (Figure7). The fields of view of the cameras are squares whose sides are 1.5 meters, and the cameras are between 3 and 4 meters apart. A toy car is moving at varying velocities traces a long trajectory across the cameras. Based on the ground-truth segmentation of the moving object in the field of view of every camera, we compute the relative distance and orientation between the cameras based on trajectory estimation. Figure 11 shows the results obtained with CLUTE, and Table 5 compares the results of the three approaches on the real data. For CLUTE, the sensors were on average misplaced by 70 cm from the locations measured by hand, with an average orientation error of 10.33°. For the orientation estimation, CLUTE performs on average better than MAP by 0.33° and better than MDS by 5°. For the position estimation, the error of CLUTE is 0.45 meter smaller than that of MDS and poorer than that of MAP by 0.04 meters only.Table 5
The rotation (in degrees) and translation (in meters) errors ofCLUTE for real data.
IDCLUTEMAPMDSϵtϵrϵtϵrϵtϵr20.8010.000.6510.501.0012.0030.698.000.738.631.1218.0040.6113.000.5912.851.3316.00Average0.7010.330.6610.661.1515.33Sequence of images extracted from real dataset consisting of four nonoverlapping cameras. Frame numbers show the motion of the object across the network.
(a)(b)(c)(d)CLUTE localization results for the 4-camera network. Yellow squares are the estimated localization and green lines indicate the e6stimated trajectory in the unobserved areas. (a) Experiment 1dataset; (b) experiment 2 dataset; (c) experiment 3dataset.
(a)(b)(c)Figure 9
Evolution of theCLUTE translation error at each iteration in the three experiments.Performance comparison for camera localization usingCLUTE (green circle), MAP (magenta star), and MDS (blue cross). The red triangles denote the ground-truth position of the cameras. (a) Experiment 1; (b) Experiment 2; (c) Experiment 3.
(a)(b)(c)Figure 11
Network localization results usingCLUTE on real data. (black: original trajectory, green: estimated object trajectory in the unobserved areas, gray square: original camera location (field of view),  andyellow square: estimated camera location (field of view).


## 5.2. 8-Camera Network

Three datasets have been generated by simulating three different moving objects in a network of 8 cameras with nonoverlapping fields of view. The results obtained withCLUTE on these datasets are shown in Figure 12. Table 6 contains the results obtained in each experiment. CLUTE outperformed MDS as its average translation and rotation errors are 13.75% and 3.63° lower than those of MDS. Likewise, CLUTE outperformed MAP in estimating the orientation, as the average rotation error over the three datasets is lower by 0.90% and in estimating the translation MAP is better by 0.16%.Table 6
Performance comparison betweenCLUTE, MAP, and MDS on the three datasets (8-camera network).
IDCLUTEMAPMDSϵtϵrϵtϵrϵtϵrExp 120.120.890.120.861.0010.5430.020.610.020.631.053.4840.081.560.082.120.451.8250.161.540.161.541.8417.2960.020.400.020.422.047.1370.040.770.040.800.040.6780.522.010.052.000.502.52Average0.141.110.071.200.996.21Exp 220.140.850.241.900.9811.0130.281.380.281.940.983.4740.143.000.264.120.732.9250.200.070.220.541.2317.2960.361.490.351.421.012.1370.221.090.221.860.990.6780.171.250.145.200.552.52Average0.191.140.222.120.815.00Exp 320.000.070.000.930.003.0730.030.130.031.890.101.8740.098.160.109.230.9510.1650.072.320.062.130.920.6860.040.120.060.830.173.1270.000.040.030.620.208.9680.000.020.049.580.224.69Average0.031.360.043.150.324.07CLUTE localization results with a 8-camera network: (a) experiment 1 dataset; (b) experiment 2 dataset, (c) experiment 3 dataset.
(a)(b)(c)We further investigate the robustness of the methods for missing data, noisy trajectories (Table7), and camera failure. For downsampling by 2, the average translation error over the three experiments for CLUTE is 0.03 unit-size better than MAP. Similarly, the rotation estimation is better by 2.19°. Also, for downsampling by 3, the average translation error using CLUTE over the three experiments is 1.5% better than using MAP. Furthermore, the rotation estimation is better by 3.69 for CLUTE. Also, when downsampled from 2 to 3, the degradation for the position estimation is 40% better for CLUTE, compared to MAP. For trajectories contaminated with a 5% Gaussian noise with variance equal to the 15% of the camera's field of view, the average translation error for CLUTE over the three datasets is 2.5% better than that of MAP and the rotation error is also better by 2.48°.Table 7
Performance comparison betweenCLUTE, MAP, and MDS on the three datasets for missing and noisy data (8-camera network).
IDDownsampled by 2Downsampled by 3NoisyCLUTEMAPCLUTEMAPCLUTEMAPϵtϵrϵtϵrϵtϵrϵtϵrϵtϵrϵtϵrExp 120.231.010.282.590.281.390.335.050.6633.690.9642.6930.050.630.070.870.061.720.102.930.6418.650.7410.6540.182.870.203.260.217.400.289.360.8817.251.6828.2550.331.460.371.400.403.810.763.740.4215.370.8222.3760.041.200.060.870.070.450.092.861.4158.191.6162.1970.070.720.121.220.051.380.204.250.8423.831.3427.8380.111.960.162.090.125.750.245.180.4215.450.5217.45Average0.141.410.181.760.173.130.294.770.7726.061.1030.20Exp 220.020.780.033.610.020.910.095.910.030.300.047.6130.081.470.060.590.081.480.097.520.020.530.053.7440.034.380.056.620.054.990.1011.010.061.220.084.2450.040.060.095.480.040.100.115.620.210.520.232.9260.141.680.175.680.131.660.148.850.110.410.132.0770.051.060.063.990.061.240.096.590.193.620.205.3780.031.250.044.250.031.300.077.310.020.250.062.40Average0.051.340.063.780.051.460.096.600.080.860.103.54Exp 320.010.300.032.520.010.670.043.390.210.270.283.1230.030.120.093.680.040.030.062.890.656.940.868.3140.119.130.0711.310.108.600.1013.550.6022.820.9328.2450.072.310.072.140.061.810.172.000.9328.820.9930.1160.050.320.175.240.050.140.146.691.2840.121.3249.2070.040.050.094.970.030.450.083.531.3030.651.3318.3280.000.010.0912.980.000.020.0115.780.073.020.084.33Average0.041.530.085.360.041.470.085.980.6316.580.7217.70For the camera failure, we simulated the one, three, and five cameras failure situations by ignoring the measurements coming from one, three, and five cameras, respectively, and by evaluating the localization accuracy of the remaining sensors. For one camera failure (Table8), the average translation error (taken over three datasets) for CLUTE is 0.16 unit, which is better by 0.25 units compared to MAP. The rotation error for CLUTE is 6.81° better than MAP. Likewise, the translation error for CLUTE in case of three (Table 9) and five (Table 10) cameras failing is 12% of the environment size. The translation results obtained by CLUTE are better than MAP by more than 5% in both cases. Also for the rotation error, the performance of CLUTE is better by 2.3° and 9.52° for the three and five cameras missing cases, respectively.Table 8
8-camera network: comparison betweenCLUTE and MAP in case of the failure of 1 camera.
IDCLUTEMAPϵtϵrϵtϵrExp 120.203.121.009.2330.061.431.6011.2340.1814.390.8324.4250.211.610.6214.9860.081.960.7619.2270.122.771.1221.77Average0.144.210.9916.81Exp 220.020.710.063.0330.091.550.103.8940.084.950.137.4550.040.070.112.3960.181.540.213.8870.051.090.083.55Average0.071.410.103.46Exp 320.3620.390.3921.0030.030.040.0312.3140.9329.650.9619.4350.610.350.5920.1960.020.570.0229.0570.030.480.032.54Average0.287.350.2914.93Table 9
8-camera network: comparison betweenCLUTE and MAP in case of the failure of 3 cameras.
IDCLUTEMAPϵtϵrϵtϵrExp 120.202.740.766.6730.071.671.475.7640.1326.800.3842.8150.211.900.8723.82Average0.158.280.8719.77Exp 220.0123.140.323.5130.0325.160.171.9943.1330.283.4445.3450.062.330.497.98Average0.6416.180.8911.76Exp 320.4023.140.5226.2531.4125.161.3122.2740.9830.281.3238.8250.602.331.214.18Average0.6816.180.8718.30Table 10
8-camera network: comparison betweenCLUTE and MAP in case of the failure of 5 cameras.
IDCLUTEMAPϵtϵrϵtϵrExp 120.658.580.8542.5131.552.631.6324.12Average1.105.611.2433.32Exp 220.010.350.584.5130.010.090.5712.51Average0.010.140.385.67Exp 320.5530.310.7545.9031.3926.421.6924.57Average0.6418.910.8123.49


## 6. Conclusions

We proposed an algorithm to recover the network configuration of a set of cameras with disjoint views. The algorithm finds the position and orientation of each camera on a common ground plane and consists of two main steps: the estimation of the unobserved trajectory in the regions not covered by the cameras' fields of view and the estimation of the relative orientations of the cameras. Kalman filtering and linear regression are used for the estimation of the trajectory. Forward and backward estimations are used to increase the reliability of the results. The relative orientation of the cameras is obtained by using theexit and entry point information in each camera's fields of view.We have compared the performance of the proposed approach with a statistical approach (MAP) and with a nonstatistical approach (MDS) on both simulated and real data. The experimental results show that CLUTE is more accurate in localizing the network compared to these state-of-the-art approaches. Also, the proposed approach is more robust for missing and noisy data and performs better in case of failure of one or more cameras.Our current work includes further improvements of the trajectory estimation in unobserved areas by tracking, when available, the audio information captured with stereo microphones coupled with each camera [40].



---

*Source: 604647-2011-10-10.xml*