Home

Awesome

<p align="right">English | <a href="./README_CN.md">简体中文</a></p> <p align="center"> <img src="docs/figs/logo.png" align="center" width="32%"> <h3 align="center"><strong>RoboDepth: Robust Out-of-Distribution Depth Estimation under Corruptions</strong></h3> <p align="center"> <a href="https://ldkong.com/">Lingdong Kong</a><sup>1,2</sup>&nbsp;&nbsp; <a href="https://github.com/Daniel-xsy">Shaoyuan Xie</a><sup>3</sup>&nbsp;&nbsp; <a href="https://hanjianghu.net/">Hanjiang Hu</a><sup>4</sup>&nbsp;&nbsp; <a href="https://ipal.cnrs.fr/lai-xing-ng/">Lai Xing Ng</a><sup>2,5</sup>&nbsp;&nbsp; <a href="https://scholar.google.com/citations?user=9I7uKooAAAAJ">Benoit R. Cottereau</a><sup>2,6</sup>&nbsp;&nbsp; <a href="https://www.comp.nus.edu.sg/cs/people/ooiwt/">Wei Tsang Ooi</a><sup>1,2</sup> <br> <sup>1</sup>National University of Singapore&nbsp;&nbsp;&nbsp; <sup>2</sup>CNRS@CREATE&nbsp;&nbsp;&nbsp; <sup>3</sup>University of California, Irvine&nbsp;&nbsp;&nbsp; <sup>4</sup>Carnegie Mellon University&nbsp;&nbsp;&nbsp; <sup>5</sup>Institute for Infocomm Research, A*STAR&nbsp;&nbsp;&nbsp; <sup>6</sup>CNRS </p> </p> <p align="center"> <a href="https://arxiv.org/abs/2310.15171" target='_blank'> <img src="https://img.shields.io/badge/Paper-%F0%9F%93%83-blue"> </a> <a href="https://ldkong.com/RoboDepth" target='_blank'> <img src="https://img.shields.io/badge/Project-%F0%9F%94%97-lightblue"> </a> <a href="https://huggingface.co/spaces/ldkong/RoboDepth" target='_blank'> <img src="https://img.shields.io/badge/Demo-%F0%9F%8E%AC-blue"> </a> <a href="https://zhuanlan.zhihu.com/p/592479725" target='_blank'> <img src="https://img.shields.io/badge/%E4%B8%AD%E8%AF%91%E7%89%88-%F0%9F%90%BC-pink"> </a> <a href="" target='_blank'> <img src="https://visitor-badge.laobi.icu/badge?page_id=ldkong1205.RoboDepth&left_color=gray&right_color=red"> </a> </p>

About

RoboDepth is a comprehensive evaluation benchmark designed for probing the robustness of monocular depth estimation algorithms. It includes 18 common corruption types, ranging from weather and lighting conditions, sensor failure and movement, and noises during data processing.

<p align="center"> <img src="docs/figs/taxonomy.png" align="center" width="95%"> </p>

Updates

Outline

Installation

Kindly refer to INSTALL.md for the installation details.

Data Preparation

Our datasets are hosted by OpenDataLab.

<img src="https://raw.githubusercontent.com/opendatalab/dsdl-sdk/2ae5264a7ce1ae6116720478f8fa9e59556bed41/resources/opendatalab.svg" width="32%"/><br> OpenDataLab is a pioneering open data platform for the large AI model era, making datasets accessible. By using OpenDataLab, researchers can obtain free formatted datasets in various fields.

The RoboDepth Benchmark

Kindly refer to DATA_PREPARE.md for the details to prepare the <sup>1</sup>KITTI, <sup>2</sup>KITTI-C, <sup>3</sup>NYUDepth2, <sup>4</sup>NYUDepth2-C, <sup>5</sup>Cityscapes, <sup>6</sup>Foggy-Cityscapes, <sup>7</sup>nuScenes, and <sup>8</sup>nuScenes-C, datasets.

Competition @ ICRA 2023

Kindly refer to this page for the details to prepare the training and evaluation data associated with the 1st RoboDepth Competition at the 40th IEEE Conference on Robotics and Automation (ICRA 2023).

Getting Started

Kindly refer to GET_STARTED.md to learn more usage about this codebase.

Model Zoo

:oncoming_automobile: - Outdoor Depth Estimation

<details open> <summary>&nbsp<b>Self-Supervised Depth Estimation</b></summary>
</details> <details open> <summary>&nbsp<b>Self-Supervised Multi-View Depth Estimation</b></summary>
</details> <details open> <summary>&nbsp<b>Fully-Supervised Depth Estimation</b></summary>
</details> <details open> <summary>&nbsp<b>Semi-Supervised Depth Estimation</b></summary>
</details>

:house: - Indoor Depth Estimation

<details open> <summary>&nbsp<b>Self-Supervised Depth Estimation</b></summary>
</details> <details open> <summary>&nbsp<b>Fully-Supervised Depth Estimation</b></summary>
</details> <details open> <summary>&nbsp<b>Semi-Supervised Depth Estimation</b></summary>
</details>

Benchmark

:bar_chart: Metrics: The following metrics are consistently used in our benchmark:

:gear: Notation: Symbol <sup>:star:</sup> denotes the baseline model adopted in mCE calculation.

KITTI-C

<p align="center"> <img src="docs/figs/metrics_kittic.png" align="center" width="100%"> </p>
ModelModalitymCE (%)mRR (%)CleanBrightDarkFogFrostSnowContrastDefocusGlassMotionZoomElasticQuantGaussianImpulseShotISOPixelateJPEG
MonoDepth2<sub>R18</sub><sup>:star:</sup>Mono100.0084.460.1190.1300.2800.1550.2770.5110.1870.2440.2420.2160.2010.1290.1930.3840.3890.3400.3880.1450.196
MonoDepth2<sub>R18+nopt</sub>Mono119.7582.500.1440.1830.3430.3110.3120.3990.4160.2540.2320.1990.2070.1480.2120.4410.4520.4020.4530.1530.171
MonoDepth2<sub>R18+HR</sub>Mono106.0682.440.1140.1290.3760.1550.2710.5820.2140.3930.2570.2300.2320.1230.2150.3260.3520.3170.3440.1380.198
MonoDepth2<sub>R50</sub>Mono113.4380.590.1170.1270.2940.1550.2870.4920.2330.4270.3920.2770.2080.1300.1980.4090.4030.3680.4250.1550.211
MaskOccMono104.0582.970.1170.1300.2850.1540.2830.4920.2000.3180.2950.2280.2010.1290.1840.4030.4100.3640.4170.1430.177
DNet<sub>R18</sub>Mono104.7183.340.1180.1280.2640.1560.3170.5040.2090.3480.3200.2420.2150.1310.1890.3620.3660.3260.3570.1450.190
CADepthMono110.1180.070.1080.1210.3000.1420.3240.5290.1930.3560.3470.2850.2080.1210.1920.4230.4330.3830.4480.1440.195
HR-DepthMono103.7382.930.1120.1210.2890.1510.2790.4810.2130.3560.3000.2630.2240.1240.1870.3630.3730.3360.3740.1350.176
DIFFNet<sub>HRNet</sub>Mono94.9685.410.1020.1110.2220.1310.1990.3520.1610.5130.3300.2800.1970.1140.1650.2920.2660.2550.2700.1350.202
ManyDepth<sub>single</sub>Mono105.4183.110.1230.1350.2740.1690.2880.4790.2270.2540.2790.2110.1940.1340.1890.4300.4500.3870.4520.1470.182
FSRE-DepthMono99.0583.860.1090.1280.2610.1390.2370.3930.1700.2910.2730.2140.1850.1190.1790.4000.4140.3700.4070.1470.224
MonoViT<sub>MPViT</sub>Mono79.3389.150.0990.1060.2430.1160.2130.2750.1190.1800.2040.1630.1790.1180.1460.3100.2930.2710.2900.1620.154
MonoViT<sub>MPViT+HR</sub>Mono74.9589.720.0940.1020.2380.1140.2250.2690.1170.1450.1710.1450.1840.1080.1450.3020.2770.2590.2850.1350.148
DynaDepth<sub>R18</sub>Mono110.3881.500.1170.1280.2890.1560.2890.5090.2080.5010.3470.3050.2070.1270.1860.3790.3790.3360.3790.1410.180
DynaDepth<sub>R50</sub>Mono119.9977.980.1130.1280.2980.1520.3240.5490.2010.5320.4540.3180.2180.1250.1970.4180.4370.3820.4480.1530.216
RA-Depth<sub>HRNet</sub>Mono112.7378.790.0960.1130.3140.1270.2390.4130.1650.4990.3680.3780.2140.1220.1780.4230.4030.4020.4550.1750.192
TriDepth<sub>single</sub>Mono109.2681.560.1170.1310.3000.1880.3380.4980.2650.2680.3010.2120.1900.1260.1990.4180.4380.3800.4380.1420.205
Lite-Mono<sub>Tiny</sub>Mono92.9286.690.1150.1270.2570.1570.2250.3540.1910.2570.2480.1980.1860.1270.1590.3580.3420.3360.3600.1470.161
Lite-Mono<sub>Tiny+HR</sub>Mono86.7187.630.1060.1190.2270.1390.2820.3700.1660.2160.2010.1900.2020.1160.1460.3200.2910.2860.3120.1480.167
Lite-Mono<sub>Small</sub>Mono100.3484.670.1150.1270.2510.1620.2510.4300.2380.3530.2820.2460.2040.1280.1610.3500.3360.3190.3560.1540.164
Lite-Mono<sub>Small+HR</sub>Mono89.9086.050.1050.1190.2630.1390.2630.4360.1670.1880.1810.1930.2140.1170.1470.3660.3540.3270.3550.1520.157
Lite-Mono<sub>Base</sub>Mono93.1685.990.1100.1190.2590.1440.2450.3840.1770.2240.2370.2210.1960.1290.1750.3610.3400.3340.3630.1510.165
Lite-Mono<sub>Base+HR</sub>Mono89.8585.800.1030.1150.2560.1350.2580.4860.1640.2200.1940.2130.2050.1140.1540.3400.3270.3210.3440.1450.156
Lite-Mono<sub>Large</sub>Mono90.7585.540.1020.1100.2270.1260.2550.4330.1490.2220.2250.2200.1920.1210.1480.3630.3480.3290.3620.1600.184
Lite-Mono<sub>Large+HR</sub>Mono92.0183.900.0960.1120.2410.1220.2800.4820.1410.1930.1940.2130.2220.1080.1400.4030.4040.3650.4070.1390.182
MonoDepth2<sub>R18</sub>Stereo117.6979.050.1230.1330.3480.1610.3050.5150.2340.3900.3320.2640.2090.1350.2000.4920.5090.4630.4930.1440.194
MonoDepth2<sub>R18+nopt</sub>Stereo128.9879.200.1500.1810.4220.2920.3520.4350.3420.2660.2320.2170.2290.1560.2360.5390.5640.5210.5560.1640.178
MonoDepth2<sub>R18+HR</sub>Stereo111.4681.650.1170.1320.2850.1670.3560.5290.2380.4320.3120.2790.2460.1300.2060.3430.3430.3220.3440.1500.209
DepthHintsStereo111.4180.080.1130.1240.3100.1370.3210.5150.1640.3500.4100.2630.1960.1300.1920.4400.4470.4120.4550.1570.192
DepthHints<sub>HR</sub>Stereo112.0279.530.1040.1220.2820.1410.3170.4800.1800.4590.3630.3200.2620.1180.1830.3970.4210.3800.4240.1410.183
DepthHints<sub>HR+nopt</sub>Stereo141.6173.180.1340.1730.4760.3010.3740.4630.3930.3570.2890.2410.2310.1420.2470.6130.6580.5990.6920.1520.191
MonoDepth2<sub>R18</sub>M+S124.3175.360.1160.1270.4040.1500.2950.5360.1990.4470.3460.2830.2040.1280.2030.5770.6050.5610.6290.1360.179
MonoDepth2<sub>R18+nopt</sub>M+S136.2576.720.1460.1930.4600.3280.4210.4280.4400.2280.2210.2160.2300.1530.2290.5700.5960.5490.6060.1610.177
MonoDepth2<sub>R18+HR</sub>M+S106.0682.440.1140.1290.3760.1550.2710.5820.2140.3930.2570.2300.2320.1230.2150.3260.3520.3170.3440.1380.198
CADepthM+S118.2976.680.1100.1230.3570.1370.3110.5560.1690.3380.4120.2600.1930.1260.1860.5460.5590.5240.5820.1450.192
MonoViT<sub>MPViT</sub>M+S75.3990.390.0980.1040.2450.1220.2130.2150.1310.1790.1840.1610.1680.1120.1470.2770.2570.2420.2600.1470.144
MonoViT<sub>MPViT+HR</sub>M+S70.7990.670.0900.0970.2210.1130.2170.2530.1130.1460.1590.1440.1750.0980.1380.2670.2460.2360.2460.1350.145

NYUDepth2-C

<p align="center"> <img src="docs/figs/metrics_nyuc.png" align="center" width="100%"> </p>
ModelmCE (%)mRR (%)CleanBrightDarkContrastDefocusGlassMotionZoomElasticQuantGaussianImpulseShotISOPixelateJPEG
BTS<sub>R50</sub>122.7880.630.1220.1490.2690.2650.3370.2620.2310.3720.1820.1800.4420.5120.3920.4740.1390.175
AdaBins<sub>R50</sub>134.6981.620.1580.1790.2930.2890.3390.2800.2450.3900.2040.2160.4580.5190.4010.4810.1860.211
AdaBins<sub>EfficientB5</sub><sup>:star:</sup>100.0085.830.1120.1320.1940.2120.2350.2060.1840.3840.1530.1510.3900.3740.2940.3800.1240.154
DPT<sub>ViT-B</sub>83.2295.250.1360.1350.1820.1800.1540.1660.1550.2320.1390.1650.2000.2130.1910.1990.1710.174
SimIPU<sub>R50+no_pt</sub>200.1792.520.3720.3880.4270.4480.4160.4010.4000.4330.3810.3910.4650.4710.4500.4610.3750.378
SimIPU<sub>R50+imagenet</sub>163.0685.010.2440.2690.3700.3760.3770.3370.3240.4220.3060.2890.4450.4630.4140.4490.2470.272
SimIPU<sub>R50+kitti</sub>173.7891.640.3120.3260.3730.4060.3600.3330.3350.3860.3160.3330.4320.4420.4220.4430.3140.322
SimIPU<sub>R50+waymo</sub>159.4685.730.2430.2690.3480.3980.3800.3270.3130.4050.2560.2870.4390.4610.4160.4550.2460.265
DepthFormer<sub>SwinT_w7_1k</sub>106.3487.250.1250.1470.2790.2350.2200.2600.1910.3000.1750.1920.2940.3210.2890.3050.1610.179
DepthFormer<sub>SwinT_w7_22k</sub>63.4794.190.0860.0990.1500.1230.1270.1720.1190.2370.1120.1190.1590.1560.1480.1570.1010.108

Idiosyncrasy Analysis

<p align="center"> <img src="docs/figs/benchmark.png" align="center" width="100%"> </p>

For more detailed benchmarking results and to access the pretrained weights used in robustness evaluation, kindly refer to RESULT.md.

Create Corruption Sets

You can manage to create your own "RoboDepth" corruption sets! Follow the instructions listed in CREATE.md.

TODO List

Citation

If you find this work helpful, please kindly consider citing our papers:

@inproceedings{kong2023robodepth,
  title = {RoboDepth: Robust Out-of-Distribution Depth Estimation under Corruptions},
  author = {Kong, Lingdong and Xie, Shaoyuan and Hu, Hanjiang and Ng, Lai Xing and Cottereau, Benoit R. and Ooi, Wei Tsang},
  booktitle = {Advances in Neural Information Processing Systems},
  year = {2023},
}
@article{kong2023robodepth_challenge,
  title = {The RoboDepth Challenge: Methods and Advancements Towards Robust Depth Estimation},
  author = {Kong, Lingdong and Niu, Yaru and Xie, Shaoyuan and Hu, Hanjiang and Ng, Lai Xing and Cottereau, Benoit and Zhao, Ding and Zhang, Liangjun and Wang, Hesheng and Ooi, Wei Tsang and Zhu, Ruijie and Song, Ziyang and Liu, Li and Zhang, Tianzhu and Yu, Jun and Jing, Mohan and Li, Pengwei and Qi, Xiaohua and Jin, Cheng and Chen, Yingfeng and Hou, Jie and Zhang, Jie and Kan, Zhen and Lin, Qiang and Peng, Liang and Li, Minglei and Xu, Di and Yang, Changpeng and Yao, Yuanqi and Wu, Gang and Kuai, Jian and Liu, Xianming and Jiang, Junjun and Huang, Jiamian and Li, Baojun and Chen, Jiale and Zhang, Shuang and Ao, Sun and Li, Zhenyu and Chen, Runze and Luo, Haiyong and Zhao, Fang and Yu, Jingze},
  journal = {arXiv preprint arXiv:2307.15061}, 
  year = {2023},
}
@misc{kong2023robodepth_benchmark,
  title = {The RoboDepth Benchmark for Robust Out-of-Distribution Depth Estimation under Corruptions},
  author = {Kong, Lingdong and Xie, Shaoyuan and Hu, Hanjiang and Cottereau, Benoit and Ng, Lai Xing and Ooi, Wei Tsang},
  howpublished = {\url{https://github.com/ldkong1205/RoboDepth}}, 
  year = {2023},
}

License

<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by-nc-sa/4.0/80x15.png" /></a> <br /> This work is under the <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/">Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License</a>.

Sponsor

We thank Baidu Research for the support towards the RoboDepth Challenge.

<img src="docs/figs/baidu.png" width="32%"/><br>

Acknowledgements

This project is supported by DesCartes, a CNRS@CREATE program on Intelligent Modeling for Decision-Making in Critical Urban Systems.

<p align="center"> <img src="docs/figs/ack.png" align="center" width="100%"> </p>