低成本微型结构光动态三维重建系统研究

2020-06-09 06:26赵子龙谷飞飞
集成技术 2020年3期
关键词:极线双目三维重建

蒋 斌 赵子龙, 宋 展 谷飞飞

1(湖南大学 信息科学与工程学院 长沙 410082)

2(中国科学院深圳先进技术研究院 深圳 518055)

1 引 言

随着移动设备计算能力与计算机视觉技术的飞速发展,三维(Three-Dimensional,3D)重建技术已逐渐应用于机器人技术、人机交互、面部识别、面部支付以及增强现实(AR)、虚拟现实(VR)等领域[1-3]。智能终端的 3D 视觉技术正朝着集成化、小型化和高精度等方向逐步发展。目前,3D 动态重建技术主要包括飞行时间[4-5]、双目立体视觉[6-8]和结构光(Structured Light,SL)技术[9-10]等。其中,飞行时间法具有集成度高和响应时间快的优点,但缺点是深度分辨率较低、存在大量噪声,且存在混合像素和多路径干扰问题。双目立体视觉系统称为被动视觉系统,其通过由两个相机构成的三角测量结构来恢复 3D 点云。该技术的难点在于特征提取和匹配,虽然近年来涌现了很多成熟的匹配算法,但算法匹配效率均较低,限制了双目立体视觉测量系统的实时性;另外,大多数算法只能提取稀疏特征,因此只能进行稀疏重建。SL 技术是一种主动式测量技术,通过在传统被动视觉技术的基础上增加光投射器,实现基于三角测量原理进行三维重建。与双目立体视觉技术相比,SL 技术解决了双目相机之间的特征匹配问题,并提高了弱纹理以及重复纹理等问题区域的重建精度。

根据所使用的编码方式的不同,SL 技术可以分为时间编码和空间编码两种。其中,时间编码 SL 技术通过投射多幅编码图像,可以实现高密度和高精度的 3D 重建,但不适用于动态重建[11-12];空间编码 SL 只需要单张编码图像即可实现 3D 重建,是重要的动态测量手段之一。空间编码图案一般可使用颜色、灰阶、几何图形作为编码元素[13-14],但重建的点云比较稀疏。因此,另一种基于光学投射散斑的空间编码 SL 技术被提出[2]。散斑 SL 技术使用光学投影仪将单张散斑图案投射到目标物体表面,然后利用双目相机实现特征匹配和三维重建。该方法在编码图案上的每个像素生成局部唯一特征,并且可以通过分析统计图案来唯一定位每个相机像素的对应位置,因此可实现高密度的动态三维重建。其中,随机散斑图案是最常使用的光学投射图案之一。相关研究中,Du 等[15]对红外散斑的设计和散斑的密度分布进行了深入研究;毛佳红等[16]针对工业元件的非接触体积测量问题,基于双目视觉设计了线结构光三维测量系统,其点云精度达到毫米级;汤其剑等[17]介绍关于数字散斑的相关技术以及重建方法,使用投影仪作为散斑发射器,分析并实现了亚像素级的三维重建;李靖等[18]设计了一种使用零均值归一化互相关算子(ZNCC)的快速深度信息恢复方法,并提出结合双目视觉与编码结构光的三维重建方法,重建平面的平均误差为 3.2 mm;Lim[19]针对双目立体视觉在弱纹理以及无纹理区域失效的缺点,使用投影仪投射非重复 De Bruijn 序列人为地创造纹理信息,搭建了一套工业相机的重建平台。

但是,上述涉及的视觉系统体积都比较大,且系统成本也比较高,故不适用于消费级别的移动智能终端。本文设计了一个具有短基线的低成本微型结构光系统。首先,采用“激光+衍射光学元件(Diffraction Optical Element,DOE)”的微型投射系统投射散斑图案,并利用低成本的双目相机模块采集图像;其次,提出一种高精度的双目立体标定方法获取双目相机的内部参数和外部参数;再次,提出一种准确的立体极线校正算法,实现了左右图像的极线校正;最后,基于三角测量原理得到三维轮廓测量数据。

2 理论基础

如上所述,大多数结构光系统都依赖于昂贵且高功率的投影设备。为了降低系统成本,本文在所提出的结构化光系统中使用了 DOE 发射器(图 1(a))。一般采用散斑 SL 技术进行三维重建的步骤包括:左右相机的立体标定、极线校正、立体匹配和三维重建。其中,影响三维重建精度的核心因素主要包括立体标定、极线校正和立体匹配算法,而立体标定精度和极线校正精度是实现图像特征准确匹配的前提。因此,本文着重研究高精度的双目标定算法和极线校正算法。本文系统算法流程如图 1(b)所示。

2.1 系统标定

图 1 本文结构光系统示意图(a)和算法流程图(b)Fig. 1 Schematic diagram (a) and algorithm flow (b) of the proposed structured light system

基于散斑结构光的高精度测量在很大程度上取决于双目相机是否精确校准。校准过程通常涉及恢复内部参数(即两个相机的光心、焦距和镜头畸变)和外部参数(即两个摄像机之间的刚性变换)。根据图 2 双目成像模型以及针孔成像模型,以左相机为例,左相机坐标系(Camera Coordinate System of the Left Camera,CCSL)的原点 OL为光心、左相机焦距为 fL,得到世界坐标点 与图像坐标点 的投影关系,如公式(1)所示。

图 2 双目成像模型Fig. 2 Binocular imaging model

2.2 非线性优化

优化过程中,最复杂的工作之一是计算 Jacobian 矩阵,该矩阵涉及针对未知相机参数的一组偏导数的计算。在本文中,偏导数通过使用一系列变换链[23]来计算,如公式(6~9)所示。

其中,公式(6)和(7)表示图像点坐标的归一化过程,公式(8)表示镜头畸变校正过程,公式(9)表示恢复 3D 点。链式转换表达式的优势在于可以使用链式规则获得所有必需的偏导数,具体如公式(10)所示。

2.3 图像校正

为了加快立体图像之间的特征匹配过程,本文提出一种基于两次旋转的极线校正方法。极线校正前后双目相机的变换如图 3 所示。在这种情况下,校正后右图像中的所有候选匹配点与校正后左图像保持在同一行。将左相机坐标系(CCSL)作为参考坐标系,校正之前右相机坐标系(CCSR)相对于左相机坐标系的变换为 。为了满足匹配过程中所有极线平行的目的,校正后的左相机坐标系和右相机坐标系应该在水平对齐。这也意味着校正后的左、右相机坐标系之间只有平移关系,而不存在旋转变换关系。

首先,假设双目相机光轴的夹角为 2θ。为了水平对齐左、右相机坐标系,需要将左、右光轴

图 3 立体图像的极线校正Fig. 3 Epipolar rectification of stereo images

图 4 极线校正的两次旋转Fig. 4 Two rectification of stereo rectification

对于左相机坐标系的平移关系 T 变化为式(13):

在第一次旋转之后,假设左、右相机光心 CLCR之间连线为 轴,虽然新光轴指向相同方向,但是不能满足新光轴与 轴的垂直关系。因此,需要对双目相机再进行一次角度为 β 的旋转(图 4(b)),且表示为 Rβ。假设 =[1, 0, 0]T,第二次旋转能够满足平移向量与 轴的对齐关系。新旋转轴 的方向可以通过 和 表示,如公式(14)所示。

其中, 为反余弦函数。可以用 唯一表示第二次的旋转轴,其中第二次的旋转角度 β 也可以通过式(15)计算得到。

通过本文提出的两次旋转法完成极线校正,可以得到新的旋转矩阵和平移矩阵,如公式(16)所示:

其中,rec 表示极线校正后的参数。通常选取双目相机光心平均值作为校正后的光心位置[24],但实际上平均法并不准确。这是因为经过校正的图像会受到扭曲和旋转的影响,而相应地,图像中心点也会遭受扭曲和旋转的影响,如图 5 所示。因此,当确定其他内部参数和外部参数后,应该通过已知参数求出图像中心坐标。首先,假设校正后的图像中心坐标为(0, 0)T,将原始图像的 4 个顶点{p1, p2, p3, p4}投影在校正后的相机坐标系中,得到:

2.4 3D 重建

根据第 2.1、2.2、2.3 节,可以得到最优的双目相机内部参数和外部参数。如图 7 双目针孔模

图 5 极线校正后成像中心的变化Fig. 5 Changes in imaging center after stereo rectification

图 6 极线校正例子Fig. 6 One example of image rectification in our system

图 7 三维重建的三角法则Fig. 7 Triangle rule for 3D reconstruction

3 结构光系统标定

3.1 试验设备

本文结构光系统原型由一台分辨率为 1 280×960 的双目红外模块和一台奥比中光 Astra Pro DOE 发射器组成,其中将发射器安装在双目红外模块中间,具体如图 8 所示。每个相机的尺寸为 12 mm×12 mm,相应基线为 50 mm。

图 8 实验平台搭建Fig. 8 Experimental setup

3.2 标定结果与分析

在双目标定阶段,将一张包含 16×11 个角点,每个方格大小为 15 mm×15 mm 的标定板摆放至视场中的不同位置,共拍摄 25 张图像用于本文结构光系统的标定,具体如图 9 所示。由于相机只能采集红外图像,此时可见光标定板图像无法清晰显示,因此实验中使用红外光源辅助打光,以使两个相机可以清晰地采集到标定板图像。系统的初始参数根据 Zhang[20]提出的方法进行标定,随后使用本文提出的优化算法对双目相机的焦距和光心参数以及相机之间的平移向量进行非线性优化,优化后的内部参数以及畸变系数如表 1 所示。其中,左右相机的焦距分别为 fL和 fR、光心分别为 cL和 c、畸变参数分别为 kL和 kR。优化后的外部参数如表 2 所示,其中 Tvec表示左右相机的平移向量,om 表示左右相机的旋转向量。经过两次旋转的极线校正后,双目系统的内部参数和外部参数如表 3 所示。

图 9 摆放方向不同的标定版Fig. 9 Calibration images with different orientation

表 1 结构光系统的内部参数和畸变校正系数Table 1 Intrinsic parameters and distortion coefficients of structured light system

表 2 结构光系统外部参数Table 2 Extrinsic parameters of structured light system

表 3 极线校正后的结构光系统参数Table 3 Rectified stereo parameters of structured light system

图 10 角点拟合平面误差Fig. 10 Corner fitting plane error

为验证优化算法的有效性,根据优化前后系统的标定参数对每幅棋盘格角点进行平面拟合。图 10(a)为每幅棋盘格角点平面拟合误差,图 10(b)为平面拟合误差下降百分比。可以看到,在优化后对标定板的角点进行平面拟合,虽然有 5 张图的拟合误差上升,但优化后的平面拟合误差平均降低了 8.09%,说明标定精度提高了。

4 三维重建

4.1 静态物体的三维重建

在本节中,选择表面弯曲的静态物体(如花瓶、圆锥和圆柱)进行重建实验以测试本文结构光重建系统。首先,原始捕获的图像放置如图 11(a-c)所示,DOE 发射器投射的斑点图案如图 11(d-f)所示,得到相应的深度图如图 11(g-i)所示。从图 11 可以看出,本文系统在复杂的表面上运行良好。图 12 为基于三角法则的重构带纹理的点云和 3D 模型的相应结果。可以看到,采用本文所提出的 SL 算法和系统,可以准确地重建出纹理丰富表面和纹理不丰富表面的三维轮廓数据。

图 11 三种曲面物体的深度估计Fig. 11 Depth estimation results of three curved objects by using the proposed system

图 12 三种曲面物体的试验结果Fig. 12 Reconstruction result of three curved objects by using the proposed system

4.2 动态物体三维重建

除了静态物体外,动态物体也是本文的测试对象。本文系统采用图 13(a)中捕获的挥动手臂进行动态物体三维重建。其中,设计的散斑投射在挥动手臂上如图 13(b)所示,得到的深度估计、带纹理的点云以及 3D 模型分别如图 13(c-e)所示。本文结构光系统面对动态物体的单帧重建速度为 0.1 s,可以满足部分场景,如人脸解锁等的实时重建需求。

4.3 对比试验

为了测试本文结构光系统的重建精度,分别使用本文提出的高精度标定算法和极线校正算法得到的优化标定参数,与传统标定方法[20]得到的标定参数进行三维重建并作对比。如图 14 所示,将标准球体、圆锥和圆柱作为重建的目标对象,在 60 cm 距离下进行精度对比,结果如图 15 所示。其中,球体直径为 15 cm,加工精度可达±20 μm;圆锥的直径为 15 cm,圆柱的直径为 10 cm,加工精度可达±10 μm。

从图 15 和表 4 可以看出,本文提出的系统具有更好的精度。其中,本文系统对球体重建误差为 1.05 mm,而传统方法的误差为 1.60 mm(比本文的高出 52.38%)。对于圆锥体,本文系统的测量误差为 1.58 mm,而传统方法的误差为 1.82 mm(比本文的高出 15.19%)。对于标准圆柱体,传统方法的重建误差比本文系统的高出 63.98%。由此可见,本文结构光系统在测量精度方面具有较明显的优势。

表 4 精度对比Table 4 Accuracy comparison

图 13 本文系统重建挥动手臂的实验结果Fig. 13 Reconstruction result of a waving arm by using the proposed system

图 14 三种标准体的图片Fig. 14 Picture of three standard objects

图 15 本文方法与传统方法的精度对比Fig. 15 Accuracy comparison with traditional methods

5 讨论与分析

本文提出一种微型结构光三维重建系统,相比于文献[15-19]搭建的测量系统,本文系统在极大地缩小硬件体积的基础上,实现了更高的测量精度。具体地,本系统采用更加精确的 BPP 投影模型实现了双目相机的高精度标定,同时采用基于两次旋转的极线校正方法,有效提高了极线对准的准确度。本文提出的校正方法具有以下 3 点优势:首先,双目相机每次旋转相同角度,所以能够最小化左右图像的特征差异;其次,校正前后的图像能够保持相同的分辨率,这对要求相同图像大小的密集匹配方法非常有利;最后,扩大可见区域确保了极线校正过程中图像的损失最小。相较于采用传统标定方法[20]的双目测量系统,采用标准体进行精度测试的结果表明,本文提出的系统具有更好的精度。其中,对于标准球体,传统方法的重建误差为 1.60 mm,而本文系统仅为 1.05 mm,精度提高了 52.38%;对于标准圆锥体,传统方法的重建误差为 1.82 mm,而本文系统的误差为 1.58 mm,精度提高了 15.19%;对于标准圆柱体,传统方法的重建误差为 2.64 mm,而本文系统仅为 1.61 mm,精度提高了 63.98%。由此可见,本文提出的微型结构光系统在测量精度方面具有明显的优势。

然而,本文系统在扫描速度方面还有待提升,单帧重建速度目前约为 0.1 s,相比于其他实时扫描系统,如 Intel RealSense 系列 3D 深度相机[2,25]、Microsoft Kinect 系列 3D 深度相机[4,26]等仍有一定的差距。这主要是由于本系统目前主要关注了系统标定参数的高精度标定,而采用的双目特征匹配算法效率较低导致的。接下来的工作中将尝试优化匹配算法,实现扫描速度的提升。

6 结 论

本文搭建了一套基于伪随机散斑编码的结构光系统,通过将带有伪随机斑点的单张图案投影到目标对象的表面上,并通过双目相机成像,利用特征匹配和三角原理恢复目标的深度和轮廓信息。为提高系统的测量精度,提出一种高精度的双目立体视觉标定算法和极线校正方法。经测试,所提出的结构光系统在使用优化的标定和校正参数的条件下,对圆球、圆柱等标准体的测量精度相比传统标定方法显著提升。其中,对球体的重建精度提高了 52.38%,对圆柱体的重建精度提高了 64.98%。本文系统在对不同纹理对象、静态物体和动态目标的重建中,均取得了较好的效果。在下一步工作中,将深入研究在短基线下的测量精度提高问题,以及大分辨率图像下双目特征匹配算法的效率提升问题。

猜你喜欢
极线双目三维重建
破解定值有妙法,极点极线显神威
基于Mimics的CT三维重建应用分析
基于双目测距的卡尔曼滤波船舶轨迹跟踪
一道高考试题的背景简介
基于双目视觉的高耸类游乐设施晃动测试方法研究
极点与极线的几何意义及应用
三维重建结合3D打印技术在腔镜甲状腺手术中的临床应用
基于双目视觉图像的长度测量方法
多层螺旋 CT 三维重建在肋骨及软骨损伤中的诊断价值
多排螺旋CT三维重建在颌面部美容中的应用