一种快速检测夜间前方同向车辆方法与流程

文档序号:24647601发布日期:2021-04-13 15:54阅读:100来源:国知局
一种快速检测夜间前方同向车辆方法与流程

1.本发明涉及数字图像处理领域,具体涉及一种快速检测夜间前方同向车辆方法。


背景技术:

2.由于夜间照明条件较差,出现紧急情况时,驾驶员来不及反应,极易发生交通事故。近些年,随着智能驾驶的快速发展,各种辅助驾驶功能层出不穷,提高了夜间驾驶的安全性和舒适性。辅助驾驶系统中包含三大部分,检测部分,处理部分和执行部分。其中,如何在夜间检测前方同向车辆是辅助驾驶系统中的一大难点。
3.目前识别方法主要分为两类,一类是根据前方车辆部分明显特征进行识别,另一类根据前方车辆总体特征进行识别。
4.第一类方法多采用识别尾灯的方法,因为夜间前方车辆最明显的特征就是尾灯发出的红色光。目前有基于根据hsv颜色空间识别尾灯,但是转换公式复杂,计算耗时;有根据形状和光源配对识别前方车辆尾灯,但是现在尾灯的造型设计多样,一体式尾灯的使用使得配对方法失效。
5.第二类方法多采用车辆模型的检测方法,通过对不同的夜间车辆特征进行权重的定义,对大量的正负样本的不同特征进行权重的训练学习,再通过分类方法来决定是否为车辆。但是该方法对建立的模型有一定的依赖性,计算量较大,并且在处于比较复杂拥挤的交通环境下适应性较低。还有基于机器学习的方法实现车辆检测,主要依据分类模型训练实现车辆检测,此方法需要建立大量样本库,以满足种类,形状都相差较大的不同车辆检测,导致样本库的数目会极其巨大,样本库的建立存在困难。


技术实现要素:

6.本发明采用第一类识别方法,通过识别尾灯和车牌位置确定车辆坐标位置。由于尾灯的高亮度,在摄像头采集的图片上实际显示为白色,而尾灯光晕为红色,基于此本发明提出一种快速检测夜间前方同向车辆方法,通过确定尾灯光晕范围,识别尾灯,通过识别车牌,确定各个尾灯对,最终计算车辆坐标位置。区别于其他检测方法对整幅图像进行处理,本方法先确定车辆可能存在区域,在此区域内根据颜色信息识别尾灯光晕范围,在光晕范围内根据灰度值识别尾灯,确定车辆坐标位置。本发明解决了目前检测算法中存在的图像处理耗时长,准确度不高,不能满足实时性和准确性要求等问题。
7.一种快速检测夜间前方同向车辆方法,包括以下步骤:
8.步骤1:采集车辆前方道路交通图像,图像以rgb格式存储;
9.步骤2:划分车辆可能存在区域(此区域由摄像头本身参数及实际安装位置实验确定),在此区域内根据公式2r-g-b计算所有像素点颜色信息,得到图像p1,根据公式2b-r-g计算所有像素点颜色信息,得到图像p2;
10.进一步,所述划分车辆可能存在区域公式具体如下:
[0011][0012]
式中x,y是车灯可能存在区域像素点的水平坐标和垂直坐标,x1是水平坐标起始点,x2是水平坐标截止点,y1是垂直坐标起始点,y2是垂直坐标截止点。
[0013]
步骤3:计算步骤2得到图像p1和p2的划分阈值分别为t1和t2,p1中高于阈值t1的像素点为尾灯光晕像素点,低于阈值t1的像素点为背景像素点,p2中高于阈值t2的像素点为车牌像素点,低于阈值t2的像素点为背景像素点;
[0014]
进一步,所述图像的划分阈值t由最大类间方差法确定,类间方差g计算公式具体如下:
[0015]
g=ω0×
ω1×

0-μ1)2[0016]
式中,ω0为前景像素点数占整幅图像的比例,μ0为其平均灰度;ω1为背景像素点数占整幅图像的比例,μ1为其平均灰度。采用遍历的方法得到使类间方差g最大的阈值t,即为所求。
[0017]
步骤4:采用密度聚类算法,识别图像p1中尾灯光晕区域;
[0018]
进一步,所述密度聚类算法采用八连通聚类,具体流程如下所示:
[0019]
步骤4.1:任意选取p1中一个没有被处理的尾灯光晕像素点pi作为核心点,标记为已处理;
[0020]
步骤4.2:对pi的ε邻域内的所有像素点进行判断,判断是否是尾灯光晕像素点;
[0021]
步骤4.3:若是,执行步骤4.4,若都不是,一类聚类结束,执行步骤4.5;
[0022]
步骤4.4:将此像素点和像素点pi合并成一类,标记此像素点已处理,并将此像素点作为核心点,转到步骤4.2;
[0023]
步骤4.5:判断p1中所有光晕像素点是否都已处理,若是,结束聚类,若不是,转到步骤4.1;
[0024]
进一步,所述pi的ε邻域指像素点上,下,左,右,左上,右上,左下,右下八个像素点;
[0025]
步骤5:计算原图像像素点灰度值,得到灰度图像p3;
[0026]
进一步,所述像素点的灰度值计算公式如下:
[0027]
gray=(r+g<<1+b)>>2
[0028]
式中,r,g,b是像素点红、绿、蓝三个通道的值。
[0029]
步骤6:在灰度图像p3中,在步骤4求出的尾灯光晕范围内,判断像素点灰度值,灰度值大于230,判定为尾灯像素点,灰度值低于230判定为背景像素点;
[0030]
步骤7:采用密度聚类算法,识别图像p3中尾灯区域;
[0031]
进一步,所述密度聚类算法采用八连通聚类,具体流程如下:
[0032]
步骤7.1:任意选取p3中一个没有被处理的尾灯像素点pi’作为核心点,标记为已处理;
[0033]
步骤7.2:对pi’的ε邻域内的所有像素点进行判断,判断是否是尾灯像素点;
[0034]
步骤7.3:若是,执行步骤7.4,若都不是,一类聚类结束,执行步骤7.5;
[0035]
步骤7.4:将此像素点和像素点pi’合并成一类,标记此像素点已处理,并将此像素点作为核心点,转到步骤7.2;
[0036]
步骤7.5:判断p3中所有尾灯像素点是否都已处理,若是,结束聚类,若不是,转到步骤7.1;
[0037]
进一步,所述pi’的ε邻域指像素点上,下,左,右,左上,右上,左下,右下八个像素点;
[0038]
步骤8:采用密度聚类算法,识别图像p2中车牌区域;
[0039]
进一步,所述密度聚类算法采用八连通聚类,具体流程如下:
[0040]
步骤8.1:任意选取p2中一个没有被处理的尾灯光晕像素点pi”作为核心点,标记为已处理;
[0041]
步骤8.2:对pi”的ε邻域内的所有像素点进行判断,判断是否是车牌像素点;
[0042]
步骤8.3:若是,执行步骤8.4,若都不是,一类聚类结束,执行步骤8.5;
[0043]
步骤8.4:将此像素点和像素点pi”合并成一类,标记此像素点已处理,并将此像素点作为核心点,转到步骤8.2;
[0044]
步骤8.5:判断p2中所有车牌像素点是否都已处理,若是,结束聚类,若不是,转到步骤8.1;
[0045]
进一步,所述pi”的ε邻域指像素点上,下,左,右,左上,右上,左下,右下八个像素点;
[0046]
步骤9:根据尾灯与尾灯,尾灯和车牌的几何关系,确定尾灯对,完成车辆识别。
[0047]
进一步,所述尾灯与尾灯的几何关系是指同一车辆的尾灯在图像中的垂直方向相差范围不大,判定公式如下:
[0048]
y
2-y5≥k(y
6-y1)
[0049]
式中k是垂直方向尾灯投影重合系数;
[0050]
进一步,所述尾灯和车牌的几何关系是指同一车辆的车牌在水平方向处于两个尾灯中间,判定公式如下:
[0051][0052]
式中m1,m2是尾灯对和车牌的对称系数上下限。
[0053]
本发明的有益效果是:
[0054]
划分车辆可能存在区域,不再需要对整幅图像进行处理,减少了处理量,提高识别速度。通过公式2r-g-b和2b-g-r计算所有像素点颜色信息,并运用最大类间方差法得出划分阈值t,能够根据不同道路条件自适应区分尾灯光晕范围,车牌范围和背景范围;根据像素点灰度值识别出光晕范围内的尾灯,处理过程简单,对cpu要求较低,识别速度很快;通过识别出来的车牌确定尾灯对,提高识别准确性。
附图说明
[0055]
图1是本发明所述的检测流程图。
[0056]
图2是本发明所述的车辆可能存在区域划分。
[0057]
图3是根据几何规则进行尾灯配对图。
具体实施方式
[0058]
下面结合附图对本发明作进一步的说明。
[0059]
如图1所示,一种快速检测夜间前方同向车辆方法,具体步骤如下:
[0060]
步骤1:采集车辆前方道路交通图像,图像以rgb格式存储;
[0061]
步骤2:如图2所示,划分车辆可能存在区域(此区域由摄像头本身参数及实际安装位置实验确定),在此区域内根据公式2r-g-b计算所有像素点颜色信息,得到图像p1,根据公式2b-r-g计算所有像素点颜色信息,得到图像p2;
[0062]
进一步,所述划分车辆可能存在区域公式具体如下:
[0063][0064]
式中x,y是车灯可能存在区域像素点的水平坐标和垂直坐标,x1是水平坐标起始点,x2是水平坐标截止点,y1是垂直坐标起始点,y2是垂直坐标截止点。
[0065]
步骤3:计算步骤2得到图像p1和p2的划分阈值分别为t1和t2,p1中高于阈值t1的像素点为尾灯光晕像素点,低于阈值t1的像素点为背景像素点,p2中高于阈值t2的像素点为车牌像素点,低于阈值t2的像素点为背景像素点;
[0066]
进一步,所述图像的划分阈值t由最大类间方差法确定,类间方差g计算公式具体如下:
[0067]
g=ω0×
ω1×

0-μ1)2[0068]
式中,ω0为前景像素点数占整幅图像的比例,μ0为其平均灰度;ω1为背景像素点数占整幅图像的比例,μ1为其平均灰度。采用遍历的方法得到使类间方差g最大的阈值t,即为所求。
[0069]
步骤4:采用密度聚类算法,识别图像p1中尾灯光晕区域;
[0070]
进一步,所述密度聚类算法采用八连通聚类,具体流程如下所示:
[0071]
步骤4.1:任意选取p1中一个没有被处理的尾灯光晕像素点pi作为核心点,标记为已处理;
[0072]
步骤4.2:对pi的ε邻域内的所有像素点进行判断,判断是否是尾灯光晕像素点;
[0073]
步骤4.3:若是,执行步骤4.4,若都不是,一类聚类结束,执行步骤4.5;
[0074]
步骤4.4:将此像素点和像素点pi合并成一类,标记此像素点已处理,并将此像素点作为核心点,转到步骤4.2;
[0075]
步骤4.5:判断p1中所有光晕像素点是否都已处理,若是,结束聚类,若不是,转到步骤4.1;
[0076]
进一步,所述pi的ε邻域指像素点上下左右,左上,右上,左下,右下八个像素点;
[0077]
步骤5:计算原图像像素点灰度值,得到灰度图像p3;
[0078]
进一步,所述像素点的灰度值计算公式如下:
[0079]
gray=(r+g<<1+b)>>2
[0080]
式中,r,g,b是像素点红、绿、蓝三个通道的值。
[0081]
步骤6:在灰度图像p3中,在步骤4求出的尾灯光晕范围内,判断像素点灰度值,灰度值大于230,判定为尾灯像素点,灰度值低于230判定为背景像素点;
[0082]
步骤7:采用密度聚类算法,识别图像p3中尾灯区域;
[0083]
进一步,所述密度聚类算法采用八连通聚类,具体流程如下:
[0084]
步骤7.1:任意选取p3中一个没有被处理的尾灯像素点pi’作为核心点,标记为已处理;
[0085]
步骤7.2:对pi’的ε邻域内的所有像素点进行判断,判断是否是尾灯像素点;
[0086]
步骤7.3:若是,执行步骤7.4,若都不是,一类聚类结束,执行步骤7.5;
[0087]
步骤7.4:将此像素点和像素点pi’合并成一类,标记此像素点已处理,并将此像素点作为核心点,转到步骤7.2;
[0088]
步骤7.5:判断p1中所有尾灯像素点是否都已处理,若是,结束聚类,若不是,转到步骤7.1;
[0089]
进一步,所述pi’的ε邻域指像素点上下左右,左上,右上,左下,右下八个像素点;
[0090]
步骤8:采用密度聚类算法,识别图像p2中车牌区域;
[0091]
进一步,所述密度聚类算法采用八连通聚类,具体流程如下:
[0092]
步骤8.1:任意选取p2中一个没有被处理的尾灯光晕像素点pi”作为核心点,标记为已处理;
[0093]
步骤8.2:对pi”的ε邻域内的所有像素点进行判断,判断是否是车牌像素点;
[0094]
步骤8.3:若是,执行步骤8.4,若都不是,一类聚类结束,执行步骤8.5;
[0095]
步骤8.4:将此像素点和像素点pi”合并成一类,标记此像素点已处理,并将此像素点作为核心点,转到步骤8.2;
[0096]
步骤8.5:判断p2中所有车牌像素点是否都已处理,若是,结束聚类,若不是,转到步骤8.1;
[0097]
进一步,所述pi”的ε邻域指像素点上下左右,左上,右上,左下,右下八个像素点;
[0098]
步骤9:如图3所示,根据尾灯与尾灯,尾灯和车牌的几何关系,确定尾灯对,完成车辆识别。
[0099]
进一步,所述尾灯与尾灯的几何关系是指同一车辆的尾灯在图像中的垂直方向相差范围不大,判定公式如下:
[0100]
y
2-y5≥k(y
6-y1)
[0101]
式中k是垂直方向尾灯投影重合系数;
[0102]
进一步,所述尾灯和车牌的几何关系是指同一车辆的车牌在水平方向处于两个尾灯中间,判定公式如下:
[0103][0104]
式中m1,m2是尾灯对和车牌的对称系数上下限。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1