该存储库包含“金字塔立体声匹配网络”论文(CVPR 2018)的代码(在Pytorch中),Jia-Ren Chang和Yong-Sheng Chen。
2020/12/20:更新PSMNET:现在支持Torch 1.6.0/Torchvision 0.5.5和Python 3.7,删除了不一致的凹痕。
2020/12/20:我们提出的实时立体声可以在此处实时立体声找到。
@inproceedings{chang2018pyramid,
title={Pyramid Stereo Matching Network},
author={Chang, Jia-Ren and Chen, Yong-Sheng},
booktitle={Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition},
pages={5410--5418},
year={2018}
}
最近的工作表明,可以从立体声对的深度估计可以作为监督的学习任务配制,以通过卷积神经网络(CNN)解决。但是,当前的体系结构依赖于基于补丁的暹罗网络,缺乏利用上下文信息以在不张力区域查找信件的手段。为了解决这个问题,我们提出了PSMNet,这是一个由两个主要模块组成的金字塔立体声匹配网络:空间金字塔池和3D CNN。空间金字塔池模块通过在不同尺度和位置汇总上下文以形成成本量来利用全球上下文信息的能力。 3D CNN学会了使用堆叠的多个沙漏网络与中间监督相结合的成本量。

Usage of Scene Flow dataset
Download RGB cleanpass images and its disparity for three subset: FlyingThings3D, Driving, and Monkaa.
Put them in the same folder.
And rename the folder as: "driving_frames_cleanpass", "driving_disparity", "monkaa_frames_cleanpass", "monkaa_disparity", "frames_cleanpass", "frames_disparity".
例如,使用以下命令在场景流程上训练PSMNET
python main.py --maxdisp 192
--model stackhourglass
--datapath (your scene flow data folder)
--epochs 10
--loadmodel (optional)
--savemodel (path for saving model)
作为另一个示例,请使用以下命令在2015年对psmnet进行捕获
python finetune.py --maxdisp 192
--model stackhourglass
--datatype 2015
--datapath (KITTI 2015 training data folder)
--epochs 300
--loadmodel (pretrained PSMNet)
--savemodel (path for saving model)
您还可以在Run.sh中看到这些示例。
使用以下命令在Kitti 2015测试数据上评估受过训练的PSMNET
python submission.py --maxdisp 192
--model stackhourglass
--KITTI 2015
--datapath (KITTI 2015 test data folder)
--loadmodel (finetuned PSMNet)
※注意:预验证的模型保存在.tar中;但是,您不需要解开它。使用Torch.load()加载它。
更新:2018/9/6我们发布了预先训练的Kitti 2012模型。
更新:2021/9/22使用Torch 1.8.1的验证模型(先前的型号重量是训练的火炬0.4.1)
| Kitti 2015 | 场景流 | Kitti 2012 | 场景流(火炬1.8.1) |
|---|---|---|---|
| Google Drive | Google Drive | Google Drive | Google Drive |
python Test_img.py --loadmodel (finetuned PSMNet) --leftimg ./left.png --rightimg ./right.png

※请注意,报告的3-PX验证错误是使用Kitti的官方MATLAB代码计算的,而不是我们的代码。
排行榜链接
| 方法 | d1-all(全部) | D1-ALL(NOC) | 运行时间 |
|---|---|---|---|
| psmnet | 2.32% | 2.14% | 0.41 |
| IRESNET-I2 | 2.44% | 2.19% | 0.12 |
| GC-NET | 2.87% | 2.61% | 0.90 |
| MC-CNN | 3.89% | 3.33% | 67 |
我们可视化PSMNET,完整设置和基线的不同设置的接收场。
完整设置:扩张的Conv,SPP,堆叠的沙漏
基线:没有扩张的转换,没有spp,没有堆叠的沙漏
计算了图像中心的像素的接收场,由红十字会指示。

欢迎任何讨论或疑虑!