基于彩色结构光的自由曲面三维重建方法 下载: 1184次
1 引言
三维重建技术一直是计算机视觉、逆向工程、虚拟现实等领域的研究热点,其能够直观地展现待测物体的空间几何形态,尤其在逆向工程中的模型制造、医学中的牙齿模具构建,以及在虚拟现实领域中的空间深度感知互动等各个领域都有广泛应用[1-2]。目前三维深度获取方式主要分为接触式和非接触式两大类,其中:基于接触式的三维重建方法精度较高,但是存在待测物体表面易受损以及人工参与过多的问题;而基于结构光非接触式三维重建方法,其主要利用光学原理获取待测曲面的三维信息值[3],可有效避免上述存在的问题。
在基于结构光的三维重建研究中,国内外研究学者提出了种类繁多的编码方法,根据编码图案的不同,这些方法主要分为两大类,一类是多幅编码结构光图案,另一类是单幅编码结构光图案。
多幅编码结构光图案主要采取的方式为时序编码图案(二值编码、相移编码等)。如:文献[ 4]通过将时序编码的结构光图案投射到待测物体表面,实现了对深孔内表面凹槽深度的三维深度测量。针对编码结构光三维重建过程中涉及的阶次噪声干扰问题,文献[ 5]提出了无损阶次校正算法,有效解决了阶次噪声问题。文献[ 6]通过在解包裹过程中附加一系列的解相位约束条件,解决了结构光相位解包裹时出现的相位跳跃问题,得到了平滑的相位。文献[ 7]在研究结构光三维重建过程中,为了提高具有高反射率表面的待测物体的重建精度,提出了分区投射的结构光饱和区域补偿方法,实现了饱和区域边界的平滑过渡,有效地减小了亮度饱和引起的重建误差。
单幅编码结构光图案包含了连续变化编码图案(彩色逐像素编码和连续变化彩色编码)、条纹图案(彩色条纹编码图案、分段条纹编码图案、灰度条纹编码图案)、网格图案和混合图案等。如:文献[ 8]将颜色信息作为编码码元设计出彩色编码条纹图案,该编码图案要求相邻的条纹具有不同的颜色码元信息值;文献[ 9]利用De Bruijn序列对彩色结构光的颜色码元进行编码,生成了5元3级的彩色编码结构光图案,为了提高调制条纹和原始编码条纹之间的匹配正确率,引入动态规划思想进行编码特征的匹配。为解决投影仪-相机系统因色度耦合串扰导致颜色码在解码过程中受损的问题[10],文献[ 11]对颜色串扰消除问题进行归纳分析,针对不同解码方法设计不同的彩色编码码元。由于解码的关键是对调制的码字进行识别和匹配,文献[ 12]提出了一种改进的规则化颜色特征不变量,文献[ 13]构建向量梯度算子,并结合Canny算子进行调制条纹的边缘检测。为了获取调制条纹边缘颜色信息值,需采用聚类算法以及颜色不变量对调制图像进行颜色码值的识别和归类。
虽然上述彩色结构光编解码方法取得了较好的结果,但都会面临投影仪-相机系统受色彩保真度和分辨率的影响,以及调制条纹的同源像素点匹配难度大等问题,为此本文重点研究调制条纹图案的解码方法。首先将调制条纹编码图像转换到YUV色彩空间中,利用滤波差分投影提取条纹边缘,利用亚像素提取中心条纹,同时对调制条纹颜色码进行聚类识别处理,有效提高了调制条纹颜色码解码的识别正确率,最后利用基于序列特征的组合优化匹配方法,实现调制条纹与编码条纹间的码字特征匹配,结合仿人眼视觉深度感知模型,求解出编码码字的空间三维信息值。
2 基于De Bruijn的彩色结构光编码图案设计
在彩色结构光编码设计的过程中,为了充分利用颜色码信息值,根据解码过程中码元的唯一性,利用De Bruijn序列的伪随机特性对颜色码元进行编码。a元b级的De Bruijn序列为颜色码元字母表包含a个码元、生成长度为ab的循环码元序列。在该循环码元序列中,长度为b的子序列码元都具有唯一性。De Bruijn编码序列由反馈移位寄存器生成,生成过程中,需要先设定本原多项式和前b个子序列码元,再进行反复迭代,产生大小为ab-1的码字序列。利用De Bruijn序列的伪随机特性生成彩色编码条纹序列,将红、绿、蓝三原色结合对应的补色以及白色构成7种颜色码元,以充分利用颜色信息值;接着,对7种码元分别用数字1~7进行标号处理,使得每一个颜色码元值都对应唯一的数字标号,随后利用De Bruijn按照数字标号生成7元3级的数字序号序列表,同时在生成数字序号序列表的过程中,确保任意子序列窗口中3个编码序号具有唯一性。利用上述过程中,生成如
3 彩色编码结构光的解码方法
基于彩色结构光三维重建技术的核心问题是建立投影仪投射的空间编码图案与相机采集的空间调制图案之间的特征对应关系。由相机和投影仪构成的视觉单元,受系统硬件对像素点的干扰以及外界环境干扰的影响,使采集到的调制条纹发生非线性变化,进而导致彩色条纹图像解码错误率高,重建精度低,为此提出了彩色结构光解码方法,对待测物体求解空间信息值。三维重建系统的流程图如
图 2. 基于彩色结构光的三维重建系统流程图
Fig. 2. Flow chart of 3D reconstruction system based on color structured light
3.1 基于滤波差分投影的调制条纹边缘提取
解码调制条纹的关键是对调制条纹和编码条纹进行同源特征点匹配,然而待测物体表面的拓扑结构复杂,调制条纹图像存在错位以及散射等现象,故在对调制条纹的特征匹配之前,需先提取条纹的边缘信息。鉴于调制条纹识别及边缘定位提取时,直接利用RGB模型会存在颜色耦合问题,且调制条纹在边界定位过程中,调制条纹的亮度值大于待测物体本征表面的亮度值,由于YUV颜色空间中的亮度信息Y和色度信息U、V是分离,故考虑将RGB颜色空间模型转换到YUV颜色空间模型中。
对调制彩色条纹转换到YUV颜色空间后,Y颜色通道用于表征由视觉单元感知的待测物体表面的色彩亮度变化情况。鉴于视觉单元在该阶段主要是对调制条纹进行定位,且调制条纹的亮度信息在按行进行处理的过程中会呈现起伏变化,将Y颜色通道中的信息值单独提取出来,并将其描述为YC通道,表达式为
式中,调制条纹图像的像素点为(CR(i),CG(i),CB(i)),对应的YUV颜色空间信息值为(CY(i),CU(i),CV(i)),其中i为视觉单元按行扫描时对应下标信息值,L为按行扫描宽度。
式中,Δ为滤波差分的阶次,该值的设定要求不能大于视觉单元投射的编码条纹的宽度值。通过(2)式对YC通道中的条纹码元进行一阶滤波差分投影得到
图 4. 一阶线性滤波差分投影的波形分布
Fig. 4. Waveform distribution of first-order linear filter differential projection
由于彩色编码结构光图案中相邻条纹码元用黑色码元进行分割,故当其投射到待测物体表面时能够很好地区分相邻条纹。对YC通道进行二阶滤波差分sdif(i),表达式为
调制条纹的亮度值在YC通道中呈现高低起伏变化,利用二阶线性滤波差分投影可以获取调制条纹的边界位置。
图 5. 二阶线性滤波差分投影的波形分布
Fig. 5. Waveform distribution of second-order linear filter differential projection
3.2 调制彩色结构光条纹中心特征线提取
条纹图像因外界环境等因素干扰出现了像素散射和畸变现象,为此考虑将调制条纹的中心位置作为待匹配的条纹特征值。考虑到投影仪投射的条纹图像具有光强分布特性,本研究采用线索引导的中心条纹特征提取方法。首先,利用线性滤波差分投影获取调制条纹的波形分布,提取初始中心的特征值,然后将初始值和条纹的法线方向进行泰勒表达式展开,精确获取条纹中心特征值。将YC通道中的图像转换为矩阵MYC,该矩阵的行、列对应图像中的行、列像素值,为了能够精准地提取中心条纹位置,求解图像转换矩阵MYC对应的梯度向量协方差矩阵VM,表达式为
式中:MYC(x,y)为矩阵MYC的矩阵元;Cov(·)表示协方差运算,
由于条纹中心线具有对称性,故期望值E(rx)=0,E(ry)=0,为此在协方差矩阵VM进行展开时能够进一步简化,即
式中:Φ是以初始中心特征值为中心构成的邻域区域,协方差矩阵VM最大特征值对应的特征向量υ1便是条纹中心特征的法向量,表达式为
利用特征向量υ1求解单位向量ω=
式中:β为偏移量;rmm,rmn,rnm和rnn分别图像在(m,n)处的二阶偏导数。由于条纹中心具有∂MYC/∂β=0,可得
进而解算调制条纹中心的精确特征位置(m+βwm,n+βwn)。
3.3 基于聚类中心线的调制条纹颜色码识别
待测曲面会对彩色条纹图像产生光线反射和光能量吸收,进而导致调制条纹颜色码信息值降低。从
图 6. 颜色码元在RGB空间中的点簇中的分布。(a)干扰情况下的点簇空间分布;(b)理想情况下的点簇空间分布
Fig. 6. Distribution of color symbols in point clusters in RGB space. (a) Point cluster space distribution in the case of interference; (b) point cluster space distribution in the ideal case
利用颜色码的初始信息值,求解各个颜色码到空间聚类中心线Lc的欧氏距离d,其距离最小的聚类中心线归为颜色类别c;接着对各个归属到同一个颜色类别c的点簇组合成为矩阵Mc,求解Mc协方差矩阵Λc,表达式为
式中R,G,B表示红绿蓝三通道。
求解(9)式中矩阵Λc最大特征值对应的特征向量,即隶属于相同类别c点簇中心线的方向向量Vc=(vc,r,vc,g,vc,b)。利用聚类中心线的方向向量Vc和聚类原点坐标Oc,求解欧氏距离d,表达式为
式中:C为编码结构光中设定的颜色码种类数,
由于线性方程组A·Oc=N中矩阵A的行列式非零,所以矩阵A具有可逆性,故可利用Oc=(A)-1·N,解算出待迭代更新的聚类原点坐标Oc。利用求解的Oc动态拟合出各个颜色码的空间聚类中心线,并利用(9)~(12)式更新聚类原点坐标,直至各个调制条纹中心线对应的颜色码元不在发生变化,停止整个聚类迭代过程。
3.4 基于序列特征的组合优化匹配方法
鉴于彩色条纹码字匹配是码元序列的组合优化匹配问题,提出了一种基于序列特征的组合优化匹配方法。a元b级的De Bruijn编码码元序列P={p1,p2,…,pZ},其中Z=ab,对调制条纹进行码字特征提取后得到待匹配码元序列Q={q1,q2,…,qG},其中G为待匹配码元个数且G≤Z,条纹码元子序列匹配关系为φ={(
式中:(pi,qj)∈Y,ψ(ϕ)为匹配状态ϕ对应的目标函数值,pe(ε)和qh(ε)分别对应于内核码元pe和qh归一化的RGB值,利用ϕ*=arg
式中:δ0为惩罚值,Δ(pi,qj)为码元pi与qj间的差异程度。
通过动态求解条码码字匹配的最优解,反复迭代待匹配条纹码字的最长内核码集,通过基于序列特征的组合优化匹配方法,有效解决了非连续码字匹配问题。利用求解的匹配关系结合双目视觉原理以及事先标定的投影仪和相机的参数信息值,即可求解出调制条纹码字特征的三维信息值,从而获得待测自由曲面的三维信息值。
4 实验分析与讨论
开始进行待测物体三维重建之前,首先利用计算机生成设计的彩色编码结构光图案,通过投影仪将彩色编码结构光图案投射至待测物体表面。将待测物体与投影仪-相机系统的距离保持在1 m左右范围内,然后调整相机的参数以及相机与投影仪间的夹角(小于90°),使得投射的条纹图案能够清晰地呈现在相机视野范围内;接着固定投影仪和相机的位姿恒定不变,然后对投影仪和相机进行系统参数标定。实验过程涉及到的系统硬件结构相关参数信息如
为了验证所提方法的有效性,将编码的彩色结构光条纹图案投射到
表 2. 三维重建精度对比
Table 2. Comparison of 3D reconstruction accuracyunit: mm
|
表 1. 系统设置
Table 1. System setup
|
图 9. 部分调制条纹波形决策分析。(a)一阶滤波差分波形分布;(b)二阶滤波差分波形分布
Fig. 9. Decision analysis of partial modulation fringe waveform. (a) Distribution of first-order filtering difference waveform; (b) distribution of second-order filtering difference waveform
图 10. 调制条纹的特征处理。(a)条纹二值化分割图像;(b)调制条纹中心特征
Fig. 10. Characteristic processing of modulation fringe. (a) Binarization of fringe segmentation image; (b) center feature of modulated fringe
为了定量评估中心特征线提取方法的有效性,在相同的环境下,与文献[
16]进行对比实验。利用文献[
16]进行调制条纹中心线提取,如
图 11. 调制条纹中心线提取的漏检对比。(a)文献[ 16]条纹中心线提取;(b)本方法条纹中心线提取
Fig. 11. Comparison of missed detection of center line extraction of modulation fringe. (a) Extraction of stripe centerline in Ref. [16]; (b) extraction of stripe centerline in this method
调制条纹中心线提取完成以后,对调制条纹颜色码进行识别。文献[
16]采取调制条纹中心特征对应的颜色信息直接进行码元赋值,得到的颜色码图如
图 12. 调制彩色结构光条纹颜色码识别。(a) 文献[ 16]的条纹颜色识别;(b)本文的条纹颜色码识别
Fig. 12. Recognition of color code for modulated color structured light stripes. (a) Stripe color recognition in Ref. [16]; (b) stripe color recognition in this paper
5 结论
在单幅彩色编码结构的光解码过程中,调制条纹中心特征的提取极易受到待测自由曲面的纹理、光波反射等因素的干扰,解码精度较低,为此提出了基于彩色结构光的自由曲面三维重建方法。首先,利用滤波差分进行波形决策分析,精确提取调制条纹中心特征信息值;接着,利用基于聚类中心线的调制条纹颜色码识别方法,解决彩色编码条纹的光线反射和光能量吸收等问题,有效提高了调制条纹颜色码识别的正确率;最后,利用基于序列特征的组合优化匹配方法,解决了调制条纹中非连续码字序列特征的匹配问题。通过对比实验可以看出,本文方法在解码过程降低了条纹漏检率,提高了条纹颜色码识别正确率以及待测曲面的三维重建精度。
[1] Vo M, Narasimhan S G, Sheikh Y. Separating texture and illumination for single-shot structured light reconstruction[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2015, 38(2): 1-15.
[2] 周京博, 李玥华, 秦志英, 等. 基于参考靶标的线结构光传感器标定[J]. 光学学报, 2019, 39(4): 0412005.
[4] 丁超, 唐力伟, 曹立军, 等. 基于结构光的深孔内表面凹槽深度测量[J]. 仪器仪表学报, 2018, 39(3): 54-61.
[5] 邓吉, 李健, 封皓, 等. 编码条纹投影技术的阶次校正算法[J]. 仪器仪表学报, 2018, 39(8): 250-258.
[6] 陈松林, 赵吉宾, 夏仁波. 多频外差原理相位解包裹方法的改进[J]. 光学学报, 2016, 36(4): 0412004.
[7] 刘飞, 何春桥, 申爱民, 等. 结构光饱和区域分区投射优化补偿方法[J]. 光学学报, 2018, 38(6): 0612001.
[9] ZhangL, CurlessB, Seitz SM. Rapid shape acquisition using color structured light and multi-pass dynamic programming[C]∥Proceedings of First International Symposium on 3D Data Processing Visualization and Transmission, June 19-21, 2002, Padova, Italy.New York: IEEE Press, 2002: 24- 36.
[10] 李华, 杨帆, 杨华民, 等. 条纹颜色分离与聚类[J]. 光学精密工程, 2016, 24(5): 1206-1214.
[11] 张宗华, 连晓洁, 高楠. 彩色复合条纹投影测量系统串扰消除方法[J]. 光学学报, 2018, 38(8): 0815005.
[13] 唐苏明, 张旭, 屠大维. 彩色伪随机编码结构光解码方法研究[J]. 光电子·激光, 2015, 26(3): 548-558.
Tang S M, Zhang X, Tu D W. Research on the decoding method for color pseudo-random coding structured light[J]. Journal of Optoelectronics·Laser, 2015, 26(3): 548-558.
[14] 邢承滨, 邓兴升, 徐康. 基于置信区间估计理论的改进型移动曲面算法[J]. 光学学报, 2020, 40(3): 0328001.
[15] Yeh W C, Lai C M, Chang K H. A novel hybrid clustering approach based on K-harmonic means using robust design[J]. Neurocomputing, 2016, 173: 1720-1732.
[17] Wang Z Z, Yang Y M. Single-shot three-dimensional reconstruction based on structured light line pattern[J]. Optics and Lasers in Engineering, 2018, 106: 10-16.
Article Outline
杨帆, 丁晓剑, 曹杰. 基于彩色结构光的自由曲面三维重建方法[J]. 光学学报, 2021, 41(2): 0212001. Fan Yang, Xiaojian Ding, Jie Cao. 3D Reconstruction of Free-Form Surface Based on Color Structured Light[J]. Acta Optica Sinica, 2021, 41(2): 0212001.