## 3 Results
The parameter \(k\) is the number of RGB training images in a viewpoint class for training the viewpoint classifier. For each viewpoint class, we select a template; a larger value of \(k\) implies that fewer templates are selected in the training sequences to build up the 3D model for inspecting the target scene or object in the testing phase. Since a large amount of redundancy could exist in two consecutive frames of each sequence (dataset), we can actually use very few frames to reconstruct a 3D model. The usage of fewer templates also highly reduces the time complexity to estimate the pose of each frame in order to achieve the goal of 3D object reconstruction in real-time. As shown in Figure 10, compared with other state-of-the-art approaches, the proposed method is not sensitive to the value of \(k\). Accordingly, the proposed method can use very few templates to model a 3D scene without sacrificing the accuracy of pose estimation. Figure 11a shows an example of the 2D trajectory error of the proposed method using the test sequence 'freiburg1_desk'; the reconstructed 3D scene using the selected templates is also shown in Figure 11b. Figure 11(a1,a2) are the 2D trajectory error without and with the removement of the outliers of corresponding pairs, respectively, when using Algorithm 3 to estimate the poses. In these two examples, the trajectory of the 3D poses is projection to the xy plane. The black trajectory is the ground truth. The blue trajectory is the estimated poses. The red lines are the error between the ground truth and the estimated poses. From Figure 11(a3), the errors are reduced after removing the outliers of the corresponding pairs. With the usage of the GPU, our system can process more than 30 frames per second. This ensure to apply our algorithms to construct real-time video-based applications. \begin{table}
\begin{tabular}{c c c c c c c}
**Input Classes**Classification Results & **Freiburg1\_Plant** & **Freiburg1\_Teddy** & **Freiburg2\_Coke** & **Freiburg2\_Flower** & **Freiburg3\_Cabinet** & **Freiburg3\_Teddy** \\ \hline freiburg1\_plant & 97 & 3 & 0 & 0 & 0 & 0 \\ freiburg1\_teddy & 1 & 97 & 0 & 2 & 0 & 0 \\ freiburg2\_coke & 0 & 0 & 98 & 2 & 0 & 0 \\ freiburg2\_flower & 0 & 0 & 3 & 97 & 0 & 0 \\ Freiburg3\_cabinet & 4 & 0 & 0 & 0 & 94 & 2 \\ freiburg3\_teddy & 1 & 0 & 0 & 0 & 2 & 95 \\ \hline \end{tabular}
\end{table} 
Table 1: The confusion matrix of integrating multiple model-specific CNN object detectors for detecting all objects under surveillance. \begin{table}
\begin{tabular}{c c c c c c c} \hline \hline  & \multicolumn{6}{c}{RMSE of the Relative Camera Pose Error} \\ \cline{2-7}
**Sequence** & \multicolumn{6}{c}{**Our Approach**} \\ \cline{2-7}  & \(\mathbf{k\mathbf{=}1}\) & \(\mathbf{k\mathbf{=}5}\) & \(\mathbf{k\mathbf{=}10}\) & \(\mathbf{k\mathbf{=}20}\) & **Multiresolution Map**[52] & **RGB-D SLAM**[40] \\ \hline freiburg1 desk2 & \(1.50\times 10^{-16}\) & 0.024 & 0.052 & 0.108 & 0.060 & 0.102 \\ \hline freiburg1 desk & \(1.39\times 10^{-16}\) & 0.019 & 0.041 & 0.086 & 0.044 & 0.049 \\ \hline freiburg1 plant & \(1.22\times 10^{-16}\) & 0.015 & 0.033 & 0.066 & 0.036 & 0.142 \\ \hline freiburg1 Reddy & \(1.62\times 10^{-16}\) & 0.020 & 0.044 & 0.087 & 0.061 & 0.138 \\ \hline freiburg2 desk & \(2.84\times 10^{-16}\) & 0.005 & 0.010 & 0.018 & 0.091 & 0.143 \\ \hline \hline \end{tabular}
\end{table} 
Table 2: Camera pose error for datasets with ground-truth from [44] in terms of RMSE of the relative error. The value of \(k\) is the number of training RGB images in a viewpoint class in our approach, and the stride to select the key-frames from the training datasets in other approaches. Figure 9: The view classification results using the dataset ‘freiburg3_teddy’: (**a**) example RGB templates of viewpoints and those of test images that are classified to individual viewpoint classes; (**b**) the training and testing learning curves of the proposed viewpoint classification neural network with cross-entropy as the loss function.