基于深度学习立体匹配中的‘Cost Volume‘

  • 最近太忙,我把参考资料和相关文献给大家整理一下,以及代码演示,print出来让大家看懂。一起进步!
    cost volume1
    cost volume2
    cost volume3
    cost volume4
    cost volume 5

  • 《Cascade Cost Volume for High-Resolution Multi-View Stereo
    and Stereo Matching》
    基于深度学习立体匹配中的‘Cost Volume‘_第1张图片
    基于深度学习立体匹配中的‘Cost Volume‘_第2张图片

  • 《Pyramid Stereo Matching Network》
    基于深度学习立体匹配中的‘Cost Volume‘_第3张图片

  • 我把PSMNet中 左右特征图的Tesnsor和最后合并的cost volume的size 都打印出来方便大家看,这里PSMNet的处理方式就是按列拼接。

load PSMNet
Number of model parameters: 5224768 
CNN-out torch.Size([1, 128, 96, 312])
output_branch1-before torch.Size([1, 32, 1, 4]) * 第一层金字塔上采样前的图
output_branch1 torch.Size([1, 32, 96, 312]) *第一层金字塔upsample后的图
output_branch2-before torch.Size([1, 32, 3, 9]) *2层金字塔上采样前的图
output_branch2 torch.Size([1, 32, 96, 312])*2层金字塔上采样后的图
output_feature: torch.Size([1, 32, 96, 312])  *左图特征图输出输出

CNN-out torch.Size([1, 128, 96, 312])
output_branch1-before torch.Size([1, 32, 1, 4])
output_branch1 torch.Size([1, 32, 96, 312])
output_branch2-before torch.Size([1, 32, 3, 9])
output_branch2 torch.Size([1, 32, 96, 312])
output_feature: torch.Size([1, 32, 96, 312])*右图特征图输出输出
cost volumn torch.Size([1, 64, 48, 96, 312]) *cost volume
  • 下面的图形象的说明了,cost volum
    1.这是一个金字塔 cost volume,不用看每一层,只看一个尺度的就可以了。
    基于深度学习立体匹配中的‘Cost Volume‘_第4张图片
    基于深度学习立体匹配中的‘Cost Volume‘_第5张图片
  • 一个知乎博客的问题很有趣,会给大家pow出来PSMNet:
    (1)关于cost volumn部分,这里还是很清晰的,其实一直不明白,为什么论文中Table1: cost volunme为concat left and shifted right明显是一个shifted另一个没有,但如果不是都shifted的话,就会缺少D这个维度,这里很是疑惑;
    基于深度学习立体匹配中的‘Cost Volume‘_第6张图片
    基于深度学习立体匹配中的‘Cost Volume‘_第7张图片

你可能感兴趣的:(立体匹配,深度学习,神经网络)