一种基于EdgeBoxes的前车检测方法及装置的制造方法

文档序号:10570361阅读:149来源:国知局
一种基于Edge Boxes的前车检测方法及装置的制造方法
【专利摘要】本发明提供了一种基于Edge Boxes的前车检测方法,该方法包括:采集场景图像;对场景图像进行灰度处理,获取灰度图像;采用Edge Boxes算法提取灰度图像中的候选车辆窗口;利用分类器对候选车辆窗口进行识别并输出结果。与现有技术相比,本发明可以实现复杂场景中的前车检测,且鲁棒性和实用性较强。
【专利说明】
_种基于Edge Boxes的前车检测方法及装置
技术领域
[0001] 本发明涉及图像处理、视频监控以及行车安全,特别涉及前车检测方法及装置。
【背景技术】
[0002] 随着交通及车辆产业的逐渐发展,车辆保有量日益增加,同时也每年的交通事故 也急剧增加。近年来,行车安全得到了极大的关注,前车检测作为行车安全的一个分支也得 到了广泛的研究。
[0003] 公开号为CN103029621A的中国发明专利申请公开了一种检测前方车辆的方法,方 法首先通过检测前方的运动灯光区域,然后提取灯光区域对以生成前方车辆候选项,最后 根据预定的车辆灯光特征检测前方车辆。公开号为CN102855500A的中国发明专利申请公开 了一种基于Haar和HoG特征的前车检测方法:使用Haar特征和HoG特征对选取的样本进行表 征,形成特征向量,并构建弱分类器;利用Adaboost算法对弱分类器进行训练,得到强分类 器;针对车载摄像头获得的前方道路视频图像,将其中各种尺寸、各种位置的子图像输入强 分类器中进行判断,以获得前方车辆。然而上述前车检测方法在复杂场景下检测率较低。
[0004] 综上所述,目前迫切需要提出一种鲁棒性和实用性较强地检测前车的方法及装 置。

【发明内容】

[0005] 有鉴于此,本发明的主要目的在于实现前车检测,且鲁棒性和实用性较强。
[0006] 为达到上述目的,按照本发明的第一个方面,提供了一种基于Edge Boxes的前车 检测方法,该方法包括:
[0007] 第一步骤,采集场景图像;
[0008] 第二步骤,对场景图像进行灰度处理,获取灰度图像;
[0009]第三步骤,采用Edge Boxes算法提取灰度图像中的候选车辆窗口;
[0010]第四步骤,利用分类器对候选车辆窗口进行识别并输出结果。
[0011]所述第三步骤进一步包括:
[0012] 边缘图像提取步骤,利用边缘检测算法提取灰度图像的边缘图像;
[0013] 归一化处理步骤,对边缘图像进行归一化处理,获取边缘归一化图像;
[0014] 边缘点提取步骤,提取边缘归一化图像中亮度值不小于阈值Th_ENor的像素点作 为边缘点;
[0015] 标签序列图像获取步骤,对每一个边缘点,搜寻该边缘点的序列点并标签,获取标 签的序列图像;
[0016] 序列相似度计算步骤,计算每两个不同标签序列的相似度;
[0017] 候选车辆窗口获取步骤,计算窗口内标签序列的权值,根据该权值给窗口打分,选 取WNum个打分最高的窗口组,并进行窗口重叠处理,选取候选车辆窗口。
[0018] 所述归一化处理步骤进一步为:统计边缘图像中像素点的最大亮度值IEdgemax,将 边缘图像中像素点(X,y)的亮度值IE (x,y)除以最大亮度值I Edgemax,即得到归一化图像IN (x,y) 〇
[0019 ]所述边缘点提取步骤进一步为:若归一化图像中像素点(x, y)的亮度值IN (x, y)多 Th_ENor,则提取该像素点作为边缘点,将边缘点的亮度值置为0,否则将该像素点的亮度值 置为-1。
[0020] 所述标签序列图像获取步骤进一步包括:
[0021] 序列起点获取步骤,逐行扫描,以扫描到的第一个无标签的边缘点标签为i,并记 为序列起点),k=l;
[0022] 邻近序列点搜寻步骤,搜寻边缘点(夂,_vf)的邻近边缘点,计算边缘点(xf, yf)与其 邻近边缘点的梯度方向角差值,将梯度方向角差值最小的邻近边缘点作为边缘点的 邻近序列点,将梯度方向角差值最小值作为边缘点的邻近序列方向差值 切1)#&<),累计邻近序列方向差值的和&?_60/)#(心乂)=乞仰0#(<,3〇,若 m-\ _GDD/#?.v,h < 90°,将邻近序列点标签为i,k = k+1,并继续执行邻近序列点搜寻步 骤,否则转入序列获取步骤;
[0023] 序列获取步骤,扫描无标签的边缘点,若是存在无标签的边缘点,则i = i + 1,并执 行序列起点获取步骤,否则输出有标签的序列。
[0024] 所述邻近序列点搜寻步骤中搜寻边缘点的邻近边缘点为搜寻边缘点 Of的八连通域内的边缘点,其中,八连通域为与边缘点Of相邻的8个像素点,即 (x,/l - 1, -1) > (xf-1, +1) > > (jff, j/f +1) > (xf +1, y. -1) ^ (xf +1, vf) n (.rf +1, +1) 〇
[0025] 所述序列相似度计算步骤进一步包括:
[0026] 序列边缘位置点获取步骤,获取第p个标签序列的边缘位置点(4,4)和第q个标签 序列的边缘位置点(XX),p = 1,2,L,LNum,q = 1,2,L,LNum,且。>p,LNum为标签序列的个 数;
[0027] 标签序列相似度计算步骤,计算第p个标签序列SP与第q个标签序列Sq的相似度:a (315,3(1)=|(3〇8(01)-01)(1)*(3〇8(0 (1-01)(1)|\01)为边缘位置点(4,.;)4:.).的梯度方向角,0 (1为边缘位 置点(之,乂)的梯度方向角,9Pq为边缘位置点和边缘位置点(X丨,乂)的夹角;
[0028] 相似度筛选步骤,若a (SP,Sq)彡Th_Simi,则将a (SP,Sq)设为0。
[0029] 所述候选车辆窗口获取步骤进一步包括:
[0030] 窗口标签序列权值计算步骤,对于标签序列Sj,j = 1,2,L,LNum,任意选取包含标 签序列Sj的窗口,该窗口内标签序列Sj的权值为:
[0031] WA(S,) =丨-_max n ,t表不交叉域包含的标签序列,T表不交叉域包含的 标签序列个数;
[0032]窗口打分值获取步骤,根据窗口打分公式
,获取窗口打分 值,1^为窗口的宽度,bh为窗口的高度,mj为第j个标签的边缘位置的梯度值;
[0033]窗口组获取步骤,将窗口打分值从高到低排序,选取窗口打分值最高的WNum个窗 口打分值对应的窗口组Bi,B2,L,Bm?;
[0034] 候选车辆窗口选取步骤,对于任意两个窗口 Bi和Bj,i = 1,2,L,WNum,j = 1,2,L, WNum,且j乒i,计算窗口 Bi和Bj的重叠区域Bij,若Bj彡Bi且
,则删除Bi,若Bj<Bi 且
,则删除叫,剩余的窗口即为候选车辆窗口。
[0035]所述第四步骤进一步包括:
[0036]分类器训练步骤,选取一系列标签的车辆图像为正样本,标签的非车辆图像为负 样本,根据正样本和负样本对分类器进行训练,得到训练好的分类器;
[0037]车辆窗口识别步骤,通过训练好的分类器对候选车辆窗口进行识别,输出识别的 车辆窗口。
[0038]按照本发明的另一个方面,提供了一种基于Edge Boxes的前车检测装置,该装置 包括:
[0039]场景图像采集模块,用于采集场景图像;
[0040]灰度图像获取模块,用于对场景图像进行灰度处理,获取灰度图像;
[0041 ]候选车辆窗口提取模块,用于采用Edge Boxes算法提取灰度图像中的候选车辆窗 P;
[0042] 车辆窗口识别模块,用于利用分类器对候选车辆窗口进行识别并输出结果。
[0043] 所述候选车辆窗口提取模块进一步包括:
[0044] 边缘图像提取模块,用于利用边缘检测算法提取灰度图像的边缘图像;
[0045]归一化处理模块,用于对边缘图像进行归一化处理,获取边缘归一化图像;
[0046]边缘点提取模块,用于提取边缘归一化图像中亮度值不小于阈值Th_ENor的像素 点作为边缘点;
[0047] 标签序列图像获取模块,用于对每一个边缘点,搜寻该边缘点的序列点并标签,获 取标签的序列图像;
[0048] 序列相似度计算模块,用于计算每两个不同标签序列的相似度;
[0049] 候选车辆窗口获取模块,用于计算窗口内标签序列的权值,根据该权值给窗口打 分,选取WNum个打分最高的窗口组,并进行窗口重叠处理,选取候选车辆窗口。
[0050] 所述归一化处理模块进一步为:用于统计边缘图像中像素点的最大亮度值 IEdgemax,将边缘图像中像素点(x,y)的亮度值IE(x,y)除以最大亮度值IEdgemax,即得到归 一化图像IN(x,y)。
[0051] 所述边缘点提取模块进一步为:用于若归一化图像中像素点(x,y)的亮度值IN(x, y)多Th_ENor,则提取该像素点作为边缘点,将边缘点的亮度值置为0,否则将该像素点的亮 度值置为-1。
[0052]所述标签序列图像获取模块进一步包括:
[0053]序列起点获取模块,用于逐行扫描,以扫描到的第一个无标签的边缘点标签为i, 并记为序列起点(<,夂),k=l;
[0054] 邻近序列点搜寻模块,用于搜寻边缘点的邻近边缘点,计算边缘点(xf,yf) 与其邻近边缘点的梯度方向角差值,将梯度方向角差值最小的邻近边缘点作为边缘点 (4,父)的邻近序列点,将梯度方向角差值最小值作为边缘点的邻近序列方向差值 ,乂),:累计邻近序列方向差值的和*而-G働乂) = 土G皿? m=i _梅_(^)〇故_(4,乂)^90°,将邻近序列点标签为1,1^ = 1^1,并继续执行邻近序列点搜寻模 块,否则转入序列获取模块;
[0055] 序列获取模块,用于扫描无标签的边缘点,若是存在无标签的边缘点,则i = i +1, 并执行序列起点获取模块,否则输出有标签的序列。
[0056] 所述邻近序列点搜寻模块中搜寻边缘点的邻近边缘点为搜寻边缘点 (xf,_vf)的八连通域内的边缘点,其中,八连通域为与边缘点(4,/)相邻的8个像素点,即 (4 - 1.,-1)、- l.s >'f )、.-1.,X* +.1)、( W - 1)、 (if,)'f +1)、(4 +1, - l)、Of +1, _yf)、(彳 +1, .yf +1)。
[0057]所述序列相似度计算模块进一步包括:
[0058] 序列边缘位置点获取模块,用于获取第p个标签序列的边缘位置点(<,^)和第q个 标签序列的边缘位置点(<,%),p = 1,2,L,LNum,q = 1,2,L,LNum,且。>p,LNum为标签序列 的个数;
[0059] 标签序列相似度计算模块,用于计算第p个标签序列SP与第q个标签序列Sq的相似 度:a(S P,Sq) = | cos(9p-9M)*cos( 9q-9M) | Y,9P为边缘位置点的梯度方向角,为边 缘位置点(.<乂)的梯度方向角Aq为边缘位置点(44)和边缘位置点(X^)的夹角;
[0060] 相似度筛选模块,用于若a (SP,sq)彡Th_Simi,则将a (sp,sq)设为0。
[0061 ]所述候选车辆窗口获取模块进一步包括:
[0062]窗口标签序列权值计算模块,用于对于标签序列&,j = 1,2,L,LNum,任意选取包 含标签序列Sj的窗口,该窗口内标签序列Sj的权值为:
[0063] WjSJzi-max pj adpU ,t表不交叉域包含的标签序列,T表不交叉域包含的 标签序列个数;
[0064] 窗口打分值获取模块,用于根据窗口打分公式
-,.获取窗口 打分值,bw为窗口的宽度,bh为窗口的高度,mj为第j个标签的边缘位置的梯度值;
[0065]窗口组获取模块,用于将窗口打分值从高到低排序,选取窗口打分值最高的WNum 个窗口打分值对应的窗口组Bl,B2,L,BwNum;
[0066]候选车辆窗口选取模块,用于对于任意两个窗口 Bi和Bj,i = 1,2,L,WNum,j = 1,2, L,WNum,且j乒i,计算窗口Bi和Bj的重叠区域Bij,若Bj彡Bi且
,则删除Bi,若Bj< 81且
,则删除I,剩余的窗口即为候选车辆窗口。
[0067]所述窗口标签序列权值计算模块中交叉域是指从窗口的边框到标签序列&的范 围内。
[0068]所述车辆窗口识别模块进一步包括:
[0069] 分类器训练模块,用于选取一系列标签的车辆图像为正样本,标签的非车辆图像 为负样本,根据正样本和负样本对分类器进行训练,得到训练好的分类器;
[0070] 车辆窗口识别模块,用于通过训练好的分类器对候选车辆窗口进行识别,输出识 别的车辆窗口。
[0071] 与现有的前车检测技术相比,本发明的基于Edge Boxes的前车检测方法及装置可 以实现复杂场景中的前车检测,且鲁棒性和实用性较强。
【附图说明】
[0072]图1示出了按照本发明的基于Edge Boxes的前车检测方法的流程图。
[0073]图2示出了按照本发明的第三步骤S3的流程图。
[0074]图3示出了按照本发明的基于Edge Boxes的前车检测装置的框架图。
[0075] 图4示出了按照本发明的候选车辆窗口获取模块3的框架图。
【具体实施方式】
[0076] 为使贵审查员能进一步了解本发明的结构、特征及其他目的,现结合所附较佳实 施例详细说明如下,所说明的较佳实施例仅用于说明本发明的技术方案,并非限定本发明。 [0077]图1给出了按照本发明的基于Edge Boxes的前车检测方法的流程图。如图1所示, 按照本发明的基于Edge Boxes的前车检测方法包括:
[0078]第一步骤S1,采集场景图像;
[0079] 第二步骤S2,对场景图像进行灰度处理,获取灰度图像;
[0080] 第三步骤S3,采用Edge Boxes算法提取灰度图像中的候选车辆窗口;
[0081] 第四步骤S4,利用分类器对候选车辆窗口进行识别并输出结果。
[0082]图2示出了按照本发明的第三步骤S3的流程图。如图2所示,所述第三步骤S3进一 步包括:
[0083]边缘图像提取步骤S31,利用边缘检测算法提取灰度图像的边缘图像;
[0084]归一化处理步骤S32,对边缘图像进行归一化处理,获取边缘归一化图像;
[0085]边缘点提取步骤S33,提取边缘归一化图像中亮度值不小于阈值Th_ENor的像素点 作为边缘点;
[0086] 标签序列图像获取步骤S34,对每一个边缘点,搜寻该边缘点的序列点并标签,获 取标签的序列图像;
[0087] 序列相似度计算步骤S35,计算每两个不同标签序列的相似度;
[0088] 候选车辆窗口获取步骤S36,计算窗口内标签序列的权值,根据该权值给窗口打 分,选取WNum个打分最高的窗口组,并进行窗口重叠处理,选取候选车辆窗口。
[0089] 其中,所述边缘图像提取步骤S31中边缘检测算法可以是现有的边缘检测算法,例 如Canny算法、Sob e 1算法、LoG算法等。优选地,边缘检测算法为Canny算法。
[0090] 所述归一化处理步骤S32进一步为:统计边缘图像中像素点的最大亮度值 IEdgemax,将边缘图像中像素点(x,y)的亮度值IE(x,y)除以最大亮度值IEdgemax,即得到归 一化图像IN(x,y)。
[0091] 所述边缘点提取步骤S33进一步为:若归一化图像中像素点(x,y)的亮度值IN(x, y)多Th_ENor,则提取该像素点作为边缘点,将边缘点的亮度值置为0,否则将该像素点的亮 度值置为-1。其中,Th_ENor G[0.05,0.15]。优选地,Th_ENor 设为0.1。
[0092] 所述标签序列图像获取步骤S34进一步包括:
[0093]序列起点获取步骤S341,逐行扫描,以扫描到的第一个无标签的边缘点标签为i, 并记为序列起点(xf,.v,A),k=l;
[0094]邻近序列点搜寻步骤S342,搜寻边缘点(xf,_vf)的邻近边缘点,计算边缘点 与其邻近边缘点的梯度方向角差值,将梯度方向角差值最小的邻近边缘点作为边缘点 (xfjf)的邻近序列点,将梯度方向角差值最小值作为边缘点(#,<)的邻近序列方向差值 累计邻近序列方向差值的和S赫-GZ)A//(心0 =免若 90°,将邻近序列点标签为i,k = k+l,并继续执行邻近序列点搜寻步 骤S342,否则转入序列获取步骤S343;
[0095]序列获取步骤S343,扫描无标签的边缘点,若是存在无标签的边缘点,则i = i+1, 并执行序列起点获取步骤S341,否则输出有标签的序列。
[0096] 其中,所述序列起点获取步骤S341中i的初始值设为l,i表示第i个标签;k表示第i 个标签上的第k个点。
[0097] 所述邻近序列点搜寻步骤S342中搜寻边缘点(xf,j;f)的邻近边缘点为搜寻边缘点 的八连通域内的边缘点,其中,八连通域为与边缘点相邻的8个像素点,即 __0 (-^ _' (x; _ (xf,3f+l), (xf+l,vf), (xf+ljf+Do
[0098] 所述序列相似度计算步骤S35进一步包括:
[0099] 序列边缘位置点获取步骤S351,获取第p个标签序列的边缘位置点(<,g)和第q个 标签序列的边缘位置点<X?P = 1,2,L,LNum,q = 1,2,L,LNum,且。> p,LNum为标签序列 的个数;
[0100] 标签序列相似度计算步骤S352,计算第p个标签序列SP与第q个标签序列Sq的相似 度:a(S P,Sq)= |cos(9P-9M)*cos(9q-9M) | Y,9P为边缘位置点(x?)的梯度方向角,0q为边 缘位置点的梯度方向角,0pq为边缘位置点和边缘位置点的夹角;
[0101 ] 相似度筛选步骤S353,若a (SP,Sq)彡Th_Simi,则将a (SP,Sq)设为0。
[0102]其中,所述丫£[1,4],111_311111£[0.03,0.08]。优选地,丫设为2,111_311111设为 0.05〇
[0103] 所述候选车辆窗口获取步骤S36进一步包括:
[0104] 窗口标签序列权值计算步骤S361,对于标签序列Sj,j = 1,2,L,LNum,任意选取包 含标签序列Sj的窗口,该窗口内标签序列Sj的权值为:
[0105] WA(S;) = l-nijix jnj ,t表不交叉域包含的标签序列,T表不交叉域包含的
标签序列个数;
[0106] 窗口打分值获取步骤S362,根据窗口打分公式: ,获取窗口 打分值,bw为窗口的宽度,bh为窗口的高度,mj为第j个标签的边缘位置的梯度值;
[0107] 窗口组获取步骤S363,将窗口打分值从高到低排序,选取窗口打分值最高的WNum 个窗口打分值对应的窗口组Bl,B2,L,BwNum;
[0108] 候选车辆窗口选取步骤S364,对于任意两个窗口 Bi和Bj,i = 1,2,L,WNum,j = 1,2, L,WNum,且j乒i,计算窗口 Bi和Bj的重叠区域Bij,若Bj彡Bi且
啊删除Bi,若Bj<
,则删除I,剩余的窗口即为候选车辆窗口。
[0109] 所述窗口标签序列权值计算步骤S361中交叉域是指从窗口的边框到标签序列& 的范围内。
[0110] 所述窗口打分值获取步骤S362中A G [ 1,2]。优选地,A设为1.5。
[0111] 所述窗口组获取步骤S363中WNum G [ 5,30]。优选地,WNum设为15。
[0112] 所述候选车辆窗口选取步骤S364中Th_0R G [ 0. 4,0.6 ]。优选地,Th_0R选为0.5。
[0113] 所述第四步骤S4进一步包括:
[0114]分类器训练步骤S41,选取一系列标签的车辆图像为正样本,标签的非车辆图像为 负样本,根据正样本和负样本对分类器进行训练,得到训练好的分类器;
[0115] 车辆窗口识别步骤S42,通过训练好的分类器对候选车辆窗口进行识别,输出识别 的车辆窗口。
[0116] 所述第四步骤S4中分类器优选为AdaBoost分类器。
[0117] 图3给出了按照本发明的基于Edge Boxes的前车检测装置的框架图。如图3所示, 按照本发明的基于Edge Boxes的前车检测装置包括:
[0118] 场景图像采集模块1,用于采集场景图像;
[0119] 灰度图像获取模块2,用于对场景图像进行灰度处理,获取灰度图像;
[0120]候选车辆窗口提取模块3,用于采用Edge Boxes算法提取灰度图像中的候选车辆 窗口;
[0121 ]车辆窗口识别模块4,用于利用分类器对候选车辆窗口进行识别并输出结果。
[0122] 图4给出了按照本发明的候选车辆窗口获取模块3的框架图。如图4所示,按照本发 明的候选车辆窗口提取模块3进一步包括:
[0123] 边缘图像提取模块31,用于利用边缘检测算法提取灰度图像的边缘图像;
[0124] 归一化处理模块32,用于对边缘图像进行归一化处理,获取边缘归一化图像;
[0125] 边缘点提取模块33,用于提取边缘归一化图像中亮度值不小于阈值Th_ENor的像 素点作为边缘点;
[0126] 标签序列图像获取模块34,用于对每一个边缘点,搜寻该边缘点的序列点并标签, 获取标签的序列图像;
[0127] 序列相似度计算模块35,用于计算每两个不同标签序列的相似度;
[0128] 候选车辆窗口获取模块36,用于计算窗口内标签序列的权值,根据该权值给窗口 打分,选取WNum个打分最高的窗口组,并进行窗口重叠处理,选取候选车辆窗口。
[0129] 其中,所述边缘图像提取模块31中边缘检测算法可以是现有的边缘检测算法,例 如Canny算法、Sob e 1算法、LoG算法等。优选地,边缘检测算法为Canny算法。
[0130] 所述归一化处理模块32进一步为:用于统计边缘图像中像素点的最大亮度值 IEdgemax,将边缘图像中像素点(x,y)的亮度值IE(x,y)除以最大亮度值IEdgemax,即得到归 一化图像IN(x,y)。
[0131]所述边缘点提取模块33进一步为:用于若归一化图像中像素点(x,y)的亮度值IN (x,y)多Th_ENor,则提取该像素点作为边缘点,将边缘点的亮度值置为0,否则将该像素点 的亮度值置为-1。其中,Th_ENor G[0.05,0.15],优选地,Th_ENor设为0.1。
[0132] 所述标签序列图像获取模块34进一步包括:
[0133] 序列起点获取模块341,用于逐行扫描,以扫描到的第一个无标签的边缘点标签为 i,并记为序列起点(xf ,j,f),k=l;
[0134] 邻近序列点搜寻模块342,用于搜寻边缘点的邻近边缘点,计算边缘点 (xf,.V,A)与其邻近边缘点的梯度方向角差值,将梯度方向角差值最小的邻近边缘点作为边缘 点的邻近序列点,将梯度方向角差值最小值作为边缘点(4,父)的邻近序列方向差 值⑶增(Af,#),累计邻近序列方向差值的和即蹲= m=i 若細,.以)S 90°,将邻近序列点标签为i,k = k+l,并继续执行邻近序列点搜寻 模块342,否则转入序列获取模块343;
[0135] 序列获取模块343,用于扫描无标签的边缘点,若是存在无标签的边缘点,则i = i+ 1,并执行序列起点获取模块341,否则输出有标签的序列。
[0136] 其中,所述序列起点获取模块341中i的初始值设为l,i表示第i个标签;k表示第i 个标签上的第k个点。
[0137] 所述邻近序列点搜寻模块342中搜寻边缘点的邻近边缘点为搜寻边缘点 (xf,)的八连通域内的边缘点,其中,八连通域为与边缘点Of,W)相邻的8个像素点,即 (^.1 f -1) ^ (A-- -1,.1 ,(x/ -1,y'; -i-1) ^ (..v;,-1) ^ (x:,)'f +1)、. "f +1,-1)'(W: +1* 少'f)、(4 +1.,..》:+1).。
[0138] 所述序列相似度计算模块35进一步包括:
[0139] 序列边缘位置点获取模块351,用于获取第p个标签序列的边缘位置点(4,4}和第 q个标签序列的边缘位置点(<,<),p = 1,2,L,LNum,q = 1,2,L,LNum,且。>p,LNum为标签序 列的个数;
[0140]标签序列相似度计算模块352,用于计算第p个标签序列SP与第q个标签序列Sq的相 似度:a(SP,Sq) = | cos( 9p-9M)*cos(| Y,9P为边缘位置点〇X)的梯度方向角,9q为 边缘位置点(4,乂)的梯度方向角,0Pq为边缘位置点和边缘位置点(x丨,_),;)的夹角;
[0141 ] 相似度筛选模块353,用于若a (SP,Sq)彡Th_Simi,则将a (SP,Sq)设为0。
[0142] 其中,所述丫£[1,4],111_311111£[0.03,0.08]。优选地,丫设为2,111_311111设为 0.05〇
[0143] 所述候选车辆窗口获取模块36进一步包括:
[0144] 窗口标签序列权值计算模块361,用于对于标签序列^二^丄丄^^^任意选取 包含标签序列Sj的窗口,该窗口内标签序列Sj的权值为:
[0145] \%(8,.)=卜丨1皿1_丨_,山||)4表示交叉域包含的标签序列,1'表示交叉域包含的 J T: 1=1
标签序列个数;
[0146] 窗口打分值获取模块362,用于根据窗口打分公式 .,获取窗 口打分值,bwS窗口的宽度,bh为窗口的高度,mj为第j个标签的边缘位置的梯度值;
[0147] 窗口组获取模块363,用于将窗口打分值从高到低排序,选取窗口打分值最高的 WNum个窗口打分值对应的窗口组也,B2,L,Bm?;
[0148] 候选车辆窗口选取模块364,用于对于任意两个窗口 Bi和Bj,i = 1,2,L,WNum,j = 1, 2,L,WNum,且j乒i,计算窗口Bi和Bj的重叠区域Bij,若Bj彡Bi且
,则删除Bi,若Bj <B,J
'则删除叫,剩余的窗口即为候选车辆窗口。
[0149] 所述窗口标签序列权值计算模块361中交叉域是指从窗口的边框到标签序列&的 范围内。
[0150]所述窗口打分值获取模块362中A e [ 1,2]。优选地,A设为1.5。
[0151] 所述窗口组获取模块363中WNum G [ 5,30]。优选地,WNum设为15。
[0152] 所述候选车辆窗口选取模块364中Th_0RG [0. 4,0.6]。优选地,Th_0R选为0.5。
[0153] 所述车辆窗口识别模块4进一步包括:
[0154]分类器训练模块41,用于选取一系列标签的车辆图像为正样本,标签的非车辆图 像为负样本,根据正样本和负样本对分类器进行训练,得到训练好的分类器;
[0155] 车辆窗口识别模块42,用于通过训练好的分类器对候选车辆窗口进行识别,输出 识别的车辆窗口。
[0156] 所述车辆窗口识别模块4中分类器优选为AdaBoost分类器。
[0157] 与现有的前车检测技术相比,本发明的基于Edge Boxes的前车检测方法及装置可 以实现复杂场景中的前车检测,且鲁棒性和实用性较强。
[0158] 以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,应当 理解,本发明并不限于这里所描述的实现方案,这些实现方案描述的目的在于帮助本领域 中的技术人员实践本发明。任何本领域中的技术人员很容易在不脱离本发明精神和范围的 情况下进行进一步的改进和完善,因此本发明只受到本发明权利要求的内容和范围的限 制,其意图涵盖所有包括在由所附权利要求所限定的本发明精神和范围内的备选方案和等 同方案。
【主权项】
1. 一种基于Edge Boxes的前车检测方法,其特征在于,该方法包括: 第一步骤,采集场景图像; 第二步骤,对场景图像进行灰度处理,获取灰度图像; 第三步骤,采用Edge Boxes算法提取灰度图像中的候选车辆窗口; 第四步骤,利用分类器对候选车辆窗口进行识别并输出结果。2. 如权利要求1所述的方法,其特征在于,所述第三步骤进一步包括: 边缘图像提取步骤,利用边缘检测算法提取灰度图像的边缘图像; 归一化处理步骤,对边缘图像进行归一化处理,获取边缘归一化图像; 边缘点提取步骤,提取边缘归一化图像中亮度值不小于阈值Th_ENor的像素点作为边 缘点; 标签序列图像获取步骤,对每一个边缘点,搜寻该边缘点的序列点并标签,获取标签的 序列图像; 序列相似度计算步骤,计算每两个不同标签序列的相似度; 候选车辆窗口获取步骤,计算窗口内标签序列的权值,根据该权值给窗口打分,选取 WNum个打分最高的窗口组,并进行窗口重叠处理,选取候选车辆窗口; 其中,所述归一化处理步骤进一步为:统计边缘图像中像素点的最大亮度值 IEdgemax,将边缘图像中像素点(x,y)的亮度值IE(x,y)除以最大亮度值IEdgemax,即得 到归一化图像IN(x,y); 所述边缘点提取步骤进一步为:若归一化图像中像素点(x,y)的亮度值 IN(x,y)多Th_ENor,则提取该像素点作为边缘点,将边缘点的亮度值置为0,否则将该 像素点的亮度值置为-1; 所述Th_ENore [0.05,0.15]。3. 如权利要求2所述的方法,所述边缘图像提取步骤中边缘检测算法为Canny算法。4. 如权利要求2所述的方法,其特征在于,所述标签序列图像获取步骤进一步包括: 序列起点获取步骤,逐行扫描,以扫描到的第一个无标签的边缘点标签为i,并记为序 列起点,k=l; 邻近序列点搜寻步骤,搜寻边缘点(x,的邻近边缘点,计算边缘点与其邻近边 缘点的梯度方向角差值,将梯度方向角差值最小的邻近边缘点作为边缘点(χ,? )的邻近序列 点,将梯度方向角差值最小值作为边缘点(xf,_>,f)的邻近序列方向差值>,累计邻近 序列方向差值的和将邻近序列点标签为i,k=k+l,并继续执行邻近序列点搜寻步骤,否则转入序列获取步骤; 序列获取步骤,扫描无标签的边缘点,若是存在无标签的边缘点,则i = i+l,并执行序 列起点获取步骤,否则输出有标签的序列; 其中,所述序列起点获取步骤中i的初始值设为l,i表示第i个标签;k表示第i个标签上 的第k个点; 所述邻近序列点搜寻步骤中搜寻边缘点的邻近边缘点为搜寻边缘点的 八连通域内的边缘点,其中,八连通域为与边缘点_(<相邻的8个像素点,即 (< -1, V; -1) ^ (X; -1,.γ· (x; -Ur* +1) ^ (A;,rf -1) ^ (xf,W +1)、(xf + ],-V;A _ 1)、+1,W)、(xf +1,+1)。5. 如权利要求2所述的方法,所述序列相似度计算步骤进一步包括: 序列边缘位置点获取步骤,获取第P个标签序列的边缘位置点(<,^)和第q个标签序列 的边缘位置点),p = 1,2, L, LNum,q = 1,2, L, LNum,且。>p,LNum为标签序列的个数; 标签序列相似度计算步骤,计算第P个标签序列SP与第q个标签序列S q的相似度:a(SP, Sq)= | COS(9p-0M)*COS(0q-0M) | γ,θρ为边缘位置点的梯度方向角,为边缘位置点 (4X)的梯度方向角,ΘΜ为边缘位置点边缘位置点(X;,),;)的夹角; 相似度筛选步骤,若a (SP,sq) < Th_Simi,则将a (sp,sq)设为0; 其中,所述 γ e[l,4],Th_Simie[0.03,0.08]。6. 如权利要求2所述的方法,其特征在于,所述候选车辆窗口获取步骤进一步包括: 窗口标签序列权值计算步骤,对于标签序列&,j = 1,2,L,LNum,任意选取包含标签序列 Sj的窗口,该窗口内标签序列Sj的权值为:,t表示交叉域包含的标签序列,T表示交叉域包含的标签序列个数; 窗口打分值获取步骤,根据窗口打分公式: ,获取窗口打分值,bw 为窗口的宽度,bh为窗口的高度,mj为第j个标签的边缘位置的梯度值; 窗口组获取步骤,将窗口打分值从高到低排序,选取窗口打分值最高的WNum个窗口打 分值对应的窗口组,B2,L,Bm?; 候选车辆窗口选取步骤,对于任意两个窗口 Bi和Bj,i = 1,2,L,WNum,j = 1,2,L,WNum,且 j乒i,计算窗口 Bi和Bj的重叠区域Bij,若Bj彡Bi且,则删除Bi,若Bj<Bi且则删除I,剩余的窗口即为候选车辆窗口; 其中,所述交叉域是指从窗口的边框到标签序列Sj的范围内;所述λε [1,2],WNume [5, 30],Th_0Re[0.4,0.6]〇7. 如权利要求1所述的方法,其特征在于,所述第四步骤进一步包括: 分类器训练步骤,选取一系列标签的车辆图像为正样本,标签的非车辆图像为负样本, 根据正样本和负样本对分类器进行训练,得到训练好的分类器; 车辆窗口识别步骤,通过训练好的分类器对候选车辆窗口进行识别,输出识别的车辆 窗口。8. 如权利要求7所述的方法,所述第四步骤中分类器为AdaBoost分类器。9. 一种前方车辆检测装置,其特征在于,该装置包括: 场景图像采集模块,用于采集场景图像; 灰度图像获取模块,用于对场景图像进行灰度处理,获取灰度图像; 候选车辆窗口提取模块,用于采用Edge Boxes算法提取灰度图像中的候选车辆窗口; 车辆窗口识别模块,用于利用分类器对候选车辆窗口进行识别并输出结果。10. 如权利要求9所述的装置,其特征在于,所述候选车辆窗口提取模块进一步包括: 边缘图像提取模块,用于利用边缘检测算法提取灰度图像的边缘图像; 归一化处理模块,用于对边缘图像进行归一化处理,获取边缘归一化图像; 边缘点提取模块,用于提取边缘归一化图像中亮度值不小于阈值Th_ENor的像素点作 为边缘点; 标签序列图像获取模块,用于对每一个边缘点,搜寻该边缘点的序列点并标签,获取标 签的序列图像; 序列相似度计算模块,用于计算每两个不同标签序列的相似度; 候选车辆窗口获取模块,用于计算窗口内标签序列的权值,根据该权值给窗口打分,选 取WNum个打分最高的窗口组,并进行窗口重叠处理,选取候选车辆窗口; 其中,所述归一化处理模块进一步为:用于统计边缘图像中像素点的最大亮度值 IEdgemax,将边缘图像中像素点(x,y)的亮度值IE(x,y)除以最大亮度值IEdgemax,即得到归 一化图像IN(x,y); 所述边缘点提取模块进一步为:用于若归一化图像中像素点(x,y)的亮度值IN(x,y)多 Th_ENor,则提取该像素点作为边缘点,将边缘点的亮度值置为0,否则将该像素点的亮度值 置为-1;其中,Th_ENore [0.05,0.15]。11. 如权利要求10所述的装置,所述边缘图像提取模块中边缘检测算法为Canny算法。12. 如权利要求10所述的装置,其特征在于,所述标签序列图像获取模块进一步包括: 序列起点获取模块,用于逐行扫描,以扫描到的第一个无标签的边缘点标签为i,并记 为序列起点(<,) _,k=1; 邻近序列点搜寻模块,用于搜寻边缘点(xf,.))的邻近边缘点,计算边缘点(xf, W)与其 邻近边缘点的梯度方向角差值,将梯度方向角差值最小的邻近边缘点作为边缘点的 邻近序列点,将梯度方向角差值最小值作为边缘点的邻近序列方向差值 GDI)#(),累计邻近序列方向差值的和,若 沒調-< 90。,将邻近序列点标签为i,k = k+l,并继续执行邻近序列点搜寻模 块,否则转入序列获取模块; 序列获取模块,用于扫描无标签的边缘点,若是存在无标签的边缘点,则i = i+l,并执 行序列起点获取模块,否则输出有标签的序列; 其中,所述序列起点获取模块中i的初始值设为l,i表示第i个标签;k表示第i个标签上 的第k个点; 所述邻近序列点搜寻模块中搜寻边缘点的邻近边缘点为搜寻边缘点的 八连通域内的边缘点,其中,八连通域为与边缘点相邻的8个像素点,即 (Λ·,' - l,j·,' -1K (Λ., -1,·ν) )、(Λ'? -+1)、-1)、 (-^f, ykj +1)' i^i +vf - i) ^ (λ;Α +1, vf) n (χ· +1, vf +1) 〇13. 如权利要求10所述的装置,其特征在于,所述序列相似度计算模块进一步包括: 序列边缘位置点获取模块,用于获取第P个标签序列的边缘位置点和第q个标签 序列的边缘位置点<·^,>{),p = 1,2,L,LNum,q = 1,2,L,LNum,且q >p,LNum为标签序列的个 数; 标签序列相似度计算模块,用于计算第P个标签序列SP与第q个标签序列Sq的相似度:α (SP,Sq)= |cos(9p-0pq)*cos(0q-0 pq) | \ θρ为边缘位置点〇?,)的梯度方向角,0q为边缘位 置点(<,.<)的梯度方向角,ΘΜ为边缘位置点(X;,吋)和边缘位置点(X;,/;)的夹角; 相似度筛选模块,用于若a (SP,Sq) < Th_Simi,则将a (SP,Sq)设为0; 其中,所述 γ e[l,4],Th_Simie[0.03,0.08]。14. 如权利要求10所述的装置,其特征在于,所述候选车辆窗口获取模块进一步包括: 窗口标签序列权值计算模块,用于对于标签序列&,j = 1,2,L,LNum,任意选取包含标签 序列Sj的窗口,该窗口内标签序列Sj的权值为:^表示交叉域包含的标签序列,T表示交叉域包含的标签序 列个数; 窗口打分值获取模块,用于根据窗口打分公式:,.获取窗口打分 值,1^为窗口的宽度,bh为窗口的高度,mj为第j个标签的边缘位置的梯度值; 窗口组获取模块,用于将窗口打分值从高到低排序,选取窗口打分值最高的WNum个窗 口打分值对应的窗口组Bi,B2,L,Bm?; 候选车辆窗口选取模块,用于对于任意两个窗口 Bi和Bj,i = 1,2,L,WNum,j = 1,2,L, WNum,且j乒i,计算窗口 Bi和Bj的重叠区域Bij,若Bj彡Bi且,则删除Bi,若Bj<Bi,则删除&,剩余的窗口即为候选车辆窗口; 其中,所述窗口标签序列权值计算模块361中交叉域是指从窗口的边框到标签序列&的 范围内;λε [1,2],WNume [5,30],Th_0Re [0.4,0.6]。15. 如权利要求9所述的装置,所述车辆窗口识别模块进一步包括: 分类器训练模块,用于选取一系列标签的车辆图像为正样本,标签的非车辆图像为负 样本,根据正样本和负样本对分类器进行训练,得到训练好的分类器;车辆窗口识别模块, 用于通过训练好的分类器对候选车辆窗口进行识别,输出识别的车辆窗口。16. 如权利要求15所述的装置,所述车辆窗口识别模块中分类器为AdaBoost分类器。
【文档编号】G06K9/46GK105930803SQ201610256259
【公开日】2016年9月7日
【申请日】2016年4月22日
【发明人】耿磊
【申请人】北京智芯原动科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1