D3VO: Deep Depth, Deep Pose and Deep Uncertainty for Monocular Visual Odometry

Nan Yang, Lukas von Stumberg, Rui Wang, Daniel Cremers

Introduction

Deep learning has swept most areas of computer vision – not only high-level tasks like object classification, detection and segmentation ren2015faster; he2017mask; kirillov2019panoptic, but also low-level ones such as optical flow estimation dosovitskiy2015flownet; pwcnet and interest point detection and description yi2016lift; detone2018superpoint; dusmanu2019d2. Yet, in the field of Simultaneously Localization And Mapping (SLAM) or Visual Odometry (VO) which estimates the relative camera poses from image sequences, traditional geometric-based approaches mur2017orb; engel2014lsd; engel2017direct still dominate the field. While monocular methods mur2015orb; engel2017direct have the advantage of low hardware cost and less calibration effort, they cannot achieve competitive performance compared to stereo mur2017orb; wang2017stereoDSO or visual-inertial odometry (VIO) von2018direct; leutenegger2015keyframe; qin2018vins; mur2017visual, due to the scale drift strasdat2010scale; yang2018challenges and low robustness. Recently, there have been many efforts to address this by leveraging deep neural networks tateno2017cnn; loo2019cnn; zhan2019visual; yin2017scale. It has been shown that with deep monocular depth estimation networks godard2016unsupervised; Godard_2019_ICCV; laina2016deeper; yang2018deep, the performance of monocular VO is boosted, since deep networks are able to estimate depth maps with consistent metric scale by learning a-priori knowledge from a large amount of data kuznietsov2017semi.

In this way, however, deep neural networks are only used to a limited degree. Recent advances of self- and unsupervised monocular depth estimation networks zhou2017unsupervised; Godard_2019_ICCV show that the poses of the adjacent monocular frames can be predicted together with the depth. Since the pose estimation from deep neural networks shows high robustness, one question arises: Can the deep-predicted poses be employed to boost traditional VO? On the other hand, since SLAM/VO is essentially a state estimation problem where uncertainty plays an important role thrun2005probabilistic; engel2013iccv; whyfilter and meanwhile many learning based methods have started estimating uncertainties, the next question is, how can we incorporate such uncertainty-predictions into optimization-based VO?

In this paper, we propose D3VO as a framework for monocular direct (feature-less) visual VO that exploits self-supervised monocular depth estimation network on three levels: deep depth, pose and uncertainty estimation, as shown in Fig. 1. To this end, we first propose a purely self-supervised network trained with stereo videos. The proposed self-supervised network predicts the depth from a single image with DepthNet and the pose between two adjacent frames with PoseNet. The two networks are bridged by minimizing the photometric error originated from both static stereo warping with the rectified baseline and temporal warping using the predicted pose. In this way, the temporal information is incorporated into the training of depth, which leads to more accurate estimation. To deal with the inconsistent illumination between the training image pairs, our network predicts the brightness transformation parameters which align the brightness of source and target images during training on the fly. The evaluation on the EuRoC MAV dataset shows that the proposed brightness transformation significantly improves the depth estimation accuracy. To integrate the deep depth into VO system, we firstly initialize every new 3D point with the predicted depth with a metric scale. Then we adopt the virtual stereo term proposed in Deep Virtual Stereo Odometry (DVSO) yang2018deep to incorporate the predicted pose into the non-linear optimization. Unlike DVSO which uses a semi-supervised monocular depth estimation network relying on auxiliary depth extracted from state-of-the-art stereo VO system wang2017stereoDSO, our network uses only stereo videos without any external depth supervision.

Although the illumination change is explicitly modeled, it is not the only factor which may violate the brightness constancy assumption klodt2018supervising. Other factors, e.g., non-Lambertian surfaces, high-frequency areas and moving objects, also corrupt it. Inspired by the recent research on aleatoric uncertainty by deep neural networks kendall2017uncertainties; klodt2018supervising, the proposed network estimates the photometric uncertainty as predictive variance conditioned on the input image. As a result, the errors originated from pixels which are likely to violate the brightness constancy assumption are down-weighted. The learned weights of the photometric residuals also drive us to the idea of incorporating it into direct VO – since both the self-supervised training scheme and the direct VO share a similar photometric objective, we propose to use the learned weights to replace the weighting function of the photometric residual in traditional direct VO which is empirically set schops2019bad or only accounts for the intrinsic uncertainty of the specific algorithm itself kerl2013dense; engel2017direct.

Robustness is one of the most important factors in designing VO algorithm. However, traditional monocular visual VO suffers from a lack of robustness when confronted with low textured areas or fast movement von2018direct. The typical solution is to introduce an inertial measurement unit (IMU). But this increases the calibration effort and, more importantly, at constant velocity, IMUs cannot deliver the metric scale in constant velocity martinelli2014closed. We propose to increase the robustness of monocular VO by incorporating the estimated pose from the deep network into both the front-end tracking and the back-end non-linear optimization. For the front-end tracking, we replace the pose from the constant velocity motion model with the estimated pose from the network. Besides, the estimated pose is also used as a squared regularizer in addition to direct image alignment szeliski2006image. For the back-end non-linear optimization, we propose a pose energy term which is jointly minimized with the photometric energy term of direct VO.

We evaluate the proposed monocular depth estimation network and D3VO on both KITTI Geiger2012CVPR and EuRoC MAV Burri25012016. We achieve state-of-the-art performances on both monocular depth estimation and camera tracking. In particular, by incorporating deep depth, deep uncertainty and deep pose, D3VO achieves comparable results to state-of-the-art stereo/LiDAR methods on KITTI Odometry, and also comparable results to the state-of-the-art VIO methods on EuRoC MAV, while being a monocular method.

Related Work

Deep learning for monocular depth estimation. Supervised learning eigen2014depth; li2015depth; laina2016deeper shows great performance on monocular depth estimation. Eigen et al. eigen2014depth; eigen2015predicting propose to use multi-scale CNNs which directly regresses the pixel-wise depth map from a single input image. Laina et al. laina2016deeper propose a robust loss function to improve the estimation accuracy. Fu et al. fu:hal-01741163 recast the monocular depth estimation network as an ordinal regression problem and achieve superior performance. More recent works start to tackle the problem in a self- and unsupervised way by learning the depth map using the photometric error godard2016unsupervised; zhou2017unsupervised; yin2018geonet; mahjourian; zhan2018un; wang2018learning; Gordon_2019_ICCV and adopting differentiable interpolation jaderberg2015spatial. Our self-supervised depth estimation network builds upon MonoDepth2 Godard_2019_ICCV and extends it by predicting the brightness transformation parameters and the photometric uncertainty.

Deep learning for uncertainty estimation. The uncertainty estimation of deep learning has recently been investigated in kendall2017uncertainties; kendall2017multi where two types of uncertainties are proposed. Klodt et al. klodt2018supervising propose to leverage the concept of aleatoric uncertainty to estimate the photometric and the depth uncertainties in order to improve the depth estimation accuracy. However, when formulating the photometric uncertainty, they do not consider brightness changes across different images which in fact can be modeled explicitly. Our method predicts the photometric uncertainty conditioned on the brightness-aligned image, which can deliver better photometric uncertainty estimation. Besides, we also seek to make better use of our learned uncertainties and propose to incorporate them into traditional VO systems engel2017direct.

Deep learning for VO / SLAM. End-to-end learned deep neural networks have been explored to directly predict the relative poses between images with supervised ummenhofer2017demon; wang2017deepvo; zhou2018deeptam or unsupervised learning zhou2017unsupervised; li2017undeepvo; wang2018learning; zhan2018un. Besides pose estimation, CodeSLAM bloesch2018codeslam delivers dense reconstruction by jointly optimizing the learned prior of the dense geometry together with camera poses. However, in terms of pose estimation accuracy all these end-to-end methods are inferior to classical stereo or visual inertial based VO methods. Building on the success of deep monocular depth estimation, several works integrate the predicted depth/disparity map into monocular VO systems tateno2017cnn; yang2018deep to improve performance and eliminate the scale drift. CNN-SLAM tateno2017cnn fuses the depth predicted by a supervised deep neural network into LSD-SLAM engel2014lsd and the depth maps are refined with Bayesian filtering, achieving superior performance in indoor environments handa2014benchmark; sturm2012benchmark. Other works tang2019gcnv2; detone2018self explore the application of deep neural networks on feature based methods ,and jung2019corl uses Generative Adversarial Networks (GANs) as an image enhancement method to improve the robustness of VO in low light. The most related work to ours is Deep Virtual Stereo Odometry (DVSO). DVSO proposes a virtual stereo term that incooperates the depth estimation from a semi-supervised network into a direct VO pipeline. In particular, DVSO outperforms other monocular VO systems by a large margin, and even achieves comparable performance to state-of-the-art stereo visual odometry systems wang2017stereoDSO; mur2017orb. While DVSO merely leverages the depth, the proposed D3VO exploits the power of deep networks on multiple levels thereby incorporating more information into the direct VO pipeline.

Method

We first introduce a novel self-supervised neural network that predicts depth, pose and uncertainty. The network also estimates affine brightness transformation parameters to align the illumination of the training images in a self-supervised manner. The photometric uncertainty is predicted based on a distribution over the possible brightness values klodt2018supervising; kendall2017uncertainties for each pixel. Thereafter we introduce D3VO as a direct visual odometry framework that incorporates the predicted properties into both the tracking front-end and the photometric bundle adjustment backend.

The core concept of the proposed monocular depth estimation network is the self-supervised training scheme which simultaneously learns depth with DepthNet and motion with PoseNet using video sequences zhou2017unsupervised; Godard_2019_ICCV. The self-supervised training is realized by minimizing the minimum of the photometric re-projection errors between the temporal and static stereo images:

where VV is the set of all pixels on ItI_{t} and t′t^{\prime} is the index of all source frames. In our setting ItI_{t} is the left image and It′I_{t^{\prime}} contains its two adjacent temporal frames and its opposite (right) frame, i.e., It′∈{It−1,It+1,Its}I_{t^{\prime}}\in\{I_{t-1},I_{t+1},I_{t^{s}}\}. The per-pixel minimum loss is proposed in Monodepth2 Godard_2019_ICCV in order to handle the occlusion among different source frames. To simplify notation, we use II instead of I(p)I(\mathbf{p}) in the remainder of this section. It′→tI_{t^{\prime}\rightarrow t} is the sythesized ItI_{t} by warping the temporal stereo images with the predicted depth DtD_{t}, the camera pose Ttt′\mathbf{T}_{t}^{t^{\prime}}, the camera intrinsics KK, and the differentialble bilinear sampler jaderberg2015spatial. Note that for Its→tI_{t^{s}\rightarrow t}, the transformation Ttts\mathbf{T}_{t}^{t^{s}} is known and constant. DepthNet also predicts the depth map DtsD_{t^{s}} of the right image ItsI_{t^{s}} by feeding only the left image ItI_{t} as proposed in godard2016unsupervised. The training of DtsD_{t^{s}} requires to synthesize It→tsI_{t\rightarrow{t^{s}}} and compare with ItsI_{t^{s}}. For simplicity, we will in the following only detail the loss regarding the left image.

The common practice godard2016unsupervised is to formulate the photometric error as

based on the brightness constancy assumption. However, it can be violated due to illumination changes and auto-exposure of the camera to which both L1 and SSIM wang2004image are not invariant. Therefore, we propose to explicitly model the camera exposure change with predictive brightness transformation parameters.

Brightness transformation parameters. The change of the image intensity due to the adjustment of camera exposure can be modeled as an affine transformation with two parameters a,ba,b

Despite its simplicity, this formulation has been shown to be effective in direct VO/SLAM, e.g., engel2015large; engel2017direct; wang2017stereoDSO; jin2001real, which builds upon the brightness constancy assumption as well. Inspired by these works, we propose predicting the transformation parameters a,ba,b which align the brightness condition of ItI_{t} with It′I_{t^{\prime}}. We reformulate Eq. (1) as

where at→t′a_{t\rightarrow t^{\prime}} and bt→t′b_{t\rightarrow t^{\prime}} are the transformation parameters aligning the illumination of ItI_{t} to It′I_{t^{\prime}}. Note that both parameters can be trained in a self-supervised way without any supervisional signal. Fig. 3 shows the affine transformation examples from EuRoC MAV Burri25012016.

Note that no ground-truth label for σ\sigma is needed for training. The predictive uncertainty allows the network to adapt the weighting of the residual dependent on the data input, which improves the robustness of the model to noisy data or erroneous labels kendall2017uncertainties.

In our case where the “ground-truth” yy are the pixel intensities on the target images, the network will predict higher σ\sigma for the pixel areas on ItI_{t} where the brightness constancy assumption may be violated. Similar to klodt2018supervising, we implement this by converting Eq. (4) to

where Σt\Sigma_{t} is the uncertainty map of ItI_{t}. Fig. 4 shows the qualitative results of the predicted uncertainty maps on KITTI Geiger2012CVPR and EuRoC Burri25012016 datasets, respectively. In the next section, we will show that the learned Σt\Sigma_{t} is useful for weighting the photometric residuals for D3VO.

The total loss function is the summation of the self-supervised losses and the regularization losses on multi-scale images:

is the regularizer of the brightness parameters and LsmoothL_{smooth} is the edge-aware smoothness on DtD_{t} godard2016unsupervised.

To summarize, the proposed DepthNet predicts DtD_{t}, DtsD_{t^{s}} and Σt\Sigma_{t} with one single input ItI_{t}. PoseNet predicts Ttt′\mathbf{T}_{t}^{t^{\prime}}, at→t′a_{t\rightarrow t^{\prime}} and bt→t′b_{t\rightarrow t^{\prime}} with channel-wise concatenated (ItI_{t}, It′I_{t^{\prime}}) as the input. Both DepthNet and PoseNet are convolutional networks following the widely used UNet-like architecture ronneberger2015u. Please refer to our supplementary materials for network architecture and implementation details.

2 D3VO

In the previous section, we introduced the self-supervised depth estimation network which predicts the depth map DD, the uncertainty map Σ\Sigma and the relative pose Ttt′\mathbf{T}_{t}^{t^{\prime}}. In this section, we will describe how D3VO integrates these predictions into a windowed sparse photometric bundle adjustment formulation as proposed in engel2017direct. Note that in the following we use \ \widetilde{\cdot}\ denoting the predictions from the network as D~\widetilde{D}, Σ~\widetilde{\Sigma} and T~tt′\widetilde{\mathbf{T}}_{t}^{t^{\prime}} to avoid ambiguity.

Photometric energy. D3VO aims to minimize a total photometric error EphotoE_{photo} defined as

where F\mathcal{F} is the set of all keyframes, Pi\mathcal{P}_{i} is the set of points hosted in keyframe ii, obs(p\mathbf{p}) is the set of keyframes in which point p\mathbf{p} is observable and EpjE_{\mathbf{p}j} is the weighted photometric energy term when p\mathbf{p} is projected onto keyframe jj:

where N\mathcal{N} is the set of 8 neighboring pixels of p\mathbf{p} defined in engel2017direct, aa,bb are the affine brightness parameters jointly estimated by non-linear optimization as in engel2017direct and ∣∣⋅∣∣γ||\cdot||_{\gamma} is the Huber norm. In engel2017direct, the residual is down-weighted when the pixels are with high image gradient to compensate small independent geometric noise engel2017direct. In realistic scenarios, there are more sources of noise, e.g., reflectionklodt2018supervising, that need to be modeled in order to deliver accurate and robust motion estimation. We propose to use the learned uncertainty Σ~\widetilde{\Sigma} to formulate the weighting function

which may not only depend on local image gradient, but also on higher level noise pattern. As shown in Fig. 4, the proposed network is able to predict high uncertainty on the areas of reflectance, e.g., the windows of the vehicles, the moving object like the cyclist and the object boundaries where depth discontinuity occurs.

The projected point position of p′\mathbf{p^{\prime}} is given by p′=Π(TijΠ−1(p,dp)),\mathbf{p^{\prime}}=\Pi(\mathbf{T}_{i}^{j}\Pi^{-1}(\mathbf{p},d_{\mathbf{p}})), where dpd_{\textbf{p}} is the depth of the point p\mathbf{p} in the coordinate system of keyframe ii and Π(⋅)\Pi(\cdot) is the projection function with the known camera intrinsics. Instead of randomly initializing dpd_{\mathbf{p}} as in traditional monocular direct methods engel2014lsd; engel2017direct, we initialize the point with dp=D~i[p]d_{\mathbf{p}}=\widetilde{D}_{i}[\mathbf{p}] which provides the metric scale. Inspired by yang2018deep, we introduce a virtual stereo term Ep†E_{\mathbf{p}}^{\dagger} to Eq. (11)

with Ts\mathbf{\mathbf{T}_{s}} the transformation matrix from the left to the right image used for training DepthNet and

The virtual stereo term optimizes the estimated depth dpd_{\mathbf{p}} from VO to be consistent with the depth predicted by the proposed deep network yang2018deep.

Pose energy. Unlike traditional direct VO approaches engel2013iccv; forster2014svo which initialize the front-end tracking for each new frame with a constant velocity motion model, we leverage the predicted poses between consecutive frames to build a non-linear factor graph kschischang2001factor; loeliger2004introduction. Specifically, we create a new factor graph whenever the newest keyframe, which is also the reference frame for the front-end tracking, is updated. Every new frame is tracked with respect to the reference keyframe with direct image alignment szeliski2006image. Additionally, the predicted relative pose from the deep network is used as a factor between the current frame and the last frame. After the optimization is finished, we marginalize the last frame and the factor graph will be used for the front-end tracking of the following frame. Please refer to our supp. materials for the visualization of the factor graph.

The pose estimated from the tracking front-end is then used to initialize the photometric bundle adjustment backend. We further introduce a prior for the relative keyframe pose Ti−1i\mathbf{T}_{i-1}^{i} using the predicted pose T~i−1i\widetilde{\mathbf{T}}_{i-1}^{i}. Note that T~i−1i\widetilde{\mathbf{T}}_{i-1}^{i} is calculated by concatenating all the predicted frame-to-frame poses between keyframe i−1i-1 and ii. Let

Including the pose prior term EposeE_{pose} in Eq. 19 can be considered as an analogy to integrating the pre-integrated IMU pose prior into the system with a Gaussian noise model. EtotalE_{total} is minimized using the Gauss-Newton method. To summarize, we boost the direct VO method by introducing the predicted poses as initializations to both the tracking front-end and the optimization backend, as well as adding them as a regularizer to the energy function of the photometric bundle adjustment.

Experiments

We evaluate the proposed self-supervised monocular depth estimation network as well as D3VO on both the KITTI Geiger2012CVPR and the EuRoC MAV Burri25012016 datasets.

KITTI. We train and evalutate the proposed self-supervised depth estimation network on the split of Eigen at el. eigen2014depth. The network is trained on stereo sequences with the pre-processing proposed by Zhou et al. zhou2017unsupervised, which gives us 39,810 training quadruplets, each of which contains 3 (left) temporal images and 1 (right) stereo image, and 4,424 for validation. The upper part of Table 1 shows the comparison with Monodepth2 Godard_2019_ICCV which is the state-of-the-art method trained with stereo and monocular setting, and also the ablation study of the proposed brightness transformation prediction (ab) and the photometric uncertainty estimation (uncer). The results demonstrate that the proposed depth estimation network outperforms Monodepth2 on all metrics. The ablation studies unveil that the significant improvement over Monodepth2 comes largely with uncer, possibly because in KITTI there are many objects with non-Lambertian surfaces like windows and also objects that move independently such as cars and leaves which violate the brightness constancy assumption. The lower part of the table shows the comparison to the state-of-the-art semi-supervised methods and the results show that our method can achieve competitive performance without using any depth supervision.

In Figure 4 we show some qualitative results obtained from the Eigen test set eigen2014depth. From left to right, the original image, the depth maps and the uncertainty maps are shown respectively. For more qualitative results and the generalization capability on the Cityscapses dataset cordts2016cityscapes, please refer to our supp. materials.

EuRoC MAV. The EuRoC MAV Dataset Burri25012016 is a dataset containing 11 sequences categorized as easy, medium and difficult according to the illumination and camera motion. This dataset is very challenging due to the strong motion and significant illumination changes both between stereo and temporal images. We therefore consider it as a nice test bench for validating the effectiveness of our predictive brightness transformation parameters for depth prediction. Inspired by Gordon et al. Gordon_2019_ICCV who recently generated ground truth depth maps for the sequence V2_01 by projecting the provided Vicon 3D scans and filtering out occluded points, we also use this sequence for depth evaluations We thank the authors of Gordon_2019_ICCV to provide the processing code.. Our first experiment is set up to be consistent as in Gordon_2019_ICCV, for which we train models with the monocular setting on all MH sequences and test on V2_01 and show the results in Table 3.

In the second experiment, we use 5 sequences MH_01, MH_02, MH_04, V1_01 and V1_02 as the training set to check the performance of our method in a relatively loosened setting. We remove the static frames for training and this results in 12,691 images of which 11,422 images are used for training and 1269 images are used for validation. We train our model with different ablations, as well as Monodepth2 Godard_2019_ICCV as the baseline. The results in Table 2 show that all our variations outperform the baseline and, in contrast to the case in KITTI, the proposed ab improves the results on this dataset significantly. Please refer to the supp. materials for more experiments on ab. In fact, it is worth noting that the results in Table 3 (trained on one scene MH and tested on another scene V) are worse than the ones in Table 2 (trained on both MH and V), which implies that it is still a challenge to improve the generalization capability of monocular depth estimation among very different scenarios.

2 Monocular Visual Odometry

We evaluate the VO performance of D3VO on both KITTI Odometry and EuRoC MAV with the network trained on the splits described in the previous section.

KITTI Odometry. The KITTI Odometry Benchmark contains 11 (0-10) sequences with provided ground-truth poses. As summarized in yang2018deep, sequences 00, 03, 04, 05, 07 are in the training set of the Eigen split that the proposed network uses, so we consider the rest of the sequences as the testing set for evaluating the pose estimation of D3VO. We use the relative translational (trelt_{rel}) error proposed in Geiger2012CVPR as the main metric for evaluation. Table 4 shows the comparison with other state-of-the-art mono (M) as well as stereo (S) VO methods on the rest of the sequences. We refer to yang2018deep for the results of the compared methods. Traditional monocular methods show high errors in the large-scale outdoor scene like the sequences in KITTI due to the scale drift. D3VO achieves the best performance on average, despite being a monocular methods as well. The table also contains the ablation study on the integration of deep depth (Dd), pose (Dp) and uncertainty (Du). It can be noticed that, consistent with the results in Table 1, the predicted uncertainty helps a lot on KITTI. We also submit the results on the testing sequences (11-20) to the KITTI Odometry evaluation server (link). At the time of submission, D3VO outperforms DVSO and achieves the best monocular VO performance and comparable to other state-of-the-art LiDAR and stereo methods.

We further compare D3VO with state-of-the-art end-to-end deep learning methods and other recent hybrid methods and show the results in Table 5. Note that here we only show the results on Seq.09 and 10, since most of the end-to-end methods only provide the results on these two sequences. We refer to Gordon_2019_ICCV; zhan2019visual; yang2018deep for the results for the compared methods. D3VO achieves better performance than all the end-to-end methods by a notable margin. In general, hybrid methods which combine deep learning with traditional methods deliver better results than end-to-end methods.

EuRoC MAV. As introduced in Sec. 4.1, EuRoC MAV is very challenging for purely vision-based VO due to the strong motion and significant illumination changes. VIO methods von2018direct; usenko2019visual; qin2018vins; leutenegger2015keyframe dominate this benchmark by integrating IMU measurements to get a pose or motion prior and meanwhile estimating the absolute scale. We compare D3VO with other state-of-the-art monocular VIO (M+I) as well as stereo VIO (S+I) methods on sequences MH_03_medium, MH_05_difficult, V1_03_difficult, V2_02_medium and V2_03_difficult. All the other sequences are used for training. We refer to delmerico2018benchmark for the results of the M+I methods. The results of DSO and ORB-SLAM are shown as baselines. We also show the results from the proposed PoseNet (End-end VO). For the evaluation metric, we use the root mean square (RMS) of the absolute trajectory error (ATE) after aligning the estimates with ground truth. The results in Table 6 show that with the proposed framework integrating depth, pose and uncertainty from the proposed deep neural network, D3VO shows high accuracy as well as robustness and is able to deliver comparable results to other state-of-the-art VIO methods with only a single camera. We also show the ablation study for the integration of predicted depth (Dd), pose (Dp) and uncertainty (Du) and the integration of pose prediction improves the performance significantly on V1_03_difficult and V2_03_difficult where violent camera motion occurs.

Figure 5 shows the qualitative comparison of trajectories obtained from DSO engel2017direct, ORB-SLAM mur2015orb, visual inertial DSO von2018direct, the end-to-end predicted poses from our network and D3VO on the MH_03 and V1_03 sequences. All the 5 methods can deliver fairly good results on MH_05_difficult. On V1_03_difficult where the motions are stronger and there are many brightness inconsistencies between temporal and stereo images, D3VO can still deliver comparable results to VI-DSO, while using only a single camera.

Conclusion

We presented D3VO as a monocular VO method that enhances the performance of geometric VO methods by exploiting the predictive power of deep networks on three levels integrating predictions of monocular depth, photometric uncertainty and relative camera pose. To this end, we first introduced a novel self-supervised monocular depth estimation network which explicitly addresses the illumination change in the training set with predictive brightness transformation parameters. The network achieves state-of-the-art results on KITTI and EuRoC MAV. The predicted depth, uncertainty and pose are then incorporated into both the front-end tracking and back-end non-linear optimization of a direct VO pipeline. We systematically evaluated the VO performance of D3VO on the two datasets. D3VO sets a new state-of-the-art on KITTI Odometry and also achieves state-of-the-art performance on the challenging EuRoC MAV, rivaling with leading mono-inertial and stereo-inertial methods while using only a single camera.

Acknowledgements We would like to thank Niclas Zeller, Lukas Köstler, Oleg Muratov and other colleagues from Artisense for their continuous feedbacks. Besides, we would like to thank Jakob Engel and Tao Wu for the fruitful discussions during the early stages of the project. Last but not least, we also would like to thank the reviewers and Klaus H. Strobl for their constructive comments.

References

Supplementary

Both DepthNet and PoseNet are implemented with PyTorch paszke2017automatic and trained on a single Titan X Pascal GPU. We resize the images to 512×256512\times 256 for both KITTI Geiger2012CVPR and EuRoC MAV Burri25012016. We use ResNet-18 he2016deep as the encoder of DepthNet and it is initialized with ImageNet russakovsky2015imagenet pre-trained weights. Note that since EuRoC MAV provides grayscale images only, we duplicate the images to form 3-channel inputs. The decoder of DepthNet and the entire PoseNet are initialized randomly. We use a batch size of 88 and the Adam optimizer kingma2014adam with the number of epochs 2020 and 4040 for KITTI and EuRoC MAV, respectively. The learning rate is set to 10−410^{-4} initially and decreased to 10−510^{-5} for the last 55 epochs.

The predicted brightness transformation parameters are the same for the 3 channels of the input images. We mask out the over-exposure pixels when applying affine brightness transformation, since we found they negatively affect the estimation of the brightness parameters. Engel et al. also find similar issues in engel2015large.

we use s=4s=4 output scales with and λs=10−3×12s−1\lambda^{s}=10^{-3}\times\frac{1}{2^{s-1}}. For the regularization

B Network Architectures

DepthNet. We adopt ResNet-18 he2016deep as the encoder of DepthNet with the implementation from the torchvision package in PyTorch paszke2017automatic. The decoder architecture is built upon the implementation in Godard_2019_ICCV with skip connections from the encoder, while the difference is that our final outputs contain 3 channels including DtD_{t}, DtsD_{t}^{s} and Σt\Sigma_{t}. Table 7 shows the detailed architecture of DepthNet decoder.

PoseNet. The architecture of PoseNet is similar to zhou2017unsupervised without the explainability mask decoder. PoseNet takes 2 channel-wise concatenated images as the input and outputs the relative pose and the relative brightness parameters aa and bb. The predicted pose is parameterized with translation vector and Euler angles.

C Factor Graph of Front-end Tracking

In Figure 6, we show the visualization of the factor graphs created for the front-end tracking in D3VO. The non-keyframes are tracked with respect to the reference frame, which is the latest keyframe in the optimization window with direct image alignment. With the predicted relative poses from PoseNet, we also add a prior factor between the consecutive frames. When the new non-keyframe comes, the oldest non-keyframe in the factor graph is marginalized. The figure shows the status of the factor graph for the first (ItI_{t}), second (It+1I_{t+1}) and third non-keyframe (It+2I_{t+2}) comes.

D Additional Experiments on Brightness Parameters

In our main paper, we have shown that the predictive brightness parameters effectively improve the depth estimation accuracy, especially on EuRoC MAV where the illumination change is quite strong. To further validate the correctness of the predicted brightness parameters, we measure the photometric errors when projecting the pixels from the source images to the next consecutive images using the ground-truth depth and poses in V2_03_difficult. An example of the ground-truth depth is shown in Figure 7 for which we use the code from the authors of Gordon_2019_ICCV. We first calculate the photometric errors using the original image pairs and then calculate the absolute photometric errors by transforming the left images with the predicted parameters from PoseNet. We also implemented a simple baseline method to estimate the affine brightness parameters by solving linear least squares (LS). We formulated the normal equation with the dense optical flow method farneback2003two implemented in OpenCV opencv_library. As shown in Table 9, the average photometric error is decreased by a large margin when the affine brightness transformation is performed and the predicted parameters from PoseNet are better than the ones estimated from LS. We show more examples of the affine brightness transformation in Figure 9.

E Absolute Translational Error on KITTI

The evaluation metrics proposed with the KITTI benchmark Geiger2012CVPR measures the relative pose accuracy. It is important to measure the global consistency of the pose estimations. Therefore, we also show the absolute translational error (ATE) as RMSE in Table 10 where the upper part shows the evaluation results without the SE(3) alignment and the lower part shows the results with the SE(3) alignment. For some sequences, e.g., KITTI 01, the ATE without SE(3) alignment is very large, while the ATE with SE(3) alignment dramatically decreases. The trajectories on KITTI 01 are shown in Figure. 8 where we can see that the less accurate pose estimations for the initial frames may result in a large overall ATE.

F Cityscapes

Figure 10 shows the results on the Cityscapes dataset cordts2016cityscapes with our model trained on KITTI. The results show the generalization capability of our network on both depth and uncertainty prediction. In particular, the network can generalize to predict high uncertainties on reflectance, object boundaries, high-frequency areas, and moving objects.