一种复杂环境下的线结构光中心线提取方法与流程

    专利2022-07-08  127


    本发明属于机器视觉技术领域,可用于复杂环境下的线结构光光条中心线的提取。



    背景技术:

    近些年来,随着机器视觉的飞速发展,基于视觉的测量技术已在三维测量领域占据了重要地位,而线结构光三维测量技术以精度较高、实时性强、构造简单、检测范围大等特点广泛应用于工业生产之中。采用线结构光技术对物体进行三维测量最重要的部分是对图像光条中心线的提取,光条中心线的提取精度直接影响着系统的最终测量精度。因被测物体的材质纹理不同、外部光照、背景环境等因素影响,获取的光条像素分布不均匀;为了满足实际工业应用,对提取速度的要求也很高,因此提高光条中心线的精度和效率是关键。

    传统的光条提取法中steger算法是一种较为经典的光条提取算法,提取效果好,但需要做大量卷积,导致运算量大,运行时间较长,很难实现光条的实时提取;方向模板法虽然可以修补小的断线,但提取效果受限于有限的模板方向,纹理复杂的物面会使会使光条向更多方向偏移;灰度重心法易受环境影响且当光条曲率变化大时光条会发生较大形变。改进算法中基于hessian矩阵与区域增长算法结合的光条中心提取算法虽然克服了噪声对中心点提取的影响,但是依赖hessian矩阵求取法线方向,需要大规模的高斯卷积,运算量大;基于主成分分析的光条提取算法引入主成分分析算法确定图像的法线方向,只用2次高斯卷积就可完成,提高了计算速度,但是在复杂背景下很难实现结构光的精准提取;基于bp神经网络的光条提取算法虽然克服了灰度重心法和steger算法的缺点,但是网络结构、训练样本数据都对提取效果有很大影响。因此,算法简单、运行速度快、环境适应能力好且提取精度高的光条中心线提取算法才能使其能够满足对工业上对物体进行实时三维测量的要求。



    技术实现要素:

    发明目的:本发明提供了一种复杂环境下的线结构光光条中心线提取方法,该方法能够克服被测物体在进行测量时受外部光照、自身材质曲率和背景环境影响,采集的光条纹图像存在局部反光和噪声较大,提取出的光条纹中心线不稳定等问题。

    为达到上述目的,本发明是通过以下技术方案实现的:

    一种复杂环境下的线结构光光条中心线提取方法,包括以下步骤:

    (1)对采集的光条图像进行预处理,包括图像去噪、rgb分量提取、图像二值化;

    (2)预处理后的光条图像进行感兴趣区域(roi)裁剪;

    (3)对裁剪后的图像进行距离变换,得到光条粗提取图像;

    (4)采用pavlidis细化算法对光条图像细化,得到光条中心线初始值;

    (5)采用自适应平滑算法平滑初始光条中心线的凸起和毛刺,得到精准的光条中心线提取图像。

    优选的,步骤(1)中所述预处理的具体过程为:将采集到的图像采用中值滤波对图像进行去噪,对图像的rgb分量进行提取并采用kittler算法对图像二值化为黑白图像,其中白色为前景,黑色为背景。

    优选的,步骤(2)中所述对光条图像进行感兴趣裁剪的具体过程为:对包含二值图像前景的矩形区域裁剪,以减少数据计算量。

    优选的,步骤(3)中所述对光条图像距离变换的具体过程为:

    1)将图像中的像素点分为内部点、外部点和孤立点。内部点中心像素的上下左右四领域为1,孤立点中心像素的上下左右四领域像素为0,否则将其余点定义为边界点。

    2)二值光条图像中有一块连通区域l,包括了目标集合p与背景集b,距离图为d,则距离变化的公式为:

    d(p)=min(dis(p,q))p∈p,q∈b

    式中:min(dis)表示目标点p与背景集合b中的最小的距离

    欧式距离函数dis()为:

    3)遍历图像中所有的内部点与非内部点,点集为p1,p2。对于p1中的每个内部点(x,y),使用距离公式dis()求得其在p2中的最小距离,最小距离构成集合p3。求得p3中的最大值max和最小值min,并按照下式给出每个内部点的灰度值gray;

    gray(x,y)=255×|p3(x,y)-min|/|max-min|

    式中:p3(x,y)表示p1中的点(x,y)在p2中的最短距离

    4)孤立点不采取任何操作。

    优选的,步骤(4)中所述对光条图像pavlidis细化的具体过程为:

    1)对于待处理的光条图像,黑色背景的像素灰度值为0,要细化的前景物体像素灰度值为距离变换后的像素灰度值。

    1)求出前景像素的轮廓,并用2表示。

    3)如果该像素是孤立点或端点,则其像素灰度值标记为3。如果像素是其它可能改变8邻域连通性的点标记当前像素灰度值为3。

    4)对不等于0的像素进行处理,如果像素周围全是2,则标记其为4。对于其它不可删除情况,置当前像素灰度值为4。

    5)对于像素灰度值为2的轮廓点再次进行判断,对于可删除的点,标记为5。

    6)对像素灰度值为2和5的点执行删除操作,最终值为4的点为细化后的轮廓点。

    优选的,步骤(5)中所述对光条图像自适应平滑的具体过程为:

    1)对输入图像f0(i,j)进行自适应平滑滤波是将滤波函数与原始图像进行卷积,得到一个平滑图像f1(i,j),即

    式中:p确定了滤波区域是以点(i,j)为中心的(2p 1)×(2p 1)窗口;ωij(m,n)是为窗口内的像素点f0(i m,j n)设计的加权系数。

    2)根据滤波窗口中像素的差异值确定权重的值,加权函数应为单调减函数,选择使用单调递减的指数函数φ(x)来构造加权函数,加权函数ωij(m,n)和指数函数φ(x)为

    ωij(m,n)=φ(|f(i,j)-f(i m,j n)|)

    3)采用高斯函数来计算加权系数,即

    式中:σ调节指数衰减速度,它确定了在平滑过程中可以保留下的边缘幅度;f′(i,j)表示灰度梯度,有

    |f′(i,j)|2=gi2 gj2

    4)令滤波窗口尺寸大小为3×3,那么

    则权系数可以表示为

    5)对权重ωij做归一化处理,保证平滑后的f1(i,j)不会超出图像的灰度范围。

    本发明的有益效果:通过对光条图像预处理去除图像噪声,对图像的rgb分量提取可以更有效地提取光条图像,减少光照和背景环境对光条提取的影响,感兴趣区域裁剪可以减少计算量,采用距离变换算法对光条图像进行粗提取,采用pavlidis细化算法对光条图像进一步细化,针对凸起和毛刺采用自适应平滑滤波得到单像素宽度的光条中心线。可以在复杂的背景和光照条件下实现对线结构光光条中心线快速准确的提取,满足视觉检测系统的精度和实时性要求。

    附图说明

    图1是本发明公开的线结构光光条中心线提取方法的流程图;

    图2为自然光下的原始光条图像;

    图3为距离变换后的光条图像的灰度分布;

    图4为内部点、外部点和孤立点的类型定义示意图;

    图5为pavlidis细化算法细化后的光条图像;

    图6为p0的八领域点p1-p8示意图;

    图7为自适应平滑算法平滑后的光条图像。

    具体实施方式

    为了加深对本发明的理解,下面将结合附图和实施例对本发明做进一步详细描述,该实施例仅用于解释本发明,并不对本发明的保护范围构成限定。

    现在结合附图对本发明作进一步详细的说明。

    图1所示为本发明实例提供的一种复杂环境下线结构光中心线提取方法的流程示意图。

    如图1所示,本发明实施例提供的一种复杂环境下的线结构光光条中心线提取方法包括以下步骤:

    步骤1,对采集的光条图像进行预处理,包括去噪、rgb分量提取、图像二值化,得到预处理后的光条图像;

    具体过程包括:

    (1)相机拍摄到的光条图像如图2所示,但是会存在各种各样的噪声信号,这些的噪声会给对光条中心的提取有很大影响,例如边缘模糊、不光滑和亮度不均匀等问题,中值滤波可以做到既去除噪声又能保护图像的边缘。

    (2)根据激光投射的实际情况设置rgb三个分量对应的参数可以较好地提取彩色图像的光条部分,减少背景对光条处理的影响,对红色激光图像提取r分量得到灰度图。

    (3)采用kittler最小误差算法对图像进行二值化,其原理在于:计算整幅图像的梯度灰度的平均值,以此平均值作为全局阈值t,t的计算公式为:

    式中,f(x,y)表示原始的灰度图像,e(x,y)=max{|ex|,|ey}表示图像的的梯度最大值,在e(x,y)中,ex=f(x-1,y)-f(x 1,y)表示水平方向上的梯度,ex=f(x,y-1)-f(x,y 1)表示垂直方向上的梯度。

    步骤2,预处理后的光条图像进行感兴趣区域裁剪;

    直接对采集到的图进行处理会极大影响图像处理速度,为了使得测量更加具有针对性、减小处理时间,需要对图像的特定区域进行处理,其大小以完全包含物体的光条图像最佳,这样可在减少数据计算量的同时尽可能多的保留光系纹上的信息。

    步骤3,对裁剪后的图像进行距离变换,得到光条粗提取图像;

    对图像进行距离变换的原理在于:通过表识空间点(目标点与背景点)距离的过程,将二值图像转换为灰度图像,在这幅灰度图像中,每个像素与距离最近的背景间的距离用该像素的灰度级表示,距离变换后的光条图像的灰度分布如图3所示。

    具体过程包括:

    (1)将图像中的像素点分为内部点、外部点和孤立点,如图4所示。内部点中心像素的上下左右四领域为1,孤立点中心像素的上下左右四领域像素为0,否则将其余点定义为边界点。

    (2)二值光条图像中的连通区域l,包括了目标集合p与背景集b,距离图为d,则距离变化的公式为:

    d(p)=min(dis(p,q))p∈p,q∈b

    式中:min(dis)表示目标点p与背景集合b中的最小的距离

    (3)欧式距离函数dis()为:

    (4)遍历图像中所有的内部点与非内部点,点集为p1,p2。对于p1中的每个内部点(x,y),使用距离公式dis()求得其在p2中的最小距离,最小距离构成集合p3。求得p3中的最大值max和最小值min,并按照下式给出每个内部点的灰度值gray;

    gray(x,y)=255×|p3(x,y)-min|/|max-min|

    式中:p3(x,y)表示p1中的点(x,y)在p2中的最短距离

    步骤4,采用pavlidis细化算法对光条灰度图像细化,得到光条中心线初始值;

    对光条图像采用pavlidis算法细化的原理在于:对光条图像经过一层层的剥离,从原来的图中去掉一些点,但仍要保持原来的形状,直到得到单像素宽的骨架,即为光条中心初始值,如图5所示。

    具体过程包括:

    (1)对于待处理的光条图像,黑色背景的像素灰度值为0,要细化的前景物体像素灰度值为距离变换后的像素灰度值,图6为p0点的八领域点p1-p8示意图。

    (2)求出前景像素的轮廓,并用2表示。对于一个值为1的像素点,如果它的领域p1,p3,p5,p7四个点都为1,则该点是内部点,继续循环,判断其它像素。

    (3)如果该像素是孤立点或端点,则其像素灰度值标记为3。

    (4)如果像素是其它可能改变8连通性的点。比如以下的情况:p4,p8为0,但p5,p6,p7和p1,p2,p3中有非零值,如果删除p点,则连通性会改变。此时都标记当前像素灰度值为3。

    (5)对不等于0的像素进行处理,如果像素周围全是2,则标记其为4(不删除)。还有对于其它不可删除情况,置当前像素灰度值为4。

    (6)对于像素灰度值为2的轮廓点再次进行判断,对于可删除的点,标记为5。

    (7)对于像素灰度值为2和5的点执行删除操作,最终值为4的点为细化后的轮廓点。

    步骤5,采用自适应平滑算法平滑初始光条中心线的凸起和毛刺,得到精准的光条中心线提取图像。

    对光条图像自适应平滑其原理在于:根据光条中心像素灰度值的突变特性,自适应改变滤波器的权值,在区域平滑的过程中使图像的边缘锐化,得到精准的光条中心,如图7所示。

    具体过程包括:

    (1)对输入图像f0(i,j)进行自适应平滑滤波是将滤波函数与原始图像进行卷积,得到一个平滑图像f1(i,j),即

    式中:p确定了滤波区域是以点(i,j)为中心的(2p 1)×(2p 1)窗口;ωij(m,n)是为窗口内的像素点f0(i m,j n)设计的加权系数。

    (2)根据滤波窗口中像素的差异值确定权重的值,加权函数应为单调减函数,选择使用单调递减的指数函数φ(x)来构造加权函数,加权函数ωij(m,n)和指数函数φ(x)为

    ωij(m,n)=φ(|f(i,j)-f(i m,j n)|)

    (3)采用高斯函数来计算加权系数,即

    式中:σ调节指数衰减速度,它确定了在平滑过程中可以保留下的边缘幅度;f′(i,j)表示灰度梯度,有

    |f′(i,j)|2=gi2 gj2

    (4)令滤波窗口尺寸大小为3×3,那么

    (5)则权系数可以表示为

    对权重ωij做归一化处理,保证平滑后的f1(i,j)不会超出图像的灰度范围。

    本发明主要解决结构光光条中心的提取中易受背景和光照影响,提取精度与速度不能同时兼顾的问题。通过对图像的rgb分量提取可以更有效地提取光条图像,对光条图像预处理和感兴趣区域裁剪可以去除噪声和减少计算量,采用距离变换算法对光条图像进行粗提取,采用pavlidis细化算法对光条图像进一步细化,针对凸起和毛刺采用自适应平滑滤波得到单像素宽度的光条中心线。可以在复杂的背景和光照条件下实现对线结构光光条中心线快速准确的提取,满足视觉检测系统的要求。


    技术特征:

    1.一种复杂环境下的线结构光光条中心线提取方法,其特征在于,包括:

    s1、对采集的光条图像进行预处理,包括图像去噪、rgb分量提取、图像二值化;

    s2、预处理后的光条图像进行感兴趣区域裁剪;

    s3、对裁剪后的图像进行距离变换,得到光条粗提取图像;

    s4、采用pavlidis细化算法对光条图像细化,得到光条中心线初始值;

    s5、采用自适应平滑算法平滑初始光条中心线的凸起和毛刺,得到精准的光条中心线提取图像。

    2.根据权利要求1所述的复杂环境下的线结构光光条中心线提取方法,其特征在于,所述步骤s1中对光条图像进行预处理包括:将采集到的图像采用中值滤波进行去噪,rgb分量提取,并二值化为黑白图像,其中白色为前景,黑色为背景。

    3.根据权利要求2所述的复杂环境下的线结构光光条中心线提取方法,其特征在于,所述步骤s1采用kittler算法对图像进行二值化。

    4.根据权利要求1所述的复杂环境下的线结构光光条中心线提取方法,其特征在于,所述步骤s2中对光条图像进行感兴趣裁剪包括:对包含二值图像前景的矩形区域裁剪。

    5.根据权利要求1所述的复杂环境下的线结构光光条中心线提取方法,其特征在于,所述步骤s3中对光条图像距离变换包括:通过表识目标点与背景点距离的过程,将二值图像转换为灰度图像,在这幅灰度图像中,每个像素与距离最近的背景间的距离用该像素的灰度级表示。

    6.根据权利要求1所述的复杂环境下的线结构光光条中心线提取方法,其特征在于,所述步骤s4中对光条图像pavlidis细化包括:对光条图像经过一层层的剥离,从原来的图中去掉一些点,但仍要保持原来的形状,直到得到单像素宽的骨架,即为光条中心初始值。

    7.根据权利要求1所述的复杂环境下的线结构光光条中心线提取方法,其特征在于,所述步骤s5中对光条图像自适应平滑包括:根据光条中心像素灰度值的突变特性,自适应改变滤波器的权值,在区域平滑的过程中使图像的边缘锐化,得到精准的光条中心。

    8.根据权利要求1所述的复杂环境下的线结构光光条中心线提取方法,其特征在于,所述步骤s3中对裁剪后的图像进行距离变换具体包括如下步骤:

    s3.1、将图像中的像素点分为内部点、外部点和孤立点,内部点中心像素的上下左右四领域为1,孤立点中心像素的上下左右四领域像素为0,否则将其余点定义为边界点;

    s3.2、二值光条图像中有一块连通区域l,包括了目标集合p与背景集b,距离图为d,则距离变化的公式为:

    d(p)=min(dis(p,q))p∈p,q∈b

    式中:min(dis)表示目标点p与背景集合b中的最小的距离,

    欧式距离函数dis()为:

    s3.3、遍历图像中所有的内部点与非内部点,点集为p1,p2,对于p1中的每个内部点(x,y),使用距离公式dis()求得其在p2中的最小距离,最小距离构成集合p3;求得p3中的最大值max和最小值min,并按照下式给出每个内部点的灰度值gray;

    gray(x,y)=255×|p3(x,y)-min|/|max-min|

    式中:p3(x,y)表示p1中的点(x,y)在p2中的最短距离;

    s3.4、孤立点不采取任何操作,在距离变换后二值图像变为存在浮点类型的32位灰度图,为了方便显示需要归一化操作。

    9.根据权利要求1所述的复杂环境下的线结构光光条中心线提取方法,其特征在于,所述步骤s4中对采用pavlidis细化算法对光条灰度图像细化具体包括如下步骤:

    s4.1、对于待处理的光条图像,黑色背景的像素灰度值为0,要细化的前景物体像素灰度值为距离变换后的像素灰度值;

    s4.2、求出前景像素的轮廓,并用2表示;对于一个像素灰度值为1的像素点,如果它的领域p1,p3,p5,p7四个点都为1,则该点是内部点,继续循环,判断其它像素;

    s4.3、如果该像素是孤立点或端点,则其像素灰度值标记为3;

    s4.4、对不等于0的像素进行处理,如果像素周围全是2,则标记其为4;还有对于其它不可删除情况,置当前像素灰度值为4;

    s4.5、对于像素灰度值为2的轮廓点再次进行判断,对于可删除的点,标记为5;

    s4.6、对像素灰度值为2和5的点执行删除操作,最终像素灰度值为4的点为细化后的轮廓点。

    10.根据权利要求1所述的复杂环境下的线结构光光条中心线提取方法,其特征在于,所述步骤s5中采用自适应平滑算法平滑初始光条中心线具体包括如下步骤:

    s5.1、对输入图像f0(i,j)进行自适应平滑滤波是将滤波函数与原始图像进行卷积,得到一个平滑图像f1(i,j),即

    式中:p确定了滤波区域是以点(i,j)为中心的(2p 1)×(2p 1)窗口;ωij(m,n)是为窗口内的像素点f0(i m,j n)设计的加权系数;

    s5.2、根据滤波窗口中像素的差异值确定权重的值,加权函数应为单调减函数,选择使用单调递减的指数函数φ(x)来构造加权函数,加权函数ωij(m,n)和指数函数φ(x)为

    ωij(m,n)=φ(|f(i,j)-f(i m,j n)|)

    s5.3、采用高斯函数来计算加权系数,即

    式中:σ调节指数衰减速度,它确定了在平滑过程中可以保留下的边缘幅度;f′(i,j)表示灰度梯度,有

    |f′(i,j)|2=gi2 gj2

    s5.4、令滤波窗口尺寸大小为3×3,那么

    则权系数可以表示为

    s5.4对权重ωij做归一化处理,保证平滑后的f1(i,j)不会超出图像的灰度范围。

    技术总结
    本发明公开了一种复杂环境下线结构光光条中心线的提取方法,包括如下步骤:对采集的光条图像进行预处理,包括图像去噪、RGB分量提取、图像二值化;对预处理后的光条图像进行感兴趣区域(ROI)裁剪;对裁剪后的图像进行距离变换,得到光条粗提取图像;采用Pavlidis细化算法对光条图像细化,得到光条中心线;采用自适应平滑算法平滑结构光光条中心线的凸起和毛刺,得到精准的光条中心提取图像。本发明的有益效果为:该方法能够在不同干扰环境下很好地提取出光条中心线,可以改善线结构光光条灰度和宽度分布不均匀的问题。

    技术研发人员:李锋;张勇停;李超;汪平;孙晗笑;叶童玲;张惠惠
    受保护的技术使用者:江苏科技大学
    技术研发日:2020.11.24
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-16378.html

    最新回复(0)