这里写目录标题
双目相机立体匹配算法概述
双目立体匹配是计算机视觉中的一个重要研究方向,其目的是通过两个摄像头拍摄的图像来恢复场景的三维信息。本文将对传统算法和深度学习算法进行概述。
1.算法分类
2.传统算法
2.1 局部算法
局部算法主要基于窗口匹配的思想,计算左右图像中对应窗口的相似度。
SAD(Sum of Absolute Differences)
原理:计算左右图像对应窗口像素差的绝对值之和,值越小表示匹配度越高。SSD(Sum of Squared Differences)
原理:计算左右图像对应窗口像素差的平方和,同样值越小表示匹配度越高。NCC(Normalized Cross-Correlation)
原理:计算左右图像对应窗口的归一化互相关,值越大表示匹配度越高。
2.2 全局算法
全局算法通常将立体匹配问题建模为能量最小化问题,考虑整个图像的一致性。
图割算法(Graph Cuts)
原理:将立体匹配问题转化为图论中的最小割问题,通过最小化能量函数来获得最优视差图。信念传播算法(Belief Propagation)
原理:通过迭代地在图像的像素网格上传递"信念"来优化能量函数,最终得到全局最优的视差图。
2.3 半全局算法
半全局算法试图在局部算法的效率和全局算法的准确性之间取得平衡。
- SGM(Semi-Global Matching)
原理:在多个(通常是8或16个)方向上进行一维的路径代价聚合,然后将这些路径的代价进行加和,选择具有最小聚合代价的视差值。
3.深度学习算法
3.1 基于CNN的方法
- MC-CNN(Matching Cost Convolutional Neural Network)
原理:使用Siamese网络结构学习匹配代价,然后使用传统的代价聚合和优化方法得到最终视差图。
- GC-Net(Geometry and Context Network)
原理:端到端的3D卷积神经网络,直接从立体图像对预测视差图,无需显式的特征提取和匹配过程。
- PSMNet(Pyramid Stereo Matching Network)
原理:采用金字塔池化模块和3D CNN来规范化代价体积。首先使用共享权重的CNN提取特征,然后通过空间金字塔池化模块获取全局上下文信息。最后,使用3D CNN对代价体积进行规范化,得到最终的视差图。PSMNet能够有效地处理纹理较少的区域和遮挡问题。
3.2 基于GAN的方法
- StereoGAN
原理:使用生成对抗网络来学习立体匹配,生成器负责生成视差图,判别器负责判断生成的视差图是否合理。
3.3 基于transformer的方法
- STTR(Stereo Transformer)
原理:利用transformer的自注意力机制来建立左右图像间的对应关系,能够捕捉长距离依赖。
4.总结
传统算法在计算效率和特定场景下的表现上仍有优势,而深度学习算法在复杂场景下通常能获得更好的性能。未来的研究方向可能集中在如何结合传统算法和深度学习算法的优势,以及如何提高算法在实际应用中的鲁棒性和效率。
5.参考文献
[1]Scharstein, D., & Szeliski, R. (2002). A taxonomy and evaluation of dense two-frame stereo correspondence algorithms. International journal of computer vision, 47(1), 7-42.
[2]Hirschmuller, H. (2005, June). Accurate and efficient stereo processing by semi-global matching and mutual information. In 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'05) (Vol. 2, pp. 807-814). IEEE.
[3]Zbontar, J., & LeCun, Y. (2016). Stereo matching by training a convolutional neural network to compare image patches. The journal of machine learning research, 17(1), 2287-2318.
[4]Kendall, A., Martirosyan, H., Dasgupta, S., Henry, P., Kennedy, R., Bachrach, A., & Bry, A. (2017). End-to-end learning of geometry and context for deep stereo regression. In Proceedings of the IEEE International Conference on Computer Vision (pp. 66-75).
[5]Li, C., & Wand, M. (2016). Precomputed real-time texture synthesis with markovian generative adversarial networks. In European conference on computer vision (pp. 702-716). Springer, Cham.
[6]Li, X., Liu, S., De Mello, S., Wang, X., Kautz, J., & Yang, M. H. (2020). Joint stereo matching and optical flow estimation in feature space. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (pp. 12690-12699).
[7][Chang, J. R., & Chen, Y. S. (2018). Pyramid stereo matching network. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (pp. 5410-5418).