CN113505793B - 复杂背景下的矩形目标检测方法 - Google Patents

复杂背景下的矩形目标检测方法 Download PDF

Info

Publication number
CN113505793B
CN113505793B CN202110761197.0A CN202110761197A CN113505793B CN 113505793 B CN113505793 B CN 113505793B CN 202110761197 A CN202110761197 A CN 202110761197A CN 113505793 B CN113505793 B CN 113505793B
Authority
CN
China
Prior art keywords
line
line segment
segment
segments
length
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
Application number
CN202110761197.0A
Other languages
English (en)
Other versions
CN113505793A (zh
Inventor
李正浩
钟婧婷
孔凡宇
朱勤武
邹伟军
杨词慧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Zhiyu Information Technology Co ltd
Original Assignee
Shanghai Zhiyu Information Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Zhiyu Information Technology Co ltd filed Critical Shanghai Zhiyu Information Technology Co ltd
Priority to CN202110761197.0A priority Critical patent/CN113505793B/zh
Publication of CN113505793A publication Critical patent/CN113505793A/zh
Application granted granted Critical
Publication of CN113505793B publication Critical patent/CN113505793B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Analysis (AREA)

Abstract

本发明公开了一种复杂背景下的矩形目标检测方法,其特征在于,该方法包括以下步骤:线段检测;线段合并;线段连接;线段删除;线段划分;线段排序;矩形筛选。本发明的优点在于:该方法能够有效的从图像中获取线段信息,将提取出的线段进行合并、连接和删除,以去除干扰线段,再根据矩形规则快速筛选出矩形目标边界。此方法能够有效适用于复杂背景下的矩形目标检测,抗干扰能力强,准确率高,检测速度快。

Description

复杂背景下的矩形目标检测方法
技术领域
本发明涉及数字图像处理和模式识别技术领域,具体是一种复杂背景下的矩形目标检测方法。
背景技术
矩形目标检测是图像处理和模式识别领域中的重要研究内容,也是一些复杂的图像处理任务中核心的步骤,其广泛应用于各个领域,例如交通道路上对车牌、矩形交通标志的检测和识别,航拍图像中对车辆、建筑物等矩形目标的检测,以及用于身份证、银行卡、票据等目标的图像分割。
目前常用的矩形目标检测方法是先检测出图像中的线段,然后根据线段的长度、方向等属性确定构成矩形的四条边界线段,根据四条边界线段的交叉点找出矩形的四个顶点。如名称为“一种快速高精度的矩形检测方法”(公开号为CN201910959338)的专利文献公开了一种基于线段的矩形检测方法。该方法首先将待检测区域分割为若干个感兴趣区域,并对每一个感兴趣区域进行矩形检测,然后提取每一个感兴趣区域内子图像的亚像素轮廓,并分割为线段,定义多个判决条件来判断任意四条线段是否能够组合成矩形。又如名称为“一种基于多通道和多阈值的矩形目标识别方法”(公开号为CN201410096259)的专利文献提出了一种基于多通道和多阈值的矩形目标检测方法。该方法先将图像进行预处理,然后对图像的每个通道进行二值化,得到二值图像。将二值图像进行区域标记并提取每个区域的外围轮廓,再用多边形对每个外围轮廓进行近似,通过对多边形的顶点及内角进行筛选来判断是否为矩形。以上两种方法的不足之处在于无法排除背景中干扰因素的影响,因此只适用于简单背景下的矩形目标检测。
名称为“高分辨率大数量级图像的快速矩形检测方法”(公开号为CN201110223911)的专利文献公开了一种针对高分辨率大数量级图像的矩形检测方法。该方法使用PPHT算法及Hough参数比较得到线段,然后根据矩形规则检测出图像的矩形,该方法针对背景区域中灰尘和透镜变形造成的干扰有很好的鲁棒性,但是当检测的线段出现断裂或背景内容更为复杂时,其准确率仍然不够高。
发明内容
为解决上述技术问题,本发明提出一种复杂背景下的矩形目标检测方法,其特征在于,该方法包括以下步骤:
(1)线段检测;读取原始彩色图像I,将图像I的宽高分别记作wo、ho,对图像I的R、G、B三色通道分别使用线段检测算法进行线段检测,得到R、G、B三色通道对应的线段组lineR、lineG、lineB;将线段组lineR、lineG、lineB进行合并,得到合并后的线段组lines。
上述步骤中采用的线段检测算法是一种常用的图像特征提取方法,参见“LSD:aLine Segment Detector,Image Processing On Line,”Rafael Grompone von Gioi,Jérémie Jakubowicz,Jean-Michel Morel,and Gregory Randall,Image Processing OnLine,2(2012),pp.35–55。
(2)线段合并;将线段组lines中的线段按长度从大到小进行排序,得到排序后的线段组lines_sort;依次遍历线段组lines_sort中的每一条线段linei,将其与线段组中其他线段linej依次进行匹配,直到线段linei、linej的长度不满足|lengthi-lengthj|<Tl,其中i=1,...,m-1,j=i+1,...,m,m为线段组lines_sort的线段数量,lengthi为第i条线段linei的长度,lengthj为第j条线段linej的长度,Tl为线段长度距离阈值;计算线段linei的端点
Figure GDA0003456119890000021
与linej的端点
Figure GDA0003456119890000022
的欧式距离
Figure GDA0003456119890000023
其中,u=1,2,v=1,2;计算公式如下:
Figure GDA0003456119890000024
设置线段端点距离阈值Dp,计算公式如下:
Dp=(wo+ho)×α (2)
其中,α为设定的端点距离系数;如果
Figure GDA0003456119890000025
Figure GDA0003456119890000026
Figure GDA0003456119890000027
表示线段linei、linej重合,将线段linej从线段组lines_sort中删除。
(3)线段连接;依次遍历线段组lines_sort中所有线段,对线段组lines_sort中任意一条线段linei,将其与线段组中另一条线段linej进行匹配验证,如果能够满足如下条件则将线段linei、linej进行连接。
(a)计算线段linei与线段linej的夹角anglei,j,如果该夹角anglei,j小于设定的夹角阈值Tangle,则认为线段linei与线段linej近似平行。
(b)计算线段linei的两端点
Figure GDA0003456119890000031
到线段linej的平均距离distancei,j,如果该平均距离distancei,j小于设定的距离阈值Tver_d,则认为线段linei与线段linej近似在同一水平线上。
(c)将线段linei的两端点
Figure GDA0003456119890000032
与线段linej的两端点
Figure GDA0003456119890000033
进行比较,找出两条线段中相邻的两个近端点
Figure GDA0003456119890000034
并计算这两个近端点
Figure GDA0003456119890000035
之间的距离dnear,如果距离dnear小于设定的水平距离阈值Thor_d,则认为线段linei与线段linej近似相邻。
如果以上条件均满足,则将线段linei、linej进行连接,由于上述步骤c)中已计算得到两个近端点
Figure GDA0003456119890000036
则将线段linei、linej的两个远端点
Figure GDA0003456119890000037
Figure GDA0003456119890000038
进行连接,得到连接后的线段lineconnect;将连接后的线段lineconnect加入线段组lines_sort中继续与其它线段进行匹配,并删除线段linei与线段linej
(4)线段删除,依次遍历线段组lines_sort中所有线段,计算线段组lines_sort中任意一条线段linel的长度lengthl,判断长度lengthl是否小于设定的矩形边长最小阈值lengthmin;设定的矩形边长最小阈值lengthmin计算公式如下:
lengthmin=(wo+ho)×β (3)
其中,β为设定的边长系数,如果线段linel的长度lengthl小于设定的矩形边长最小阈值lengthmin,则将线段linel从线段组lines_sort中删除。
(5)线段划分,依次遍历线段组lines_sort中所有线段,对线段组lines_sort中任意一条线段linel,计算其与水平线方向的夹角值anglel:如果0°≤anglel<45°,则将线段linel划分到水平线段组hor_line中;如果45°≤anglel≤90°,则将线段linel划分到垂直线段组ver_line中。
(6)线段排序,分别将水平线段组hor_line与垂直线段组ver_line中的线段按线段长度从大到小进行排序,得到排序后的水平线段组hor_line_sort与垂直线段组ver_line_sort。
(7)矩形筛选,对于水平线段组hor_line_sort中的每一条线段linea,将其与水平线段组hor_line_sort中其他线段lineb进行匹配,其中,a=1,...,nh-1,b=a+1,...,nh,nh为水平线段组hor_line_sort的线段数量,直至找出矩形的两条水平线段linea、lineb;矩形的两条水平线段需满足如下条件:
|lengtha-lengthb|<Tlh (4)
anglea,b<Tah (5)
其中,lengtha为线段linea的长度,lengthb为线段lineb的长度,Tlh为设定的长度阈值,anglea,b为线段linea、lineb的夹角,Tah为设定的夹角阈值。
对于垂直线段组ver_line_sort中的每一条线段linec,将其与垂直线段组ver_line_sort中其他线段lined进行匹配,其中,c=1,...,nv-1,d=c+1,...,nv,nv为垂直线段组的线段数量,直至找出矩形的两条垂直线段linec、lined。矩形的两条垂直线段需满足如下条件:
|lengthc-lengthd|<Tlv (6)
anglec,d<Tav (7)
其中,lengthc为线段linec的长度,lengthd为线段lined的长度,Tlv为设定的长度阈值,anglec,d为线段linec、lined的夹角,Tav为设定的夹角阈值。在同方向的线段匹配成功后,分别计算两条水平线段linea、lineb和两条垂直线段linec、lined的相对位置并根据其相对位置进行交换,使得水平线段linea在水平线段lineb的上方,垂直线段linec在垂直线段lined左方。同时,对线段的两个端点进行位置交换,使得
Figure GDA0003456119890000041
分别为水平线段linea、lineb的左端点,
Figure GDA0003456119890000042
分别为水平线段linea、lineb的右端点,
Figure GDA0003456119890000043
分别为垂直线段linec、lined的上端点,
Figure GDA0003456119890000051
分别为垂直线段linec、lined的下端点。交换线段位置后,再对这四条线段linea、lineb、linec、lined进行判断。如果这四条线段linea、lineb、linec、lined满足以下条件,则其可构成矩形区域:
a)分别计算线段linea、lineb、linec、lined与水平方向的夹角anglea、angleb、anglec、angled,夹角anglea、angleb、anglec、angled满足如下要求:
Figure GDA0003456119890000052
b)分别计算水平线段linea与垂直线段linec相邻端点
Figure GDA0003456119890000053
的距离
Figure GDA0003456119890000054
水平线段linea与垂直线段lined相邻端点
Figure GDA0003456119890000055
的距离
Figure GDA0003456119890000056
水平线段lineb与垂直线段linec相邻端点
Figure GDA0003456119890000057
的距离
Figure GDA0003456119890000058
水平线段lineb与垂直线段lined相邻端点
Figure GDA0003456119890000059
的距离
Figure GDA00034561198900000510
距离计算参考公式(1)。距离
Figure GDA00034561198900000511
Figure GDA00034561198900000512
均小于设定的端点距离阈值Dp
如果四条线段linea、lineb、linec、lined可构成一个矩形。将四条线段linea、lineb、linec、lined分别延长,线段linea和线段linec相交于点(xa,c,ya,c),线段linea和线段lined相交于点(xa,d,ya,d),线段lineb和线段linec相交于点(xb,c,yb,c),线段lineb和线段lined相交于点(xb,d,yb,d)。
上述步骤(3)条件a)中线段linei、linej夹角anglei,j的具体计算步骤如下:
(3.1.1)计算线段linei、linej的斜率ki、kj。线段liner的斜率kr计算公式如下:
Figure GDA00034561198900000513
其中,
Figure GDA00034561198900000514
为线段liner的两端点,r=i,j。
(3.1.2)根据线段linei、linej的斜率ki、kj计算线段linei、linej的夹角anglei,j,计算公式如下:
Figure GDA0003456119890000061
上述步骤(3)条件b)中线段linei的两端点
Figure GDA0003456119890000062
到线段linej的平均距离distancei,j的具体计算步骤如下:
(3.2.1)计算线段linej的直线方程Ajx+Bjy+Cj=0,其中参数的计算公式如下:
Figure GDA0003456119890000063
其中,点
Figure GDA0003456119890000064
为线段linej的端点。
(3.2.2)分别计算点
Figure GDA0003456119890000065
到线段linej的距离
Figure GDA0003456119890000066
计算公式如下:
Figure GDA0003456119890000067
(3.2.3)根据距离
Figure GDA0003456119890000068
计算平均距离distancei,j,计算公式如下:
Figure GDA0003456119890000069
上述步骤(3)条件c)中获取线段linei、linej近端点
Figure GDA00034561198900000610
的具体步骤如下:
(3.3.1)计算点
Figure GDA00034561198900000611
到点
Figure GDA00034561198900000612
之间的距离
Figure GDA00034561198900000613
Figure GDA00034561198900000614
到点
Figure GDA00034561198900000615
之间的距离
Figure GDA00034561198900000616
Figure GDA00034561198900000617
到点
Figure GDA00034561198900000618
之间的距离
Figure GDA00034561198900000619
Figure GDA00034561198900000620
到点
Figure GDA00034561198900000621
之间的距离
Figure GDA00034561198900000622
距离计算参考公式(1)。
(3.3.2)从所有的距离
Figure GDA00034561198900000623
中找出值最小的距离mindu,v,即表示点(xu,yu)、(xv,yv)之间的距离最小,则点(xu,yu)、(xv,yv)为近端点,距离mindu,v计算公式如下:
Figure GDA00034561198900000624
其中,
Figure GDA0003456119890000071
用于计算距离
Figure GDA0003456119890000072
中的最小值,u=i1,i2,v=j1,j2
上述步骤(7)中计算两条水平线段linea、lineb和两条垂直线段linec、lined的相对位置并根据其相对位置进行交换的具体步骤如下:
(7.1.1)比较水平线段linea两端点的横坐标
Figure GDA0003456119890000073
如果
Figure GDA0003456119890000074
则交换端点
Figure GDA0003456119890000075
Figure GDA0003456119890000076
同理,比较水平线段lineb两端点的横坐标
Figure GDA0003456119890000077
如果
Figure GDA0003456119890000078
则交换端点
Figure GDA0003456119890000079
(7.1.2)比较端点
Figure GDA00034561198900000710
的纵坐标
Figure GDA00034561198900000711
与端点
Figure GDA00034561198900000712
的纵坐标
Figure GDA00034561198900000713
如果
Figure GDA00034561198900000714
则交换水平线段linea、lineb
(7.1.3)比较垂直线段linec两端点的纵坐标
Figure GDA00034561198900000715
如果
Figure GDA00034561198900000716
则交换端点
Figure GDA00034561198900000717
Figure GDA00034561198900000718
同理,比较垂直线段lined两端点的纵坐标
Figure GDA00034561198900000719
如果
Figure GDA00034561198900000720
则交换端点
Figure GDA00034561198900000721
(7.1.4)比较端点
Figure GDA00034561198900000722
的横坐标
Figure GDA00034561198900000723
与端点
Figure GDA00034561198900000724
的横坐标
Figure GDA00034561198900000725
如果
Figure GDA00034561198900000726
则交换垂直线段linec、lined
上述步骤(7)中找出四条线段linea、lineb、linec、lined对应交叉点的具体步骤如下:
(7.2.1)根据公式(11)计算线段linea、lineb、linec、lined的直线方程Aax+Bay+Ca=0、Abx+Bby+Cb=0、Acx+Bcy+Cc=0、Adx+Bdy+Cd=0。
(7.2.2)将线段linea、lineb、linec、lined分别延长,线段linea、linec相交于点(xa,c,ya,c),线段lineb、linec相交于点(xb,c,yb,c),线段linea、lined相交于点(xa,d,ya,d),线段lineb、lined相交于点(xb,d,yb,d)。线段linei、linej的直线方程Aix+Biy+Ci=0、Ajx+Bjy+Cj=0,且线段linei、linej相交于点(xi,j,yi,j),点(xi,j,yi,j)的计算公式如下:
Figure GDA0003456119890000081
其中,i=a,b,j=c,d,xi,j、yi,j为点(xi,j,yi,j)的横、纵坐标。
(7.2.3)点(xa,c,ya,c)、(xb,c,yb,c)、(xa,d,ya,d)和(xb,d,yb,d)即为所求矩形的四个顶点。
本发明的优点是:能够有效的从图像中获取线段信息,将提取出的线段进行合并、连接和删除,以去除干扰线段,再根据矩形规则快速筛选出矩形目标边界。该方法能够有效适用于复杂背景下的矩形目标检测,抗干扰能力强,准确率高,检测速度快。
附图说明
下面结合附图和具体实施方式对本发明作进一步的详细说明。
图1是本发明实施例的方法流程图;
图2是本发明实施例中待处理的图像;
图3是线段检测后得到的结果图像;
图4是线段合并结果图像;
图5是线段连接结果图像;
图6是线段删除结果图像;
图7是线段划分结果图像;
图8是矩形筛选得到的结果。
具体实施方式
下面将结合本发明实施例中的附图,对本发明的具体实施方式作进一步详细说明。需要注意的是,此处根据本发明复杂背景下的矩形目标检测方法的具体实施例仅仅作为举例,并不用于限定本发明。
本实例结合包含有矩形目标的原始彩色图像I,对矩形目标检测算法进行说明。如图1方法流程图所示,本发明采用以下步骤对矩形目标图像进行检测:
(1)线段检测。读取原始彩色图像I,将图像I的宽高分别记作wo、ho,如图2所示。对图像I的R、G、B三色通道分别使用LSD线段检测算法进行线段检测,得到R、G、B三色通道对应的线段组lineR、lineG、lineB。将线段组lineR、lineG、lineB进行合并,得到合并后的线段组lines,如图3所示。
上述步骤中使用的LSD线段检测算法是一种常用的图像特征提取方法,参见“Gioi,R.G.V.et al.“LSD:A Fast Line Segment Detector with a False DetectionControl.”IEEE Transactions on Pattern Analysis and Machine Intelligence 32(2010):722-732.”
(2)线段合并。设置线段长度距离阈值Tl=1400。将线段组lines中的线段按长度从大到小进行排序,得到排序后的线段组lines_sort。依次遍历线段组lines_sort中的每一条线段linei,将其与线段组中其他线段linej依次进行匹配,直到线段linei、linej的长度不满足|lengthi-lengthj|<Tl,其中i=1,...,m-1,j=i+1,...,m,m为线段组lines_sort的线段数量,lengthi为第i条线段linei的长度,lengthj为第j条线段linej的长度。计算线段linei的端点
Figure GDA0003456119890000091
与linej的端点
Figure GDA0003456119890000092
的欧式距离
Figure GDA0003456119890000093
其中,u=1,2,v=1,2。计算公式如下:
Figure GDA0003456119890000094
设置端点距离系数α=0.1,线段端点距离阈值Dp的计算公式如下:
Dp=(wo+ho)×α (2)
如果
Figure GDA0003456119890000095
Figure GDA0003456119890000096
表示线段linei、linej重合,将线段linej从线段组lines_sort中删除。合并后的线段如图4所示。
(3)线段连接。依次遍历线段组lines_sort中所有线段,对线段组lines_sort中任意一条线段linei,将其与线段组中另一条线段linej进行匹配验证,如果能够满足如下条件则将线段linei、linej进行连接:
a)设置夹角阈值Tangle=10°。计算线段linei与线段linej的夹角anglei,j,如果该夹角anglei,j小于设定的夹角阈值Tangle,则认为线段linei与线段linej近似平行。
b)设置距离阈值Tver_d=350。计算线段linei的两端点
Figure GDA0003456119890000097
到线段linej的平均距离distancei,j,如果该平均距离distancei,j小于设定的距离阈值Tver_d,则认为线段linei与线段linej近似在同一水平线上。
c)设置水平距离阈值Thor_d=350。将线段linei的两端点
Figure GDA0003456119890000098
与线段linej的两端点
Figure GDA0003456119890000099
进行比较,找出两条线段中相邻的两个近端点
Figure GDA00034561198900000910
Figure GDA0003456119890000101
并计算这两个近端点
Figure GDA0003456119890000102
之间的距离dnear,如果距离dnear小于设定的水平距离阈值Thor_d,则认为线段linei与线段linej近似相邻。
如果以上条件均满足,则将线段linei、linej进行连接。由于上述步骤c)中已计算得到近端点
Figure GDA0003456119890000103
则将线段linei、linej的两个远端点
Figure GDA0003456119890000104
Figure GDA0003456119890000105
进行连接,得到连接后的线段lineconnect。将连接后的线段lineconnect加入线段组lines_sort中继续与其它线段进行匹配,并删除线段linei与线段linej。图5为线段连接后的结果图像。
(4)线段删除。设置边长系数β=0.4。依次遍历线段组lines_sort中所有线段,计算线段组lines_sort中任意一条线段linel的长度lengthl,判断长度lengthl是否小于设定的矩形边长最小阈值lengthmin。设定的矩形边长最小阈值lengthmin计算公式如下:
lengthmin=(wo+ho)×β (3)
如果线段linel的长度lengthl小于设定的矩形边长最小阈值lengthmin,则将线段linel从线段组lines_sort中删除。图6为线段删除后的结果图像。
(5)线段划分。依次遍历线段组lines_sort中所有线段,对线段组lines_sort中任意一条线段linel,计算其与水平线方向的夹角值anglel:如果0°≤anglel<45°,则将线段linel划分到水平线段组hor_line中;如果45°≤anglel≤90°,则将线段linel划分到垂直线段组ver_line中。
(6)线段排序。分别将水平线段组hor_line与垂直线段组ver_line中的线段按线段长度从大到小进行排序,得到排序后的水平线段组hor_line_sort与垂直线段组ver_line_sort。
(7)矩形筛选。设置长度阈值Tlh=1400,夹角阈值Tah=10°。对于水平线段组hor_line_sort中的每一条线段linea,将其与水平线段组hor_line_sort中其他线段lineb进行匹配,其中,a=1,...,nh-1,b=a+1,...,nh,nh为水平线段组hor_line_sort的线段数量,直至找出矩形的两条水平线段linea、lineb。矩形的两条水平线段需满足如下条件:
|lengtha-lengthb|<Tlh (4)
anglea,b<Tah (5)
其中,lengtha为线段linea的长度,lengthb为线段lineb的长度,anglea,b为线段linea、lineb的夹角。
设置长度阈值Tlv=1400,夹角阈值Tav=10°。对于垂直线段组ver_line_sort中的每一条线段linec,将其与垂直线段组ver_line_sort中其他线段lined进行匹配,其中,c=1,...,nv-1,d=c+1,...,nv,nv为垂直线段组的线段数量,直至找出矩形的两条垂直线段linec、lined。矩形的两条垂直线段需满足如下条件:
|lengthc-lengthd|<Tlv (6)
anglec,d<Tav (7)
其中,lengthc为线段linec的长度,lengthd为线段lined的长度,anglec,d为线段linec、lined的夹角。在同方向的线段匹配成功后,分别计算两条水平线段linea、lineb和两条垂直线段linec、lined的相对位置并根据其相对位置进行交换,使得水平线段linea在水平线段lineb的上方,垂直线段linec在垂直线段lined左方。同时,对线段的两个端点进行位置交换,使得
Figure GDA0003456119890000111
分别为水平线段linea、lineb的左端点,
Figure GDA0003456119890000112
分别为水平线段linea、lineb的右端点,
Figure GDA0003456119890000113
分别为垂直线段linec、lined的上端点,
Figure GDA0003456119890000114
分别为垂直线段linec、lined的下端点。交换线段位置后,再对这四条线段linea、lineb、linec、lined进行判断。如果这四条线段linea、lineb、linec、lined满足以下条件,则其可构成矩形区域:
a)分别计算线段linea、lineb、linec、lined与水平方向的夹角anglea、angleb、anglec、angled,夹角anglea、angleb、anglec、angled满足如下要求:
Figure GDA0003456119890000121
b)设置端点距离阈值Dp=350。分别计算水平线段linea与垂直线段linec相邻端点
Figure GDA0003456119890000122
的距离
Figure GDA0003456119890000123
水平线段linea与垂直线段lined相邻端点
Figure GDA0003456119890000124
的距离
Figure GDA0003456119890000125
水平线段lineb与垂直线段linec相邻端点
Figure GDA0003456119890000126
的距离
Figure GDA0003456119890000127
水平线段lineb与垂直线段lined相邻端点
Figure GDA0003456119890000128
的距离
Figure GDA0003456119890000129
距离计算参考公式(1)。距离
Figure GDA00034561198900001210
均小于设定的端点距离阈值Dp
说明四条线段linea、lineb、linec、lined可构成一个矩形。将四条线段linea、lineb、linec、lined分别延长,线段linea和线段linec相交于点(xa,c,ya,c),线段linea和线段lined相交于点(xa,d,ya,d),线段lineb和线段linec相交于点(xb,c,yb,c),线段lineb和线段lined相交于点(xb,d,yb,d),如图8所示。
上述步骤(3)条件a)中线段linei、linej夹角anglei,j的具体计算步骤如下:
(3.1.1)计算线段linei、linej的斜率ki、kj。线段liner的斜率kr计算公式如下:
Figure GDA00034561198900001211
其中,
Figure GDA00034561198900001212
为线段liner的两端点,r=i,j。
(3.1.2)根据线段linei、linej的斜率ki、kj计算线段linei、linej的夹角anglei,j,计算公式如下:
Figure GDA00034561198900001213
上述步骤(3)条件b)中线段linei的两端点
Figure GDA00034561198900001214
到线段linej的平均距离distancei,j的具体计算步骤如下:
(3.2.1)计算线段linej的直线方程Ajx+Bjy+Cj=0,其中参数的计算公式如下:
Figure GDA0003456119890000131
其中,点
Figure GDA0003456119890000132
为线段linej的端点。
(3.2.2)分别计算点
Figure GDA0003456119890000133
到线段linej的距离
Figure GDA0003456119890000134
计算公式如下:
Figure GDA0003456119890000135
(3.2.3)根据距离
Figure GDA0003456119890000136
计算平均距离distancei,j,计算公式如下:
Figure GDA0003456119890000137
上述步骤(3)条件c)中获取线段linei、linej近端点
Figure GDA0003456119890000138
的具体步骤如下:
(3.3.1)计算点
Figure GDA0003456119890000139
到点
Figure GDA00034561198900001310
之间的距离
Figure GDA00034561198900001311
Figure GDA00034561198900001312
到点
Figure GDA00034561198900001313
之间的距离
Figure GDA00034561198900001314
Figure GDA00034561198900001315
到点
Figure GDA00034561198900001316
之间的距离
Figure GDA00034561198900001317
Figure GDA00034561198900001318
到点
Figure GDA00034561198900001319
之间的距离
Figure GDA00034561198900001320
距离计算参考公式(1)。
(3.3.2)从所有的距离
Figure GDA00034561198900001321
中找出值最小的距离mindu,v,即表示点(xu,yu)、(xv,yv)之间的距离最小,则点(xu,yu)、(xv,yv)为近端点,距离mindu,v计算公式如下:
Figure GDA00034561198900001322
其中,
Figure GDA00034561198900001323
用于计算距离
Figure GDA00034561198900001324
中的最小值,u=i1,i2,v=j1,j2
上述步骤(7)中计算两条水平线段linea、lineb和两条垂直线段linec、lined的相对位置并根据其相对位置进行交换的具体步骤如下:
(7.1.1)比较水平线段linea两端点的横坐标
Figure GDA0003456119890000141
如果
Figure GDA0003456119890000142
则交换端点
Figure GDA0003456119890000143
Figure GDA0003456119890000144
同理,比较水平线段lineb两端点的横坐标
Figure GDA0003456119890000145
如果
Figure GDA0003456119890000146
则交换端点
Figure GDA0003456119890000147
(7.1.2)比较端点
Figure GDA0003456119890000148
的纵坐标
Figure GDA0003456119890000149
与端点
Figure GDA00034561198900001410
的纵坐标
Figure GDA00034561198900001411
如果
Figure GDA00034561198900001412
则交换水平线段linea、lineb
(7.1.3)比较垂直线段linec两端点的纵坐标
Figure GDA00034561198900001413
如果
Figure GDA00034561198900001414
则交换端点
Figure GDA00034561198900001415
Figure GDA00034561198900001416
同理,比较垂直线段lined两端点的纵坐标
Figure GDA00034561198900001417
如果
Figure GDA00034561198900001418
则交换端点
Figure GDA00034561198900001419
(7.1.4)比较端点
Figure GDA00034561198900001420
的横坐标
Figure GDA00034561198900001421
与端点
Figure GDA00034561198900001422
的横坐标
Figure GDA00034561198900001423
如果
Figure GDA00034561198900001424
则交换垂直线段linec、lined
上述步骤(7)中找出四条线段linea、lineb、linec、lined对应交叉点的具体步骤如下:
(7.2.1)根据公式(11)计算线段linea、lineb、linec、lined的直线方程Aax+Bay+Ca=0、Abx+Bby+Cb=0、Acx+Bcy+Cc=0、Adx+Bdy+Cd=0。
(7.2.2)将线段linea、lineb、linec、lined分别延长,线段linea、linec相交于点(xa,c,ya,c),线段lineb、linec相交于点(xb,c,yb,c),线段linea、lined相交于点(xa,d,ya,d),线段lineb、lined相交于点(xb,d,yb,d)。线段linei、linej的直线方程Aix+Biy+Ci=0、Ajx+Bjy+Cj=0,且线段linei、linej相交于点(xi,j,yi,j),点(xi,j,yi,j)的计算公式如下:
Figure GDA00034561198900001425
其中,i=a,b,j=c,d,xi,j、yi,j为点(xi,j,yi,j)的横、纵坐标。
(7.2.3)点(xa,c,ya,c)、(xb,c,yb,c)、(xa,d,ya,d)和(xb,d,yb,d)即为所求矩形的四个顶点。
本发明能够有效的从图像中获取线段信息,将提取出的线段进行合并、连接和删除,以去除干扰线段,再根据矩形规则快速筛选出矩形目标边界。该方法能够有效适用于复杂背景下的矩形目标检测,抗干扰能力强,准确率高,检测速度快。
以上所述为本发明的较佳实例,但本发明不应该局限于该实例和附图所公开的内容。所以凡是不脱离本发明所公开的精神下完成的等效或修改,都落入本发明保护的范围。

Claims (6)

1.一种复杂背景下的矩形目标检测方法,其特征在于,该方法包括以下步骤:
(1)线段检测;读取原始彩色图像I,将图像I的宽高分别记作wo、ho,对图像I的R、G、B三色通道分别使用线段检测算法进行线段检测,得到R、G、B三色通道对应的线段组lineR、lineG、lineB;将线段组lineR、lineG、lineB进行合并,得到合并后的线段组lines;
(2)线段合并;将线段组lines中的线段按长度从大到小进行排序,得到排序后的线段组lines_sort;依次遍历线段组lines_sort中的每一条线段linei,将其与线段组中其他线段linej依次进行匹配,直到线段linei、linej的长度不满足|lengthi-lengthj|<Tl,其中i=1,...,m-1,j=i+1,...,m,m为线段组lines_sort的线段数量,lengthi为第i条线段linei的长度,lengthj为第j条线段linej的长度,Tl为线段长度距离阈值;计算线段linei的端点
Figure FDA0003456119880000011
与linej的端点
Figure FDA0003456119880000012
的欧式距离
Figure FDA0003456119880000013
其中,u=1,2,v=1,2;计算公式如下:
Figure FDA0003456119880000014
设置线段端点距离阈值Dp,计算公式如下:
Dp=(wo+ho)×α (2)
其中,α为设定的端点距离系数;如果
Figure FDA0003456119880000015
Figure FDA0003456119880000016
表示线段linei、linej重合,将线段linej从线段组lines_sort中删除;
(3)线段连接;依次遍历线段组lines_sort中所有线段,对线段组lines_sort中任意一条线段linei,将其与线段组中另一条线段linej进行匹配验证,如果能够满足如下条件则将线段linei、linej进行连接;
(a)计算线段linei与线段linej的夹角anglei,j,如果该夹角anglei,j小于设定的夹角阈值Tangle,则认为线段linei与线段linej近似平行;
(b)计算线段linei的两端点
Figure FDA0003456119880000017
到线段linej的平均距离distancei,j,如果该平均距离distancei,j小于设定的距离阈值Tver_d,则认为线段linei与线段linej近似在同一水平线上;
(c)将线段linei的两端点
Figure FDA0003456119880000021
与线段linej的两端点
Figure FDA0003456119880000022
进行比较,找出两条线段中相邻的两个近端点
Figure FDA0003456119880000023
并计算这两个近端点
Figure FDA0003456119880000024
之间的距离dnear,如果距离dnear小于设定的水平距离阈值Thor_d,则认为线段linei与线段linej近似相邻;
如果以上条件均满足,则将线段linei、linej进行连接,由于上述步骤(c)中已计算得到两个近端点
Figure FDA0003456119880000025
则将线段linei、linej的两个远端点
Figure FDA0003456119880000026
Figure FDA0003456119880000027
进行连接,得到连接后的线段lineconnect;将连接后的线段lineconnect加入线段组lines_sort中继续与其它线段进行匹配,并删除线段linei与线段linej
(4)线段删除,依次遍历线段组lines_sort中所有线段,计算线段组lines_sort中任意一条线段linel的长度lengthl,判断长度lengthl是否小于设定的矩形边长最小阈值lengthmin;设定的矩形边长最小阈值lengthmin计算公式如下:
lengthmin=(wo+ho)×β (3)
其中,β为设定的边长系数,如果线段linel的长度lengthl小于设定的矩形边长最小阈值lengthmin,则将线段linel从线段组lines_sort中删除;
(5)线段划分,依次遍历线段组lines_sort中所有线段,对线段组lines_sort中任意一条线段linel,计算其与水平线方向的夹角值anglel:如果0°≤anglel<45°,则将线段linel划分到水平线段组hor_line中;如果45°≤anglel≤90°,则将线段linel划分到垂直线段组ver_line中;
(6)线段排序,分别将水平线段组hor_line与垂直线段组ver_line中的线段按线段长度从大到小进行排序,得到排序后的水平线段组hor_line_sort与垂直线段组ver_line_sort;
(7)矩形筛选,对于水平线段组hor_line_sort中的每一条线段linea,将其与水平线段组hor_line_sort中其他线段lineb进行匹配,其中,a=1,...,nh-1,b=a+1,...,nh,nh为水平线段组hor_line_sort的线段数量,直至找出矩形的两条水平线段linea、lineb;矩形的两条水平线段需满足如下条件:
|lengtha-lengthb|<Tlh (4)
anglea,b<Tah (5)
其中,lengtha为线段linea的长度,lengthb为线段lineb的长度,Tlh为设定的长度阈值,anglea,b为线段linea、lineb的夹角,Tah为设定的夹角阈值;
对于垂直线段组ver_line_sort中的每一条线段linec,将其与垂直线段组ver_line_sort中其他线段lined进行匹配,其中,c=1,...,nv-1,d=c+1,...,nv,nv为垂直线段组的线段数量,直至找出矩形的两条垂直线段linec、lined;矩形的两条垂直线段需满足如下条件:
|lengthc-lengthd|<Tlv (6)
anglec,d<Tav (7)
其中,lengthc为线段linec的长度,lengthd为线段lined的长度,Tlv为设定的长度阈值,anglec,d为线段linec、lined的夹角,Tav为设定的夹角阈值;在同方向的线段匹配成功后,分别计算两条水平线段linea、lineb和两条垂直线段linec、lined的相对位置并根据其相对位置进行交换,使得水平线段linea在水平线段lineb的上方,垂直线段linec在垂直线段lined左方;同时,对线段的两个端点进行位置交换,使得
Figure FDA0003456119880000031
分别为水平线段linea、lineb的左端点,
Figure FDA0003456119880000032
分别为水平线段linea、lineb的右端点,
Figure FDA0003456119880000033
Figure FDA0003456119880000034
分别为垂直线段linec、lined的上端点,
Figure FDA0003456119880000035
分别为垂直线段linec、lined的下端点;交换线段位置后,再对这四条线段linea、lineb、linec、lined进行判断,如果这四条线段linea、lineb、linec、lined满足以下条件,则其可构成矩形区域:
(a)分别计算线段linea、lineb、linec、lined与水平方向的夹角anglea、angleb、anglec、angled,夹角anglea、angleb、anglec、angled满足如下要求:
Figure FDA0003456119880000041
(b)分别计算水平线段linea与垂直线段linec相邻端点
Figure FDA0003456119880000042
的距离
Figure FDA0003456119880000043
水平线段linea与垂直线段lined相邻端点
Figure FDA0003456119880000044
的距离
Figure FDA0003456119880000045
水平线段lineb与垂直线段linec相邻端点
Figure FDA0003456119880000046
的距离
Figure FDA0003456119880000047
水平线段lineb与垂直线段lined相邻端点
Figure FDA0003456119880000048
的距离
Figure FDA0003456119880000049
距离计算参考公式(1);距离
Figure FDA00034561198800000410
Figure FDA00034561198800000411
均小于设定的端点距离阈值Dp
如果四条线段linea、lineb、linec、lined可构成一个矩形,将四条线段linea、lineb、linec、lined分别延长,线段linea和线段linec相交于点(xa,c,ya,c),线段linea和线段lined相交于点(xa,d,ya,d),线段lineb和线段linec相交于点(xb,c,yb,c),线段lineb和线段lined相交于点(xb,d,yb,d)。
2.根据权利要求1所述的一种复杂背景下的矩形目标检测方法,其特征在于,上述步骤(3)条件(a)中线段linei、linej夹角anglei,j的具体计算步骤如下:
(3.1.1)计算线段linei、linej的斜率ki、kj,线段liner的斜率kr计算公式如下:
Figure FDA00034561198800000412
其中,
Figure FDA00034561198800000413
为线段liner的两端点,r=i,j;
(3.1.2)根据线段linei、linej的斜率ki、kj计算线段linei、linej的夹角anglei,j,计算公式如下:
Figure FDA00034561198800000414
3.根据权利要求1所述的一种复杂背景下的矩形目标检测方法,其特征在于,上述步骤(3)条件(b)中线段linei的两端点
Figure FDA0003456119880000051
到线段linej的平均距离distancei,j的具体计算步骤如下:
(3.2.1)计算线段linej的直线方程Ajx+Bjy+Cj=0,其中参数的计算公式如下:
Figure FDA0003456119880000052
其中,点
Figure FDA0003456119880000053
为线段linej的端点;
(3.2.2)分别计算点
Figure FDA0003456119880000054
到线段linej的距离
Figure FDA0003456119880000055
计算公式如下:
Figure FDA0003456119880000056
(3.2.3)根据距离
Figure FDA0003456119880000057
计算平均距离distancei,j,计算公式如下:
Figure FDA0003456119880000058
4.根据权利要求1所述的一种复杂背景下的矩形目标检测方法,其特征在于,上述步骤(3)条件(c)中获取线段linei、linej近端点
Figure FDA0003456119880000059
的具体步骤如下:
(3.3.1)计算点
Figure FDA00034561198800000510
到点
Figure FDA00034561198800000511
之间的距离
Figure FDA00034561198800000512
Figure FDA00034561198800000513
到点
Figure FDA00034561198800000514
之间的距离
Figure FDA00034561198800000515
Figure FDA00034561198800000516
到点
Figure FDA00034561198800000517
之间的距离
Figure FDA00034561198800000518
Figure FDA00034561198800000519
到点
Figure FDA00034561198800000520
之间的距离
Figure FDA00034561198800000521
距离计算参考公式(1);
(3.3.2)从所有的距离
Figure FDA00034561198800000522
中找出值最小的距离mindu,v,即表示点(xu,yu)、(xv,yv)之间的距离最小,则点(xu,yu)、(xv,yv)为近端点,距离mindu,v计算公式如下:
Figure FDA00034561198800000523
其中,
Figure FDA00034561198800000524
用于计算距离
Figure FDA00034561198800000525
中的最小值,u=i1,i2,v=j1,j2
5.根据权利要求1所述的一种复杂背景下的矩形目标检测方法,其特征在于,上述步骤(7)中计算两条水平线段linea、lineb和两条垂直线段linec、lined的相对位置并根据其相对位置进行交换的具体步骤如下:
(7.1.1)比较水平线段linea两端点的横坐标
Figure FDA0003456119880000061
如果
Figure FDA0003456119880000062
则交换端点
Figure FDA0003456119880000063
Figure FDA0003456119880000064
同理,比较水平线段lineb两端点的横坐标
Figure FDA0003456119880000065
如果
Figure FDA0003456119880000066
则交换端点
Figure FDA0003456119880000067
(7.1.2)比较端点
Figure FDA0003456119880000068
的纵坐标
Figure FDA0003456119880000069
与端点
Figure FDA00034561198800000610
的纵坐标
Figure FDA00034561198800000611
如果
Figure FDA00034561198800000612
则交换水平线段linea、lineb
(7.1.3)比较垂直线段linec两端点的纵坐标
Figure FDA00034561198800000613
如果
Figure FDA00034561198800000614
则交换端点
Figure FDA00034561198800000615
Figure FDA00034561198800000616
同理,比较垂直线段lined两端点的纵坐标
Figure FDA00034561198800000617
如果
Figure FDA00034561198800000618
则交换端点
Figure FDA00034561198800000619
(7.1.4)比较端点
Figure FDA00034561198800000620
的横坐标
Figure FDA00034561198800000621
与端点
Figure FDA00034561198800000622
的横坐标
Figure FDA00034561198800000623
如果
Figure FDA00034561198800000624
则交换垂直线段linec、lined
6.根据权利要求1所述的一种复杂背景下的矩形目标检测方法,其特征在于,上述步骤(7)中找出四条线段linea、lineb、linec、lined对应交叉点的具体步骤如下:
(7.2.1)根据公式(11)计算线段linea、lineb、linec、lined的直线方程Aax+Bay+Ca=0、Abx+Bby+Cb=0、Acx+Bcy+Cc=0、Adx+Bdy+Cd=0;
(7.2.2)将线段linea、lineb、linec、lined分别延长,线段linea、linec相交于点(xa,c,ya,c),线段lineb、linec相交于点(xb,c,yb,c),线段linea、lined相交于点(xa,d,ya,d),线段lineb、lined相交于点(xb,d,yb,d);线段linei、linej的直线方程Aix+Biy+Ci=0、Ajx+Bjy+Cj=0,且线段linei、linej相交于点(xi,j,yi,j),点(xi,j,yi,j)的计算公式如下:
Figure FDA0003456119880000071
其中,i=a,b,j=c,d,xi,j、yi,j为点(xi,j,yi,j)的横、纵坐标;
(7.2.3)点(xa,c,ya,c)、(xb,c,yb,c)、(xa,d,ya,d)和(xb,d,yb,d)即为所求矩形的四个顶点。
CN202110761197.0A 2021-07-06 2021-07-06 复杂背景下的矩形目标检测方法 Active CN113505793B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110761197.0A CN113505793B (zh) 2021-07-06 2021-07-06 复杂背景下的矩形目标检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110761197.0A CN113505793B (zh) 2021-07-06 2021-07-06 复杂背景下的矩形目标检测方法

Publications (2)

Publication Number Publication Date
CN113505793A CN113505793A (zh) 2021-10-15
CN113505793B true CN113505793B (zh) 2022-03-04

Family

ID=78011250

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110761197.0A Active CN113505793B (zh) 2021-07-06 2021-07-06 复杂背景下的矩形目标检测方法

Country Status (1)

Country Link
CN (1) CN113505793B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115131545B (zh) * 2022-07-14 2024-07-12 深圳市朗派电子科技有限公司 一种基于图像识别的快速矩形定位算法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102289810B (zh) * 2011-08-05 2013-02-27 上海交通大学 高分辨率大数量级图像的快速矩形检测方法
US10262530B2 (en) * 2016-12-20 2019-04-16 Cambridge Mobile Telematics Determining customized safe speeds for vehicles
CN107423737B (zh) * 2017-05-03 2018-11-20 武汉东智科技股份有限公司 异物遮挡的视频质量诊断方法
CN107563331B (zh) * 2017-09-04 2020-02-14 中国地质大学(武汉) 一种基于几何关系的道路标志线检测方法及系统
CN110751631B (zh) * 2019-10-10 2023-04-07 郑州大学 一种快速高精度的矩形检测方法
CN112016557B (zh) * 2020-08-26 2022-05-24 深圳致宇智能商业有限公司 一种表格干扰线去除方法
CN112837263B (zh) * 2020-12-21 2022-03-22 上海致宇信息技术有限公司 一种复杂背景下的身份证信息定位方法

Also Published As

Publication number Publication date
CN113505793A (zh) 2021-10-15

Similar Documents

Publication Publication Date Title
CN109784344B (zh) 一种用于地平面标识识别的图像非目标滤除方法
CN107679520B (zh) 一种适用于复杂条件下的车道线视觉检测方法
CN106372642B (zh) 基于轮廓曲线分割弧合并与组合的椭圆快速检测方法
CN106815583B (zh) 一种基于mser和swt相结合的夜间车辆车牌定位方法
Azad et al. A novel and robust method for automatic license plate recognition system based on pattern recognition
CN109886168B (zh) 一种基于层阶的地面交通标志识别方法
CN114863492B (zh) 一种低质量指纹图像的修复方法及修复装置
CN113505793B (zh) 复杂背景下的矩形目标检测方法
CN111091071B (zh) 基于探地雷达双曲波拟合的地下目标检测方法及系统
CN110348307B (zh) 一种起重机金属结构攀爬机器人的路径边缘识别方法及系统
CN107977608B (zh) 一种应用于公路视频图像道路区域提取的方法
CN110705553A (zh) 一种适用于车辆远景图像的划痕检测方法
Pan et al. An efficient method for skew correction of license plate
CN111860113A (zh) 车道线检测方法及系统
CN112418210B (zh) 一种杆塔巡检信息智能分类方法
CN110321828A (zh) 一种基于双目摄像机和车底阴影的前方车辆检测方法
CN102385702A (zh) 去除路面图像中刻槽的方法
CN109308468B (zh) 一种车道线检测方法
CN109886120B (zh) 一种斑马线检测方法及系统
Syed et al. Color edge enhancement based fuzzy segmentation of license plates
CN106295642A (zh) 一种基于容错率和纹理特征的车牌定位方法
CN105139428A (zh) 一种基于四元数的彩色图像surf特征描述方法和系统
Wu et al. Lane Line Detection Method Based on Neighborhood Gray Scale Characteristics
CN113657194B (zh) 基于改进的surf算法的车辆摄像头图像特征提取匹配方法
Guo et al. A license plate recognition algorithm based on image processing technology.

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
PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Rectangular object detection method in complex background

Effective date of registration: 20230814

Granted publication date: 20220304

Pledgee: Shanghai Pudong Development Bank Co.,Ltd. Zhabei Sub branch

Pledgor: SHANGHAI ZHIYU INFORMATION TECHNOLOGY CO.,LTD.

Registration number: Y2023310000462