点击下方卡片,关注「3D视觉工坊」公众号
选择星标,干货第一时间送达
3D视觉硬件汇总,包括结构光3D相机(支持室内外,焊接,机械臂抓取等场景),相位偏折术、散斑、机械臂抓取和焊接软件,手持扫描仪(支持定位、重定位、稠密建图)、四足狗和小车定位和导航,底盘。点击->查看详情:
针对工业涂胶检测场景下,工件表面强反射及曲率突变导致光条中心提取精度下降、三维形貌重建失真的问题,文中提出一种兼顾精度与效率的光条中心点提取算法,为后续中心线拟合与三维点云获取提供高质量数据。以传统均方灰度梯度法为基础,引入曲率权重因子构建自适应梯度调节机制,根据局部曲率动态修正灰度梯度权重,抑制高曲率区域的法向偏差。将加权后的梯度作为光条法线,求解亚像素级中心坐标,避免了Hessian矩阵运算,显著降低时间复杂度。在真实涂胶工件数据上的对比实验表明:中心点平均绝对误差由传统方法的0.89 Pixel降至0.37 Pixel,提取精度提升约58%,均方根误差提高47%,单帧处理时间仅为Steger法的2.78%,运行效率提升36倍。所提算法有效克服了反射和曲率变化干扰,兼顾亚像素精度与效率,可为工业三维形貌测量提供可靠的光条中心提取方案。

0 引言
线结构光传感器作为一种非接触式的高精度三维测量仪器,通过将线激光条纹投射到物体表面,结合相机捕获光条形变,再利用三角测量原理计算物体的三维形貌。在三维建模中,光条中心点的提取至关重要,它直接影响二维坐标与三维坐标的转换。因此,提高光条中心点提取算法的实时性、准确性和稳定性是实现高精度测量的关键。
传统结构光条纹中心提取算法主要涵盖基于几何中心、基于能量中心和基于光条方向中心三大类。基于几何中心的方法通过计算光条几何中心确定中心线,如细化法,运算速度快但对噪声敏感;基于能量中心的方法依据光条灰度分布提取中心,如极值法和灰度重心法,在灰度近高斯分布时效果较好,但没有考虑光条的方向性;基于光条方向中心的方法(如Steger法)精度高,但是计算复杂、运行慢,对光条的质量要求高。为此,一些学者对传统方法做出改进,在一定程度上克服了干扰的影响。文献[6]结合改进的骨架提取和加权灰度重心法,提高了提取中心点的精度。文献[7]提出一种基于骨架邻近像素匹配的线结构光条中心点提取方法,首先通过连通域分析确定感兴趣区域,接着对细化后的骨架进行平滑处理,最后结合灰度重心法并利用Savitsky-Golay滤波提取激光中心线。文献[8]基于Steger法提出通过骨骼化处理确定光条初始中心,并结合条纹宽度卷积优化值,实现了大宽度变化激光图像的光条中心线精确提取。文献[9]结合Steger算法,利用全局阈值法提取激光区域,通过最小二乘法拟合中心线并校正坐标,提取的中心线更平直,但未考虑曲率变化的影响。文献[10]用边缘检测法提取光条纹边缘,通过均方灰度梯度法确定光条纹法线方向,最后沿法线方向用灰度重心法提取光条纹中心。
本文在上述研究的基础上,结合涂胶检测项目中遇到的问题,对涂胶工件材料反射特性和曲率变化进行分析后,提出一种基于改进均方灰度梯度的法向加权中心点提取方法,在获取骨架信息后,引入局部曲率信息作为权重,根据骨架像素点的局部曲率大小动态调整权重。相比传统的均方灰度梯度法二次平方加权,本文方法有效解决了方向平均问题,具有更强的鲁棒性。
1 问题描述
1.1 工件反射干扰
在激光投射于涂胶工件表面时,工件表面颜色的差异对反射光的特性产生了显著影响。具体而言,绿色工件层表面的高反射率致使反射光强度极为强烈,而黑色涂胶层的低反射率则导致反射光强度相对较弱。绿色工件层反射的光会在图像上形成明显的反射条纹,即便是在极低的曝光条件下,这些条纹依然清晰可见,尤其是涂胶层和工件层连接处的干扰,这种复杂情况极大地增加了光条中心点提取的难度,反射干扰如图1所示。

1.2 工件曲率干扰问题
在实际应用中,光条的形状通常会受到工件外观轮廓的影响,呈现出较大的弧度以及较为显著的曲率变化。这种复杂性使得激光条纹的灰度分布不均匀,甚至出现连续灰度过饱和现象,如图2所示。当光条的法向方向因曲率的剧烈变化而发生改变时,若采用基于能量中心的方法按行或列来提取光条中心,没有考虑到光条的方向性,提取结果往往会存在偏差,进而导致提取精度下降。基于光条方向中心的方法求取中心点时,光条法向截面的灰度分布并不是严格对称的。因此,解决涂胶特征区域曲率变化所带来的干扰问题,是实现光条中心点准确提取的重要环节。

2 光条中心点亚像素提取算法
光条中心点亚像素提取算法原理如下:首先对图像进行预处理,其次通过骨架细化法得到光条骨架,在传统均方灰度梯度法上引入曲率权重,计算得到骨架上各点的光条法线方向,并采用高斯加权灰度重心法进行中心点粗提取,最后对工件和涂胶交界处的缺失数据点进行三次样条插值补偿,得到连续的中心点信息。本文算法总体流程如图3所示。
2.1 图像预处理
在激光图像采集过程中,获取的图像常常会包含干扰,尤其是在涂胶工件的工件层与涂胶层交界处,这些干扰信息很难去除,会对后续图像分析的准确性和效率产生严重影响。
为了有效解决这一问题,必须对原始图像进行一系列针对性的预处理操作。首先,对原始图像进行感兴趣区域裁剪,去除由工件本身反射产生的干扰条纹;其次,针对图像中存在的连续灰度过饱和现象,采用高斯滤波对图像进行平滑处理,从而有效去除灰度过饱和造成的干扰,同时保留图像的关键特征信息,使灰度分布更加符合实际的光强分布模式;最后,引入Otsu法进行阈值分割,实现目标区域与背景的有效分离,为后续的二值化操作提供可靠的阈值基础。图像预处理过程如图4所示。


2.2 中心点提取
2.2.1 骨架细化法
采用Zhang-Suen法细化ROI,其算法原理为将二值化图像表示为一个二维数组,其中前景像素值为1,背景像素值为0。在任意一个像素点周围的8邻域方向构造如图5所示的区域,通过迭代的方式逐步去除图像中的像素,直到图像不能再被细化为止。

设表示像素点的8邻域中从黑色到白色的过渡次数;表示像素点的8邻域中白色像素的数量。通过以下迭代过程逐步剥除骨架以外的像素。
步骤1:在第一次迭代中,遍历图像中的每个前景像素,若满足下列条件则删除该点:像素为白色且有8邻域像素;;;;。
步骤2:再次遍历图像中的每个前景像素,将同时满足以下条件的像素设置为黑色,直到没有任何像素被设置,结束本轮迭代:像素为白色且有8邻域像素;;;;。
通过上述方法提取细化后的光条骨架,在涂胶工件层与涂胶层的交界处存在明显的干扰,可以采用形态学闭运算,去除较小暗点的同时保留原来较大的亮度特征,有效解决连接处细小的干扰,如图6b)所示。

2.2.2 改进的均方灰度梯度求解法线方向
传统的均方灰度梯度法主要利用图像灰度梯度的平方在复平面上的特性来精确计算光条骨架点的法线方向,最后会对区域内的平方灰度梯度取平均值。但是,由于光条内侧弯曲,横截面被压缩,灰度梯度方向会偏向曲率中心(见图7加粗实线箭头),外侧则被拉伸,梯度方向偏离曲率中心。此时若直接使用梯度计算法线,内侧梯度幅值远大于外侧,即直接平均所得结果会导致所求法线方向偏离真实方向。

本文在此基础上提出改进,通过曲率动态调整权重,抑制高曲率点的干扰,增强端点的稳定性。在光条弯曲剧烈区域,通过引入曲率权重来降低梯度贡献,避免法线方向突变。在平直区域(),保持原始梯度权重,这种权重机制可以有效避免因局部曲率变化导致的法线估计不准确。具体方法如下。
对骨架图像上与相邻的骨架点作差分,可以根据式(1)完成曲率近似值的求解。计算权重如式(2)所示,考虑端点处只有一个邻接点,无法形成有效的曲率计算的情况,故采用固定权重值。
式中:为曲率;为水平方向的一阶差分;为垂直方向的一阶差分;为曲率权重;为权重抑制参数。
将灰度梯度定义为复平面上的向量,并利用复数平方的性质来计算法线方向。设骨架上任意一点的灰度值记为,点处的方向角记为。通过Sobel算子可以得到在水平和垂直方向上的梯度和。
法线计算时,考虑到真实激光条纹具有平滑的几何连续性,对邻域内每个点使用最近骨架点的权重,最后通过对灰度梯度加权平均得到梯度。对于每个骨架点,计算该点法线方向如式(3)、式(4)所示,实际法线方向如图8所示。
式中:为加权均方梯度值;为在点处梯度的平方;为法线的方向角。

2.2.3 高斯加权灰度重心法
灰度重心法是将目标区域光条图像上每一行或列像素的灰度值作为权重进行加权平均,最后确定目标区域的重心。
经过高斯滤波的图像,在激光条纹横截方向上,光强近似服从高斯分布,故而在光条的法线方向上,其灰度值也会呈现出近似高斯分布的特点。因此,提取光条中心点时只需定位法向方向上光条灰度的高斯分布中心。
最后,通过结合高斯分布函数模型和灰度重心法函数模型,提出具有亚像素精度的高斯加权灰度重心法函数模型。
式中:为通过加权计算得到的亚像素中心点垂直坐标;是图像在当前位置的灰度值,是当前遍历到的垂直坐标;是上一次迭代的垂直坐标;是高斯函数的标准差,决定了高斯函数的宽度。
3 实验结果及分析
为验证本文方法的可行性,搭建如图9所示的实验平台。硬件设备主要包括直线模组滑动平台、激光轮廓传感器和涂胶工件等。该传感器专门为狭小空间内涂胶工件扫描而设计,采用150万像素的高速成像芯片,定制化的光学设计和蓝色激光可实现物体的快速扫描(面阵相机的扫描速度为100 f/s)。软件平台为装载了Visual Studio 2019的Windows 11计算机,图像获取工具为传感器驱动,图像处理工具为OpenCV算法库。
为了验证本文提取方法的精度和提取效率,在实验中分别采用了Steger方法、传统均方灰度梯度法和本文方法来提取激光中心线。由于激光中心点的真实值无法直接测量,根据文献[15]提供的精度计算方法,用三种方法的平均值作为估计的真实值,测量值与真实值之间的差值被用来替代真实误差,以验证和分析实验的准确性。通过将Steger法、传统均方灰度梯度法以及本文方法进行对比分析,得到不同方法获取感兴趣区域中光条中心点的像素坐标,并计算其平均绝对误差(MAE),以此来衡量算法的精度。均方根误差()反映测量值与真实值之间的偏差,帮助判断测量系统的准确性和可靠性,均方根误差小则表明测量系统具有较高的精度。
式中:表示测量值与真实值之间的差值;表示坐标个数。

各算法提取精度(平均绝对误差、均方根误差)对比结果如表1所示。由表可知,本文算法的平均绝对误差均值为0.37 Pixel,均方根误差均值为0.31 Pixel。相较于Steger法,本文算法的平均绝对误差均值降低0.26 Pixel,均方根误差均值相差0.4 Pixel。与传统均方灰度梯度法相比,平均绝对误差均值降低0.52 Pixel,均方根误差均值相差0.27 Pixel。由上述结果可知,在提取涂胶工件光条中心点时,本文方法具有较高精度和稳定性。
表1 各算法提取精度结果对比
除精度方面,提取中心线的实时性也是评价算法实用性的重要指标,各算法运行时间对比如表2所示。通过分析表中的数据可以发现,传统均方灰度梯度法平均运行时间为0.08 s,Steger法的平均运行时间为2.16 s,本文方法的平均运行时间为0.06 s,仅为Steger法运行时间的1/36。因此,本文方法在保证精度的同时,具有较高的效率。
表2 各方法运行时间结果对比
为了全面验证本文方法的有效性,设计涂胶工件的光条中心点提取实验,特别地,关注了工件层与涂胶层交界处的特征曲率变化对提取效果的影响。图10展示了三种中心点提取方法在整体提取效果和特征区域提取效果上的表现。

从特征区域局部放大图中可以看出,Steger法提取的中心点在连接处存在少许数据点的偏移。传统均方灰度梯度法由于受干扰影响,中心点存在多处缺失,提取效果较差。而本文方法很好地克服了由工件反射和曲率变化引起的干扰问题,效果优于其他两种方法,适用于涂胶工件的检测。对不同方法提取的数据点进行三次多项式拟合,得到特征区域的中心线如图11所示。
由图11可知,在涂胶工件特征区域,线宽最小的曲线为Steger法提取的中心线,在曲率较大的地方波动更为明显。传统均方灰度梯度法线宽位居第二,其存在波动现象。相比之下,本文方法提取的中心点拟合曲线以最大线宽呈现,其波动幅度最小,而且在转折处的过渡更为平滑。因此,本文提取方法在稳定性方面也显著优于其他两种方法。

对传感器获取的单个激光光条图像提取中心点,通过三维坐标转换,将像素坐标转换为传感器坐标系下的三维坐标,由此构建出涂胶工件截面的三维点云数据。将获取的每一帧图像轮廓点云进行拼接,形成如图12所示的三维点云。

三维点云的获取为后续对涂胶工件表面缺陷的提取与分析提供了便利。本文提出的改进型中心线提取方法显著提升了三维点云数据获取的精度,能够更加真实、准确地呈现涂胶工件的形状特征,为后续分析与应用提供了重要依据。
4 结语
本文以涂胶工件作为研究对象,针对涂胶检测过程中涂胶工件表面特征影响导致的涂胶层和工件层连接处局部曲率变化大和复杂反射干扰等问题,提出一种基于改进的均方灰度梯度的光条中心点提取方法。通过搭建实验平台,完成对比实验,验证了本文方法的精度和效率。最后,通过可视化结果验证了本文方法的可行性,满足检测需求,可应用于光条中心点提取中。
本文仅做学术分享,如有侵权,请联系删文。
。




扫码添加微信,备注:姓名+方向+单位,邀请入群。