结构光投影三维面形测量及纹理贴图方法
1 引言
三维传感技术已成为时下研究热点,其中的光学三维传感方法发展势头迅猛,并以非接触、高精度、测量速度快等优点获得了业界学者们的青睐。目前,光学三维传感技术已在机器视觉、工业检测、文物保护、生物医学、影视特技、虚拟现实等领域得到广泛应用[1-8]。
双目立体视觉[9-11]属于被动三维传感技术,其结构简单、操作便捷,不需要人为提供光照条件,仅用两套成像系统获取二维图像完成三维面形的重建。然而,该技术在弱纹理区域容易产生匹配的多义性,导致相关操作难以进行。为了解决这个问题,业内提出了将主动传感与被动传感相结合的方法,即在双目立体视觉的条件下,使用结构光对被测物体进行辅助照明[12-14],增加双目匹配时的对应特征点。即使在弱纹理区域,利用结构光的相位信息也可准确实现双目系统的匹配。
随着应用需求的发展,物体三维数据的数字化不再单单以获得物体的高精度三维模型尺寸信息为最终目的。让三维模型表面附着上场景真实的颜色和纹理信息,使重建三维模型具有更强烈的真实感,同样也成为三维重建中不可或缺的一部分。因此,纹理映射技术应运而生,最早提出纹理映射概念的是Catmull[12],他给出了以像素(u, v)表示的纹理空间和以坐标参数(x, y, z)表示的三维空间之间的映射关系,随后Blinn[13]对该方法进行了改进,使得纹理映射结果更加自然。Bier[14]提出了两步映射法,通过引入中介曲面作为映射媒介,构建起从三维模型到纹理图像的映射关系。
早期传统的纹理映射方法大多是通过计算机生成纹理信息渲染添加到三维模型中,与物体本身所呈现的纹理样式差异较大,其三维模型与纹理图像的映射关系也并非真实存在于物理世界之中。学者们随后所研究的纹理贴图方法,则是利用实际拍摄的彩色照片作为待映射纹理图像,获取真实物体的三维模型与其纹理图像映射关系后,将纹理信息赋给三维点云,完成具有高真实感和还原度的三维重建。
在以实际拍摄图片作为纹理信息进行映射的研究中,所用方法大致可以分为两类:一类是不采用额外成像设备,在三维重建的数据记录过程中同时拍摄纹理图像,通过图像处理方式从所采集图像中提取物体纹理信息,利用深度图像与纹理图像的精确对应完成纹理映射;另一类是采用额外的纹理相机,该相机不参与三维重建过程,仅用于拍摄物体的纹理信息,通过确定纹理相机与重建系统的位姿关系来达到纹理映射的目的。第一类研究中由于不需要建立复杂的映射关系,因此其重点在于如何获取纹理图像。张宗华[15]等通过白光数字莫尔三维成像系统,利用傅里叶变换方法重建了物体的三维点云并从编码条纹中提取出不含条纹的R、G、B三分量信息,通过组合变换得到彩色纹理图像。孙士杰[16]等通过彩色编码的正弦相移光栅,通过改进的“2+1”相移算法实现了物体的三维面形重建并得到了彩色纹理信息。Liu[17]利用一个单色相机,通过投影仪投影三幅不同频率的正弦条纹和三幅均匀的R、G、B灰度图案,利用傅里叶变换方法恢复物体的三维面形,所采集到的三幅R、G、B灰度图像用于消除零频项的影响并同时用来组合生成物体的彩色纹理。
第一类研究中,在获得了物体的纹理信息后,即可简单、精确地实现纹理映射,但其纹理图像单一且分辨率受限。此外,彩色相机同时用于重建三维面形和获取二维纹理信息,通常会因为颜色串扰问题而影响三维重建的质量。
第二类研究中,Zhang[18]等通过一个额外的彩色相机获取物体的纹理信息,再用事先标定好彩色相机与黑白相机之间的关系来完成纹理映射。随后Ou[19]等为获得自然光照下的物体纹理信息,利用近红外相机标定过程中已有的棋盘格信息直接确定三维点云与纹理图像像素点间的映射关系。刘星明[20]等通过将纹理相机加入双目结构光系统中并保持它们之间的相对位姿关系不变,事先标定好纹理相机与双目系统的位姿关系,将不同视角下的点云以及纹理信息统一到同一坐标系下,完成了多视角的点云拼接及纹理映射。杜瑞建[21]等在双目结构光基础上增加一个长焦相机去获取高分辨率图像,通过二维特征匹配构建纹理图像双目左图的单应性矩阵,以其为桥梁构建起三维点云与纹理图像的映射关系,得到了高分辨率的纹理映射结果。赵琳敬[22]通过标定旋转轴参数,得到相机旋转角度与左右相机外参数变化关系,在旋转角度已知的条件下,可以确定不同视角的纹理图像与三维点云间的对应关系。
为了增强纹理信息记录和映射的工程实用性,本文针对如何获取高精度三维面形重建数据、无彩色相机条件下纹理映射及额外增加彩色相机情况下的自由纹理映射等内容展开研究,总结提出了三种不同场景下的纹理信息获取和映射方法。在三维重建环节采用了双目与条纹结构光相结合的测量方案,保证了对待测物体的高精度三维面形测量。在纹理映射环节,依照不同的使用场景,设计了在无彩色相机条件下,利用固有的双目系统去获取灰度纹理及彩色纹理的方案;为了获取丰富的多视角纹理,采用分辨率高、操作简单的智能手机作为额外的纹理相机,提出了两种纹理映射方案,仅只对纹理相机初始标定一次,即可简单、准确地完成自由纹理映射目标。
2 原理
2.1 固定视角纹理映射原理
本节针对于无彩色成像设备条件下的纹理映射任务展开研究,在利用双目结构光(条纹)方案重建被测物体的三维(3D)点云数据时,可以直接利用双目系统本身的两个相机同时获取被测物体的纹理信息。由于纹理信息以及点云重建的数据都来自同一个传感器,且视角固定不变,不涉及复杂映射关系的建立,仅需将双目端获取的纹理图像同样进行极线校正,即可保证3D点云与纹理图像像素点的一一对应。因此,该方法的关键在于如何获取物体在双目成像端的纹理信息。
通过将双目相机所拍摄到的相移条纹图样算术平均消去条纹强度周期分布,即可得到被测场景的灰度纹理信息,将其对应的灰度赋值给3D点云,即可完成灰度纹理贴图。
在3D点云和纹理数据获取的视角固定情况下,也可以获取到被测场景的彩色纹理信息,具体流程如
图 1. 固定视角彩色纹理信息获取流程
Fig. 1. Flow chart of the acquiring color texture information from fixed viewing angle
2.2 自由纹理映射原理
所谓自由纹理映射,是在保持焦距不变的条件下,纹理相机可以自由移动,利用不同摆放姿态拍摄目标的纹理图片完成纹理贴图。
要完成自由纹理映射,关键是在纹理相机位置发生改变时也要能准确获得其与双目系统的外方位参数。本文提出在被测场景上增设标记点,事先标定得到纹理相机的内部参数,当纹理相机任意移动拍图时,将被测物体纹理和标记点信息一起获得,通过标记点及时反映纹理相机的当前位置姿态。利用标记点在世界坐标系、纹理相机图像像素坐标系和双目左相机图像像素坐标系中的坐标位置变换关系,完成自由移动的纹理相机和双目系统的坐标位置转换,再根据成像模型得到3D点云与纹理像素的对应关系,最终完成自由纹理的贴图[23],其原理如
以图中红圈所标识的四个点作为空间位置已知的共面标记点,通过这四个点已知的空间坐标及它们在左相机和纹理相机像平面上的像素坐标可以求出标记点平面与左相机以及纹理相机像平面间的单应性矩阵
2.3 无约束自由视角纹理映射原理
利用增设标记点来确定双目系统与纹理相机之间的位姿关系,实现自由纹理映射的方法,对物体本身的纹理特征没有要求,但该方法依赖于辅助存在的标记点,需要在视场中设置四个已知空间位置的标记点,对某些测量场景来说不太方便、不适用。
针对纹理特征较为明显、纹理信息比较丰富的被测场景,我们提出一种新的纹理映射方法,在不增设额外标记点的条件下,通过自由纹理相机所拍到的彩色纹理图像与双目相机所拍到的灰度纹理图像建立起3D点云与纹理图像之间的映射关系。该方法希望能摆脱自由纹理映射任务对标记点的依赖,利用物体本征存在的特征信息完成自由纹理映射。
该方法具体过程是:首先采用特征检测算法对双目左相机捕获的灰度纹理图像与纹理相机记录的彩色纹理图像进行特征检测与提取,随后将两幅图中所提取到的特征进行匹配,并利用误匹配点消除算法剔除无效匹配点,获得正确的匹配点对。由于在三维重建过程中已经得到了左相机每个像素所对应的3D点云数据,因此以左相机图像上的像素点为媒介,可以建立起匹配点与3D点云的对应关系,也就得到了若干组空间点在左相机坐标系下的坐标位置以及它们在纹理图像上的像素坐标。本质上,该过程是已知N组3D到2D的对应点关系及相机内参,求解世界坐标系(左相坐标系下)与纹理相机坐标系之间的外方位参数关系问题,也即N点透视(perspective n-point, PnP)问题求解。
该方法原理如
图 3. 无约束自由纹理映射方法原理示意图
Fig. 3. Schematic diagram of the unconstrained free texture mapping method
通过EPnP算法[24]求解左相机坐标系与自由纹理相机坐标系之间的外方位参数
3 实验结果
3.1 实验装置介绍
图 4. 实验装置图。(a) 固视纹理映射实验装置;(b) 自由视角纹理映射实验装置
Fig. 4. Experimental setup of (a) fixed-view texture mapping and (b) free-view texture mapping
3.2 固定视角纹理映射实验结果
对一个羊脸面具进行了三维重建及固定视角下的灰度与彩色纹理映射实验,其实物如
使用
图 6. 羊脸面具纹理。(a) 低频(R通道)灰度纹理;(b) 中频(G通道)灰度纹理;(c) 高频(B通道)灰度纹理;(d) 未校正的彩色纹理;(e) 校正后的彩色纹理
Fig. 6. Sheep face mask texture. (a) Low frequency (R channel) grayscale texture; (b) Intermediate frequency (G channel) grayscale texture; (c) High frequency (B channel) grayscale texture; (d) Uncorrected color texture; (e) Corrected color texture
依据双目结构光三维重建原理恢复被测面具的3D点云如
图 7. 羊脸面具的三维重建与纹理映射结果。(a) 羊脸3D点云;(b) 校正彩色纹理贴图结果
Fig. 7. 3D reconstruction and texture mapping results of sheep face mask. (a) 3D point cloud of sheep face; (b) Corrected color texture mapping result
需要注意的是,该方法会存在因被测物体纹理颜色单一、且与高频条纹颜色互补时,所获取到的条纹图质量下降、影响相位质量的问题。因此,使用该方法时应根据被测物体主要纹理颜色分布,调节、交换三组相移条纹图的投影颜色,保证最高频率条纹投影颜色尽可能与物体主要纹理颜色最接近,以确保获得可靠的相位质量。
3.3 自由纹理映射实验结果
陶瓷猫脸模型重建3D点云的两个姿态结果如
图 8. 不同视角下的陶瓷猫脸重建3D点云
Fig. 8. Reconstructed 3D point clouds of a ceramic cat face from different perspectives
图 9. 纹理相机在不同位置获得陶瓷猫脸2D纹理及其映射结果。(a)~(b) 纹理相机自由拍摄的2幅纹理;(c)~(f) 分别对应于(a)~(b)纹理不同视角下的映射结果
Fig. 9. 2D textures of a ceramic cat face obtained from different positions by the texture camera and their mapping results. (a)~(b) Texture images freely captured by the texture camera; (c)~(f) Texture mapping results in different perspective views
从实验结果可以看出,从不同角度拍摄的纹理图像都与3D点云进行了较好的映射,未出现纹理走样、伪像等情况,且能有效表达由不同角度所带来的纹理之间差异,如亮度不同及反光点的移位等都很好地体现在纹理映射结果上,实验结果验证了本文方法的可行性。
3.4 无约束自由纹理映射实验结果
被测物体分别为表面有丰富纹理信息的人脸面具和狐狸面具,其实物图如
图 10. 待测物体实物图。(a) 人脸面具;(b) 狐狸面具
Fig. 10. Object to be measured. (a) Human face mask; (b) Fox mask
通过前文所介绍的双目结构光三维测量方案对待测物体进行三维面形重建,在重建获得被测物体的3D点云后,为验证所提方法能够实现自由纹理映射的目标(即可将自由角度拍摄的纹理信息对应映射到3D点云表面),分别用纹理相机在三个不同角度获取了物体的纹理信息,下文将简单称其为“纹理1”、“纹理2”、“纹理3”,将它们与双目系统所拍摄的灰度纹理图像进行特征匹配,通过EPnP算法计算其与双目系统的外方位参数关系。左右相机图像均可用来参与以上过程,以所能获取正确匹配点对的数量作为选择标准,在数量相当时,默认选择左相机图像参与运算过程。
人脸面具与双目系统左相机的外方位参数如
表 1. 左相机与不同位置纹理相机的外方位参数
Table 1. External orientation parameters of the left camera and the texture camera at different positions
|
图 11. 纹理相机在三个不同角度所拍摄到的人脸面具纹理图片
Fig. 11. Texture images of human face mask captured by texture camera at three different angles
图 12. 人脸面具的三维重建与纹理映射结果。(a) 重建点云结果;(b)~(d) 纹理1~3映射结果;(e)~(h) 对应于(a)~(d)结果的左视图;(i)~(l) 对应于(a)~(d)结果的右视图
Fig. 12. 3D reconstruction and texture mapping results of human face mask. (a) Reconstructed point cloud results; (b)~(d) Mapping results of texture 1~3; (e)~(h) Left view corresponding to (a)~(d) results; (i)~(l) Right view corresponding to (a)~(d) results
该方法第二个实验中,纹理相机在三个不同角度所拍摄到的狐狸面具纹理图片如
图 13. 纹理相机在三个不同角度所拍摄到的狐狸面具纹理图片
Fig. 13. Texture images of the fox mask captured by texture camera at three different angles
图 14. 狐狸面具的三维重建与纹理映射结果。(a) 重建点云结果;(b)~(d) 纹理1~3映射结果;(e)~(h) 对应于(a)~(d)结果的左视图;(i)~(l) 对应于(a)~(d)结果的右视图
Fig. 14. 3D reconstruction and texture mapping results of the fox mask. (a) Reconstructed point cloud results; (b)~(d) Mapping result of texture 1~3; (e)~(h) Left view corresponding to (a)~(d) results; (i)~(l) Right view corresponding to (a)~(d) results
4 结论及展望建议
针对传统三维重建只恢复了物体的3D点云信息,忽略了物体所携带的纹理信息这一问题,为了让物体重建的3D点云信息更加具有真实感,对不同硬件条件、不同待测物体3D点云的纹理映射方法进行了研究。分别提出了不同场景和要求下的纹理映射实用方法:无额外纹理相机时的固定视角灰度或彩色纹理映射方案、对测量物体纹理特征信息无要求的自由纹理映射方案,以及针对具有较为丰富纹理特征信息被测物体的无约束自由纹理映射方案,实验验证了本文提出三种纹理贴图方法的有效性。本文研究内容有望在文物保护、影视娱乐等领域得到应用。
本文所提出的通过增设标记点实现自由纹理映射的方案中,在待测大场景中设置空间位置已知且精确的标记点较为困难,如何在面临大场景贴图工作中对该方法进行改进需要进一步研究;无约束自由纹理映射方案会因为物体面形遮挡致使某些区域纹理信息的缺失或错误,后续将通过多视角纹理获取和融合等手段解决该部分纹理缺陷问题,实现3D测量结果整个区域高质量、完整的彩色纹理映射。两种自由纹理映射方案分别适用于不同测量场景及被测物体,目前尚未设计出一种所有场景的自由纹理通用贴图方案,后续将针对所提两种方案的优劣性,尝试做深入研究。
[9] 张广军. 视觉测量[M]. 北京: 科学出版社, 2008.
Zhang G J. Vision Measurement[M]. Beijing: Science Press, 2008.
[12] Catmull E E. A subdivision algorithm for computer display of curved surfaces[D]. Salt Lake City: The University of Utah, 1974.
[22] 赵琳敬. 三维点云智能进化拼接与表面纹理映射方法研究[D]. 天津: 天津大学, 2018. doi: 10.27356/d.cnki.gtjdu.2018.000668.
Zhao L J. Research on 3D point cloud intelligent evolutionary registration and surface texture mapping method[D]. Tianjin: Tianjin University, 2018. doi: 10.27356/d.cnki.gtjdu.2018.000668.
Article Outline
向卓龙, 张启灿, 吴周杰. 结构光投影三维面形测量及纹理贴图方法[J]. 光电工程, 2022, 49(12): 220169. Zhuolong Xiang, Qican Zhang, Zhoujie Wu. 3D shape measurement and texture mapping method based on structured light projection[J]. Opto-Electronic Engineering, 2022, 49(12): 220169.