贺嘉伟,许新科,孔 明,张 波,王道档,郭天太,赵 军
(1. 中国计量大学计量测试工程学院,浙江 杭州 310018; 2. 上海市计量测试技术研究院,上海 201203)
面结构光三维测量属于主动式光学测量技术,该方法通过向被测物投射包含相位信息的条纹,并用相机获取经被测物形貌调制后的发生扭曲变形的条纹图,通过相位解算技术来获得被测物的三维信息[1-2]。由于其高精度、高效率、低成本以及非接触的优势,它被广泛应用于实物仿形、工业检测、医学诊断等领域[3]。结构光三维测量可有效地测量重构以漫反射表面为主的物体,而对表面以镜面反射为主的物体进行测量时,由于相机接收光线过饱和,采集图片中往往会出现镜面反射光,即高光,导致测量出现重构形面塌陷或无法重构等问题。尤其面对表面纹理复杂的小型金属物体时,其镜面反射方向不一,单一的高光抑制技术例如偏振法[4]难以达到最佳效果,同时,仅使用偏振法进行消光往往会使得原漫反射区域亮度过低,而导致解相失败。事实上,表面高光影响的消除一直是该领域的研究难点与热点。
文献[5-6]利用漫反射与镜面反射所产生的高亮信息在RGB空间中呈T型分布的性质对物体的高亮区域进行有效恢复,但由于高光区域颜色信息由光源决定而非物体本身,对于金属导体材质物体的三维测量效果较差。ANAND A K[7]采用喷涂法消除被测物表面的反光,但此法会产生新的测量误差,同时,喷涂剂可能会对物体表面造成腐蚀。王中任等[8]提出了一种以颜色空间变换和多项式调校的方法,该方法主要针对单幅图像的金属零件表面进行高光抑制,然而在光照过强时,抑制效果有限。柴玉亭等[9]采取基于频域滤波的方法抑制高光,但其测量效果取决于物体表面的曲率变化,有一定局限性。
为使结构光三维测量技术可有效重构小型金属物体,本文在颜色空间转换法基础上进行针对性改进,提出一种金属表面高光抑制方法。该方法利用偏振镜对单波长光线的选通滤波性来达到大面积消除高光区域的目的,同时利用蓝光的抗干扰性增加系统鲁棒性,并实现了一种色度亮度分离的强化消光算法以修补被测形面上的残余高光点,达到高光抑制目的。相比传统偏振法,该法仅需一块偏振镜,简化测量流程。同时,现有的基于颜色空间转换的方法主要用于单幅图像的高光消除,而该方法对于结构光三维测量流程的适配性则更强。
所设计的结构光三维测量系统如图1所示。系统由图像采集系统、条纹投影系统以及参考面组成,并在相机镜头前加装偏振镜。投影仪光心与相机光心的连线EF同参考面平行。本实验使用四步移相法[10],由投影仪投出4幅相位差为 π /2的正弦条纹图,分别投影于参考面及被测物体上。当条纹被投影到被测物体上时,条纹会由于受物体形面调制将产生扭曲,从而与原始条纹图形成相位差。由图可知,被测物D点所引起的相位差等于原始条纹图中A点与B点之间的相位差,通过计算A、B两点之间的相位差可即得到物体的高度h。
图1 结构光三维测量系统
由相位关系和测量系统结构可得到高度-相位差映射公式:
式中:T——投影条纹节距;
∆ϕ——A、B两点的相位差;
h——被测点高度;
d——相机与投影仪光心之间的直线距离;
L——光心与参考面的直线距离。
为降低高光对测量的影响,提出蓝光偏振选通滤波方法,该方法结合了蓝光抗干扰性强及偏振镜的选通滤波特性,可大幅度降低物体表面镜面反射分量。所选用偏振镜由特定方向的光栅构成,用于过滤振动方向不同的光。若自然光通过偏振镜,由于其光波振动方向各不相同,可分解为两束互相垂直、振幅相同的线偏振光,表示为式(2),由该式可以看出其光强等于自然光投射光强的一半,无论如何旋转偏振镜,都无法达到选通滤波的作用;当偏振光经过偏振镜,根据马吕斯定律[11],其光强如式(3)所示。
式中:I0——入射光强;
Ix、Iy——互相垂直的两束线偏振光;
I——出射光强;
E0——入射光振幅;
α、 β——入射光偏振角与偏振镜调制角。
由式可见,随着偏振镜的转动,( α−β)发生改变,出射光强度I的值将会发生周期性变化,可达到消除高光的效果,因此,测量系统需保证物体表面反射光为偏振度较高的偏振光。
分析金属表面光线反射过程,如图2所示,从物体表面反射过程来看,当光线经物体表面反射时,入射光与反射光可分解为两个正交矢量。结合菲涅尔公式[12],反射光与入射光矢量振幅比如式(4)、(5)所示。进一步根据Stokes矢量定义推导出金属表面偏振光反射过程的Mueller矩阵[13]。定义入射光Stokes矢量反射光矢量,两者关系如式(6)~(10)所示。
图2 金属表面光线反射过程
式中:Erx、Eix——反射光与入射光垂直于入射面的光学矢量;
Ery、Eiy——反射光与入射光平行于入射面的光学矢量;
i1——入射角;
i2——折射角;
φx、 φy——两正交矢量的相位角。
上式中的4阶方阵即为描述金属表面偏振光反射过程的Mueller矩阵,当入射光为偏振光时,x、y方向光矢量反射比及相位角改变程度均不同,尤其当入射光为水平或垂直线偏振光时,入射角i1与折射角i2相等,反射光Stokes矢量为线偏振光,其余情况则为椭圆偏振光,利用偏振镜可达到良好的效果。自然光经表面反射后,由于金属导体材质的表面特性[4],rx与ry值相差较小,由式(6)得反射光矢量偏振度较低,其反射光经偏振滤波后仅表现为总体光强的减弱,通过旋转偏振镜很难达到理想的高光抑制效果。
为此,本文使用3LCD投影技术投射正弦条纹,它将光分为红、绿、蓝三原色并分别通过液晶板后相互作用实现光源投影,三种色光为偏振性各不相同的偏振光,经偏振镜选通滤波后,与偏振方向平行的光分量通过,则合成的光强如式(11)所示。当偏振角 θ发生变化时,经选通滤波后的光源各分量强度也将发生变化,但分量之间光强具有互补性,因而整体光强变化较小,主要表现为接收光颜色的变化,如图3所示,采用白光条纹投影将使偏振镜的选通滤波作用失效。
图3 白色光源偏振选通滤波效果
式中:I——接收光强度;
θ——偏振镜偏振角;
Er、Eg、Eb及 θr、θg、θb——红、绿、蓝光振幅及偏振角;
E′——实际操作中的误差。
当通过偏振镜的光为单波长的光时,光的偏振性一致,式(11)中的光强分量将只有一项,此时通过改变 θ可使得接收光强度发生改变。
因此,实验选择单色光条纹投影。由于蓝光波长处于400 nm与480 nm之间,其波长相较红、绿光更短,具有较高的能量,因而有较强的抗干扰性,故实验选择蓝光进行条纹投影。
如图4所示为投影仪投射蓝光条纹时的偏振选通滤波效果,转动偏振镜,光强度会发生改变,且金属物表面的反射光强度变化较漫反射平面更为剧烈,达到去除金属物体表面高光的目的。
图4 蓝色光源偏振选通滤波效果
然而,随着高光区域光强度的减弱,漫反射区域亮度也将小幅下降,在抑制高光区域光强度的同时,也会导致部分区域灰度值过低,因此要注意合理选择旋转角度,尽可能将反射光偏振角与偏振镜的角度差保持在20°与40°之间,避免条纹亮度过低。
虽然采用蓝光偏振选通滤波方法可以大幅度抑制高光影响,但对于高光过强点无法得到完全抑制,因而需进一步采用算法对剩余高光点进行处理。
为对剩余高光点进行抑制,提出增强高光去除算法。该方法主要利用物体表面反射光的亮度色度信息进行处理。RGB颜色空间中,由于R、G、B三个分量均含有亮度信息,故在RGB颜色空间内消除图像高光较为困难。YCbCr颜色空间是一种亮度与色度相互独立的颜色空间[14-15]。在此基础上,本文提出一种亮度色度分离消光算法以消除被测物残余高光区,流程如图5所示,具体过程如下。
图5 算法流程图
1)进行高光像素点的判断。高光现象的产生主要是由于光强度超过相机动态范围导致部分区域过度曝光,使图像灰度值达到上限。利用算法对金属塞尺进行模拟降曝光处理,如图6(a)、(b)所示,其中漫反射区域亮度下降迅速,而高光区域光强度远高于相机动态范围,亮度下降缓慢,与漫反射区域分离。因此,对被测物图像进行模拟降曝光处理,接着对其进行YCbCr颜色空间转换,转换公式如式(12)。获得Y值分量后,每一矩阵元素代表图像上的对应像素点。进一步分析图像Y值,根据图像整体亮度设定阈值,当Y值所属矩阵中的元素值大于该阈值,则该元素所代表的像素便可认为是高光像素点。最后,遍历每一个像素点,重复以上操作,生成高光区域掩膜,如图6(c)所示。
图6 模拟降曝光前后图像
2)将四幅被调制条纹图按式(12)进行颜色空间转换,在得到原图像YCbCr颜色空间信息后,结合高光像素位置的判断结果进行高光区域修复处理。其步骤如下:
①分别对Y、Cb与Cr值进行归一化处理,如图7所示。这样做可使各分量值矩阵以灰度图的形式呈现,便于后续的分析处理。
图7 Y、Cb、Cr分量
② 分别对3个分量进行像素填补处理,从高光区域周围搜索符合要求的像素点来代替高光像素点。针对本实验所采用图像,由图7可见,高光区域Y值过高,而Cb与Cr值较之周围过低。通过多组实验与邻域像素点的比对分析,当两像素点Y值差在0.3以内,Cb值差在0.4以内,Cr值差在0.15以内时,像素填补处理效果最好,故以此设定符合条件像素点进行替换填补,并沿条纹方向依次进行像素点判断,直至得到可替换像素点。
3)将所得图像经式(13)逆变换得到增强算法处理后的结果,如图8所示,残余高光点经处理后基本得到消除,高光点灰度值饱和度也有所下降,所得结果即可代替原图进行相位解算。
图8 算法处理前后图像
实验系统如图9所示。其中,正弦蓝光条纹采用算法编码;系统标定环节已包含偏振镜,采用张正友标定法对相机内外参数进行标定,随后使用逆相机法标定投影仪,获得公式(1)中的系统参数d、L。测量过程中,采用相机采集4幅调制条纹图像,并分别对其进行去高光处理,随后进行相位解算,将结果代入式(1)得到三维重构图。实验设置原图重构结果与利用文献[8]进行消光处理后被测对象重构结果为对照组。系统采用索尼EX120投影仪,图像采集采用大恒MER2-302-56U3C工业相机,分辨率为1 536×2 048 dpi,曝光时间设置为 166 ms,标定得到系统中L=401.357 5 mm,d=128.650 4 mm,正弦条纹经投影采集后条纹节距T=27.849 1pixel,偏振镜旋转角在35°左右。
图9 实验系统
实验分别采用1元硬币、钥匙与1 mm金属塞尺作为实验对象,其原图、利用文献[8]方法消除高光结果与本文方法消除高光效果如图10~13所示。可以看出,文献[8]方法可使被测物曝光度总体下降,恢复部分细节,但对于条纹信息的恢复效果较为有限,由于直方图均衡化处理,条纹信息也发生一定改变。由图可见,本文方法消除了大部分高光,同时有效恢复了条纹相位信息,保证细节完整。
图10 1元硬币去高光处理效果
图11 钥匙去高光处理效果
图12 1 mm塞尺去高光处理效果
图13 1元硬币重构效果
图13、图14、图15分别为1元硬币、钥匙与1 mm 金属塞尺三维重构结果对比,(a)、(b)、(c)分别为拍摄原图、利用文献[8]所述方法及本文方法重构结果。由于高光影响,三组实验均出现了较大重构解相失败或大误差区域,经文献[8]处理后可有效抑制高光对三维重构的影响,但方法较为局限,同时,直方图均衡化的过程存在破坏原有相位信息的可能,最终导致重构结果出现新的误差,如图15(b)所示。而本文所提出的方法在保持原有信息完整情况下,对高光抑制效果显著。
图14 钥匙重构效果
图15 1 mm塞尺重构效果
经统计,每组中重构失败点数目如表1所示。对于硬币、钥匙,文献[8]方法使高光点数目分别降低为原来的36.03%,27.32%左右。同时,文献[8]消除了塞尺前端大部分高光影响,但由于破坏了后端位置原有相位信息,导致其解相失败。经本文方法对三组实验进行高光处理后,高光点数目分别降低为原来的6.35%、4.48%、6.22%左右。
表1 处理前后重构失败点数目对比
本文提出了一种适用于条纹投影结构光三维测量的小视场金属表面高光抑制法,该方法利用蓝光的抗干扰性与偏振镜选通滤波作用大面积去除高光,结合算法的作用恢复表面残余高光点,并利用对比实验证明其可行性。本研究针对小视场金属物高光的抑制,相比颜色空间转换法与传统偏振法有着更好的抑制效果。此外文本所提方法适用于形面纹理复杂程度不同的对象,有着较高的灵活性与泛用性。但对于部分光强过强处,本文方法仍无法完全恢复其信息,多存在于高度跳变处,针对该问题,计划通过调整系统参数及完善像素恢复算法来解决。