基于改进的自动多曝光和数字光栅投影技术的强反射表面形貌测量

2024-01-15 09:48雷经发孙寅张淼李永玲赵汝海孙虹
光子学报 2023年12期
关键词:照度光栅条纹

雷经发,孙寅,张淼,李永玲,赵汝海,孙虹

(1 安徽建筑大学 机械与电气工程学院,合肥 230601)

(2 工程机械智能制造安徽省教育厅重点实验室,合肥 230601)

(3 过程装备与控制工程四川省高校重点实验室,自贡 643000)

0 引言

在结构光三维形貌测量中,数字光栅投影法[1-4]因具有高效、便捷、高精度等优点,在工业生产领域中被广泛应用,但对于强反射物体表面的测量,由于采集到的条纹图像出现局部过明或过暗现象,造成后续计算存在相位缺失,导致测量精度降低。

为实现强反射物体表面形貌的精确测量,国内外学者提出了多种解决方法。贺晚秋等[5]通过在相机前增设数字微镜增加相机动态范围,避免部分像素点出现过饱和现象,但该方法需要通过多项式拟合数字微镜和电荷耦合器件(Charge Coupled Device,CCD)相机坐标阵列的对应关系,计算量大且过度依赖外部硬件;SUN J 等[6]通过在高反射三维曲面投射自适应条纹解决高反光问题,但相机和投影仪之间较难进行准确的坐标映射且条纹计算过程较为复杂;姜宏志等[7]研究发现反射光亮度范围与相机动态范围不一致易造成光栅条纹的解相失效,通过向被测物投射明暗条纹及在不同曝光时长下采集多组图像,利用多曝光融合技术合成一组适合三维测量的条纹图像来解决上述问题,但投射明暗条纹的亮度需根据反射模型的波尖波瓣确定,过程较为复杂;ZHANG S 等[8]提出了使用多重曝光的高动态范围(High Dynamic Range,HDR)扫描技术,通过将不同曝光时长下采集的多幅图像融合为一组相移图来进行三维测量,但该方法的曝光时长和曝光次数需要测量人员根据经验判断,易出现测量误差;李兆杰等[9]提出一种基于自动多次曝光的测量方法,通过设定的测量灰度值范围和曝光时长范围确定基准点和基准曝光时长,并基于基准点的灰度值随曝光时长的变化拟合出相机响应曲线,计算出合适的曝光时长和次数,将不同曝光时长下的图像进行融合后进行三维重建,但该方法预设的曝光时长范围和测量灰度值范围需要测量人员根据经验来判断,难以保证测量精度;FENG S J 等[10]提出利用灰度直方图计算多次曝光时长的方法,通过对被测物表面反射率进行直方图分组,根据反射率预测曝光时长最终合成HDR 图像,但当被测物表面反射率比较复杂时无法准确预测曝光时长,影响测量精度。

以上方法虽能在一定程度上降低强反射表面对形貌测量精度的影响,但仍存在三维点云重建率不高的情况。因此,本文在文献[9]的基础上,提出一种基于改进的自动多曝光和数字光栅投影技术的强反射表面形貌测量方法。首先,通过拟合出的系统灰度响应曲线确定合适的灰度值测量范围,进而确定曝光时长范围并用拟合出的相机响应函数计算出曝光时长和次数;然后,利用CCD 相机采集不同曝光时长下向被测物投射的纯白图像和光栅条纹图像,将投射纯白图像下采集的图像制成掩膜与对应的光栅条纹图依次相乘,并对得到的图像进行线性变换后叠加,保证原本出现高光区域的附近不会出现新的高光区域;之后再通过对数变换调整图像的对比度,使原本过暗的区域灰度值提高,得到一组HDR 的光栅条纹图;最后通过解相计算得到被测物的三维点云数据。

1 基本原理与方法

1.1 物体表面反射模型分析

强反射表面反射形式可用混合反射模型[11]来表示,如图1 所示。

图1 混合反射模型Fig.1 Mixed reflection model

图1 中,漫反射波瓣产生的反射光具有均匀的亮度分布,不受拍摄角度影响;镜面反射波尖和波瓣产生的反射光亮度高,易造成过度曝光,影响相机准确采集图像。相机在理想状态下能够准确记录各像素点的强度,但当被测物表面的反射率过高时,相机可能无法捕捉到被测物表面的所有细节,导致采集的图像中某些区域出现过明现象。

1.2 相机响应函数

相机响应函数[12]反映了各像素点灰度值V与曝光量H之间的对应关系,如图2 所示。曝光量取决于照度值E和相机持续曝光时长T,且H=E×T。在相机其他参数不变的情况下,相机响应函数f可表示为

图2 相机响应曲线Fig.2 Camera response curve

相机获得图像的强度范围为0~255,因此,当曝光量高于或低于某个阈值时,所获取的灰度值不能够准确地反映场景的真实亮度。

1.3 改进的自动多曝光图像融合方法

在测量具有强反射表面物体时,采用单次曝光会出现曝光过度或曝光不足的问题,获取的光栅条纹图像也会出现局部失真导致相位缺失。自动多曝光图像融合技术是一种通过计算当前场景下被测物所需的曝光时长和次数,利用图像融合技术将多幅低动态范围图像合成一幅HDR 图像的方法,该方法可以保留条纹图像中的更多细节,有效克服局部失真[9,13,14]。对自动多曝光图像融合技术进行改进,首先通过系统灰度响应曲线确定合适的测量灰度值范围,然后由基准点拟合出相机响应曲线,从而计算出曝光时长和次数,最后将不同曝光时长下采集的多组条纹图像通过线性变换和对数变化合成为一组HDR 的条纹图像,具体流程为:

1)确定测量灰度值范围和曝光时长区间

首先,相机固定后保持其他参数不变,设置固定的相机曝光时长,用投影仪向白色背景板投射一组以一定步长,强度范围从0~255 的灰度图,并同步抓取图像,计算每张图像的平均灰度值,然后将投影灰度值大小作为自变量,计算得到的平均灰度值作为因变量,通过多项式拟合出系统灰度响应曲线[15]如图3 所示,由响应曲线可知,相机在灰度值V1~V2段表现出良好的响应关系,由相机响应函数的固定不变性可得出,图3中V1~V2段为图2 中所需的测量灰度范围V1~V2,进而确定曝光时长范围T1~T2;当曝光时长为T1时,被测物表面的最大灰度值不能超过V2;曝光时长T2时,被测物表面的最小灰度值不能低于V1。

图3 系统灰度响应曲线Fig.3 System grayscale response curve

2)确定基准点并拟合相机响应曲线

由文献[9]中的方法,在曝光时长T1~T2范围内,从T1开始以一定步长ΔT逐步增加曝光时长至T2,用相机同步采集并保存各曝光时长下的图像,遍历图像统计出各图像中灰度值在V1~V2范围内点的个数,范围内点的个数最多的图像为基准图像Pb,该图像对应的曝光时长为基准曝光时长Tb;选取Pb中灰度值为V1的点作为基准点。由图2 可知,基准点照度值相同,可假设为任意非零常量,文中选为200,H1~H2段的相机响应函数,可由式(2)表示。通过从基准曝光时长Tb开始逐步增加曝光时长,以基准点灰度值随曝光时长从V1到V2的变化,拟合出相机响应函数。

式中,a1、a2、a3、a4、a5为响应系数。

3)计算曝光时长和曝光次数

为获得多曝光图像融合时所需的曝光时长和次数,需计算出最小照度值Emin和最大照度值Emax;从Tb开始逐步增加曝光时长,当图像中最小灰度值大于等于V1或曝光时长超过T2时停止,利用被测物上灰度值最接近V1值时对应的曝光量和此时曝光时长,通过式(3)计算出最小照度值Emin。

从Tb开始逐步减小曝光时长,当图像中最大灰度值小于等于V2,或曝光时长低于T1时停止,利用被测物上灰度值最接近V2值时对应的曝光量和此时曝光时长,计算最大照度值Emax。

根据计算得到的Emin、Emax、H1和H2值计算曝光时长,采用不同曝光时长与不同照度值范围相对应的思想,求取曝光时长和次数,其原理示意图如图4 所示。曝光时长计算公式及最大照度更新公式为

图4 照度值划分示意图Fig.4 Schematic diagram of illuminance value division

式中,H1、H2分别为V1、V2对应的曝光量,Ti为计算出的第i次曝光时长,Eti为在Ti曝光时长下更新的最大照度值。

在计算得到新的曝光时长后,重新计算最大照度值,得到新的照度值范围,再对下一次曝光时长进行计算;重复此过程直到Emax≤Emin时终止,此时得到曝光时长T1,T2,…,Tn-1,Tn即为最终的曝光时长。

4)多曝光图像融合

第一步,在计算得到的N个曝光时长下,投影仪按照曝光时长从大到小的顺序向被测物投射纯白图像和4 幅相移为π/2 的条纹图像,将相机采集到的纯白图像依次存入序列I中,光栅条纹图像依次存入序列JS中,光栅条纹图像用JiS表示,其中S=1,2,3,4,i=1,2,3,…,N,先对序列I中图像进行高斯去噪,减少图像噪声干扰,再利用式(5)制作掩膜图像序列M。

式中,Ii(a,b)为序列I中第i幅图像(a,b)点的像素灰度值,N为曝光次数。在制作的掩膜图像中若目标区域外出现干扰点,可以通过腐蚀和膨胀算法将其去除。

第二步,将M序列中的掩膜图像与JS序列中的光栅条纹图像依次相乘生成新的条纹图像后进行线性变换,降低图像的亮度和对比度,存入序列FS,避免对不同曝光时长下图像叠加时出现新的高光区域。计算公式为

式中,Mi(a,b)为M序列中第i幅图像在(a,b)处的像素灰度值,JiS(a,b)为序列JS中第i幅图像在(a,b)处的像素灰度值,FiS(a,b)为序列FS中第i幅图像在坐标(a,b)处的像素灰度值,α用于改变图像对比度,β用于调整图像整体的亮度。

第三步,将不同曝光时长下的光栅条纹图像合成一组相移为π/2 的光栅条纹图像,用序列TS表示,其合成公式为

式中,TS(a,b)表示合成光栅条纹图像在坐标(a,b)处的像素灰度值。

第四步,为了获取被测物暗部区域的更多细节,选取合适的系数采用对数变换的方法可以有效提高暗部区域的灰度值,且对原本灰度值较高区域影响较小[16],将处理过的图像保存至序列K中,计算表达式为

式中,KS(a,b)为对数变换后图像在坐标(a,b)处的像素灰度值,c为常数,TS(a,b)/255 是对光栅图像T的灰度值进行归一化处理,使其灰度值范围为0~1,v为参数。图5 为c取1,不同v值下对数变换曲线,当v越大,灰度值提升越明显,且曲线在灰度值较低的区域斜率较大,对比度的提升更为突出。最后乘以255 将灰度值范围恢复到0~255。

综上,先利用系统灰度响应曲线确定测量灰度值范围,进而确定曝光时长范围、基准曝光时长和基准点,再利用基准点灰度值随曝光时长的变化拟合相机响应函数,根据响应函数计算出照度值范围由不同曝光时长对应不同照度值计算出曝光时长和次数;将不同曝光时长下的掩膜图像序列M与条纹图像序列JS相乘生成新的条纹图像后进行线性变化得到图像序列FS,进一步融合为一组相移为π/2 的条纹图像TS,最后通过对数变换将图像TS变化为具有更多暗部细节的图像KS。改进的自动多曝光图像融合方法流程如图6所示。

图6 改进的自动多曝光图像融合方法流程Fig.6 Flow chart of the improved automatic multi-exposure image fusion method

1.4 相位解算及点云获取

采用四步移相法来提取条纹图像中的相位主值[17,18],光栅条纹图中光强表达式为

式中,Ii(a,b)为第i幅条纹图中(a,b)点的灰度值,I′(a,b)为图像的平均灰度值,I″(a,b)为图像的调制灰度值;φ(a,b)为条纹图中被包裹的相位主值。四步相移法提取相位主值为

对式(10)中的φ(a,b)通过双频外差解包裹法[19-21]求解绝对相位主值。再通过盖绍彦等[22]提出的模型和标定方法计算出三维点云。

2 实验与结果分析

实验设备是由DLP 投影仪(EPSON-C760X)和Congex 工业相机组成的单目结构光测量系统。实验时,先将相机固定,保持相机曝光时长和其他参数不变,通过投影仪依次投射灰度值为0,5,10,…,245,250,255 的52 张灰度图至白色背景板,将投影灰度值大小作为自变量,相机采集图像的平均灰度值作为因变量,通过多项式拟合出系统灰度响应曲线如图7 所示。由图可看出在曲线的中间段,相机具有良好的响应关系,确定相机响应强度范围为100~230,即设置拟合相机响应函数的测量灰度值范围为100~230;进而确定曝光时长范围为0.01~0.6 s,曝光步长设置为0.001 s,基准点照度值设置为200。

为验证本文方法的普适性,选择表面具有强反射特性的标准块作为测量对象,根据所提的方法计算出基准曝光时长为0.237 s,并在基准曝光图像上找到像素灰度值为100 的点作为基准点,通过基准点灰度值随曝光时长变化的对应关系采用最小二乘法求解式(2),结果为

相机响应曲线如图8 所示。

图8 相机响应曲线Fig.8 System grayscale response curve

通过拟合的相机响应函数和测量灰度值范围,计算出曝光量范围为48.162 8~114.187 8 lx·s。结合曝光时长计算出相对最小照度值Emin为84.496 1 lx,相对最大照度值Emax为11 418.78 lx。根据求取的最大和最小照度值,计算出曝光时长T分别为749.1 ms、315.96 ms、133.267 ms、56.21 ms、23.709 ms、10 ms。

根据相机响应函数的固定不变性,在相机其他参数不变的情况下测量场景的光线亮度不会改变相机响应函数,则拟合出的相机响应曲线可适用于不同被测物,用于求解各像素灰度值对应的曝光量,进而计算出照度值范围,最后通过式(4)计算得到不同被测物的曝光时长。选择强反射表面物体标准块、水泵压板护套和回程盘作为测量对象,由于其表面材质不同,具有不同的反射特性,各参数值的选择也不相同,得到的最小和最大照度值及曝光时长等参数如表1 所示,其中α和β为线性变化的系数,c和υ为对数变换的系数,通过多次实验对比分析选取出相应参数的较优值。由表1 中各被测物的照度值可知水泵压板护套表面反射最强,进行多曝光图像融合时计算得到的曝光时长相较于其它被测物最小。

表1 被测物各参数值Table 1 The parameter values of the measured object

对上述三种样件分别投射两种不同频率的光栅条纹,条纹节距分别为34 pixel 和36 pixel,采用四步相移和双频外差解相法得到图像的相位信息。以标准块为例,在计算出的6 个不同曝光时长下采集6 组每组8 幅的光栅条纹图像和一组投射白光的6 张图像,图9 为6 个不同曝光时长下采集的条纹节距为34 pixel 的第一张光栅条纹图像。将投射白光的图像由式(5)分别制作成掩膜图像,再将每组图像中的掩膜图像分别与对应的条纹图像相乘得到新的光栅条纹图,并对各组光栅条纹图像进行线性变换后根据式(7)进行叠加,线性变换的系数取值α为0.25,β为0。新的6 组光栅条纹图经叠加后合成一组无高光区域但图像暗部细节不够明显的光栅条纹图,之后通过对数变化提升图像的暗部细节,对数变换的系数取c为1,υ为5,最终得到所需要的高动态且具有良好暗部细节信息的8 张光栅条纹图像。

图9 标准块在不同曝光时长下的条纹图像Fig.9 Striped image of standard blocks at different exposure times

为了验证本文方法的有效性,针对上述三种样件分别采用投影栅相位法、文献[8]方法、文献[9]方法和本文改进方法对被测物表面进行形貌测量,得到标准块、水泵压板护套、回程盘在不同方法下的光栅条纹图像,如图10~12 所示。

图10 不同方法下的标准块条纹图像Fig.10 Stripe images of standard blocks under different methods

图11 不同方法下的水泵压板护套条纹图像Fig.11 Stripe images of water pump pressure plate sheath under different methods

图12 不同方法下的回程盘条纹图像Fig.12 Stripe images of the return disk under different methods

图10~12 中(a)图分别为三个样件采用投影栅相位法获得的光栅条纹图像,由于三种被测物表面均具有强反射特性,采集到的图像中都存在部分区域过明现象,导致投射的光栅条纹被破坏,且该方法获得的图像条纹破坏最严重。图10~12 中(b)图分别为三个样件采用文献[8]方法合成的条纹图像,由于该方法中曝光时长通过经验确定,难以准确地选取合适的数值,其虽能在一定程度上减少局部区域过明现象,但仍然存在灰度值接近255 的像素点,对光栅条纹产生干扰,且该三幅图像中暗区域灰度值都普遍较低。图10~12 中(c)图是对三个样件分别采用文献[9]方法得到的条纹图像,该方法虽能较为准确地自动获取曝光时长,但合成的条纹图像接近255 的像素点均未被滤除,且与文献[8]方法相比,原本暗区域灰度值提升较小。图10~12 中(d)图分别为采用本文改进方法获得的三个样件的光栅条纹图,此方法能较为准确地自动获取曝光时长,通过对不同曝光时长下获得的条纹图像进行线性变换后叠加,去除了原本像素灰度值接近255 易造成高曝光的像素点,之后采用对数变换进一步提升暗区域细节,最终获得既无过亮又无过暗区域的光栅条纹图像。

将不同方法在通过相位解算和参数标定后,分别计算得到三个样件的三维点云数据,如图13~15所示。

图13 不同方法下测得的标准块点云图像Fig.13 Point cloud images of standard blocks measured by different methods

图14 不同方法下测得的水泵压板护套点云图像Fig.14 Point cloud images of water pump pressure plate sheath measured by different methods

图15 不同方法下测得的回程盘点云图像Fig.15 Point cloud images of return disk measured by different methods

由图13~15 可知,由于投影栅相位法仅在单次曝光下对样件进行测量,被测物表面的强反射特性对光栅条纹破坏最为严重,所呈现的点云图像效果最差,点云缺失部分较多,无法准确构建出被测物的三维形貌;文献[8]方法在根据经验确定曝光时长条件下,通过多曝光融合方法获得三个样件的点云图像,虽能有效改善过曝区域造成的点云缺失现象,但过暗区域的点云仍然出现丢失的情况;文献[9]方法融合后的图像受到灰度值接近255 像素点的干扰,三个样件生成的点云图像中都存在小部分点云缺失,且对于暗区域的灰度值提升不够明显,尤其是测量具有孔洞以及台阶的样件时易造成点云丢失的情况;本文方法在较为准确地自动获取曝光时长的基础上,结合线性变换和对数变换能够有效对三个样件进行形貌测量,更为完整地获得过曝和过暗区域的点云数据,该方法相较于其他三种方法获得的点云数据最为完整。

为了更直观地反映本文方法对强反射表面物体形貌测量的有效性,以喷有显像剂的被测物测得的点云个数作为基准值,将不同方法检测的点云个数进行对比,如表2 所示。

表2 不同三维测量方法测得的点云数及重建率Table 2 Number of point clouds and reconstruction rates measured by different 3D measurement methods

通过表2 中数据可以看出,采用投影栅相位法获得的点云信息缺失最为严重,标准块、水泵压板护套、回程盘的点云重建率分别只有81.11%、82.82%和84.38%;文献[8]方法可以分别测出87.44%、88.60%和91.30%的点云数,但仍存在点云缺失的情况;文献[9]方法分别获得了三个样件92.88%、90.72%和96.90%的点云,虽在一定程度上提高了点云重建率,但仍存在少量点云缺失的情况,尤其在测量具有孔洞以及台阶的样件时点云易造成缺失;而采用本文方法测得的点云数均达到99%以上,三个样件的点云重建率分别为99.80%、99.20%和99.40%,检测精度最高,可以较为准确地实现强反射表面物体的形貌测量。

为了进一步验证本文方法的测量精度,将三块长度不同,宽度一致,高度均为9 mm 的标准块垒叠成标准阶梯块,分别用本文方法和文献[11]方法测量阶梯块两个平面之间的高度差;本文方法获得的光栅条纹如图16(a)所示,对获得的点云图像进行拟合后测得平面1 和平面2 之间的高度差结果如图16(b)所示;不同方法测量结果如表3 所示。

表3 不同方法对标准阶梯块高度差的测量结果Table 3 Measurement results of height difference between standard step blocks using different methods

图16 三阶梯块高度差测量Fig.16 Three step block height difference measurement

由表3 数据可得,本文方法测得阶梯块高度差的相对误差为+1.108%,文献[11]方法测得的相对误差为+1.297%,表明本文所提方法能够获得较高的测量精度,更好地解决强反射表面的高光问题。

3 结论

针对三维测量中具有强反射特性的被测物表面过明或过暗导致点云缺失的问题,本文在文献[9]方法的基础上,提出一种基于改进的自动多曝光和数字光栅投影技术的强反射表面形貌测量方法。利用相机响应曲线的固定不变性,引入输入灰度值与相机之间的响应关系确定合适的测量灰度值范围,再由基准点灰度值随曝光时长的变化计算相机响应函数,然后利用相机响应函数结合测量灰度值范围准确计算出照度值范围,从而计算出曝光时长和次数,最后将不同曝光时长下采集的光栅图像序列进行线性变换和对数变化后合成新的条纹图像序列。利用所改进的方法分别对标准块、水泵压板护套和回程盘进行形貌测量,并与投影栅相位法、文献[8]方法和文献[9]方法计算出的点云图像进行对比分析,实验结果表明本文方法点云重建率达到99.2%及以上,与其他三种测量方法相比,测量结果更加准确,且能自动选取曝光时长,测量精度更高,在工业检测中有一定参考价值。

猜你喜欢
照度光栅条纹
谁是穷横条纹衣服的人
恒照度智慧教室光环境
别急!丢了条纹的斑马(上)
别急!丢了条纹的斑马(下)
电子投影机照度测量结果的不确定度评定
CDIO教学模式在超声光栅实验教学中的实践
基于LabView的光栅衍射虚拟实验研究
条纹,条纹,发现啦
光栅衍射实验教学中的体会
用实函数直接计算光栅衍射的光强分布