作为初始版本,PaddldStereo目前支持以下算法。
请点击上方的超链接查看每个算法的实现细节
1.安装Paddlepaddle
- 版本要求: PaddlePaddle>=2.3.2, Python>=3.8
- 多GPU版本需要合适的cuda,cudnn,nccl环境. 请在官方网站查看详细的文档说明
2.通过如下命令下载PaddleStereo工具箱
git clone https://github.com/PaddlePaddle/PaddleDepth
cd PaddleDepth/Paddlestereo
conda env create -f environment.yml
conda activate paddle_env
你可以参照 dataset_prepare 来进行数据集的准备.
- 在SceneFlow预训练
$ ./Scripts/start_train_sceneflow_stereo_net_multi.sh
- 在KITTI2012上微调
$ ./Scripts/start_train_kitti2012_stereo_net_multi.sh
1.在KITTI2012测试
$ ./Scripts/start_test_kitti2012_stereo_net.sh
PaddleStereo的整体代码结构如下:
PaddleStereo
│- data_prepare
│- model_document
│- README.md
│- environment.yml
│- Datasets
│- Example
│- Scripts
└─ Source
│- Algorithm
│- Core
│- FileHandler
│- ImgHandler
│- SysBasic
│- Template
│- Tools
└─ UserModelImplementation
│- Dataloaders
└─ Models
你可以按照如下步骤开发自己的算法:
- 检查你的模型是否需要模型来进行训练,如果有把模型加入到
model
中 - 检查你的模型是否需要新的dataloader,如果有把它们加到
Dataloders
中 - 添加你自己的启动文件(.sh)到
Scripts
中
我们在KITTI2015以及KITTI2012上评测了paddle stereo已经实现的算法.
注意我们并没有通过额外的技巧来优化模型结果,因此你可以直接使用.sh的脚本文件来复现我们在表格中报告的精度
PaddleStereo工具箱目前还在积极维护与完善过程中。 我们非常欢迎外部开发者为Paddle Depth提供新功能\模型。 如果您有这方面的意愿的话,请往我们的邮箱或者issue里面反馈
PaddleDepth 是一款由来自不同高校和企业的研发人员共同参与贡献的开源项目。 我们感谢所有为项目提供算法复现和新功能支持的贡献者,以及提供宝贵反馈的用户。 我们希望这个工具箱和基准测试可以为社区提供灵活的代码工具,供用户复现已有算法并开发自己的新模型,从而不断为开源社区提供贡献。
[1] Shen, Zhelun, et al. "PCW-Net: Pyramid Combination and Warping Cost Volume for Stereo Matching." European Conference on Computer Vision. 2022.
[2] Chang, Jia-Ren, and Yong-Sheng Chen. "Pyramid stereo matching network." Proceedings of the IEEE conference on computer vision and pattern recognition. 2018.
[3] Lipson, Lahav, Zachary Teed, and Jia Deng. “RAFT-Stereo: Multilevel Recurrent Field Transforms for Stereo Matching.” arXiv, September 15, 2021.