简介
这篇文章制作了一套基于散斑结构光的双目成像系统,包含两个相机和一个衍射光学元件(DOE)投射器。然后,提出了四点算法上的改进:
- 散斑图案算法的设计
- 提出高精度的双目相机标定方法以及改进的极线校正的方法
- 提出改进的SGM方法
算法
硬件系统和算法流程:
1.散斑图案的设计
增加散斑信息是为了丰富场景的纹理,而散斑的纹理的丰富程度是跟散斑点的间隔以及亮度衰减范围相关的。所以先来认识一下这两个重要参数。文章指出,这两个参数是相关的。
如图所示,散斑的亮度分布其实就是高斯分布,亮度衰减范围(BAR)定义为亮度衰减在95%以内的范围。BAR受两个主要因素影响:(a)制造 DOE 投影仪的光学设计和工程能力,以及(b)投影距离。因此,一般来说,BAR都是确定的,所以,我们最好的确定间隔的方法就是将间隔设置为和BAR一样,如图(d)所示,这样,既能保证散斑点不重合,也能保证散斑的纹理丰富。文章给出了散斑图案的生成算法:
算法中提到的constraint window其实就代表散斑点的间隔。
可以用文章附录A中的算法进行纹理丰富程度的评估,有兴趣可以研究一下。
下面给出稳重生成的散斑图案:
2.相机标定和极线校正
他提出了新的相机标定的方法,以及极线校正的方法,因为笔者不是研究这一块的,所以也没有看这部分。
3.基于改进的SGM的立体匹配
由于SGM算法的惩罚项是显式的假设正面平行,也就是假设邻域的视差是一致的,但这个假设在倾斜表面的曲面并不成立,就会导致文章中提到的阶梯效应,:
这个图笔者确实没有看懂,如果各位大佬看明白的话,请在下方留言。
所以文章对惩罚项进行了小小的改进。
原来的惩罚项:
改进的惩罚项:
其实就是将视差差值为1的以及为0的惩罚都设为0,其实这不像是一个改进,更像是一个简化,简化了模型的参数。见仁见智吧。
实验结果
附录A
借鉴
在DOE使用和散斑图案的设计和散斑参数的选择上有一点参考价值。