概念

在目前的消费级3D传感器中,双目立体视觉是比较常见的结构。然而,本文所讲的双目散斑立体视觉系统与单纯的双目立体视觉有些不同(最终使用的原理是一样的)。双目散斑立体视觉系统由两个相机和一个随机散斑投射器组成,有人可能会把该种结构归类为结构光系统,不过从计算方法上来分,它还是属于双目立体视觉。

原理



双目立体视觉python_立体视觉

图1 立体视觉系统 在传统的双目立体视觉中(如图1所示),核心问题是如何从匹配图像中找到对应于参考图像的对应点。 传统的立体匹配算法通常都会遵循以下几个步骤: a.匹配代价计算; b.代价聚合; c.视差计算; d.视差精细化。 虽然目前已经存在很多立体匹配算法,不过都无法有效解决以下几种情况: 1)高反光物体;

双目立体视觉python_三维重建_02

2)没有纹理;

双目立体视觉python_双目立体视觉python_03

3)重复图案;

双目立体视觉python_三维重建_04

在以上三种情况中,高反光情况目前没有比较好的解决方法,但是后两种情况可以通过添加投射图案的方式来解决。 因为后两种情况都会导致在立体匹配过程中无法唯一确定哪一个是正确的匹配点,而通过投射具有全场唯一性的图案来给立体匹配增加健壮的匹配纹理,将会大大提高立体匹配的精度。

匹配效果

匹配图片



双目立体视觉python_立体匹配_05

双目立体视觉python_双目立体视觉python_06

匹配结果

双目立体视觉python_立体匹配_07

重建结果

双目立体视觉python_三维重建_08


双目立体视觉python_立体视觉_09