统一光流、立体视觉和深度估计
徐浩飞 · 张静 · 蔡剑飞 · Hamid Rezatofighi · 余飞 · 陶大程 · Andreas Geiger
TPAMI 2023
论文 | 幻灯片 | 项目页面 | Colab | 演示
一个统一的模型用于三个运动和3D感知任务。
我们在Sintel(clean)、Middlebury(rms指标)和Argoverse基准测试中获得了第一名。
本项目是基于我们之前的工作开发的:
安装
我们的代码基于pytorch 1.9.0、CUDA 10.2和python 3.8开发。更高版本的pytorch也应该能正常工作。
我们推荐使用conda进行安装:
conda env create -f conda_environment.yml
conda activate unimatch
另外,我们也支持使用pip安装:
bash pip_install.sh
模型库
大量具有不同速度-精度权衡的预训练流、立体视觉和深度模型可在MODEL_ZOO.md中获取。
我们假设下载的权重位于pretrained
目录下。
否则,您可能需要更改脚本中的相应路径。
演示
给定一对图像或视频序列,我们的代码支持生成光流、视差和深度的预测结果。
请参考scripts/gmflow_demo.sh、scripts/gmstereo_demo.sh和scripts/gmdepth_demo.sh了解示例用法。
数据集
用于训练和评估我们所有三个任务模型的数据集在DATASETS.md中给出。
评估
用于重现我们论文中数字的评估脚本在scripts/gmflow_evaluate.sh、scripts/gmstereo_evaluate.sh和scripts/gmdepth_evaluate.sh中给出。
对于KITTI、Sintel、Middlebury和ETH3D在线测试集的提交,您可以运行scripts/gmflow_submission.sh和scripts/gmstereo_submission.sh来生成预测结果。这些结果可以直接提交。
训练
不同模型变体在不同数据集上的所有训练脚本可以在scripts/*_train.sh中找到。
我们支持使用tensorboard来监控和可视化训练过程。您可以首先启动一个tensorboard会话:
tensorboard --logdir checkpoints
然后在浏览器中访问http://localhost:6006。
引用
@article{xu2023unifying,
title={Unifying Flow, Stereo and Depth Estimation},
author={Xu, Haofei and Zhang, Jing and Cai, Jianfei and Rezatofighi, Hamid and Yu, Fisher and Tao, Dacheng and Geiger, Andreas},
journal={IEEE Transactions on Pattern Analysis and Machine Intelligence},
year={2023}
}
本工作是对我们之前会议论文GMFlow (CVPR 2022, 口头报告)的实质性扩展,如果您在研究中发现这项工作有用,请也考虑引用GMFlow。
@inproceedings{xu2022gmflow,
title={GMFlow: Learning Optical Flow via Global Matching},
author={Xu, Haofei and Zhang, Jing and Cai, Jianfei and Rezatofighi, Hamid and Tao, Dacheng},
booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},
pages={8121-8130},
year={2022}
}
致谢
如果没有依赖一些优秀的代码库,这个项目是不可能完成的:RAFT、LoFTR、DETR、Swin、mmdetection和Detectron2。我们感谢原作者的出色工作。