一种基于相关分析的深度图像直线段的识别与提取方法

文档序号:27683299发布日期:2021-12-01 00:27阅读:203来源:国知局
一种基于相关分析的深度图像直线段的识别与提取方法

1.本发明公开了一种基于相关分析的深度图像直线段的识别与提取方法,属于图像处理领域。


背景技术:

2.在图像处理中经常会遇到直线段的识别与提取的问题,目前常用的方法是采用hough变换的方法来识别和提取直线,但是hough变换的方法计算量非常大,尤其是精度要求高时问题就更加突出,有时还会影响图像处理的实时性。
3.在直缝焊接钢管的成型过程变形区的确定过程中,需要准确的确定直线段的终止位置,准确识别并分离出直线段,目前的方法要么实时性差、精确度低,要么仅大致确定直线,不能确定直线的终止位置,导致直线段的提取不充分。
4.此外,在有直线段为水平或竖直状态时,直接使用相关系数判断直线性也存在着局限性,为直接将相关系数应用于图像处理带来了困难。


技术实现要素:

5.针对现有技术的不足,本发明拟解决的技术问题是,提供一种基于相关分析的深度图像直线段的识别与提取方法,该方法创造性地将相关系数用于深度图像的直线段识别中,实现了对直线段终止位置的确定,提高了识别与提取算法的精度和速度。
6.本发明解决所述技术问题采用的技术方案是:
7.一种基于相关分析的深度图像直线段的识别与提取方法,其特征在于:该方法包括以下内容:
8.获得物体的截面形状,确定截面形状各数据点的横纵坐标;
9.设定每次进行相关系数计算的数据点集的长度为n,从截面形状的一端或两端开始,依次计算固定长度n下的数据点的横纵坐标之间的相关系数;
10.设定相关系数阈值,若固定长度n下的数据点的相关系数的绝对值不小于相关系数阈值,则该固定长度n下的数据点为直线上的点,若当前计算的固定长度n下的数据点的相关系数的绝对值小于相关系数阈值,则前面已计算过相关系数的连续数据点确定为直线段的点;依次遍历所有数据点,再次开始出现相关系数的绝对值大于或等于相关系数阈值时,开始记录属于下一段直线段的点,重复上述过程,直至获得截面形状所有的直线段,实现直线段的识别与提取。
11.所述n的取值大于3,且不大于单个直线段的长度。
12.固定长度n下的数据点的横纵坐标之间的相关系数r的计算公式是:
[0013][0014]
其中,x
i
和y
i
为某个数据点的横纵坐标,为n个数据的x坐标的平均值,为n个数据的y坐标的平均值。
[0015]
所述截面形状为两段直线夹一段圆弧的形状,进行直线段识别与提取的过程是:要先从所采集的数据两端各取不少于3个的数据点采用最小二乘法进行直线拟合,计算拟合出的两段直线的斜率,根据斜率判断两端是否有水平或竖直直线段,若没有水平或竖直段,就直接计算所有采集数据点的横纵坐标之间的相关系数;若有水平或竖直直线段则先对所有数据进行θ角度旋转,然后再对旋转后的数据点计算数据点的横纵坐标之间的相关系数;最终根据相关系数的绝对值与相关系数阈值的大小关系确定属于两端直线段和中间一段圆弧段的点,进而将直线段分离出来。
[0016]
与现有技术相比,本发明的有益效果是:
[0017]
1.本技术首次将用于普通数据直线度判断的方法用于图像处理中,采用计算相关系数的方法来判断这些点是否趋近于直线,通过设定相关系数阈值及是否有相关系数的突变能够准确识别出直线段上的点,确定当前直线段的终止位置,同时能确定下一直线段的开始位置。本技术一改常规图像直线段提取的思路,避免使用hough变换的方法,大大减少了计算量。
[0018]
2.本发明基于相关分析的深度图像直线段的识别与提取方法,对于两条直线夹一段圆弧的情况,可以先从所采集的数据两端各取至少三个点采用最小二乘法进行直线拟合,拟合出两段直线的斜率,根据斜率判断两端是否有水平或竖直直线段,若没有水平或竖直段,就直接计算所采集数据的相关系数;若有水平或竖直直线段则先对数据旋转一个θ角度,然后再对旋转后的数据计算相关系数;最终根据相关系数的大小将属于两端直线段和中间一段圆弧段的点分离出来。本发明这种先将离散数据进行坐标旋转变换,也就是将它们组成的直线旋转成与x和y坐标轴都不平行,这时又可以采用计算相关系数的方法来判断这些点组成的是否是直线,这样即使在离散点所组成的直线与直角坐标系的x轴或y轴平行的情况下也能利用相关系数来确定直线情况,采用这种方法比传统的hough变换直线判断方法的计算量要大大较少,图像处理的实时性得到大幅度提高。
附图说明
[0019]
为了更清楚地说明本发明实施案例中的技术方案,下面将对实施例或现有技术描述中需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0020]
图1为本发明实施例提供的深度视觉传感器的测量数据;
[0021]
图2为本发明实施例提供的第1个截面形状;
[0022]
图3为本发明实施例提供的第2个截面形状;
[0023]
图4为本发明实施例提供的图2数据的相关系数;
[0024]
图5为本发明实施例提供的图3数据的相关系数;
[0025]
图6为本发明实施例提供的对图3数据逆时针旋转θ角后的截面形状;
[0026]
图7为本发明实施例提供的图6数据的相关系数。
具体实施方式
[0027]
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结
合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0028]
本发明基于相关分析的深度图像直线段的识别与提取方法,包括以下内容:
[0029]
获得物体的截面形状,确定截面形状各数据点的横纵坐标;
[0030]
设定每次进行相关系数计算的数据点集的长度为n,从截面形状的一端或两端开始,依次计算固定长度n下的数据点的横纵坐标之间的相关系数;
[0031]
设定相关系数阈值,若固定长度n下的数据点的相关系数的绝对值不小于相关系数阈值,则该固定长度n下的数据点为直线上的点,若当前计算的固定长度n下的数据点的相关系数的绝对值小于相关系数阈值,则前面已计算过相关系数的连续数据点确定为直线段的点;依次遍历所有数据点,再次开始出现相关系数的绝对值大于或等于相关系数阈值时,开始记录属于下一段直线段的点,重复上述过程,直至获得截面形状所有的直线段,实现直线段的识别与提取。
[0032]
具体过程是:
[0033]
1)采用深度视觉传感器采集物体的截面形状,所采集的数据分别为测量位置的x坐标值和y坐标值,本实施例中每个截面采集1280个点,根据所选用的截面采集设备种类及规格的不同采集的数据点的数量不同。
[0034]
2)从所采集的数据两端各取至少三个点采用最小二乘法进行直线拟合,拟合出两段直线的斜率,根据斜率判断两端是否有水平或竖直直线段。
[0035]
3)若两端都没有水平或竖直直线段(即没有与x轴和y轴平行的直线),直接计算相关系数,那么取左端第1个点到第n个点计算相关系数,然后再取左端第2个点到第n+1个点计算相关系数,依次类推,计算出所有数据点的横纵坐标之间的相关系数并取绝对值。其中n不小于3,且n不大于单个直线段的长度,n的具体取值可以根据实际情况进行设置,获得截面形状后,一般能够初始判断出单侧直线数据点的大概数量,单侧数据量较大时,为计算方便和准确性考虑,可设置n为单侧直线数据点数量的1/10

1/5。
[0036]
4)若任意一端有水平或竖直直线段(即有与x轴和y轴平行的直线),这就意味着x和y不相关(因为y是常数不随x变化或x是常数不随y变化),需要先将这些点进行坐标旋转变换,然后再计算相关系数,即若左端有水平或竖直直线段,那么将所采集到的所有数据整体沿逆时针旋转角度θ,进行坐标旋转变换,获得旋转后的形状;若右端有水平或竖直直线段,那么将所采集到的所有数据整体沿顺时针旋转角度θ,进行坐标旋转变换,获得旋转后的形状。然后对于旋转后的形状上的数据取左端第1个点到第n个点计算相关系数,取左端第2个点到第n+1个点计算相关系数,依次类推,计算出所有数据的相关系数并取绝对值。
[0037]
本实施例采集的物体形状为两端是直线段、中间是曲线的组合形状,旋转角度可以取两端直线夹角的一半,按照上述规定的旋转方向进行旋转是为了避免将一条直线旋转成水平或竖直,以使该条直线可以用相关系数判断哪些点在直线上,但是另外一条直线在旋转后可能出现水平或竖直情况可能无法用相关系数计算。旋转角度可以从几度到八十多度,目的是使原来是与坐标轴平行的,旋转后变成不平行,角度θ的理想值是45
°
。但也可以选择除了90
°
的整数倍(90
°
、180
°
、270
°
、360
°
等)的其它任意角度,如5
°
、10
°
、20
°
、30
°
、40
°
、60
°
、80
°
、85
°
等。关于旋转方向也可以根据实际情况,对左端数据进行顺时针旋转,对右端数据进行逆时针旋转。旋转时可以单个数据点逐一进行相同角度的旋转,最终实现所有数
据的旋转,组成旋转后的形状;也可以将初始截面形状整体旋转,再获得旋转后的所有数据点的横纵坐标。
[0038]
5)设定相关系数阈值为0.99,选取所有相关系数的绝对值大于等于0.99的点组成的线段为直线段,对于属于直线段的数据分别采用最小二乘法拟合出直线,就可检测和分离出图像中的直线段。在有多个直线段和圆弧段交替的情况时,从一端开始进行横纵坐标相关系数的计算,若固定长度n下的数据点的相关系数的绝对值都不小于0.99,则该已计算过相关系数的连续点为当前直线段上的点,相关系数的绝对值突变点之前的一个数据点为该直线段的终止位置;然后继续进行下个数据点的横纵坐标之间的相关系数的计算,当相关系数的绝对值再次不小于0.99时,此点为下一直线段的开始点,开始点之后的连续数据点的相关系数的绝对值均不小于0.99,即找到第二条直线段;重复上述过程,可以找到所有的直线段。相关系数小于0.99的与直线偏差较大,在直线段提取时这部分数据要舍去。在本技术实施例中选取左端相关系数大于等于0.99的点采用最小二乘法拟合出左端直线,选取右端相关系数大于等于0.99的点采用最小二乘法拟合出右端直线,对于相关系数小于0.5的数据点认为是属于圆弧段的点,拟合出圆弧段。
[0039]
关于相关系数阈值的具体取值,可以根据实际工程要求设定,若采集数据的干扰程度较高,可适当降低相关系数阈值的具体取值。本实施例中采用激光采集数据,相对准确度较高,阈值可设置为0.99,保证了直线段识别与提取的精确度。
[0040]
本技术根据相关系数计算先判断出哪些点是直线上的点,然后再用直线上的点通过最小二乘法计算直线方程,实现直线段的识别与提取。本发明能用于在直缝焊接钢管的成型过程变形区的确定等需要自动分离出属于直线的点和属于圆弧的点的场合,并能计算出直线方程和圆的方程。
[0041]
实施例1
[0042]
本实施例对象为直焊缝钢管压制过程中直线的提取,其截面形状为两端均为直线,中间为圆弧曲线,选取左端相关系数大于等于0.99的点采用最小二乘法拟合出左端直线,选取右端相关系数大于等于0.99的点采用最小二乘法拟合出右端直线,就可检测和分离出图像中的直线段。
[0043]
采用深度视觉传感器采集物体的截面形状,所采集的数据分别为测量位置的x坐标值和y坐标值,深度视觉传感器采集的原始图像如图1所示。
[0044]
利用深度视觉传感器分别采集两端直线不与坐标轴平行的数据图形(参见图2)、有一端直线与坐标轴x轴平行的情况的数据图形(参见图3)。由图2和图3可以看出,所采集的截面形状由两段直线和一段圆弧所组成。
[0045]
相关系数是判断两个变量之间是否具有线性关系的重要指标,相关系数越接近1,则这两个变量之间的线性关系越强,相关系数越接近0,则这两个变量之间的线性关系越弱,由此可以根据相关系数来判断哪些点是属于直线段的,哪些点是属于圆弧段的,假设进行相关系数计算的数据点数为n,数据点的横纵坐标为xi和yi,n个数据的x坐标的平均值为n个数据的y坐标的平均值为数据点i的横纵坐标xi和yi之间的相关系数r为:
[0046]
[0047]
本实施例中n取100,对图2的数据取从左端第1个点到第100个点计算相关系数,然后再取左端第2个点到第101个点计算相关系数,依次类推,计算出所有数据的相关系数并取绝对值,所计算出的相关系数如图4所示。选取左端相关系数大于等于0.99的点采用最小二乘法拟合出左端直线,选取右端相关系数大于等于0.99的点采用最小二乘法拟合出右端直线,就可检测和分离出图像中的直线段。根据图4将相关系数大于等于0.99的点分离出来作为两端直线上的点,将小于0.5的点分离出作为圆弧段的点,进而可以有效地分离出属于两端直线和一段圆弧的点。
[0048]
对图3的数据采用同样方法所计算出的相关系数如图5所示。根据图5可以有效地分离出属于右面一条直线和一段圆弧的点,但是无法分离出属于左面一条直线的点。原因是左面的一条直线近似与x轴平行,即y值近似为常数,也就是x和y之间没有线性关系,因此无法直接采用图2的相关系数处理方法来判断左面的一条直线。
[0049]
对图3的x和y数据进行旋转变换,由于是左端有水平直线段,那么将所采集到的所有数据沿逆时针旋转角度θ,即逆时针旋转5
°
,变换为x’和y’,变换矩阵为:变换后的数据如图6所示。本实施例实际应用案例为在圆弧两端各有一段直线,这两段直线的夹角是10
°
左右,旋转5
°
选择的是夹角的一半,可以使圆弧两边的直线对称,并且也不会使另一条直线旋转后与坐标轴平行。这样只需要旋转一次就解决了两条直线的问题。
[0050]
对图6的数据再采用图2相关系数处理方式所计算出的相关系数如图7所示。根据图7可以有效地分离出属于两端直线和一段圆弧的点。这样就可以有效地解决与坐标轴平行直线上点判断的问题。
[0051]
实际使用时在图2进行相关系数计算之前,要先从所采集的数据两端各取多个点(点数一般不小于3个点,不大于单侧直线段的长度)采用最小二乘法进行直线拟合,拟合出两段直线的斜率,根据斜率判断两端是否有水平直线段,若没有水平段,就直接计算相关系数(即图2);若有直线段则先对数据进行旋转,然后再计算相关系数,最终将属于两端直线段和一段圆弧段的点分离出来。
[0052]
对于相关系数计算中,所选取的n的大小不能少于2个,若点太少,则计算误差太大,若所选的点数大于直线段的长度,因为有非直线段的数据参加了计算,计算也不准确。
[0053]
本发明未述及之处适用于现有技术。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1