CN116612297B - 一种融合轮廓特征的图像线段提取方法 - Google Patents
一种融合轮廓特征的图像线段提取方法 Download PDFInfo
- Publication number
- CN116612297B CN116612297B CN202310508807.5A CN202310508807A CN116612297B CN 116612297 B CN116612297 B CN 116612297B CN 202310508807 A CN202310508807 A CN 202310508807A CN 116612297 B CN116612297 B CN 116612297B
- Authority
- CN
- China
- Prior art keywords
- contour
- line segment
- line segments
- segment
- line
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
- G06V10/443—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/62—Analysis of geometric attributes of area, perimeter, diameter or volume
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/80—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
- G06V10/806—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of extracted features
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Geometry (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
Abstract
本发明属于图像处理技术领域,特别涉及到一种融合轮廓特征的图像线段提取方法,包括:提取图像的轮廓并求出图像中每个轮廓的面积;滤除面积极小和面积极大的轮廓后得到若干保留的轮廓;对图像进行线段检测;对线段的轮廓特征分析确定每一个保留的轮廓所包含的线段;分别获取每一个保留的轮廓的每一条线段的长度和角度,根据每一条线段的长度和角度筛选出过密无意义纹理线段并剔除。通过提取出图像的轮廓和线段,对线段的轮廓特征分析确定每一个保留的轮廓所包含的线段,对每一个保留的轮廓所包含的线段的长度和角度特征进行分析筛选出过密无意义纹理线段并剔除,解决了现有技术中在图像线段提取时对于过密无意义纹理线段不能很好地剔除的问题。
Description
技术领域
本发明属于图像处理技术领域,特别涉及到一种融合轮廓特征的图像线段提取方法。
背景技术
线段是数字图像和真实场景中常见而重要的几何元素,被广泛用于许多视觉任务,例如消失点估计、3D重建、图像分割等。目前的线段检测器可以分为传统方法和深度学习方法。传统方法分为霍夫变换方法和感知分组方法。
HT运用两个坐标空间之间的变换,将在一个空间中具有相同形状的曲线或直线映射到另一个坐标空间的一个点上形成峰值,从而把检测任意形状的问题转化为统计峰值问题。霍夫方法检测线段的基本原理在于利用点与线的对偶性,在我们的直线检测任务中,即图像空间中的直线与参数空间中的点是一一对应的,参数空间中的直线与图像空间中的点也是一一对应的。因此霍夫变换方法就是把在图像空间中的直线检测问题转换到参数空间中对点的检测问题,通过在参数空间里寻找峰值来完成直线检测任务。它可以容忍边缘边界的间隙以及图像噪声。然而,投票过程总是在复杂的区域产生假阳性。
现在对于霍夫变换算法的改进方法有很多,例如Galamhos提出的ProgressiveProbabilistic Hough Transform(PPHT)和Fernandes提出的Kernel-based HoughTransform(KHT)。PPHT通过选择随机边缘点加速了HT的计算。KHT提出了一种有效的投票方案,该方案对与最佳拟合线相关的不确定性进行建模。但是以上这些方法依旧不能很好地解决假阳性的问题。
综上所述,线段检测算法虽已有许多改进,但它们对于过密无意义纹理依旧不能很好地剔除。
发明内容
本发明的目的在于解决现有技术中在图像线段提取时对于过密无意义纹理依旧不能很好地剔除的问题。
为实现本发明的目的,采用以下技术方案:
一种融合轮廓特征的图像线段提取方法,该提取方法的具体过程包括:
提取图像的轮廓并求出图像中每个轮廓的面积;
滤除面积极小和面积极大的轮廓后得到若干保留的轮廓;
对图像进行线段检测;
对线段的轮廓特征分析确定每一个保留的轮廓所包含的线段;
分别获取每一个保留的轮廓的每一条线段的长度和角度,根据每一条线段的长度和角度筛选出过密无意义纹理线段并剔除。
进一步的改进在于,所述提取图像的轮廓的方法包括:
对图像进行二值化处理;
对二值化图像进行边缘提取;
对提取完边缘后的二值化图像进行膨胀和腐蚀操作;
选择像素值为0的区域作为轮廓。
进一步的改进在于,所述对二值化图像进行边缘提取的具体过程包括:
对二值化图像进行高斯滤波以减少噪声;
计算图像中每个像素的梯度幅值和方向;
对梯度幅值进行非极大值抑制;
应用双阈值法进行边缘筛选:设置两个阈值T1和T2,其中T1>T2,如果像素的梯度幅值大于T1,则认为是边缘,如果小于T2则认为不是边缘,如果在T1和T2之间,并且该像素与边缘相连,则认为是边缘,不相连则不是边缘,最终得出边缘图像。
进一步的改进在于,所述对线段的轮廓特征分析确定每一个保留的轮廓所包含的线段的具体方法包括:
若某一条线段只有小部分和某一轮廓有交集,并且该线段的两个端点都不在该轮廓内,则该线段不归属于该轮廓;
若某一条线段大部分和某一轮廓有交集,但是该线段的两个端点都不在该轮廓内,则该线段不归属于该轮廓;
若某一条线段大部分和某一轮廓有交集,并且该线段有一个端点在该轮廓内,则该线段归属于该轮廓;
若某一条线段只有小部分和某一轮廓有交集,并且该线段只有一个端点在该轮廓内,则该线段不归属于该轮廓;
若某一条线段和某一轮廓没有交集,则该线段不归属于该轮廓;
若某一条线段与某一轮廓的交集等于该线段,则该线段归属于该轮廓。
进一步的改进在于,所述根据每一条线段的长度和角度筛选出过密无意义纹理线段并剔除的方法包括:
根据每一条线段的长度和角度分别计算得到每一条线段的长度得分和角度得分;
把长度得分满足第一预设条件且角度得分满足第二预设条件的线段作为候选剔除线段;
根据每一个轮廓中的候选剔除线段的数量判断每一个轮廓中的候选剔除线段是否为过密无意义纹理线段。
进一步的改进在于,所述根据每一个轮廓中的候选剔除线段的数量判断每一个轮廓中的候选剔除线段是否为过密无意义纹理线段包括:
若某一个轮廓中的候选剔除线段的数量小于预设数量阈值,则该轮廓中的候选剔除线段不属于过密无意义纹理线段;
若某一个轮廓中的候选剔除线段的数量不小于预设数量阈值,则该轮廓中的候选剔除线段属于过密无意义纹理线段。
进一步的改进在于,计算长度得分的依据为:线段长度越短则长度得分越高,且长度得分被映射到-1至1之间;
计算角度得分的依据为:获取某一个轮廓内所有线段与x轴所成的角度中出现次数最多的角度β,且在该轮廓中,角度越靠近β的线段的角度得分越高;
把长度得分大于等于第一预设阈值且角度得分大于等于第二预设阈值的线段作为候选剔除线段。
进一步的改进在于,所述对线段的轮廓特征分析确定每一个保留的轮廓所包含的线段包括:
对保留的每个轮廓进行唯一编号,且同一轮廓中所包含的所有线段均具有相同的轮廓编号;
对于不归属于任何一个轮廓的线段的轮廓编号则设为0。
进一步的改进在于,所述根据每一条线段的长度和角度分别计算得到每一条线段的长度得分和角度得分的方法包括:
利用Elliot sigmoid函数进行关于y轴的翻转,然后平移α个单位,将线段长度作为自变量,求得的输出作为长度得分,并表示为:
式中,si代表某一条线段,No(si)≠0代表线段si的轮廓编号不等于0,即被某一轮廓包含,len(si)代表线段si的长度,α代表图像中所有保留的轮廓中所有线段的平均长度,n代表所有保留的轮廓中所有线段的总数量,len_score(si)的值作为线段si的长度得分。
进一步的改进在于,所述根据每一条线段的长度和角度分别计算得到每一条线段的长度得分和角度得分的方法包括:
在获取某一个轮廓内所有线段与x轴所成的角度中出现次数最多的角度β后,利用Radial basis函数分别求得该轮廓包含的所有线段的角度得分,并表示为:
式中,si代表某一条线段,ang为具有同一轮廓编号的线段与x轴所成的角度,把w设为15°是因为当该轮廓中的某一条线段的角度与β差值小于15°时,该线段属于过密无意义纹理线段的可能性比较大,x为线段si与x轴所成的角度,No(s1)=No(s2)代表线段s1和线段s2具有相同的轮廓编号,ang_score(si)的值作为线段si的角度得分。
本发明的有益效果:
本发明通过提取出图像的轮廓和线段,对线段的轮廓特征分析确定每一个保留的轮廓所包含的线段,然后对每一个保留的轮廓所包含的线段的长度和角度特征进行分析从而进一步筛选出过密无意义纹理线段并剔除,解决了现有技术中在图像线段提取时对于过密无意义纹理线段不能很好地剔除的问题。
附图说明
图1为YorkUrban数据集中的某图片;
图2为图1经过Linelet算法检测线段后的检测结果图;
图3为本发明整体流程示意图;
图4为本发明一种融合轮廓特征的图像线段提取方法的步骤图;
图5为本发明中提取图像的轮廓的方法步骤图;
图6为本发明中对二值化图像进行边缘提取的方法步骤图;
图7为本发明中提取图像的轮廓的示意图;
图8为滤除面积极小和面积极大的轮廓后得到若干保留的轮廓的示意图;
图9为6种线段的轮廓特征示意图;
图10为每一个保留的轮廓所包含的线段示意图;
图11为本发明中根据每一条线段的长度和角度筛选出过密无意义纹理线段并剔除的方法步骤图;
图12为长度得分与线段长度的关系示意图;
图13为角度得分与线段和x轴所成的角度关系示意图;
图14为剔除过密无意义纹理线段的过程的算法实现方法示意图。
具体实施方式
附图仅用于示例性说明,不能理解为对本专利的限制;下面结合附图和实施例对本发明的技术方案做进一步的说明。
目前,线段检测算法虽已有许多改进,但它们对于过密无意义纹理依旧不能很好地剔除。针对这一问题,我们发现大部分过密无意义纹理都集中在图像的轮廓当中,特别是对于建筑物的图像来说。图1是YorkUrban数据集中的某图片,其中图1中的(a)是室外原图,(b)是室内原图,经过Linelet算法检测线段后,图2中的(c)是室外检测结果,图2中的(d)是室内检测结果,可以发现无论是室内还是室外,都会检测出过密无意义纹理(图中用矩形框框出的区域),并且过密无意义纹理基本都集中在某个轮廓中。所以将轮廓的信息融合为线段的属性有利于我们确定过密无意义纹理线段的位置。
现有技术中对轮廓检测算法一般分为以下几类,第一类是基于像素的方法,根据提取的某些特征直接判断每个像素是否属于轮廓。第二类方法是基于边缘的方法,先检测边缘,然后对边缘片段进行分组或优化得到轮廓。第三类是基于区域的方法,该方法将轮廓视为感兴趣区域的边界,并考虑区域的内部信息。最后一类是基于深度网络的方法。本发明认为基于像素的方法可能需要根据不同的场景选择不同的特征,因此不具备很好的普适性。基于区域的方法一般比较复杂,需要考虑较多的因素。而基于深度网络的方法比较耗时,不适合运用在实时性要求较高的场合。因此本发明选择基于边缘的方法提取轮廓,并且通过canny算法提取边缘。
现有的线段检测算法大多只利用到线段特征或点特征和线段特征结合,而本发明首次将线段的轮廓特征运用在线段检测算法当中,本发明实施例的目的在于解决现有技术中在图像线段提取时对于过密无意义纹理线段不能很好地剔除的问题。
如图3是本发明的整体流程示意图,本发明首先需要提取出图像的线段和轮廓,然后根据线段的轮廓特征、长度和角度去筛选过密无意义纹理线段并剔除。
下面对本实施例进行详细说明。
如图4所示,本发明实施例提出一种融合轮廓特征的图像线段提取方法(本发明将其命名为CF-Lines算法),该提取方法的具体过程包括:
步骤S1,提取图像的轮廓并求出图像中每个轮廓的面积。
求出图像中每个轮廓的面积可以采用OpenCV库中的cv2.contourArea()函数实现。
步骤S2,滤除面积极小和面积极大的轮廓后得到若干保留的轮廓。如图8所示,为图7中的(d)进一步经过滤除面积极小和面积极大的轮廓后得到的图像。
显然,上一步提取的轮廓中,有一些极大和极小的轮廓是不合理的。极大的轮廓包含了很多真实线段,极小的轮廓里几乎不包含线段,所以极大和极小的轮廓都不是我们想要的目标轮廓。因此我们求出图像中所有轮廓的面积后,需要滤除面积极小和面积极大的轮廓。
针对面积极小和面积极大的轮廓进行滤除操作,可以根据实际需求设置阈值来判断是否需要保留该轮廓。在本实施例中,目标轮廓的提取原则如下:
heipic×widpic/ρmin<Srec<heipic×widpic/ρmax
其中,Srec为目标轮廓的面积,heipic为输入图像的高度,widpic为输入图像的宽度,本发明实施例的图像选用的是YorkUrban数据集,它的尺寸为640x480。
经过大量的实验,本发明得出ρmin和ρmax的最佳取值范围为[400,500]和[6,10]。通过大量的实验发现,这两个值并不需要十分严格也能达到很好的提取效果,如果采用其他的数据集,只需在其取值范围内微调即可。
步骤S3,使用现有算法对图像进行线段检测并对线段的轮廓特征分析确定每一个保留的轮廓所包含的线段。
需要进行这个步骤操作是因为大部分过密无意义纹理线段都集中在图像的轮廓当中,因此需要先确认每一个保留的轮廓所包含的线段。即本步骤是为了确定过密无意义纹理线段的位置,方便后续从每一个保留的轮廓所包含的线段中筛选出过密无意义纹理线段。
步骤S4,分别获取每一个保留的轮廓的每一条线段的长度和角度,根据每一条线段的长度和角度筛选出过密无意义纹理线段并剔除。
剔除过密无意义纹理线段后剩下的线段即为要提取的线段。
具体地,如图5和图7所示,在步骤S1中,所述提取图像的轮廓的方法包括:
步骤S11,对输入的图像进行二值化处理。
步骤S12,对二值化图像进行边缘提取。提取后的图像如图7中的(a)所示。
步骤S13,对提取完边缘后的二值化图像进行膨胀和腐蚀操作。膨胀和腐蚀操作后的图像如图7中的(b)和(c)所示。
具体地,对于提取完边缘后的二值化图像进行膨胀操作会使轮廓向外扩张,可以填补边缘中的空洞,进行腐蚀操作会使轮廓向内收缩,可以去掉边缘上的毛刺。
步骤S14,选择像素值为0的区域作为轮廓,如图7中的(d)所示。
选择像素值为0的区域作为轮廓是因为在二值化图像中,通常将感兴趣的区域设置为1(白色),而背景则设置为0(黑色)。因此,像素值为0的区域即为轮廓所在的区域。
具体地,如图6所示,在步骤S12中,所述对二值化图像进行边缘提取使用的是canny算法,具体过程包括:
步骤S121,对二值化图像进行高斯滤波以减少噪声的影响。
步骤S122,计算图像中每个像素的梯度幅值和方向。
具体地,可以采用Sobel算子计算梯度幅值和方向,寻找图像的梯度。先将卷积模板分别作用x和y方向,再计算梯度幅值和方向,其公式如下所示:
预设H(i,j)为计算的图像:
其中点C(i,j)是要计算的梯度,则Y方向梯度为:
Gy=2×A7+A6+A8-(2×A1+A0+A2)
X方向梯度为:
Gx=2×A5+A2+A8-(2×A3+A0+A6)
此处C点的梯度幅值:
此处C点的梯度方向:
θ=arctan(Gv/Gx)
步骤S123,对梯度幅值进行非极大值抑制。
对非极大值的数据进行抑制,以精细化边缘位置,也可以理解成对非极大值数据排除其是边缘的可能性。具体做法是判断每个像素的梯度幅值在梯度方向上是否为其邻域的局部最大值。即在每个像素点的梯度方向上,只保留幅值最大的像素点,并将其他像素点设为0。
步骤S124,应用双阈值法进行边缘筛选,通过选取合适的大阈值与小阈值可以得出最为接近图像真实边缘的边缘图像。
具体地,可以设置两个阈值T1和T2,其中T1>T2,如果像素的梯度幅值大于T1,则认为是边缘,如果小于T2则认为不是边缘,如果在T1和T2之间,并且该像素与边缘相连,则认为是边缘,不相连则不是边缘,最终得出边缘图像。
具体地,在步骤S3中,所述对线段的轮廓特征分析确定每一个保留的轮廓所包含的线段的具体方法包括:
对保留的每个轮廓进行唯一编号,且同一轮廓中所包含的所有线段均具有相同的轮廓编号,还可以在图像上用不同的颜色标记出来,轮廓的不同颜色代表不同的编号,以便进行跟踪和分析。本发明从1开始对保留的每个轮廓进行编号,并且每个轮廓的编号各不相同。而对于不归属于任何一个轮廓的线段的轮廓编号则设为0。
本实施例上文中已经提到,本发明发现大部分过密无意义纹理都集中在图像的轮廓当中,特别是对于建筑物的图像来说。因此有必要确认每一个保留的轮廓所包含的线段。如图9所示为6种线段的轮廓特征示意图,具体确定每一个保留的轮廓所包含的线段的具体方法包括:
情况一,若某一条线段只有小部分和某一轮廓有交集,并且该线段的两个端点都不在该轮廓内,则该线段不归属于该轮廓。
情况二,若某一条线段大部分和某一轮廓有交集,但是该线段的两个端点都不在该轮廓内,则该线段不归属于该轮廓;
情况三,若某一条线段大部分和某一轮廓有交集,并且该线段有一个端点在该轮廓内,则该线段归属于该轮廓。
情况四,若某一条线段只有小部分和某一轮廓有交集,并且该线段只有一个端点在该轮廓内,则该线段不归属于该轮廓。
情况五,若某一条线段和某一轮廓没有交集,则该线段不归属于该轮廓。
情况六,若某一条线段与某一轮廓的交集等于该线段,则该线段归属于该轮廓。
本发明认为情况三和情况六的线段在轮廓里面,而情况二的线段不在轮廓里面是因为端点是线段非常重要的属性,并且严格的条件能尽量减少有意义线段的误剔除,从而降低假阴性线段的数量。本发明将线段所在轮廓的编号作为线段的一个参数。由于提取的轮廓不相交,所以一条线段不可能同时在多个轮廓里或者大部分与多个轮廓相交,所以线段的轮廓编号是唯一的。根据情况三和情况六确定的每个保留的轮廓所包含的线段结果如图10所示。
如图10所示,图中展示了每一个保留的轮廓所包含的线段。然后需要从每一个保留的轮廓所包含的线段中进一步找出过密无意义纹理线段并剔除。
具体地,如图11所示,在步骤S4中,所述根据每一条线段的长度和角度筛选出过密无意义纹理线段并剔除的方法包括:
步骤S41,根据每一条线段的长度和角度分别计算得到每一条线段的长度得分和角度得分。
具体地,在步骤S41中,所述根据每一条线段的长度和角度分别计算得到每一条线段的长度得分和角度得分的方法包括:
线段长度越短,就越有可能是过密无意义纹理线段,计算长度得分的依据为:线段长度越短则长度得分越高,且长度得分被映射到-1至1之间。
为了满足这一规律,本发明利用Elliot sigmoid函数进行关于y轴的翻转,然后平移α个单位,将线段长度作为自变量,求得的输出作为长度得分,长度得分与线段长度的关系如图12所示,并表示为:
式中,si代表某一条线段,No(si)≠0代表线段si的轮廓编号不等于0,即被某一轮廓包含,len(si)代表线段si的长度,α代表图像中所有保留的轮廓中所有线段的平均长度,α是自适应的,并且具有全局性,n代表所有保留的轮廓中所有线段的总数量,len_score(si)的值作为线段si的长度得分。线段的len_score越大,则该线段越有可能是过密无意义纹理线段。
具体地,在步骤S41中,所述根据每一条线段的长度和角度分别计算得到每一条线段的长度得分和角度得分的方法包括:
在一个轮廓内,过密无意义纹理线段一般呈现出数量多且角度相似的特征。因此,计算角度得分的依据为:获取某一个轮廓内所有线段与x轴所成的角度中出现次数最多的角度β,且在该轮廓中,角度越靠近β的线段的角度得分越高。
为了满足这一规律,本发明在获取某一个轮廓内所有线段与x轴所成的角度中出现次数最多的角度β后,利用Radial basis函数分别求得该轮廓包含的所有线段的角度得分,角度得分与线段和x轴所成的角度关系如图13所示,并表示为:
式中,si代表某一条线段,ang为具有同一轮廓编号的线段与x轴所成的角度,通过β=argmax(Num(ang))获取某一个轮廓内所有线段与x轴所成的角度中出现次数最多的角度β,把w设为15°是因为当该轮廓中的某一条线段的角度与β差值小于15°时,该线段属于过密无意义纹理线段的可能性比较大,x为线段si与x轴所成的角度,No(s1)=No(s2)代表线段s1和线段s2具有相同的轮廓编号,ang_score(si)的值作为线段si的角度得分。线段的ang_score越大,则该线段越有可能是过密无意义纹理线段。
以此方法计算出每一个保留的轮廓包含的每一条线段的角度得分。
步骤S42,把长度得分满足第一预设条件且角度得分满足第二预设条件的线段作为候选剔除线段。
其中,第一预设条件为长度得分大于等于第一预设阈值,第二预设条件为角度得分大于等于第二预设阈值,即把长度得分大于等于第一预设阈值且角度得分大于等于第二预设阈值的线段作为候选剔除线段。
我们把长度得分和角度得分同时满足以下条件的线段作为候选剔除线段:
{si∈cs|len_score(si)≥δ&ang_score(si)≥ε}
其中cs为候选剔除线段。第一预设阈值δ和第二预设阈值ε分别设为-0.9和0.3。这两个值通过大量实验得出,能在大部分场景中适用。
步骤S43,根据每一个轮廓中的候选剔除线段的数量判断每一个轮廓中的候选剔除线段是否为过密无意义纹理线段。
进一步地,所述根据每一个轮廓中的候选剔除线段的数量判断每一个轮廓中的候选剔除线段是否为过密无意义纹理线段包括:
若某一个轮廓中的候选剔除线段的数量小于预设数量阈值,则该轮廓中的候选剔除线段不属于过密无意义纹理线段。
若某一个轮廓中的候选剔除线段的数量不小于预设数量阈值,则该轮廓中的候选剔除线段属于过密无意义纹理线段。
本发明对候选剔除线段进行数量验证是因为在某些保留的轮廓中只含有少数的线段,但是这些线段的长度得分与角度得分依旧有可能满足候选剔除线段的条件。如果一个轮廓中线段数量过少,就可以认为是没有密集性的,所以这个轮廓中的少数线段不属于过密无意义纹理线段。因此如果一个轮廓中候选剔除线段数量小于预设数量阈值o,则认为这个轮廓中的候选剔除线段不属于过密无意义纹理线段。
候选剔除线段数量验证的规则如下:
{cs∈DML|Num(cs)≥σ}
其中DML代表过密无意义纹理线段,σ设为5。如果某一个轮廓的候选剔除线段具有密集性,则该轮廓的候选剔除线段数量应该大于等于5条。
剔除过密无意义纹理线段的过程的算法实现方法如图14所示。
实验验证:分别在原始线段检测算法(Linelet算法、MCMLSD算法、EDLines算法)的基础上结合本发明的方法进行验证,通过利用YorkUrban数据集对本发明的方法和原始线段检测算法(Linelet算法、MCMLSD算法、EDLines算法)进行实验对比。实验结果表明:本发明的方法在平均准确率、F-score和平均线段长度上均比原始线段检测算法有所提高,且降低了平均线段数量。因此本发明的方法相比于原始线段检测算法具有优越性。
本发明通过提取出图像的轮廓和线段,对线段的轮廓特征分析确定每一个保留的轮廓所包含的线段,然后对每一个保留的轮廓所包含的线段的长度和角度特征进行分析从而进一步筛选出过密无意义纹理线段并剔除,解决了现有技术中在图像线段提取时对于过密无意义纹理线段不能很好地剔除的问题。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
Claims (8)
1.一种融合轮廓特征的图像线段提取方法,其特征在于,该提取方法的具体过程包括:
提取图像的轮廓并求出图像中每个轮廓的面积;
滤除面积极小和面积极大的轮廓后得到若干保留的轮廓;
对图像进行线段检测;
对线段的轮廓特征分析确定每一个保留的轮廓所包含的线段,具体方法包括:
若某一条线段只有小部分和某一轮廓有交集,并且该线段的两个端点都不在该轮廓内,则该线段不归属于该轮廓;
若某一条线段大部分和某一轮廓有交集,但是该线段的两个端点都不在该轮廓内,则该线段不归属于该轮廓;
若某一条线段大部分和某一轮廓有交集,并且该线段有一个端点在该轮廓内,则该线段归属于该轮廓;
若某一条线段只有小部分和某一轮廓有交集,并且该线段只有一个端点在该轮廓内,则该线段不归属于该轮廓;
若某一条线段和某一轮廓没有交集,则该线段不归属于该轮廓;
若某一条线段与某一轮廓的交集等于该线段,则该线段归属于该轮廓;
分别获取每一个保留的轮廓的每一条线段的长度和角度,根据每一条线段的长度和角度筛选出过密无意义纹理线段并剔除,包括:
根据每一条线段的长度和角度分别计算得到每一条线段的长度得分和角度得分;
把长度得分满足第一预设条件且角度得分满足第二预设条件的线段作为候选剔除线段;
根据每一个轮廓中的候选剔除线段的数量判断每一个轮廓中的候选剔除线段是否为过密无意义纹理线段。
2.根据权利要求1所述的一种融合轮廓特征的图像线段提取方法,其特征在于,所述提取图像的轮廓的方法包括:
对图像进行二值化处理;
对二值化图像进行边缘提取;
对提取完边缘后的二值化图像进行膨胀和腐蚀操作;
选择像素值为0的区域作为轮廓。
3.根据权利要求2所述的一种融合轮廓特征的图像线段提取方法,其特征在于,所述对二值化图像进行边缘提取的具体过程包括:
对二值化图像进行高斯滤波以减少噪声;
计算图像中每个像素的梯度幅值和方向;
对梯度幅值进行非极大值抑制;
应用双阈值法进行边缘筛选:设置两个阈值T1和T2,其中T1>T2,如果像素的梯度幅值大于T1,则认为是边缘,如果小于T2则认为不是边缘,如果在T1和T2之间,并且该像素与边缘相连,则认为是边缘,不相连则不是边缘,最终得出边缘图像。
4.根据权利要求1所述的一种融合轮廓特征的图像线段提取方法,其特征在于,所述根据每一个轮廓中的候选剔除线段的数量判断每一个轮廓中的候选剔除线段是否为过密无意义纹理线段包括:
若某一个轮廓中的候选剔除线段的数量小于预设数量阈值,则该轮廓中的候选剔除线段不属于过密无意义纹理线段;
若某一个轮廓中的候选剔除线段的数量不小于预设数量阈值,则该轮廓中的候选剔除线段属于过密无意义纹理线段。
5.根据权利要求1所述的一种融合轮廓特征的图像线段提取方法,其特征在于,计算长度得分的依据为:线段长度越短则长度得分越高,且长度得分被映射到-1至1之间;
计算角度得分的依据为:获取某一个轮廓内所有线段与x轴所成的角度中出现次数最多的角度β,且在该轮廓中,角度越靠近β的线段的角度得分越高;
把长度得分大于等于第一预设阈值且角度得分大于等于第二预设阈值的线段作为候选剔除线段。
6.根据权利要求5所述的一种融合轮廓特征的图像线段提取方法,其特征在于,所述对线段的轮廓特征分析确定每一个保留的轮廓所包含的线段包括:
对保留的每个轮廓进行唯一编号,且同一轮廓中所包含的所有线段均具有相同的轮廓编号;
对于不归属于任何一个轮廓的线段的轮廓编号则设为0。
7.根据权利要求6所述的一种融合轮廓特征的图像线段提取方法,其特征在于,所述根据每一条线段的长度和角度分别计算得到每一条线段的长度得分和角度得分的方法包括:
利用Elliot sigmoid函数进行关于y轴的翻转,然后平移α个单位,将线段长度作为自变量,求得的输出作为长度得分,并表示为:
式中,si代表某一条线段,No(si)≠0代表线段si的轮廓编号不等于0,即被某一轮廓包含,len(si)代表线段si的长度,α代表图像中所有保留的轮廓中所有线段的平均长度,n代表所有保留的轮廓中所有线段的总数量,len_score(si)的值作为线段si的长度得分。
8.根据权利要求6所述的一种融合轮廓特征的图像线段提取方法,其特征在于,所述根据每一条线段的长度和角度分别计算得到每一条线段的长度得分和角度得分的方法包括:
在获取某一个轮廓内所有线段与x轴所成的角度中出现次数最多的角度β后,利用Radial basis函数分别求得该轮廓包含的所有线段的角度得分,并表示为:
式中,si代表某一条线段,ang为具有同一轮廓编号的线段与x轴所成的角度,把w设为15°是因为当该轮廓中的某一条线段的角度与β差值小于15°时,该线段属于过密无意义纹理线段的可能性比较大,x为线段si与x轴所成的角度,No(s1)=No(s2)代表线段s1和线段s2具有相同的轮廓编号,ang_score(si)的值作为线段si的角度得分。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202310508807.5A CN116612297B (zh) | 2023-05-08 | 2023-05-08 | 一种融合轮廓特征的图像线段提取方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202310508807.5A CN116612297B (zh) | 2023-05-08 | 2023-05-08 | 一种融合轮廓特征的图像线段提取方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN116612297A CN116612297A (zh) | 2023-08-18 |
| CN116612297B true CN116612297B (zh) | 2025-07-11 |
Family
ID=87673904
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202310508807.5A Active CN116612297B (zh) | 2023-05-08 | 2023-05-08 | 一种融合轮廓特征的图像线段提取方法 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN116612297B (zh) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN118279270B (zh) * | 2024-04-07 | 2025-04-22 | 平方和(北京)科技有限公司 | 一种基于线段融合的矩形目标定位方法和装置 |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110874844A (zh) * | 2018-08-30 | 2020-03-10 | 京东方科技集团股份有限公司 | 线段检测方法、装置和设备 |
| CN109460770B (zh) * | 2018-09-06 | 2021-12-14 | 徐庆 | 图像特征描述符提取方法、装置、计算机设备和存储介质 |
| CN109711415A (zh) * | 2018-11-13 | 2019-05-03 | 平安科技(深圳)有限公司 | 证件轮廓确定方法、装置及存储介质、服务器 |
-
2023
- 2023-05-08 CN CN202310508807.5A patent/CN116612297B/zh active Active
Non-Patent Citations (1)
| Title |
|---|
| CF-lines: a fusing contour features optimization method for line segment detector;Runsheng Liu等;The Journal of Supercomputing;20230905;全文 * |
Also Published As
| Publication number | Publication date |
|---|---|
| CN116612297A (zh) | 2023-08-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4903854B2 (ja) | デジタル画像におけるオブジェクト検出方法 | |
| CN110197153B (zh) | 一种户型图中墙体自动识别方法 | |
| CN102426649B (zh) | 一种简单的高准确率的钢印数字自动识别方法 | |
| CN107228860B (zh) | 一种基于图像旋转周期特性的齿轮缺陷检测方法 | |
| CN115082419A (zh) | 一种吹塑箱包生产缺陷检测方法 | |
| CN116597392B (zh) | 基于机器视觉的液压油杂质识别方法 | |
| CN106709500B (zh) | 一种图像特征匹配的方法 | |
| CN110765992A (zh) | 印章鉴别方法、介质、设备及装置 | |
| CN110472625B (zh) | 一种基于傅里叶描述子的象棋棋子视觉识别方法 | |
| CN112734816B (zh) | 基于CSS-Delaunay的异源图像配准方法 | |
| CN115471682A (zh) | 一种基于SIFT融合ResNet50的图像匹配方法 | |
| CN115375629B (zh) | 一种lcd屏幕中线缺陷检测及缺陷信息提取方法 | |
| CN114596551A (zh) | 一种车载前视图像裂缝检测的方法 | |
| CN111695373A (zh) | 斑马线的定位方法、系统、介质及设备 | |
| CN119941740B (zh) | 一种零件加工检测方法及系统 | |
| CN116740072A (zh) | 基于机器视觉的道路表面缺陷检测方法及系统 | |
| CN114359538A (zh) | 一种水表读数定位与识别方法 | |
| CN110348289A (zh) | 一种基于二值图的手指静脉识别方法 | |
| CN116051820A (zh) | 基于多模板的单目标检测方法 | |
| CN120163774A (zh) | 基于机器视觉的胶囊生产质量检测方法及系统 | |
| CN110288040B (zh) | 一种基于拓扑验证的图像相似评判方法及设备 | |
| CN118918191A (zh) | 一种基于无监督机器学习的十字图像中心定位方法 | |
| CN116612297B (zh) | 一种融合轮廓特征的图像线段提取方法 | |
| CN117934863A (zh) | 基于灰度均值的自适应fast角点检测优化算法 | |
| CN114926635B (zh) | 与深度学习方法相结合的多焦图像中目标分割方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |