## 3 Proposed Methods
### Proposed Pose Estimation Network  
As mentioned in an earlier section, the proposed 6-DOF pose estimation is performed by a deep learning network whose baseline is PoseContrast [17]. PoseContrast estimates the rotational pose of an object from a single RGB image. This network uses ResNet50 [26] as the encoder backbone and a multilayer perceptron (MLP) as the predictor. Here, the 3-DoF rotational pose is represented by three Euler angles from the reference CAD coordinate system to the camera coordinate system. The three Euler angles are defined as _Azimuth_, _Elevation_, and _Inplane rotation_. In PoseContrast, each rotation angle is predicted into 15\({}^{\circ}\) sized bins with an offset value ranging from \(-1\) to \(+1\). The final rotation angle is then calculated as in Equation (4). \[angle=15\times(bin\;index+offset) \tag{4}\]  
The loss functions employed in the bin prediction and offset prediction are Cross Entropy Loss [27] (Equation (5)) and Smooth \(L1\) Loss [28] (Equation (6)), respectively. In Equation (5), \(\mathbf{p}\) and \(\mathbf{q}\) can be considered as bin vectors of MLP prediction and GT, respectively. Each bin vector consists of 24 elements of probability to each 15\({}^{\circ}\) bin. In Equation (6), \(x\) is the MLP prediction to the angle offset. In PoseContrast, the same loss functions are applied to predict all three rotation angles. \[Cross\;Entropy\;Loss(\mathbf{p},\mathbf{q})=-\sum_{i=1}^{N}p_{i}\text{log}(q_{i}) \tag{5}\]  
\[Smooth_{L1}(x)=\left\{ \begin{array}{rl}0.5x^{2},&if\;|x|<1\\ |x|-0.5,&otherwise\end{array} \right. \tag{6}\]  
In this paper, we modify the original PoseContrast network by adding one sub-network (VUF) and two attention modules (GCE and CGF) to the original network. The structure of the proposed network is illustrated in Figure 5. First, we introduce a sub-network that generates variational uncertainty features from the output of ResNet50. The sub-network generates uncertainty features and they are used to generate the uncertainty weight to the original ResNet50 features. Thus, we call this sub-network the VUF (Variational Uncertainty Feature) network. Similar to the original PoseContrast, VUF also predicts _Azimuth_, _Elevation_, and _Inplane rotation_ using two MLP networks, as shown in Figure 5. The first MLP provides the probability to each angle bin, and the highest bin index is determined based on the probability values. The output of the first MLP is used to compute the uncertainty weight of each angle bin, as shown in the figure. To compute the uncertainty weight, \(V_{diff,i}\) is first calculated as in Equation (7) to represent the degree of difference between the highest probability bin  
Figure 4: Example of 20 RGB images collected for a _clock_ CAD model. index \(i_{max}\), and another bin index \(i\). To provide smooth weight values to the next process, the bin angle difference is represented in the logarithm scale as in Equation (7). Once \(V_{diff,i}\) in each angle bin is obtained, \(V_{uncor}\), variance uncertainty, is calculated using Equation (8). Here, \(\Pr(i)\) is the probability of bin index i. The final weight, \(w_{bin}\), for each angle bin is calculated as in Equation (9). This process is applied respectively to _Azimuth_, _Elevation_, and _Inplane rotation_. \[V_{diff,i}=\log\{(i-i_{max})^{2}+1\} \tag{7}\]  
\[V_{uncor}=\sum_{i=0}^{j}\left| \begin{array}{c}V_{diff,i}*\Pr(i)\end{array} \right| \tag{8}\]  
where, \(j=\left\{ \begin{array}{cc}23,&\text{for \ }Azimuth,\ Inplane\ rotation\\ &11,\text{ for \ }Elevation\end{array} \right..\)  
\[w_{bin}=\ln\left(V_{uncor}+e\right)-1, \tag{9}\]  
where, \(bin\in\{Azimuth, Elevation,Inplanerotation\}\). Weight obtained in Equation (9) is multiplied to the original features trained for angle prediction. In each angle prediction, the features consist of 200 channels. The weighted 200 features are then concatenated to form an integrated feature module.