首页 / 专利库 / 电脑图像 / 像素 / 前景像素 / 一种基于视觉的实时交通信号灯识别方法

一种基于视觉的实时交通信号灯识别方法

阅读:789发布:2020-05-11

专利汇可以提供一种基于视觉的实时交通信号灯识别方法专利检索,专利查询,专利分析的服务。并且本 发明 涉及一种基于视觉的实时交通 信号 灯识别方法,具体包括以下步骤:S1:疑似信号灯 位置 检测;S2:设计并训练分类器S3:分类结果后处理,由此完成车辆辅助驾驶系统对于交通信号灯的识别。本发明的一种基于视觉的实时交通信号灯识别方法大大简化了模型的复杂程度,同时本发明的分类能 力 能达到96.1%,可用于复杂环境的白天和夜间场景,具备实时性和准确性。,下面是一种基于视觉的实时交通信号灯识别方法专利的具体信息内容。

1.一种基于视觉的实时交通信号灯识别方法,其特征在于:具体包括以下步骤:
S1:疑似信号灯位置检测
(1)通过彩色摄像头实时采集车辆前方的图像
(2)从采集图像的原图中分割出感兴趣区域ROI,即ROI图像;
(3)将ROI图像从YUV色彩空间转换到HSV色彩空间,分割出候选目标的区域并作二值处
理;
(4)通过连通域查找算法获得候选目标的位置和面积;
(5)根据圆形信号灯特征和信号灯相似噪声的特点设计一级形状特征滤波器,将连通
域提通过一级形状特征滤波器进行滤波;
(6)对滤波后的连通域进行双向扩展来获得更多信号灯的周边信息;
(7)分析扩展后的连通域的聚类情况,并设计二级聚类滤波器;
S2:设计并训练分类器
(1)构建二值化卷积神经网络模型,即分类器,利用训练数据得到性能最优的分类器;
(2)将候选目标统一成M*M的尺寸,输入到FPGA的BNN中进行分类,其中分类类别包括信号灯和非信号灯,信号灯类别又分为红色、黄色和绿色;
S3:分类结果后处理
对信号灯的分类结果进行非极大值抑制处理NMS,根据分类置信度进行排序获得置信
度最高的K个目标,选取所述的K个目标作为最终的交通信号灯识别结果,由此完成车辆辅助驾驶系统对于交通信号灯的识别。
2.根据权利要求1所述的一种基于视觉的实时交通信号灯识别方法,其特征在于:所述S1中的步骤(3)中ROI图像从YUV色彩空间转换到HSV色彩空间的方法为:设候选目标图像上像素点i,j处的YUV三个分量的像素值分别为Y、U、V,则:
r=Y+1.402(U-128)
g=Y-0.34414(U-128)-0.71414(V-128)
b=Y+1.772(U-128)
v=max(r,g,b),
分割出候选目标的区域并作二值处理的方法为:提取v分量作为二值分割的特征量,在该通道上进行阈值分割,记分割阈值为v_th,分割后的二值化图像d,分割规则如下:
3.根据权利要求1所述的一种基于视觉的实时交通信号灯识别方法,其特征在于:所述S1中的步骤(4)中通过连通域查找算法获得候选目标的位置和面积的方法为:
①扫描图像,直到当前像素点B(x,y)==1;
②将B(x,y)作为种子,即像素位置,并赋予其一个label,然后将该种子相邻的所有前景像素都压入栈中;
③弹出栈顶像素,赋予其相同的label,然后再将与该栈顶像素相邻的所有前景像素都压入栈中;
④重复步骤③,直到栈为空;
⑤此时,便找到了图像B中的一个连通区域,该区域内的像素值被标记为label;
⑥重复第①步,直到扫描结束,扫描结束即可以得到图像B中所有的连通区域。
4.根据权利要求1所述的一种基于视觉的实时交通信号灯识别方法,其特征在于:所述S1中的步骤(5)中将连通域提通过一级形状特征滤波器进行滤波的方法为:记根据先验知识得到的信号灯的最大宽高比阈值为ratio th,信号灯有效面积范围为[min_area_th,max_area_th],信号灯有效宽度范围为[min_width_th,max_width_th],信号灯有效高度范围为[min_height_th,max_height_th],连通域有效面积与最小外接矩形面积的最小比例阈值为ration_area_th,根据连通域提取的输出结果得到的连通域最小外接矩形集合为{Bi[xi,yi,wi,hi],i∈{0,1,2...N}},其有效面积的集合为{Si,i∈{0,1,2...N}},则去除不符合如下规则的连通域,规则如下:
规则1:min_widht_th≤wi≤max_width_th
规则2:min_height_th≤hi≤max_height_th
规则3:
规则4:min_area_th≤Si≤max_area_th
规则5:
5.根据权利要求1所述的一种基于视觉的实时交通信号灯识别方法,其特征在于:所述S1中的步骤(6)中将连通域进行双向扩展的方法为:以步骤(5)中的一级滤波后的连通域的最小外接矩形的中心为中心,分别进行平方向mw倍数扩展,垂直方向mh倍数扩展,即wi=mw×wi
hi=mh×hi。
6.根据权利要求1所述的一种基于视觉的实时交通信号灯识别方法,其特征在于:所述S1中的步骤(7)中设计二级聚类滤波器的方法为:设扩展后候选目标的位置集合为{Ei[xi,yi,wi,hi],i∈{0,1,2...N}},候选目标i与j之间交集的面积为Sicpij,并集的面积为Suini,交并比的最小阈值为iou_th,目标聚类完成后,每类的最大目标个数阈值为overlap_th,超出该阈值则认为是噪声类去除,否则保留类,对于候选目标集合,设置种子区{Si[xi,yi,wi,hi,],i∈[0,Nseed]}和种子子区{Sij|xj,yj,wj,hj|,i∈[0,Nseed],j∈[0,NSubseed]},具体步骤为:
①遍历候选目标集合,设当前目标为Em[xm,ym,wm,hm],将当前目标与种子区目标依次进行比较;
②若存在满足 的种子Si,则将当前目标放入对应种子子区,并修改
子Si的位置,数学公式如下:
xr=max(xm+wm-1,xi+wi-1)
yr=max(ym+hm-1,yi+hi-1)
xi=min(xm,xi)
yi=min(ym,yi)
wi=xr-xm+1
hi=yr-ym+1
③若不存在满足 的种子,则将当前目标存入种子区,同时复制到对应
的种子子区;
④重复1~3步,直到候选目标遍历完毕;
⑤遍历种子区目标,当对应种子子区个数大于overlap_th,则将该种子目标和对应种
子子目标去除,否则保留。
7.根据权利要求1所述的一种基于视觉的实时交通信号灯识别方法,其特征在于:所述S2中的步骤(1)中的构建二值化卷积神经网络模型包括八个卷积层,4个池化层,8个batch normalization层,一个全连接层,每个卷积层包括卷积和激活函数两个操作,池化层包含最大池化和平均池化,二值化卷积神经网络模型构建好之后进行模型训练、优化与测试,确定模型结构及参数。
8.根据权利要求1所述的一种基于视觉的实时交通信号灯识别方法,其特征在于:所述S2中的步骤(2)中将候选目标进行分类的具体步骤为:
①利用最近领插值法,调整二级滤波后小图片的尺寸大小,重复、丢弃或填充部分像
素,将小图片尺寸调整为M×M;
②在一个训练周期中同时向神经网络中送入N张图像进行训练,即神经网络的输入层
的数据维度为M×M×N;
③根据二值化卷积神经网络模型的训练输出分类结果,即每个小图片的类别:红色、黄色、绿色、非信号灯。
9.根据权利要求1所述的一种基于视觉的实时交通信号灯识别方法,其特征在于:所述S3中对分类结果进行非极大值抑制处理NMS的方法为:设BNN分类结果按照三种信号灯颜色分成三个集合:红灯{Ti(Ri,Si),i∈[0,NR]},绿灯{Ti(Gi,Si),i∈[0,NG]},黄灯{Ti(Yi,Si),i∈[0,NY]},每种信号灯的个数分别为NR、NG、NY、S代表BNN分类得分score,对于集合{Ti(Ri,Si),i∈[0,NR]},创建保留区和遍历区,初始状态所有目标都在遍历区,执行以下步骤:
①在遍历区找出Si最大的目标Ti,将其放入保留区,并遍历剩下的目标,如果重叠率大于一定阈值,则将其从遍历区删除;
②重复进行①步骤,直到遍历区为空;
③对于集合{Ti(Gi,Si),i∈[0,NG]}和{Ti(Yi,Si),i∈[0,NY]},同样分别进行①和②步骤。
10.根据权利要求1所述的一种基于视觉的实时交通信号灯识别方法,其特征在于:所
述S3中根据分类置信度进行排序获得置信度最高的方法为:记NMS输出的结果集合为{Ti(Ci,Si),i∈[0,N],C∈{R,G,B}},N为当前所有目标的个数,则:
①根据Si对Ti进行从大到小的排序,记结果为{Tip(Cip,Sip),ip∈[0,N],C∈{R,G,B}};
②保留满足Sip≥TH的目标Tip,记为集合{Tip(Cip,Sip),ip∈[0,Nt]};
③如果Nt=0,则返回;如果Nt≤K,则返回集合{Tip(Cip,Sip),ip∈[0,Nt]};如果Nt≥0,则返回集合{Tip(Cip,Sip),ip∈[0,K]}。

说明书全文

一种基于视觉的实时交通信号灯识别方法

技术领域

[0001] 本发明涉及智能交通技术领域,具体涉及一种基于视觉的实时交通信号灯识别方法。

背景技术

[0002] 交通信号灯识别是车辆辅助驾驶中的重要组成部分,受到了广泛关注。实时,准确的识别出信号灯有助于提高驾驶安全系数,有助于车辆辅助驾驶系统的发展。
[0003] 在现有的基于视觉的交通信号灯识别技术中,大多采用基于模板匹配和支持向量机分类的方法,模板匹配对建立的模板非常敏感,而实际中由于光照、相机曝光率等环境原因会造成图片中信号灯变形,从而造成模板匹配不成功,导致识别失败。而采用基于颜色空间判定或者基于卷积神经网络(Convolutional Neural Networks,CNN)的图像识别方法,具有识别性高的优点,但是CNN网络耗费的时间和空间大,实时性低。
[0004] 公开号为CN104778833B专利文件公开了一种基于颜色空间分割的信号灯识别方法,步骤如下:将图像RGB值转换为HSV值,在HSV颜色空间对交通信号灯颜色按红、黄、绿进行分割;根据初始灯组信息确定感兴趣区域并对所述感兴趣区域进行图像二值化;从图像二值化后的感兴趣区域中获取连通区域,并从所述连通区域中筛选出候选区域;根据所述候选区域确定交通信号的排列组合,确定当前图像的灯组信息并将所述灯组信息提供给下一帧图像使用。所述方法具有识别速度快的优点,但该方法对因光照条件、相机曝光率等原因造成的复杂环境下识别效果不好。
[0005] 公开号为CN108304813A专利文件公开了一种基于颜色空间分割、多级特征滤波的信号灯识别方法,步骤如下:首先对道路图像序列进行预处理,重点是进行色彩分量滤波。随后利用字典学习获取的HSV颜色空间中合适阈值进行颜色分割,得到三张二值化图像,省略常规的灰度图像处理操作。其次,基于圆形交通灯的特征设计动态多级滤波器。进行动态滤波操作,快速筛选出交通灯候选连通区域。最后,运用黑体增长遮掩法在图像中标定信号灯图像,随后分析标定图像的颜色直方图,计算颜色判别系数并利用其规则得出交通信号灯状态。所述方法对大部分噪声的去除效果不好,容易造成误检。
[0006] 公开号为CN106909937A专利文件公开了一种基于颜色空间分割、信号灯形状滤波和预设分类器分类相结合的信号灯识别方法,步骤如下:实时采集车辆的车前图像;确定车前图像的感兴趣区域;将所述感兴趣区域的图像由RGB空间转换到HSI空间,以得到所述感兴趣区域的HSI分量图;对所述HSI分量图的S分量进行局部动态阈值分割,以分割出交通信号灯区域;利用预设分类器对所述交通信号灯区域进行分类,获取交通信号灯的信息。所述方法可以解决夜间等复杂光照环境下信号灯漏检率大的问题,但人工设计特征的分类器只考虑了颜色和方向梯度特征,对实际信号灯和类似信号灯目标的分类效果不好,容易造成误检。
[0007] 公开号为CN108446668A专利文件公开了一种基于颜色空间分割、形态学滤波和预设分类器分类向结合的信号灯识别方法,步骤如下:获得车辆前方道路图像;确立图像上半部为感兴趣区域;将所述感兴趣区域的图像由RGB颜色空间转换到HSI颜色空间,得到HSI分量图;分割出交通灯信号灯候选区域;对分割出的交通信号灯候选区域进行形态学开运算,平滑区域边界,去掉目标外的孤立点;为每类交通信号灯构造样本库,对其候选区域进行特征提取;利用分类器对获取的交通信号灯区域进行分类,获取交通信号灯的状态信息。所述方法具有识别速度快、准确度高等优点。但人工设计特征的分类器只考虑了平和垂直方向的投影信息,所以对于去噪的效果不好,容易造成误检。

发明内容

[0008] 本发明所要解决的技术问题是提供一种基于视觉的实时交通信号灯识别方法来解决现有技术中车辆辅助驾驶系统对于信号灯识别实时性低、在复杂环境下准确率不高的问题。
[0009] 为解决以上技术问题,本发明的技术方案为:提供一种基于视觉的实时交通信号灯识别方法,其创新点在于:具体包括以下步骤:S1:疑似信号灯位置检测
[0010] (1)通过彩色摄像头实时采集车辆前方的图像帧;
[0011] (2)从采集图像的原图中分割出感兴趣区域ROI,即ROI图像;
[0012] (3)将ROI图像从YUV色彩空间转换到HSV色彩空间,分割出候选目标的区域并作二值处理;
[0013] (4)通过连通域查找算法获得候选目标的位置和面积;
[0014] (5)根据圆形信号灯特征和信号灯相似噪声的特点设计一级形状特征滤波器,将连通域提通过一级形状特征滤波器进行滤波;
[0015] (6)对滤波后的连通域进行双向扩展来获得更多信号灯的周边信息;
[0016] (7)分析扩展后的连通域的聚类情况,并设计二级聚类滤波器;
[0017] S2:设计并训练分类器
[0018] (1)构建二值化卷积神经网络模型,即分类器,利用训练数据得到性能最优的分类器;
[0019] (2)将候选目标统一成M*M的尺寸,输入到FPGA的BNN中进行分类,其中分类类别包括信号灯和非信号灯,信号灯类别又分为红色、黄色和绿色;
[0020] S3:分类结果后处理
[0021] 对信号灯的分类结果进行非极大值抑制处理NMS,根据分类置信度进行排序获得置信度最高的K个目标,选取所述的K个目标作为最终的交通信号灯识别结果,由此完成车辆辅助驾驶系统对于交通信号灯的识别。
[0022] 进一步的,所述S1中的步骤(3)中ROI图像从YUV色彩空间转换到HSV色彩空间的方法为:设候选目标图像上像素点i,j处的YUV三个分量的像素值分别为Y、U、V,则:
[0023] r=Y+1.402(U-128)
[0024] g=Y-0.34414(U-128)-0.71414(V-128)
[0025] b=Y+1.772(U-128)
[0026]
[0027]
[0028] v=max(r,g,b),
[0029] 分割出候选目标的区域并作二值处理的方法为:提取v分量作为二值分割的特征量,在该通道上进行阈值分割,记分割阈值为v_th,分割后的二值化图像d,分割规则如下:
[0030]
[0031] 进一步的,所述S1中的步骤(4)中通过连通域查找算法获得候选目标的位置和面积的方法为:
[0032] ①扫描图像,直到当前像素点B(x,y)==1;
[0033] ②将B(x,y)作为种子,即像素位置,并赋予其一个label,然后将该种子相邻的所有前景像素都压入栈中;
[0034] ③弹出栈顶像素,赋予其相同的label,然后再将与该栈顶像素相邻的所有前景像素都压入栈中;
[0035] ④重复步骤③,直到栈为空;
[0036] ⑤此时,便找到了图像B中的一个连通区域,该区域内的像素值被标记为label;
[0037] ⑥重复第①步,直到扫描结束,扫描结束即可以得到图像B中所有的连通区域。
[0038] 进一步的,所述S1中的步骤(5)中将连通域提通过一级形状特征滤波器进行滤波的方法为:记根据先验知识得到的信号灯的最大宽高比阈值为ratio th,信号灯有效面积范围为[min_area_th,max_area_th],信号灯有效宽度范围为[min_width_th,max_width_th],信号灯有效高度范围为[min_height_th,max_height_th],连通域有效面积与最小外接矩形面积的最小比例阈值为ration_area_th,根据连通域提取的输出结果得到的连通域最小外接矩形集合为{Bi[xi,yi,wi,hi],i∈{0,1,2...N}},其有效面积的集合为{Si,i∈{0,1,2...N}},则去除不符合如下规则的连通域,规则如下:
[0039] 规则1:min_width_th≤wi≤max_width_th
[0040] 规则2:min_height_th≤hi≤max_height_th
[0041] 规则3:
[0042] 规则4:min_area_th≤Si≤max_area_th
[0043] 规则5:
[0044] 进一步的,所述S1中的步骤(6)中将连通域进行双向扩展的方法为:以步骤(5)中的一级滤波后的连通域的最小外接矩形的中心为中心,分别进行水平方向mw倍数扩展,垂直方向mh倍数扩展,即
[0045] wi=mw×wi
[0046] hi=mh×hi。
[0047] 进一步的,所述S1中的步骤(7)中设计二级聚类滤波器的方法为:设扩展后候选目标的位置集合为{Ei[xi,yi,wi,hi],i∈{0,1,2...N}},候选目标i与j之间交集的面积为Sicpij,并集的面积为Suini,交并比的最小阈值为iou_th,目标聚类完成后,每类的最大目标个数阈值为overlap_th,超出该阈值则认为是噪声类去除,否则保留类,对于候选目标集合,设置种子区{Si[xi,yi,wi,hi],i∈[0,Nseed]}和种子子区{Sij|xj,yj,wj,hj|,i∈[0,Nseed],j∈[0,NSubseed]},具体步骤为:
[0048] ①遍历候选目标集合,设当前目标为Em[xm,ym,wm,hm],将当前目标与种子区目标依次讲行比较:
[0049] ②若存在满足 的种子Si,则将当前目标放入对应种子子区,并修改种子Si的位置,数学公式如下:
[0050] xr=max(xm+wm-1,xi+wi-1)
[0051] yr=max(ym+hm-1,yi+hi-1)
[0052] xi=min(xm,xi)
[0053] yi=min(ym,yi)
[0054] wi=xr-xm+1
[0055] hi=yr-ym+1
[0056] ③若不存在满足 的种子,则将当前目标存入种子区,同时复制到对应的种子子区;
[0057] ④重复1~3步,直到候选目标遍历完毕;
[0058] ⑤遍历种子区目标,当对应种子子区个数大于overlap_th,则将该种子目标和对应种子子目标去除,否则保留。
[0059] 进一步的,所述S2中的步骤(1)中的构建二值化卷积神经网络模型包括八个卷积层,4个池化层,8个batch normalization层,一个全连接层,每个卷积层包括卷积和激活函数两个操作,池化层包含最大池化和平均池化,二值化卷积神经网络模型构建好之后进行模型训练、优化与测试,确定模型结构及参数。
[0060] 进一步的,所述S2中的步骤(2)中将候选目标进行分类的具体步骤为:
[0061] ①利用最近领插值法,调整二级滤波后小图片的尺寸大小,重复、丢弃或填充部分像素,将小图片尺寸调整为M×M;
[0062] ②在一个训练周期中同时向神经网络中送入N张图像进行训练,即神经网络的输入层的数据维度为M×M×N;
[0063] ③根据二值化卷积神经网络模型的训练输出分类结果,即每个小图片的类别:红色、黄色、绿色、非信号灯。
[0064] 进一步的,所述S3中对分类结果进行非极大值抑制处理NMS的方法为:设BNN分类结果按照三种信号灯颜色分成三个集合:红灯{Ti(Ri,Si),i∈[0,NR]},绿灯{Ti(Gi,Si),i∈[0,NG]},黄灯{Ti(Yi,Si),i∈[0,NY]},每种信号灯的个数分别为NR、NG、NY、S代表BNN分类得分score,对于集合{Ti(Ri,Si),i∈[0,NR]},创建保留区和遍历区,初始状态所有目标都在遍历区,执行以下步骤:
[0065] ①在遍历区找出Si最大的目标Ti,将其放入保留区,并遍历剩下的目标,如果重叠率大于一定阈值,则将其从遍历区删除;
[0066] ②重复进行①步骤,直到遍历区为空;
[0067] ③对于集合{Ti(Gi,Si),i∈[0,NG]}和{Ti(Yi,Si),i∈[0,NY]},同样分别进行①和②步骤。
[0068] 进一步的,所述S3中根据分类置信度进行排序获得置信度最高的方法为:记NMS输出的结果集合为{Ti(Ci,Si),i∈[0,N],C∈{R,G,B}},N为当前所有目标的个数,则:
[0069] ①根据Si对Ti进行从大到小的排序,记结果为{Tip(Cip,Sip),ip∈[0,N],C∈{R,G,B}};
[0070] ②保留满足Sip≥TH的目标Tip,记为集合{Tip(Cip,Sip),ip∈[0,Nt]};
[0071] ③如果Nt=0,则返回;如果Nt≤K,则返回集合{Tip(Cip,Sip),ip∈[0,Nt]};如果Nt≥0,则返回集合{Tip(Cip,Sip),ip∈[0,K]}。
[0072] 本发明和现有技术相比,产生的有益效果为:
[0073] 本发明提出的一种基于视觉的实时交通信号灯识别方法由于BNN网络的权重和激活值都为1或者-1,大大简化了模型的复杂程度,同时本发明的分类能能达到96.1%,可用于复杂环境的白天和夜间场景,具备实时性和准确性。附图说明
[0074] 为了更清晰地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0075] 图1为本发明的实时信号灯识别系统的示意图。
[0076] 图2为本发明的一种基于视觉的实时交通信号灯识别方法的的流程图
[0077] 图3是本发明的ROI区域分割的方法图。
[0078] 图4是本发明的候选信号灯区域分割及二值化结果图。
[0079] 图5是本发明的一级形状特征滤波的信息图。
[0080] 图6是本发明的区域扩展的方法图。
[0081] 图7是本发明的二级聚类滤波的方法图。
[0082] 图8是本发明的二值化卷积神经网络结构图。
[0083] 图9是本发明的NMS的方法图。

具体实施方式

[0084] 下面将通过具体实施方式对本发明的技术方案进行清楚、完整地描述。
[0085] 本发明提供一种基于视觉的实时交通信号灯识别系统如图1所示,包括疑似信号灯位置检测模、设计并训练分类器模块和分类结果后处理模块,具体的识别方法流程如图2所示,具体包括以下步骤:S1:疑似信号灯位置检测
[0086] (1)通过彩色摄像头实时采集车辆前方的图像帧;
[0087] (2)从采集图像的原图中分割出感兴趣区域ROI,即ROI图像;
[0088] (3)将ROI图像从YUV色彩空间转换到HSV色彩空间,分割出候选目标的区域并作二值处理,其中,ROI图像从YUV色彩空间转换到HSV色彩空间的方法为:设候选目标图像上像素点i,j处的YUV三个分量的像素值分别为Y、U、V,则:
[0089] r=Y+1.402(U-128)
[0090] g=Y-0.34414(U-128)-0.71414(V-128)
[0091] b=Y+1.772(U-128)
[0092]
[0093]
[0094] v=max(r,g,b),
[0095] 分割出候选目标的区域并作二值处理的方法为:提取v分量作为二值分割的特征量,在该通道上进行阈值分割,记分割阈值为v_th,分割后的二值化图像d,分割规则如下:
[0096]
[0097] (4)通过连通域查找算法获得候选目标的位置和面积,其中,通过连通域查找算法获得候选目标的位置和面积的方法为:
[0098] ①扫描图像,直到当前像素点B(x,y)==1;
[0099] ②将B(x,y)作为种子,即像素位置,并赋予其一个label,然后将该种子相邻的所有前景像素都压入栈中;
[0100] ③弹出栈顶像素,赋予其相同的label,然后再将与该栈顶像素相邻的所有前景像素都压入栈中;
[0101] ④重复步骤③,直到栈为空;
[0102] ⑤此时,便找到了图像B中的一个连通区域,该区域内的像素值被标记为label;
[0103] ⑥重复第①步,直到扫描结束,扫描结束即可以得到图像B中所有的连通区域。
[0104] (5)根据圆形信号灯特征和信号灯相似噪声的特点设计一级形状特征滤波器,将连通域提通过一级形状特征滤波器进行滤波,其中,将连通域提通过一级形状特征滤波器进行滤波的方法为:记根据先验知识得到的信号灯的最大宽高比阈值为ratio th,信号灯有效面积范围为[min_area_th,max_area_th],信号灯有效宽度范围为[min_width_th,max_width_th,信号灯有效高度范围为[min_height_th,max_height_th],连通域有效面积与最小外接矩形面积的最小比例阈值为ration_area_th,根据连通域提取的输出结果得到的连通域最小外接矩形集合为{Bi[xi,yi,wi,hi],i∈{0,1,2...N}},其有效面积的集合为{Si,i∈{0,1,2...N}},则去除不符合如下规则的连通域,规则如下:
[0105] 规则1:min_width_th≤wi≤max_width_th
[0106] 规则2:min_height_th≤hi≤max_height_th
[0107] 规则3:
[0108] 规则4:min_area_th≤Si≤max_area_th
[0109] 规则5:
[0110] (6)对滤波后的连通域进行双向扩展来获得更多信号灯的周边信息,其中将连通域进行双向扩展的方法为:以步骤(5)中的一级滤波后的连通域的最小外接矩形的中心为中心,分别进行水平方向mw倍数扩展,垂直方向mh倍数扩展,即
[0111] wi=mw×wi
[0112] hi=mh×hi。
[0113] (7)分析扩展后的连通域的聚类情况,并设计二级聚类滤波器来减少信号灯误检的情况;其中,设计二级聚类滤波器的方法为:设扩展后候选目标的位置集合为{Ei[xi,yi,wi,hi],i∈{0,1,2...N}},候选目标i与j之间交集的面积为Sicpij,并集的面积为Suini,交并比的最小阈值为iou_th,目标聚类完成后,每类的最大目标个数阈值为overlap_th,超出该阈值则认为是噪声类去除,否则保留类,对于候选目标集合,设置种子区{Si[xi,yi,wi,hi],i∈[0,Nseed]}和种子子区{Sij|xj,yj,wj,hj|,i∈[0,Nseed],j∈[0,NSubseed]},具体步骤为:
[0114] ①遍历候选目标集合,设当前目标为Em[xm,ym,wm,hm],将当前目标与种子区目标依次进行比较;
[0115] ②若存在满足 的种子Si,则将当前目标放入对应种子子区,并修改种子Si的位置,数学公式如下:
[0116] xr=max(xm+wm-1,xi+wi-1)
[0117] yr=max(ym+hm-1,yi+hi-1)
[0118] xi=min(xm,xi)
[0119] yi=min(ym,yi)
[0120] wi=xr-xm+1
[0121] hi=yr-ym+1
[0122] ③若不存在满足 的种子,则将当前目标存入种子区,同时复制到对应的种子子区;
[0123] ④重复1~3步,直到候选目标遍历完毕;
[0124] ⑤遍历种子区目标,当对应种子子区个数大于overlap_th,则将该种子目标和对应种子子目标去除,否则保留。
[0125] S2:设计并训练分类器
[0126] (1)构建二值化卷积神经网络模型,即分类器,利用训练数据得到性能最优的分类器;构建二值化卷积神经网络模型包括八个卷积层,4个池化层,8个batch normalization层,一个全连接层,每个卷积层包括卷积和激活函数两个操作,池化层包含最大池化和平均池化,
[0127] 卷积的过程是设定卷积核的尺寸为HXH(H=3),设点(i,j)处卷积核的值为h(i,j),则图像上点(u,v)处,经过卷积操纵后结果为g(u,v)=∑I(v-i,u-j)×H(i,j),在加上偏移量,则为g(u,v)=∑I(v-i,u-j)×H(i,j)+b。
[0128] 激活函数选用Sign函数,即为 其中x为自变量,若x不小于0则Sign(x)为1,否则为-1。故经过卷积层后,点(u,v)处的激活值为Sign(g(u,v))。
[0129] 池化层具有降维的功能,其中最大池化过程是设定最大池化窗口的尺寸为PXP(P=2),使用该窗口在图像中以步长为P的跨度在图像中水平和垂直方向依次滑动,取窗口滑动位置中的对应最大值作为输出,而平均池化过程是取窗口中对应位置的平均值作为输出,平均池化用于全连接层前,尺寸根据最后一层卷积层维度而定,例如最后一层卷积层维度为MXMXN,则平均池化窗口的尺寸为MXM。
[0130] batch normalization层位于卷积层后,可使每一层神经网络的输入保持相同分布,可提高网络泛化能力,易于网络的训练。设一次训练过程中包含m个训练实例,对每个神经元的输入变量表示为:B={x1...m},可学习参数为:γ和β,输出为:{yi=BNγ,β(xi)},具体的batch normalization操作如下:
[0131]
[0132]
[0133]
[0134]
[0135] 网络的输出层是一个softmax层,数学公式为: 其中T为类别数,aj表示类别输出值。
[0136] 二值化卷积神经网络模型构建好之后进行模型训练、优化与测试,确定模型结构及参数。其中,对二值化神经网络的参数训练需要设计优化器,优化器的参数为
[0137] ①选择交叉熵作为损失函数,数学公式为:
[0138]
[0139] ②优化器选择Adam;
[0140] ③设置初始学习率为alpha;
[0141] ④学习率衰减发生的迭代间隔为lr_decay_iter;
[0142] ⑤学习衰减率为lr_decay_weight;
[0143] ⑥权重衰减率为weight_decay;
[0144] ⑦权重更新过程中对权重进行裁剪,使取值限制在[-1,1]之间。
[0145] (2)将候选目标统一成M*M的尺寸,输入到FPGA的BNN中进行分类,本发明的BNN的权重和激活值都被限制到-1或1,卷积层和全连接层中的全部定点乘法运算可缩减为1位元的XNOR计算,所以易于部署到FPGA上以加速网络运算,其中分类类别包括信号灯和非信号灯,信号灯类别又分为红色、黄色和绿色;将候选目标进行分类的具体步骤为:
[0146] ①利用最近领插值法,调整二级滤波后小图片的尺寸大小,重复、丢弃或填充部分像素,将小图片尺寸调整为M×M,M选取值为32,保留图片长宽比,超出比例部分填充0;
[0147] ②在一个训练周期中同时向神经网络中送入N张图像进行训练,本发明的N值取值为20,即神经网络的输入层的数据维度为M×M×N;
[0148] ③根据二值化卷积神经网络模型的训练输出分类结果,即每个小图片的类别:红色、黄色、绿色、非信号灯。
[0149] S3:分类结果后处理
[0150] 对信号灯的分类结果进行非极大值抑制处理NMS,根据分类置信度进行排序获得置信度最高的K个目标。
[0151] 对分类结果进行非极大值抑制处理NMS的方法为:设BNN分类结果按照三种信号灯颜色分成三个集合:红灯{Ti(Ri,Si),i∈[0,NR]},绿灯{Ti(Gi,Si),i∈[0,NG]},黄灯{Ti(Yi,Si),i∈[0,NY]},每种信号灯的个数分别为NR、NG、NY,S代表BNN分类得分score,对于集合{Ti(Ri,Si),i∈[0,NR]},创建保留区和遍历区,初始状态所有目标都在遍历区,执行以下步骤:
[0152] ①在遍历区找出Si最大的目标Ti,将其放入保留区,并遍历剩下的目标,如果重叠率大于一定阈值,则将其从遍历区删除;
[0153] ②重复进行①步骤,直到遍历区为空;
[0154] ③对于集合{Ti(Gi,Si),i∈[0,NG]}和{Ti(Yi,Si),i∈[0,NY]},同样分别进行①和②步骤。
[0155] 根据分类置信度进行排序获得置信度最高的方法为:记NMS输出的结果集合为{Ti(Ci,Si),i∈[0,N],C∈{R,G,B}},N为当前所有目标的个数,则:
[0156] ①根据Si对Ti进行从大到小的排序,记结果为{Tip(Cip,Sip),ip∈[0,N],C∈{R,G,B}};
[0157] ②保留满足Sip≥TH的目标Tip,记为集合{Tip(Cip,Sip),ip∈[0,Nt]};
[0158] ③如果Nt=0,则返回;如果Nt≤K,则返回集合{Tip(Cip,Sip),ip∈[0,Nt]};如果Nt≥0,则返回集合{Tip(Cip,Sip),ip∈[0,K]}。
[0159] 输出的集合即为选取的作为最终的交通信号灯识别结果,由此完成车辆辅助驾驶系统对于交通信号灯的识别。
[0160] 针对以上一种基于视觉的实时交通信号灯识别方法的具体步骤,本发明的通过以下实施例对交通信号灯的识别进行具体描述:
[0161] (1)摄像头实时采集路况图像;
[0162] (2)从原图中分割出ROI区域,根据摄像头安装位置(消隐点位置高度为330),本文提取ROI区域的位置为[X,Y,W,H]:左上点(X,Y)=(181,0),宽W=1027,高H=312,符合ROI区域一定在消隐点位置之上的先验知识。流程如图3所示。
[0163] (3)将ROI图像从YUV空间转换到HSV空间,阈值分割出候选信号灯区域并作二值处理,如图4所示,图中像素值为255表示为候选信号灯像素点,像素值为0表示非候选信号灯像素点。
[0164] (4)通过连通域查找算法获得候选目标的位置集合{Bi[xi,yi,wi,hi],i∈{0,1,2...N}}、对应的有效面积集合{Si,i∈{0,1,2...N}}。
[0165] (5)根据圆形信号灯特征和信号灯相似噪声的特点(长度、宽度、最小外接矩形框面积、连通域有效面积和矩形度)设计一级形状特征滤波器。如图5所示,目标位置B[x,y,w,h],有效面积S(最小外接矩形中,像素值为255的总个数),最小外接矩形面积Area=w x h,若该目标满足条件:w∈[2,40],h∈[2,40],S∈[6,1000],Area∈[12,1370],则认为目标为候选信号灯目标,否则为噪声去除。
[0166] (6)对滤波后的连通域进行双向扩展以获得更多信号灯的周边信息,本发明使用的水平扩展倍数Exp_w=4,垂直扩展倍数Exp_h=2.5,如图6所示。
[0167] (7)设计二级聚类滤波器,遍历扩展后的区域集合{Ei[xi,yi,wi,hi],i∈{0,1,2...N}},根据聚类去除噪声,如图7所示,交并比最小阈值iou_th=0,目标聚类完成后,每类的最大目标个数阈值为overlap_th=4。
[0168] (8)采用最邻插值法,保持宽高比,将检测小图片调整到大小为32×32×3尺寸。
[0169] (9)设计二值化卷积神经网络的结构及其参数:
[0170] ①准备训练网络数据集,图片尺寸为32×32×3,批量值batchsize为20。
[0171] ②网络结构
[0172] 实验发现,本发明的网络模型结构能满足现有设备性能要求,也能保持较高的识别率,结构如图8所示,参数详情如表1所示:
[0173] 表1二值化卷积神经网络模型参数
[0174]
[0175]
[0176] ③自适应学习率:设置初始学习率为alpha=0.00005,学习率衰减发生的迭代间隔为lr_decay_iter=100。
[0177] ④权重衰减率:为了增强网络的泛化能力,设置权重衰减率weight_decay=0.0001。
[0178] ⑤训练次数:设置为300次可达到收敛。
[0179] (10)保存训练好的模型结构及其参数,将其导入FPGA中。
[0180] (11)将第(8)步得到的小图片送入FPGA中的信号灯识别网络中,得到候选目标的类别。
[0181] (12)为了去除重叠率过大的冗余目标,将分类为信号灯(红黄绿)的结果进行非极大值抑制处理(NMS),将与置信度最高的目标的重叠率超过0.5的目标去除,如图9所示。
[0182] (13)对NMS处理后的信号灯目标进行置信度排序,本发明取置信度最高的3个目标为输出,作为最终的交通信号灯识别结果。
[0183] 本发明基于上述一种基于视觉的实时交通信号灯识别方法的具体步骤分别在5811张白天环境和408张夜间环境下的包含信号灯图像中做出检测实验,在20365张白天环境小图片和7747张夜间环境小图片中做BNN的训练和测试实验,两个评价指标分别为平均精度和平均召回率,定义如下:
[0184] 设N为总图象数量,FPK为每张图像中算法错误预测的目标个数,TPK为每张图像中算法正确预测的目标个数,GPK为每张图像中实际标注信号灯个数,MissK为每张图像中漏检目标个数,平均精度Accuracy和平均召回率Recall的数学公式如下:
[0185]
[0186]
[0187] 交通信号灯识别结果见表一和表二:
[0188] 表一白天夜间环境下信号灯检出率
[0189]
[0190] 表二信号灯识别率统计表
[0191]
[0192] 由表可知,本发明的交通信号灯的识别方法可用于复杂环境的白天和夜间场景,具备实时性。
[0193] 上面所述的实施例仅仅是本发明的优选实施方式进行描述,并非对本发明的构思和范围进行限定,在不脱离本发明设计构思的前提下,本领域中普通工程技术人员对本发明的技术方案作出的各种变型和改进均应落入本发明的保护范围,本发明的请求保护的技术内容,已经全部记载在技术要求书中。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈