走进汉振
INTO HANCHINE
汉振分享 | 机器感知三维世界的典型方式——结构光法相关的那些事
日期:2019年06月14日

非接触式的3D成像方式根据是否提供光源分为被动式和主动式。工业环境中被感知工件的自然图像具备的纹理特征较少,使得被动式成像结果不尽如人意;而主动式方式则可以借助人为设计的特殊光源为工件添加的特征信息,获得稳定、准确的三维数据,其中的典型代表为结构光法,该方法在工业场景中得到了广泛应用。本文将从以下几方面介绍结构光法:


结构光法成像原理是可控光源向被测物体投射明显的特征信息,使得一些光滑的、缺乏纹理特征、无明显灰度和形状变化的表面有了可区分的纹理特征,那么就在相机、结构光源和每一个被测物点之间可构成的唯一的三角形,因此该方法也称为三角测量法。


根据结构光模板的不同可以分为点结构光法、线结构光法以及面结构光法。

点结构光法是将点状结构光投射到待测目标表面,此方法需要时间长、采集数量大,不适用于有高效率需求的工业应用。

线结构光法与点结构光法的不同之处是结构光模板为线型,且仅需一维扫描。该方法与点结构光法相比有效降低重构时间,但仍需花费大量时间对场景进行扫描,实时性差,如需完成对整个场景的扫描需额外增加机械扫描装置,增加了成本。


面结构光法的特点是所设计的结构光模板是经过二维的,能够一次性实现结构光对待测目标表面的编码,不需要扫描便可求出整个表面的深度数据,与点结构光法、线结构光法先比,大大提高了测量速度。面结构光法的关键在于巧妙设计投射图案。结构光的纹理空间分辨率直接影响测量精度和决定深度数据的空间分辨率。工业上为了平衡效率与精度需求,大量产品选用的方法便是面结构光法。


面结构光法测量系统一般由一个投影仪和一个摄像机组成,如图3所示。测量时用投影仪将设计的具有一定规律的光模板投射到场景中,并用摄像机拍摄经被测物体调制后的变形的结构光模板,然后利用所设计的模板图像与拍摄的图像结合三角关系求解出三维数据。三维数据的精度高度依赖系统的标定与模板图像与拍摄图像的匹配准确度。


正如前文中介绍的,结构光系统中包含一个光源和一个相机,该结构光系统也称为单目结构光系统。在对该系统分析与应用后,我们发现该单目系统对复杂结构成像时,会因遮挡造成数据的缺失,即存在盲区,正如下图所示。


在该情形下,使用单个投影仪与单个相机已无法完成对物体的完整扫描,于是增加一个相机成为解决该问题的途径之一,即单个投影仪和两个相机构成的系统,也就是双目结构光系统,如下图所示。在该双目结构光系统中可近似看做两个单目结构光系统的组合,在一侧相机中被遮挡的区域可通过另一侧相机所在系统获得的结果进行补偿,有效解决了遮挡问题。


相机与投影仪的标定精度直接关系着系统的成像精度。标定方法的选择是面结构光法的关键步骤。本文主要介绍两种单目相机投影仪标定方法,其中一种是Z坐标为有理式的标定模型、XY坐标是基于张正友标定模型;另一种是相机和投影仪均使用张正友的标定方法[1]


Z坐标标定的过程为求解式1最小化,并求得c1-c5d1-d6


XY坐标的标定模型为


其中m为图像中圆心的像素坐标(u,v),M为对应的圆心在由标定平台所确定的世界坐标系中的世界坐标。s为尺度因子,A为内参矩阵,R和T为外参旋转矩阵和平移向量。

该方法计算复杂度低,在三维重构过程中容易实现并行加速。弊端是该模型未考虑投影仪镜头的畸变,所得结果精度略低,另外,标定过程中需要提供精准的Z值,即对标定平台精度要求很高。


投影仪的模型被视为相机的逆过程,和相机模型采用同样的式3。


该方法标定数据采集容易,只需将标定板随意摆一些姿态,标定模型可考虑相机和投影仪的镜头畸变,使得标定精度相比前一方法更高。弊端是重构时计算复杂度高,并且并行加速的难度略大。


为了提高所得深度数据的精度以及测量速度,面结构光的编码方式则是另一关键研究课题。目前面结构光法的编码方式主要分为时间编码、空间编码以及直接编码三类编码方式,如表1所示。

参考文献


[1] Zhengyou Zhang. Flexible Camera Calibration By Viewing a Plane From Unknown Orientations. IEEE International Conference on Computer Vision, 1999, pp.


[2] J. Garcia and Z. Zalevsky. Range Mapping Using Speckle Decorrelation. US patent No.7433024, 2008.


[3] J. Tuliani. De Bruijn Sequences with Efficient Decoding Algorithms. Discrete Mathematics, 2001, vol. 226, no. 1, pp. 313-336.


[4] T. Etzion. Constructions for Perfect Maps and Pseudorandom Arrays. IEEE Transactions on information theory,1988, vol. 34, no. 5, pp. 1308-1316.


[5] J. L. Posdamer, M. D. Altschuler. Surface Measurement by Space-encoded Projected Beam Systems. Computer Graphics and Image Processing, 1982, vol. 18, no. 1, pp. 1-17.


[6] D. Scharstein, and R. Szeliski. High-accuracy stereo depth maps using structured light. IEEE Conference on Computer Vision and Pattern Recognition, 2003, pp. 195-202.


[7] V. Srinivasan, H. Liu, M. Halious. Automated Phase-Measuring Profilometry: a Phase Mapping Approach. Applied Optics, 1985, vol. 24, pp.185-188.


[8] Mohit Gupta, Shree K. Nayar. Micro Phase Shifting. IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2012, pp. 1-8.