掌桥专利:专业的专利平台
掌桥专利
首页

一种线结构光的中心提取方法及锻件三维测量方法

文献发布时间:2023-06-19 12:24:27


一种线结构光的中心提取方法及锻件三维测量方法

技术领域

本发明涉及检测测量技术领域,特别的涉及一种线结构光的中心提取方法及锻件三维测量方法。

背景技术

随着现代制造业水平的发展,产品中大量不规则曲面都需要进行三维测量,以进行检测和验证。而锻件作为重大装备的重要部件,其三维尺寸是衡量加工质量的重要指标,所以对锻件三维尺寸的精确测量不仅是评价锻件质量是否合格,也为后期的设计改善提供了重要的反馈信息,促进加工工艺的优化。传统的激光扫描仪、三坐标测量仪成本昂贵。双目相机三维测量受工作环境影响导致测量稳定性差。

线结构光视觉测量是结合激光扫描和视觉处理技术的非接触测量,具有测量精度高、稳定性强、实时性和通用性的优点,成为国内外解决三维测量问题中的研究热点。许多学者都是通过改进线结构光条纹中心提取算法,精确提取出光条纹的亚像素坐标,进而提高三维测量精度。

然而,线结构光投射到待测物体表面后,会存在一定的宽度,从而造成测量误差,如何准确提取线结构光的中心成为亟待解决的问题。

发明内容

针对上述现有技术的不足,本发明所要解决的技术问题是:如何提供一种精度高、稳定性好的线结构光的提取方法,以及提高检测精度的锻件三维测量方法。

为了解决上述技术问题,本发明采用了如下的技术方案:

一种线结构光的中心提取方法,其特征在于,包括如下步骤:先采集的具有线结构光条纹的图像进行滤波和阈值分割,分割出线结构光的光条特征;对光条特征中的每个像素点进行二值化处理,初步提取初始中心点p(u,v);以提取的初始中心点作为中心,对于每个初始中心点,采用方向模板法确定该初始中心点的法线方向;在每个初始中心点的法线方向上采用灰度重心法进行中点提取,提取精确的中心点。

进一步的,所述初始中心点p(u,v)的提取步骤如下:

对光条特征中的每个像素点进行二值化处理,将各像素点的灰度值与光条特征提取的阈值T进行比较,大于阈值T的像素点标记为1,否则标记为0;对每个像素点P1进行逐点扫描,若该像素点P1标记为1,则对该像素点P1相邻的8个像素点P

则将该像素点P1删除,并将保留的像素点P1作为初始中心点p(u,v)进行提取,式中N(P

进一步的,确定初始中心点的法线方向的步骤如下:

以提取的初始中心点作为中心,将线结构光光条的灰度图像做如下运算:

式中,T

T

进一步的,在确定初始中心点的法线方向后,采用如下步骤提取精确的中心点:

对于每个初始中心点,在其法线方向上进行搜索,直到检测到光条边缘,再计算出光条初始中心点法线方向上每个像素点与初始中心点之间的距离d,并且以法向上各点的灰度值为权重值,使用灰度重心法进行中点提取,提取出的p'点和预提取的p点的偏移距离为:

其中,L是初始中心点p在法线方向上光条的像素宽度,I(a,b)为法线方向上像素点(a,b)的灰度值,a和b分别为该像素点在像素坐标系的二维矩阵中的行数和列数;

在法线上提取到的精确中心坐标为p'(u

式中,θ为法线方向的向量与X坐标轴之间的夹角。

一种锻件三维测量方法,测量时,采用线结构光对锻件表面进行扫描,并采用如权利要求1~5中任一权利要求所述的线结构光的中心提取方法,提取每个线结构光的中心坐标数据并得到完整的三维点云数据,完成测量。

综上所述,本发明的线结构光的中心提取方法具有精度高、稳定性好等优点,本发明的锻件三维测量方法具有检测精度高等优点。

附图说明

图1为系统整体框架布局的结构示意图。

图2为三维测量的系统流程图。

图3为像素坐标系与图像坐标系。

图4为相机坐标系。

图5为线面测量模型图。

图6为扫描系统的坐标系关系示意图。

图7为直射式三维测量原理图。

图8为斜射式三维测量示意图。

图9为本实施例中相机和激光投射器的安装示意图。

图10为实际光条截面灰度分布曲线

图11为采集到的带有光条的工件图片。

图12为对采集到的光条图像进行均值滤波处理图。

图13为采用固定阈值分割的效果图。

图14为采用自适应阈值分割的效果图。

图15为采用OTSU阈值分割的效果图。

图16为去除杂点后的效果图。

图17为本实施例中线结构光条纹中心提取方法的原理。

图18为P1的8个邻域的示意图。

图19~图21为采用本发明改进算法提取线结构光中心的效果示意图。

图22~图24为采用传统方法提取线结构光中心的效果示意图。

图25为点云处理流程图。

图26为标记点的形态示意图。

图27为基于标记点的多视角拼接数学模型图。

具体实施方式

下面结合实施例对本发明作进一步的详细说明。

具体实施时:一种基于线结构光的锻件三维测量方法,先构建三维测量系统,由于线结构光每次只能测量被测物体表面一个截面的三维信息,所以为了实现对锻件的整体扫描,还需要使用外部驱动设备带动测量装置对其多个位置进行扫描。而机器人具有灵活操作,可以增加测量范围且不受环境限制的优点,使用机器人作为移动载体来驱动线结构光视觉测量设备实现系统的扫描。如图1所示,主要分为硬件模块和算法模块。硬件模块由线结构光投射器、机器人、相机和计算机组成,算法模块主要是标定模块和图像处理模块两部分构成。

在测量系统中,硬件模块中由扫描测量设备、移动机构组成,相机和激光发射器组成的扫描测量系统以一定的角度和位置固定在机器人的末端执行器上。机器人主要通过控制柜TCP/IP通讯和计算机进行连接,控制机械臂的运动,使用示教器查看其参数信息和运动状态。

算法模块中的标定模块包括了相机参数的标定、线结构光标定和手眼关系标定,通过对上述的标定,得到扫描系统中的各项参数,建立模型。图像处理模块包括图像的采集、预处理、条纹中心提取、坐标转换、点云处理和点云显示。如图2所示为三维测量的系统流程,具体操作步骤为:首先对已安装好的线结构光视觉测量系统进行标定,然后机械臂驱动线结构光视觉测量设备扫描锻件,通过相机不断采集图像,经图像处理后提取出光条的中心亚像素坐标,最后利用已标定好的参数完成光条二维中心点坐标到三维物理坐标的转换,实现对锻件三维点云数据的获取,进而完成三维测量。

摄像机成像模型

如图3所示为在相机的成像平面上建立坐标系,分别为图像坐标系和像素坐标系。像素坐标系是以二维数组的形式将坐标(u,v)进行保存,每个坐标并不代表真实的尺寸,而是表示该坐标在数组中的位置,单位是pixel。图像坐标系中的x轴和y轴分别平行于u轴和v轴,通过像素的角度去描述物理图像,实现二维像素坐标与物理尺寸的转化。

在两个坐标系中,图像中任意点之间的关系转化为下式所示。

式中,dx和dy表示在x轴和y轴的物理长度,xo

如图4所示,以光心位置O

世界坐标系是用来描述图像与被测物体之间的映射关系,作为系统的绝对坐标系,该坐标系是物体与图像之间的尺寸映射。所以通过旋转和平移便可以将相机坐标转换成世界坐标,两者之间的转换属于刚体变换,不发生任何形变现象。假设被测物体表面上一点P在世界坐标系下的坐标为(X

上式中的R和T是相机的外部参数,与相机系统本身无关。R为3×3的正交旋转矩阵,表示相机的方向;T为3×1的矩阵,表示相机的平移位置。则通过齐次坐标变换为:

线结构光视觉测量技术是利用激光投射器发出激光后,光束与物体表面相交形成一条光亮的条纹。由于物体表面形貌和高度上的差异使得光条在不同位置发生调制,因此采集的光条纹图像在相机成像平面上的位置也会发生改变。通过相机从某个角度采集调制畸变后的条纹图像,获取相机和激光投射器之间的位置,就可以计算出光条纹的三维坐标,即得到物体表面的三维信息。线结构光三维测量数学模型一般可分为解析几何模型和透视投影模型:

解析几何模型。该方法需要在安装相机和激光投射器时获取两者之间的夹角和位置等几何参数,并以此建立解析几何模型。通过该模型可获取空间物体表面坐标,恢复物体的三维轮廓。但是建立该模型存在许多假设,如需要得到光平面和相机之间的夹角、相机光轴的夹角等诸多限制条件。所以使用该方法需要对相机和激光投射器的位置进行精确调整,以便获取高精度的夹角和位置等几何参数。由于过程复杂、要求较高,导致解析几何模型的应用范围受到了限制。

透视投影模型。求解线结构光平面方程或传感器的结构参数。此法方便适用于许多场合,应用非常广泛。根据模型建立的方法可分为:①线面模型,利用光平面投射在被测物体上形成射线,通过激光平面来确定光条纹的空间三维信息,得到被测物体的形貌特征。②面面模型,由激光投射器发出特殊光条在被测物体的表面上形成含有被测物体表面的信息,经过采集将特殊光条成像在相机上,建立相机成像面与光平面之间的测量模型。

解析几何模型需要准确获取相机和激光投射器之间的物理关系,根据其距离和夹角建立几何模型的约束方程操作难度大,可行性不高。所以本文将采用适用性更好的线面模型来建立线结构光测量模型,如图5为线面测量模型。

光平面π投射在被测物体表面,形成光平面方程。则通过下式表示出相机坐标系下光平面方程为:

ax

若已知一点P在被测物体的表面,相机采集后得到该点在像素坐标下的坐标为(u,v),对应的齐次坐标为(u,v,1),对其进行归一化后的图像坐标为:

式中A为相机的内参矩阵。

在相机坐标系下,若P的坐标为(x

根据相机坐标系下光平面方程和上式可得到相机坐标系下唯一确定点P的三维坐标:

若要得到P点在光平面坐标系下的三维坐标(x

通过上式,可得到点P唯一对应的三维坐标。所以通过透视投影模型为基础的线结构光测量系统,只需求出相机内外参数和线结构光参数。

由于线结构光每次只能测量物体表面一个截面的三维信息,所以本扫描系统将线结构光视觉测量设备与机器人相结合,通过机器人的运动实现对被测物体的整体扫描。首先,需要建立各坐标系之间的转换关系,从而实现线结构测量系统与机器人之间的坐标转换,如图6所示。

图中包括以下坐标系:

{C}:相机坐标系;

{L}:线结构光测量坐标系;

{B}:机器人的基坐标系;

{T}:机器人的末端工具坐标系;

H

H

H

H

上述各个矩阵都是旋转矩阵R和平移矩阵T组成的4×4的齐次矩阵。则各转换矩阵之间的关系可以表示为:

H

设机器人的基坐标系{B}定义为全局坐标系。通过透视投影模型得到坐标(x

在机器人移动测量过程中,相机坐标系、机器人工具末端坐标系和线结构光测量系统坐标系三者已被固定,所以相对位置不会发生变化,即H

式中:v为移动速度,F为相机设定的帧率。S代表机械臂在移动方向上单帧的位移量。

可通过D-H运动学建模得到在A点末端执行器坐标系到基坐标系的变换矩阵,定义为H

H

若机械臂在Y轴方向上移动,第i帧的位置为H

若在第i帧得到线结构光测量系统坐标系下的点(x

经过上式可以将所得到的线结构光测量系统坐标系下的坐标数据转换成机器人基坐标系下的坐标数据,通过机器人的匀速运动可将每一帧截面的三维点云数据统一在同一个坐标系下,实现对被测物体的扫描。

相机主要作用是将光线产生的图像聚焦于像平面,常用的有CMOS和CCD相机。两者之间的区别主要是芯片读取的方式不同,CCD相机一般是帧曝光,而CMOS相机大多数是行曝光。CCD相机的图像质量相比CMOS来说要高一些,对比明显。在考虑经济和性价比等各方面的因素后,本实施例选择使用海康威视的CE系列MV-CE013-50GM相机,此相机不仅支持硬触发,而且还可以通过软触发对图像进行采集,手动或自动调解增益和曝光,

镜头是利用光学设备将图像信息呈现在相机的图像传感器上,镜头质量的好坏直接影响着图像采集的质量,从而影响后续的测量精度。选型需要注意以下原则:

①相机传感器的靶面尺寸:在选用镜头时,镜头的光学尺寸要大于相机传感器的靶面尺寸,否则会造成采集图像的四个角落出现阴影区域,使图像采集失败。

②相机接口类型:相机与镜头的接口一致。

③光圈大小:调解单位时间内镜头的通光量。

④焦距f:透镜光心到光束聚焦点的距离,根据下式进行选择:

其中D表示工作距离,h为靶面尺寸,H为视野宽度。综上所述,系统最终使用FA251C型镜头。

在三维测量系统中,激光投射器所发射的光源将直接影响数据采集的质量和后期处理的效果,从而影响三维测量。为达到最佳的测量效果,激光投射器的选用遵从以下几个方面:

①对比度

通过光源的投射,需要将照射在被测物体上感兴趣区域与无关区域的特征产生最大的对比度,便于后期的图像处理。

②鲁棒性

鲁棒性指的是在复杂的环境中,依然可以保持较好的特性,即结果图像不会发生改变,与实验环境中所呈现的效果相同。

③光源均匀性

不均匀的照射光会造成不均匀的反射,会影响系统的稳定性。稳定均匀的光源会使拍摄的图像结果稳定。

在考虑上述因素与价格后,本实施例决定选用YZ650KB100-GD16,该激光发射器投射出特定形状的狭窄光带,稳定性高、抗干扰性强,价格合适。

机器人作为系统的运动机构,包括机械臂、示教器和控制柜。本实施例根据实验室条件,采用尔必地机器人作为搭载线结构光视觉测量设备的移动平台。该机器人是一款工业多用途机器人,具有运转速度快、重复定位精度高、小型化等特点。

根据激光投射器照射方式的不同,可以分为直射式和斜射式三维测量。如图7所示为直射式三维测量原理图,O为被测物体基准平面上的点,P是O在相机成像平面中对应的点,相机透镜中心到O点的距离为a,像点P到相机透镜中心的距离为b。

根据图7可知,待测点位移y可表示为:

图8为斜射式三维测量示意图,θ

通过对上述两种安装方式的介绍可知,由于直射式比斜射式的入射角度小,所以直射式三维测量在实际使用中,遮挡少则产生测量盲区较小。则本文决定采用结构简单、测量范围大的直射式三维测量。经过多次调整,本实施例得到了相机和激光投射器之间最合适的安装方式,如图9所示。

线结构光中心提取

当使用线激光作为测量设备时,激光投射器发出的激光束在被测物体表面相交形成光条,该光条中含有待测物体表面位置与轮廓信息。这些光条具有一定的宽度,也被称为结构光光条。经过摄像机采集结构光光条图像,即可得到被测物体的三维信息。

线结构光投射在物体表面形成高亮度光条,在理想条件下该光条法向截面的灰度值呈高斯分布状态,所以光条灰度值的最大位置在中心处,向左右两边逐渐递减且呈对称分布状态。但是由于环境和工件表面材质等因素的影响,实际采集的光条图像截面灰度值并不满足高斯分布,如图10所示。相比理想光条截面灰度值分布曲线呈对称分布,实际光条的灰度分布曲线呈现不规则形状。可以看出离光条中心处越远,灰度值也越小;离光条中心处越近,灰度值也就越大,灰度值曲线分布近似服从高斯分布。

由于在复杂的环境中,环境光干涉和相机的随机噪声都会使测量系统采集到的图像出现噪声,并且被测物体表面的粗糙度和材料属性等原因都会导致光条信息不能被完整的采集,或者采集到的图像除了光条信息外还有不属于目标物体的背景信息。这都会增加中心条纹提取的困难,使其提取的结果出现较大的误差,最终影响测量结果。

线结构光条纹图像预处理

如下图11所示为采集到的带有光条的工件图片,由于激光投射器的品质和环境等因素的影响,导致所采集的图像质量下降,对后续条纹中心的精确提取影响较大。所以为了减弱这些影响,使用滤波算法对图像进行预处理,保留图像的细节特征并减少干扰噪声。下面是几种常见的滤波器。

中值滤波是一种非线性空间域滤波器。对M×N大小的模板用升序或降序的方法把邻域内像素点的灰度值依次进行排列,取中间像素点的灰度值作为模板中心新的灰度值。中值滤波器具有较好的降噪效果,但会将光条边界滤除,从而使提取到的条纹中心结果不准确。

均值滤波器作为一种常见的线性滤波。对图像待处理的目标像素设计一个模板,该模板是由目标像素和目标像素附近的8个像素组成,对模板中的全体像素求取平均值,使用平均值代替原来的像素值。均值滤波器算法简单,对图像的平滑也很明显,在不影响图像细节信息的情况下可以明显地降低噪声。

高斯滤波器作为线性低通滤波器,可以较好地抑制高斯噪声。具体工作原理是设计一个掩模扫描处理图像中的每一个目标像素,用掩模对邻域像素进行加权平均,然后通过加权平均灰度值替代掩模中心像素点的值。高斯滤波器可以有效过滤掉噪声所引起的空间震荡,但同时也会把边界认为是噪声给去除掉,不能很好地保护图像的边缘,使图像边缘变得模糊。

所以,在对各滤波器进行了有效地分析后,再结合本系统实际所采集到的图像,选用均值滤波器对光条图像进行处理,保护光条图像边缘的同时还可以明显地降低孤立噪声的影响。如图12所示为对采集到的光条图像进行均值滤波处理。

通过上图可知,经均值滤波处理后,图像中条纹区域外的噪声不仅被去除,而且光条的边缘也变得平滑,从而提高光条中心的提取精度。

条纹图像分割

由于获取的图像中包含条纹和背景信息,直接对条纹进行中心提取,无法得到精确的结果。所以需要将图像的光条信息分割出来,排除背景信息对中心提取时的干扰,从而降低条纹中心提取的复杂度。同时运算量降低,使光条中心的提取速度加快,进一步满足快速检测的要求。下面为几种代表性的阈值分割。

固定阈值分割是设定合适的阈值对背景和图像目标进行分割,把图像分成大于等于阈值和小于阈值的两个像素群,小于阈值的灰度级范围用0表示目标,大于阈值的灰度级范围用255表示背景。此算法在运行过程中快速、稳定,成为最基本也是应用最广泛的分割技术。

局部自适应阈值分割算法是通过目标像素周围的像素值来决定对该像素阈值的设定,所以不同位置的二值化阈值会随着周围像素值的分布来决定。亮度较高的区域,通常阈值会很高;相反地,较暗的区域,阈值会设定的很小。对比度、亮度不同的区域在图像局部会呈现不同的二值化阈值。

最大类间方差法是日本的大津展之提出的,又被称为大津法(OTSU法)。该方法是根据图像的灰度直方图,求出背景和目标之间的类间方差,从而选取最优的阈值进行分割。如下式,当参考准则达到最大时可实现最佳的分割效果。

σ

上式中:w

对光条图像进行均值滤波处理后,使用上述三种方法对滤波后的图像进行阈值分割。如图13~15所示。从上图分割效果中可以看出,采用固定阈值对光条图像进行分割后取得了较好的效果,可以很大程度地保留光条纹信息,使后续光条中心提取的坐标更加完整。

经过固定阈值分割后,除了光条区域外还有一些面积较小的背景像素点,所以需要对其进行去除。通过图像处理将小于阈值面积的区域进行删除,只留下光条,如图16是去除杂点后的效果图。这样不仅可以去除复杂背景中所引入的冗余信息,减少了对图像的干扰;还可以进一步提高图像的处理速度,使提取光条中心的效率得到进一步的提升。

传统的中心提取算法

在对CCD相机采集的光条图像进行预处理后,得到只含有光条的图像,然后使用中心提取算法对其进行提取。而条纹中心的准确提取是整个测量系统中十分重要的一环,直接关系到测量系统的性能。

在垂直于光平面截面上的光强呈高斯分布。所以,许多中心提取算法都是将条纹灰度的高斯中心作为提取光条中心的关键。经过多位国内外学者相关的研究,现有的结构光条纹中心提取算法大致可分为三类:第一类如阈值法和边缘法,将光条几何中心看作是光条的中心;第二类如极值法和灰度重心法,通过获取光条能量中心从而得到光条的中心;第三类如方向模板法和Steger法,该方法是基于条纹的方向获取光条的中心。

(1)阈值法

阈值法是基于结构光条纹的灰度值呈高斯分布,首先利用设置好的阈值,在图像的行方向便可得到灰度值相同的两点坐标,二者的平均位置就是结构光条纹的中心。阈值法快速简单,对于规则激光条纹具有较好的提取效果,但是在条纹受到外界环境影响干扰时,会出现严重的中心定位偏差;另外,阈值的选取恰当直接关系到条纹中心的提取,阈值选取过高或过低都会造成提取的结果误差偏大,因此阈值法很少单独使用,一般都是作为条纹中心的初步提取,在此基础上再进行优化。

(2)极值法

极值法同样是利用条纹灰度呈高斯分布的特性,将光条横截面上的局部灰度最大值定义为条纹中心。前提条件是灰度分布呈理想的高斯分布,条纹中心的灰度值才能达到最大。但在实际测量中,受外界环境的影响,条纹上的灰度不再符合高斯分布,所以求出的极值点与实际的条纹中心会出现较大的偏差;另外条纹上的噪声也会影响极值点的精度,导致该方法的适用性较差。

(3)灰度重心法

灰度重心法是将光条的能量中心看作光条的中心。根据光条灰度的分布,沿着图像的某一行或列提取该光条方向上的灰度重心,将得到的灰度重心定义为光条的中心位置。以条纹的水平方向为例,首先设定阈值将图像分割出非0区间,然后使用下述公式对图像的灰度重心进行计算。设(p,q)为第k列的非0区间,则该列的灰度重心位置为:

上式中:h

(4)方向模板法

方向模板法是在灰度重心法的基础上演变而来。在光条像素较小的范围内,可认为线结构光光条的方向有横向、纵向、左倾45°和右倾45°这四种模式,记为K

使用方向模板法可以对光条的细节信息较好的保留,并且具有断线修补、可靠性高和鲁棒性好等优点。但是提取的光条中心是像素级别的,精度不高。由于光条图像上的每个像素点需要和四个模板分别进行卷积运算,所以运算量大、效率较低。

(5)Steger法提取条纹中心

Steger算法基于Hessian矩阵,因为二阶偏导数绝对值最大的方向与条纹中心的法线方向相同,所以根据Hessian矩阵可以计算出光条灰度的极值,将极值作为光条中心,实现光条的中心定位。Hessian矩阵可以表示为:

上式中:g(x,y)是二维的高斯函数。点(x

z(x

通过上式即可得到条纹的中心位置为(x

Steger法求取的条纹中心精度较高,但是在计算条纹法向的时候,需要对图像上的每个像素点都要进行至少五次大模板的高斯核卷积,计算量大,运算效率低,很难实现快速测量。

改进基于灰度重心法的中心提取算法

本实施例中,基于灰度重心法的中心提取算法进行改进,通过对激光条纹的特性以及多种传统的光条纹中心提取算法的优缺点研究分析,决定采用灰度重心法对本次所采集的光条进行中心提取。但是由于灰度重心法的特性,使其具有一定的局限性,从而出现以下几个问题:

(1)一般激光器投射的光条强度呈非均匀分布,中间亮、两边暗;并且在工业中应用时,受被测物体表面粗糙度的影响,使采集到的光条亮度分散不集中,光条截面强度不再符合高斯分布。所以受光条能量分布不集中的影响,使用传统灰度重心法会使固定的光条宽度不再适用,导致其准确性降低。

(2)灰度重心法是对光条纹进行逐行或列计算,只考虑了图像的横向和纵向,所以对直线型的光条具有较高的提取精度。由于灰度重心法并没有考虑光条的法向,因此在实际使用时,无法保证对弯曲、非连续性的光条拥有较好的中心提取精度。

本实施例针对的是锻件等粗糙物体表面,使用灰度重心法无法精确地提取出光条中心,所以对灰度重心法进行了改进。首先对采集的光条图像进行预处理,主要包括滤波、阈值分割,然后利用细化算法提取光条的骨架作为光条的初始中心点,通过自定义方向模板计算出初始中心点的法线方向,最后将初始中心点作为中心,沿其法线方向使用自适应宽度的加权灰度重心法得到光条的亚像素中心坐标,实现光条中心的精确提取。

算法原理描述

线结构光条纹中心提取方法的原理如图16所示。具体步骤如下:

(1)图像预处理。根据上文的描述,首先对采集的条纹图像进行滤波和阈值分割,去除图像中的干扰噪声以及无关的背景信息,分割出光条特征。

(2)中心提取。当采集物体光条纹的宽度较大时,其中间的中心线可以更加直观的表示出该物体的形状。该提取过程是将二值化图像剥离出只有一个像素的图像,称之为骨架。根据前面设置的阈值对光条进行分割,大于灰度值T的,标记为1;小于灰度值T的,标记为0。根据Zhang的细化算法提取出条纹中心。

在条纹图像中,通过逐点相邻8个像素点是否满足骨架的要求来决定该点是否需要删除。假设前景P

根据下面式的判断条件来决定P

第一步判断删除条件如下:

第二步判断删除条件如下:

式中N(P

经过上述的删除,遍历整幅图像即可得到条纹细化后的骨架,完成对光条骨架的提取。然后将所得到的骨架点p(u,v)定义为初始中心点。在对复杂弯曲的光条进行提取时,由于灰度重心法没有考虑法线方向,导致无法提取光条中弯曲或复杂的部分,使提取的中心坐标信息丢失,所以需要对骨架上的每一点法线方向进行计算。而现存的中心线法线求取方法主要有Hessian矩阵和曲线拟合法,但都存在着运算量大、处理速度慢等问题。针对此问题,本文使用方向模板技术对每一个骨架点进行计算,即得到初始中心点的法向。

线结构光在像素范围内,垂直、水平、左倾45°和右倾45°这4种模式代表了光条的走向。而模板的选取一般与光条的粗细程度有关,模板太大会使条纹的细节丢失,模板太小又不能反映光条纹的走向。为了对光条的走向能够准确的描述,本文设计了4个模板T

模板T

式中k=1,2,3,4;C(u,v)表示初始中心点处的像素灰度值,T

设提取的初始中心点p(u,v)处的法线方向上像素点(a,b)的灰度值为I(a,b),通过下式可以计算出该点到点p的距离为:

式中d的正负方向由p的法线正负方向判断,两者符号相同。

受物体表面粗糙度的影响,光条的宽度是变化的,因此在不同位置上的初始中心点法线方向上的光条宽度也是不同的。所以光条像素宽度自适应变化,可以提高中心提取精度。对每一个初始中心点在其法线方向上进行搜索,直到检测到光条边缘。然后计算出光条初始中心点法线方向上所有像素点与初始中心点之间的距离,并且以法向上各点的灰度值为权重值。再使用灰度重心法进行精确提取,提取出的p'点和粗提取的p点的偏移距离为:

其中,L是初始中心点p在法线方向上光条的像素宽度,并随着点p而变化。I(a,b)为法线方向上像素点(a,b)的灰度值,即权重值。

在法线上提取到的精确中心坐标为p'(u

式中,θ为法线方向的向量与X坐标轴之间的夹角。通过上式可自适应计算出不同宽度的光条中心坐标。

实验结果

目前,对于条纹中心的提取精度并没有统一的验证标准,所以本文为了检验上述算法的效果,首先使用改进后的算法对不同类型的光条进行中心提取,如图19~21所示。然后使用各种传统的中心提取算法与上述改进后的算法进行比较,以验证本文算法的提取效果。选用一张1280*960的弯曲光条图像进行中心提取,图22~25分别为各算法提取效果图。

为了测试各算法的效率,本实施例利用程序对提取弯曲光条中心坐标的运行时间进行了测量,下表是各算法的运行时间。

从图中可以看出,本文算法可对不同类型的光条中心进行精确、完整地提取。在使用不同算法对弯曲光条进行中心提取时(图21~图24),可以发现极值法(图22)提取不稳定且精度不高;传统的灰度重心法(图23)提取的中心坐标有丢失现象、信息不完整;而改进后的灰度重心法(图21)中心提取算法与Steger法(图24)都会随着光条的走向精确提取,没有出现中心坐标丢失、不完整等现象。但是改进后的灰度重心法较Steger法运行时间大大减少,提高了运行效率。说明改进后算法的精度和效率较传统中心提取算法都有了极大的提高,满足本系统的使用。

多视角点云处理

由于线结构光每次扫描只能获取锻件一个面的点云数据,因此要想得到锻件完整的三维点云数据,就必须对其进行多视角的扫描测量。不同视角下的点云依靠公共部分进行数据对齐,使其正确地匹配到各点云的共同部分,得到一个完整的点云数据。点云处理过程如图25所示。

点云预处理

中心提取算法是得到光条中心精确的二维亚像素坐标,通过前期建立的模型,可实现向三维坐标的转化,从而得到被测物体表面的三维点云数据。而得到的点云数据,由于被测物体表面的粗糙程度、光照环境、测量设备都会在采集图像过程中产生一定程度的误差,这些误差会导致点云数据中可能出现“坏点”,因此在拼接之前需要对点云进行平滑去噪。由于多次扫描获取的点云数量庞大,会使拼接效率降低,所以需要对点云进行稀疏化。因此在测量之前对点云进行预处理,不仅可以改善点云的质量,还可以提高三维测量的精度。

点云去噪

离群噪声不会影响被测物体的整体轮廓模型,但是会造成虚假信息使三维测量出现误差,所以对点云进行去噪,可有效减少点云中存在的虚假点,提高重建以及测量结果的精度。可通过对局部点云特征进行评估,得到采样点的法向量以及曲率变化,从而实现点云的去噪和分离。但是该算法运行时间长、效率低,并且运算复杂,导致计算结果容易出错。所以本文选用了统计的方法对点云去噪,首先设定阈值,在这个阈值范围内的点到它周围附近点的距离取平均值,对其进行计算得到呈高斯分布的结果。若某点与采样点的距离大于平均距离,那么就会被视为噪声点需要对其进行去除。

点云稀疏化

无论使用什么设备采集数据,得到的点云数据都是海量的,过多的数据冗余会使得数据量过大,影响后期点云拼接效率。因此,在对点云进行去噪、平滑处理后,为缩小数据量,提高拼接效率,需要对点云进行稀疏化。

利用基于平均距离点的稀疏化方法,通过计算出在特定空间里点云之间的平均距离并以此作为标准。在稠密的点云区域内,点与点之间的距离小于设定的标准;而在稀疏的点云区域内,点与点之间的距离大于设定的标准距离。因此可以通过点云之间的平均距离来实现稀疏化,判别数据点是否需要删除。

多视角点云拼接

基于线结构光的多视角点云数据通常是基于两种相对运动获取的。一是坐标系统不变,被测物体相对于测量设备按不同的姿态进行摆放;二是被测物体放在工作台上,测量设备对被测物体进行多视角扫描。无论是哪一种方式,被测物体上的同一点相对于不同的参考坐标系都需要进行坐标转换,实现坐标系的统一。

目前流行的拼接方法主要包括机械绝对定位拼接方法、多视标签定位拼接方法和ICP拼接法。

转台法是机械绝对定位法中最为常见的方法。转台法是利用相机坐标系与转台坐标系的相对位置不变,点云的转换只需要通过旋转平台确定旋转角度,从而得到旋转矩阵,即可对不同视角下的点云数据进行拼接。该方法快速、简洁、高效,但是对转台精度等硬件设备要求较高。

在工业中,对于大型物体的点云拼接,大多采用多视标签定位拼接算法。一般包括固定球法、平面法、点位法等,其关键就是利用标志点使匹配错误率达到最低。标记点一般都是圆形的,通过将其粘贴在被测物体表面,对不同视角下的点云进行采集,从而实现定位拼接。

ICP是通过不断迭代降低配准误差以获取在不同坐标系下最佳的匹配点,从而建立两坐标系之间的误差函数E(R,t)。若能够使误差函数E(R,t)达到最小,就可以得到最优的转换矩阵。虽然ICP算法的精度很高,但是当点云密度较大时,会出现配对错误,求解得出的R和t不准确。并且初始配准值或对应点匹配策略选取不合适,算法可能会陷入局部最小值而无法收敛,得不到正确的结果。

针对工业上的大尺寸物体,一般采用在物体表面添加标记点,实现对物体各个视角下的点云拼接。该方法主要是因为标记点本身携带的信息,经过识别获取不同视角下点云的空间匹配关系。为了便于圆心的提取,使用同心圆为内6mm外10mm的标记点,其标记点的形态如图26所示。

基于标记点的拼接原理是引入标记点将其粘贴在被测物体表面也可以贴在背景中,通过图像处理方法对标记点的边缘进行提取,经过拟合得到标志点圆心坐标,从而提取出标志点在不同视角下的三维坐标。通过计算得到不同视角下标记点坐标相互变换关系,从而完成被测物体在多个视角下点云的拼接,即利用参考点坐标之间的转换矩阵实现两个坐标系的转换,实现旋转矩阵R和平移向量T的求取,完成点云的拼接得到完整的物体模型信息。

基于标记点的多视角拼接数学模型如图27所示。A、B和C是不同视角下的公共标记点。在测量时,保证不同视角下的测量都能采集到标记点,利用图像处理得到标记点的圆心坐标。只要测量中有大于等于3个公共的参考点,即可实现两个坐标系之间的转换。

基于最小二乘法拼接理论的建立

标记点随机分布在两个视角下的重叠区域,假设得到标志点的点集在两个视角下分别为:

M={m

N={n

通过求出M点集中任意两点之间的距离,得到矩阵A:

因此,也可以得到点集N中任意两点组成的距离矩阵B。因为标志点是固定的,所以不同视角下标记点之间的相互位置不变。则需要满足以下条件:

(1)若这两个距离值的差不超过α,则认为这两个距离值相等。

(2)若不超过距离值α的数目超过N(N是标记点数量),则认为两个视场下的标记点是对应匹配点。

通过以上原则,不同视角下的标记点的点集分别为S={s

为求解变换矩阵R和T,本文采用基于三点矩阵的奇异值分解法。对于不同视场下的标记点的点集S={s

其中

R=[v]

T=t

将(5.3)和(5.4)代入到(5.2)中,得坐标变换关系式为:

式中的w和v是标记点组成的单位正交坐标矢量。

由于测量系统中存在误差,所以要将误差代入,则有

计算出s'和t',i=1,2,...,n:

s′

将式(5.9)和(5.10)代入到(5.6)中,得到目标函数为:

通过此目标函数就可以将旋转矩阵R转化为求解最小二乘法函数的最小值K,而平移矩阵T则可以经过T=t-Rs转化求解得到。在得到不同视角下的刚性变换矩阵R和T,即可将不同视角下的点云匹配到目标点云中。

以上所述仅为本发明的较佳实施例而已,并不以本发明为限制,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

相关技术
  • 一种线结构光的中心提取方法及锻件三维测量方法
  • 一种对于规则表面的线结构光条纹中心快速精确提取方法
技术分类

06120113285912