基于PROSAC与筛选合并的改进EDLines直线提取方法

文档序号:30665180发布日期:2022-07-06 02:41阅读:345来源:国知局
基于PROSAC与筛选合并的改进EDLines直线提取方法
基于prosac与筛选合并的改进edlines直线提取方法
技术领域
1.本发明涉及图像识别技术领域,特别涉及一种提取图像中线段特征的方法。


背景技术:

2.图像识别,是指利用计算机对图像进行处理、分析和理解,以识别各种不同模式的目标和对象的技术,是深度学习算法的一种实践应用。图像识别是人工智能的一个重要领域。
3.特征提取是图像识别流程中的重要步骤,对于包含有大量直线特征的图像,通常会用到edlines等直线特征提取算法获得图像中的直线特征。但是现有的edlines算法受噪声的影响,在非直线特征处会提取出较短的直线,因此其抗噪声干扰能力还有待提高。并且采用现有edlines直线特征提取算法提取得到的线段特征,中间断点较多,与实际情况的吻合度还有待提升。


技术实现要素:

4.有鉴于此,本发明的目的是提供一种基于prosac与筛选合并的改进edlines直线提取方法,以解决现有的edlines算法在提取图像中直线特征时,会在非直线特征处会提取出较多较短直线,抗噪声干扰能力有待提高的问题;以及解决提取到的线段特征中的中间断点较多,与实际情况吻合度有待提升的技术问题。
5.本发明基于prosac与筛选合并的改进edlines直线提取方法,包括步骤:
6.1)对图片进行高斯滤波,以平滑图像;
7.2)计算图片中每个像素的梯度方向和梯度大小;
8.3)遍历每个像素,选取在梯度方向上梯度值大于或等于相邻像素梯度值的像素,定义为锚点,
9.4)连接锚点,形成边缘像素链;
10.5)对每条边缘像素链采用prosac方法剔除噪声点,拟合线段,其又包括以下步骤:
11.a)从边缘像素链中任选2个像素作为线段的起点和终点,并根据所选的2个像素计算出一条直线;
12.b)求取边缘像素链中的其它像素到步骤a)计算所得直线的加权距离,以加权距离在dh范围内的像素作为内点构成内点集;其中dh为给定阈值;
13.di=αd
i1
+βd
i2
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0014][0015]di2
=cos(θ
1-θ2)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0016]
其中,di为像素距直线的加权距离,d
i1
为像素(xi,yi)到直线y=kx+b的欧式距离,k为直线斜率,b为直线截距,d
i2
为像素(xi,yi)梯度方向θ1与直线y=kx+b的法线方向θ2的单位向量距离,α和β为权值因子;
[0017]
c)以最大化内点数量为指标进行迭代过程,每次迭代过程中用于确定新直线的2个像素从上一次迭代得到的内点集里面选取,直至内点占像素链中所有像素的比例超过比例阈值τ或达到迭代次数num;
[0018]
d)以最后一次迭代得到的线段作为最终结果,并输出提取到的线段方程;
[0019]
6)对步骤5)得到的线段进行筛选和合并,其包括以下步骤:
[0020]
a)任意选择图片中的一条线段作为主线段,再拓展一个长为l+δl,宽为δw的矩形,主线段位于矩形的中心位置,矩形的长边与主线段平行,其中l为主线段的长度,δl和δw为设定的阈值,以向量相似度筛选矩形内及与矩形相交的线段,将满足向量相似度筛选公式的线段放入集合中得到线段集合;向量相似度筛选公式为:
[0021][0022][0023][0024]
cosθ≥cosθ
min
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
[0025]
其中为主线段l1的向量表示,为待合并线段l2的向量表示;主线段l1的两个端点坐标分别为(x
1a
,y
1a
)、(x
1b
,y
1b
),待合并线段l2的两个端点坐标分别为(x
2a
,y
2a
)、(x
2b
,y
2b
),θ为主线段l1与待合并线段l2的夹角,θ
min
为设定的夹角阈值;
[0026]
b)对线段集合中的线段按照与主线段的距离升序排序,距离度量公式为:
[0027][0028][0029][0030]
其中,为待合并线段的中点p的坐标,d
p
为中点p到主线段y=k1x+b1的欧式距离,k1为直线斜率,b1为直线截距;
[0031]
c)依次选择步骤b)中升序排序中的线段作为待合并线段,将待合并线段正投影到包含该主线段的直线上,得到待合并线段的投影线段,再分情况合并线段:
[0032]
情况一:当投影线段的两个端点主线段之外,且投影线段的两个端点在主线段的同一侧,则计算主线段和投影线段的两相邻端点的距离,如果两个相邻端点的距离小于设定的阈值ζ,则在主线段的两个端点和投影线段的两个端点共四个端点中,取距离最大的两个端点所确定的线段作为主线段和待合并线段合并后的新线段;如果两个相邻端点的距离大于设定的阈值ζ,则不进行线段合并;
[0033]
情况二:当投影线段的两个端点在主线段的两端外侧,则取投影线段作为主线段和待合并线段合并后的新线段;
[0034]
情况三:当投影线段的一个端点在主线段上,投影线段的另一端点主线段外,则在主线段的两个端点和投影线段的两个端点共四个端点中,取距离最大的两个端点所确定的
线段作为主线段和待合并线段合并后的新线段;
[0035]
情况四:当投影线段的两个端点都在主线段上,则取主线段作为主线段和待合并线段合并后的新线段;
[0036]
d)重复步骤a)-步骤c),完成图片中线段的合并。
[0037]
本发明的有益效果:
[0038]
本发明基于prosac与筛选合并的改进edlines直线提取方法,与现有的edlines相比较其在非特征处提取的短线段更少,抗噪声干扰能力更强;本发明方法还对提取的线段进行筛选和合并处理,将断裂的线段合并为较长的线段,还原出的线段与实际吻合度更好,与现有的edlines相比本发明方法提高了直线特征提取的准确度。
附图说明
[0039]
图1为原始edlines线特征提取算法提取到直线特征的效果图;
[0040]
图2为基于prosac剔除噪声点的改进edlines直线提取方法提取到直线特征的效果图;
[0041]
图3为投影线段的两个端点同在主线段某一端外侧的线段合并示意图;
[0042]
图4为投影线段的两个端点同在主线段某一端外侧的线段不合并示意图;
[0043]
图5为投影线段的两个端点在主线段的两端外侧的线段合并示意图;
[0044]
图6为投影线段的一个端点在主线段上,另一端点主线段外的线段合并示意图;
[0045]
图7为投影线段的两个端点都在主线段上的线段合并示意图;
[0046]
图8为基于prosac与筛选合并的改进edlines直线提取方法提取到直线特征的效果图;
[0047]
图9为基于prosac与筛选合并的改进edlines直线提取方法的流程图。
具体实施方式
[0048]
下面结合附图和实施例对本发明作进一步描述。
[0049]
本实施例基于prosac与筛选合并的改进edlines直线提取方法包括步骤:
[0050]
1)对图片进行高斯滤波,以平滑图像。
[0051]
2)计算图片中每个像素的梯度方向和梯度大小。
[0052]
3)遍历每个像素,选取在梯度方向上梯度值大于或等于相邻像素梯度值的像素,定义为锚点。
[0053]
4)连接锚点,形成边缘像素链。
[0054]
5)对每条边缘像素链采用prosac方法剔除噪声点,拟合线段,其又包括以下步骤:
[0055]
a)从边缘像素链中任选2个像素作为线段的起点和终点,并根据所选的2个像素计算出一条直线。
[0056]
b)求取边缘像素链中的其它像素到步骤a)计算所得直线的加权距离,以加权距离在dh范围内的像素作为内点构成内点集;其中dh为给定阈值;
[0057]di
=αd
i1
+βd
i2
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0058]
[0059]di2
=cos(θ
1-θ2)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0060]
其中,di为像素距直线的加权距离,d
i1
为像素(xi,yi)到直线y=kx+b的欧式距离,k为直线斜率,b为直线截距,d
i2
为像素(xi,yi)梯度方向θ1与直线y=kx+b的法线方向θ2的单位向量距离,α和β为权值因子;
[0061]
c)以最大化内点数量为指标进行迭代过程,每次迭代过程中用于确定新直线的2个像素从上一次迭代得到的内点集里面选取,直至内点占像素链中所有像素的比例超过比例阈值τ或达到迭代次数num。
[0062]
d)以最后一次迭代得到的线段作为最终结果,并输出提取到的线段方程。
[0063]
图1为原始edlines线特征提取算法提取直线特征的效果图,图2为采用本实施例中方法提取直线特征的效果图;通过对比图1和图2可知,原edlines算法在噪声的干扰下,在非直线特征处会提取出的较短直线较多,而本实施例中方法在非直线特征处会提取出的较短直线很少,本实施例中公开的方法抗噪声干扰能力更强。
[0064]
6)对步骤5)得到的线段进行筛选和合并,其包括以下步骤:
[0065]
a)任意选择图片中的一条线段作为主线段,再拓展一个长为l+δl,宽为δw的矩形,主线段位于矩形的中心位置,矩形的长边与主线段平行,其中l为主线段的长度,δl和δw为设定的阈值,经过试验,δl设为5个像素效果较好,δw设为3个像素效果较好,当然在具体实施中δl和δw可根据实际情况调整。以向量相似度筛选矩形内及与矩形相交的线段,将满足向量相似度筛选公式的线段放入集合中得到线段集合;向量相似度筛选公式为:
[0066][0067][0068][0069]
cosθ≥cosθ
min
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
[0070]
其中为主线段l1的向量表示,为待合并线段l2的向量表示;主线段l1的两个端点坐标分别为(x
1a
,y
1a
)、(x
1b
,y
1b
),待合并线段l2的两个端点坐标分别为(x
2a
,y
2a
)、(x
2b
,y
2b
),θ为主线段l1与待合并线段l2的夹角,θ
min
为设定的夹角阈值;
[0071]
b)对线段集合中的线段按照与主线段的距离升序排序,距离度量公式为:
[0072][0073][0074][0075]
其中,为待合并线段的中点p的坐标,d
p
为中点p到主线段y=k1x+b1的欧式距离,k1为直线斜率,b1为直线截距;
[0076]
c)依次选择步骤b)中升序排序中的线段作为待合并线段,将待合并线段正投影到包含该主线段的直线上,得到待合并线段的投影线段,再分情况合并线段:
[0077]
情况一:当投影线段的两个端点主线段之外,且投影线段的两个端点在主线段的同一侧,则计算主线段和投影线段的两相邻端点的距离,如果两个相邻端点的距离小于设定的阈值ζ,则在主线段的两个端点和投影线段的两个端点共四个端点中,取距离最大的两个端点所确定的线段作为主线段和待合并线段合并后的新线段;如果两个相邻端点的距离大于设定的阈值ζ,则不进行线段合并;
[0078]
情况二:当投影线段的两个端点在主线段的两端外侧,则取投影线段作为主线段和待合并线段合并后的新线段;
[0079]
情况三:当投影线段的一个端点在主线段上,投影线段的另一端点主线段外,则在主线段的两个端点和投影线段的两个端点共四个端点中,取距离最大的两个端点所确定的线段作为主线段和待合并线段合并后的新线段;
[0080]
情况四:当投影线段的两个端点都在主线段上,则取主线段作为主线段和待合并线段合并后的新线段;
[0081]
d)重复步骤a)-步骤c),完成图片中线段的合并。
[0082]
图8为基于prosac与筛选合并的改进edlines直线提取方法提取到直线特征的效果图。通过对比图2和图8可知,经本实施例中的线段筛选和合并处理后,断裂的线段被合并为较长的线段,还原出的线段与实际相吻合,提高了线段提取的准确度。并且,将图8和图1做对比,可明显看出本实施例中公开方法相对于现有edlines而言,本实施例中方法提取到的直线特征与实际情况更吻合,直线特征提取精度更高。
[0083]
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的宗旨和范围,则均应涵盖在本发明的权利要求范围当中。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1