一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于先验信息的交通信号灯快速精确的识别方法与流程

2022-03-26 16:39:43 来源:中国专利 TAG:


1.本发明属于智能交通信息检测技术领域,具体涉及一种基于交通信号灯结构特点先验信 息的交通信号灯快速精确的识别方法。


背景技术:

2.智能交通系统(intelligent traffic system,its)是一个融合人工智能、计算机视觉、自 动控制原理、通信等众多学科的综合系统。视觉场景信息作为its场景信息中的关键一环, 包含了诸如交通信号灯、车道线、交通标志等重要道路交通安全信息,因此,如何有效准确 识别交通信号灯(traffic light recognition,tlr),是its中不可避免的一个重要话题。
3.相机作为一种相对可靠且成本低廉的传感器,被广泛应用在its中的视觉场景识别中。受 诸如天气、环境、相机特性等因素干扰,相机采集到的图像可能会受到现颜色失真、目标区 域遮挡、畸变等不利因素干扰,从而导致交通信号灯的识别准确率下降。随着计算机视觉、 模式识别、人工智能、深度学习等学科的不断发展,出现了众多检测识别交通信号灯的方法, 大体上分为四类:基于颜色的交通信号灯识别方法,基于形状的交通信号灯识别方法,基于 多特征(颜色、形状、地图信息等)融合的交通信号灯识别方法以及基于深度学习的交通信 号灯识别方法。基于形状的交通信号灯识别方法通常使用霍夫圆检测法识别交通信号灯,因 此很容易受到环境物遮挡、汽车尾灯、图像畸变、颜色“开花效应”(blooming effect)等因 素干扰;基于多特征融合的交通信号灯识别方法大多数是在基于颜色和形状特征的基础上, 再引入方向梯度直方图(histogram of oriented gradient,hog)、高精度地图、交通信号灯 结构等特征信息,使用支持向量机(support vector machine,svm)进行训练和分类,在小 样本训练集上能够得到比其它算法好的结果,但是对大规模训练样本难以实施,且解决多分 类问题存在困难;基于深度学习的交通信号灯识别方法采用卷积神经网络(convolutional ne ural networks,cnn)、region-cnn(rcnn)、faster-rcnn等算法,虽然具有学习能力强的 优点,但是存在计算量大,便携性差、硬件需求高、模型设计复杂、可解释性不高等缺点。
4.颜色特征作为交通信号灯最显著的特征,识别方法实现简单,且对设备硬件要求不高, 因而基于颜色的交通信号灯识别方法被广泛使用。基于颜色类型的交通信号灯识别方法常采 用颜色空间判断法,hassan n等人(hassan n,kong w,wah c k.a comparative s tudy on hsv-based and deep learning-based object detection algorithms for pedestrian tr affic light signal recognition[c].the 3rd international conference on intelligent autonomo us systems.2020.)提出了一种基于hsv颜色空间和深度学习的行人交通信号灯检测方法, 在仅采用hsv颜色空间情况下,识别准确率为93.25%,但该方法在很大程度上取决于环境光 照、天气等因素,且hsv各个分量很难选取一个通用适合的范围,导致在实际识别过程中精 度仍不够高。
[0005]
因此,如何对颜色空间法进一步研究以提升其识别准确率就成为了研究热点。


技术实现要素:

[0006]
针对背景技术所存在的问题,本发明的目的在于提供一种基于先验信息的交通信号灯快 速精确的识别方法。该方法针对现有hsv颜色空间识别法存在的难以选取核实分量范围使得 识别结果精确的问题,增加对交通信号灯主体区域检测步骤,然后对主体区域的灰度值进行 求和从而判断交通信号灯的类型,完成识别,该方法具有较高的识别准确率,且成本低、易 于推广。
[0007]
为实现上述目的,本发明的技术方案如下:
[0008]
一种基于先验信息的交通信号灯快速精确的识别方法,包括以下步骤:
[0009]
步骤1.对交通信号灯图像进行预处理,包括图像倾斜校正和图像大小标准化处理;
[0010]
步骤2.对步骤1预处理后得到的图像采用hsv颜色空间法判断交通信号灯类型,如果能 够判断,则直接输出判断结果;否则进入步骤3;
[0011]
步骤3.对步骤1预处理后的图像中交通信号灯的主体区域进行检测,包括canny边缘检 测、hough直线检测和交通信号灯边界确定;其中,边界确定的具体过程为:筛选所有检测 到的直线,设定直线需满足的角度范围,保留其中水平和垂直的直线;针对水平直线,以距 离信号灯图像水平中线最近的两条水平直线作为交通信号灯主体区域的上下边界;针对垂直 直线,以距离垂直中线最近的两条垂直直线作为交通信号灯主体区域的左右边界;
[0012]
步骤4.对步骤3主体区域沿垂直方向进行三等分,对等分得到的每部分的灰度像素值进 行求和,求和方式为沿着图像垂直方向,对水平方向的灰度像素值进行求和,然后根据三部 分的灰度值结果判断交通信号灯的类型。
[0013]
进一步地,所述先验信息为:交通信号灯的形状均为竖状,并且红灯在上、黄灯在中、 绿灯在下。
[0014]
进一步地,步骤1中所述交通信号灯图像为单个交通信号灯所在的局部区域。
[0015]
进一步地,步骤1中所述图像倾斜校正包括rgb彩色图像灰度化处理、canny边缘检测、 hough直线检测以及直线倾斜角补偿旋转四个步骤。
[0016]
进一步地,所述图像倾斜校正中的直线倾斜角补偿的具体过程为:选取所有检测到的直 线中长度最长的直线的倾斜角作为旋转补偿角度,实现图像倾斜校正。
[0017]
进一步地,步骤1中所述图像大小标准化可以采用最近邻插值法、双线性插值法或双三 次插值等方法。
[0018]
进一步地,步骤3中若直线的角度θ范围满足θ∈[-10,10]∪[80,110],则认为该直线为水 平直线或者垂直直线。
[0019]
本发明的机理为:以交通信号灯结构特点为先验信息,在不依托颜色信息的情况下,通 过寻找交通信号灯所在的主体区域,确定灰度图像像素值求和法的求和区间,根据灰度图像 像素值求和结果的分布情况,判断得出交通信号灯的类型,有效地避免了因颜色失真导致的 识别准确率不高的问题。
[0020]
综上所述,由于采用了上述技术方案,本发明的有益效果是:
[0021]
本发明所提出的基于交通信号灯结构特点先验信息的交通信号灯快速精确识别方法,在 传统的hsv颜色空间识别交通信号灯类型的基础上,提出基于交通信号灯主体区
域灰度像素 值求和的交通信号灯识别方法,在图像中发生严重颜色失真的情况下仍能保持高识别准确率, 提高了在不同环境、天气下的适应能力;同时,由于本发明未采用机器学习或深度学习的方 法,也大大降低了对设备的要求,避免了长时间的模型选择与训练,同时又兼顾识别快速、 准确的优点。基于本发明识别方法搭建的智能交通系统成本低,准确度高,也可应用于无人 驾驶车辆或者辅助驾驶中的视觉交通场景识别,提高道路交通安全。
附图说明
[0022]
图1为现有技术采用hsv颜色空间法识别交通信号灯的流程框图。
[0023]
图2为本发明信号灯的先验信息示意图。
[0024]
图3为本发明方法识别交通信号灯的流程框图。
[0025]
图4为图像倾斜校正处理过程示意图。
[0026]
图5为图像大小标准化的示意图。
[0027]
图6为交通信号灯主体区域检测的示意图。
[0028]
图7为交通信号灯主体区域灰度像素值求和示意图。
[0029]
图8为本发明实施例1灰度像素值求和识别交通信号灯类型的数据结果图。
具体实施方式
[0030]
为使本发明的目的、技术方案和优点更加清楚,下面结合实施方式和附图,对本发明作 进一步地详细描述。
[0031]
图1为现有技术采用hsv颜色空间法识别交通信号灯的流程框图,从流程图中可以看出, 该方法包括图像预处理和hsv颜色空间判断法,方法适用的所有图片均是交通信号灯所在的 局部区域分割完成的图片,且交通信号灯均为竖状,红灯在上,黄灯在中,绿灯在下,以此 为先验信息,识别的具体过程为:
[0032]
步骤1.对交通信号灯图像预处理,包括图像倾斜校正和图像大小标准化处理,具体包括,
[0033]
步骤1.1.将图像进行倾斜校正处理,包括以下步骤:
[0034]
步骤1.1.1.将交通信号灯rgb彩色图像转化为灰度图像,转换公式如下所示:
[0035]
gray=0.299
·
r 0.587
·
g 0.114
·bꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0036]
步骤1.1.2.进行canny边缘检测,首先将步骤1.1得到的灰度图像按照以下公式作高斯滤 波平滑处理,
[0037][0038]
其中,(x,y)为掩膜内任意一点的坐标,(u
x
,uy)为掩膜中心点坐标;σ是标准差;
[0039]
将各个位置的坐标带入到高斯滤波函数中,得到的值(f(x,y))为掩膜的系数;
[0040]
若掩膜大小为(2k 1)
×
(2k 1),掩膜中各个元素值的计算公式如下:
[0041][0042]
其中,h
(x,y)
即为掩膜内任意一点(x,y)的系数;
[0043]
然后对h
(x,y)
计算得到的结果进行归一化处理,若结果为整数形式,则按照以下公式进行 归一化处理:
[0044][0045]
其中,是掩膜系数和的倒数;h
(-k,k)
为掩膜左上角的系数值;
[0046]
若结果为小数形式时,则不需要乘其余保持一致;
[0047]
得到归一化之后的掩膜矩阵之后,即进行掩膜与相同大小图像像素点区域的卷积运算:
[0048][0049][0050][0051]
其中,i为原图像素矩阵,h
normal
为高斯卷积核,*为卷积运算,i

为进行卷积运算后得 到的新图像的像素矩阵;(7)式即完成了高斯平滑滤波运算,图4(a)为灰度图像与高斯平滑 滤波处理后的图像;
[0052]
然后计算平滑处理后的新图像的梯度幅值和方向,利用sobel水平算子和垂直算子与输 入图像卷积,得到水平梯度分量d
x
和垂直梯度分量dy:
[0053][0054][0055]dx
=f(x,y)*sobel
x
(x,y)
[0056]dy
=f(x,y)*sobely(x,y)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8)
[0057]
图像梯度的幅值m(x,y)的计算公式为:
[0058]
m(x,y)=|d
x
(x,y)| |dy(x,y)|
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(9)
[0059]
方位角为图像梯度方向与x轴的夹角:
[0060][0061]
最后,沿着梯度方向对幅值进行非极大值抑制:
[0062]
水平边缘,即梯度方向为垂直:
[0063]
αm∈[0,22.5)∪(-22.5,0]∪(157.5,180]∪[-180,-157.5)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(11)
[0064]
135
°
边缘,即梯度方向为45
°

[0065]
αm∈[22.5,67.5)∪[-157.5,-112.5)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(12)
[0066]
垂直边缘,即梯度方向为水平:
[0067]
αm∈[67.5,112.5]∪[-112.5,-67.5]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(13)
[0068]
45
°
边缘,即梯度方向为135
°

[0069]
αm∈(112.5,157.5]∪[-67.5,-22.5]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(14)
[0070]
在每一点上,领域中心(x,y)(掩膜中心在图像上的实际位置)与沿着其对应的梯度方向 的两个像素相比,若中心像素为最大值,则保留,否则中心置0,图4(b)为canny边缘提取 后的图像;
[0071]
步骤1.1.3.进行霍夫直线检测以确定旋转补偿角度:假设直线与原点距离为s,极角为θ, 直线上每一点满足:
[0072]
s=x*cosθ y*sinθ
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(15)
[0073]
由此可以计算出任意一条直线段的长度取li中的最大值: l
max
=max{l1,...,li,...},图4(c)为检测到图像中最长的直线段;
[0074]
将li=l
max
时对应的θi取负值,作为原始图像的旋转补偿的角度,图像倾斜校正由此完 成,如图4(d)所示;
[0075]
步骤1.2.图像大小标准化,将旋转补偿后的图像大小统一为30
×
30大小,方便后续统 一处理;改变图像尺寸大小的方法主要有三种:最近邻插值,双线性插值,双三次插值;
[0076]
以双线性插值方法为例,该方法计算量小,同时输出图像质量较高:
[0077]
设原图中的5个像素点:q
00
(坐标:(h0,w0))、q
01
(坐标:(h0,w1))、q
10
(坐标:(h1,w0)) 和q
11
(坐标:(h1,w1)),点p(坐标:(h,w))为目标图的像素点在原图上的投影;
[0078]
对于目标图的每个像素点,找到它在原图上最相关的四个点(即距离最近的点,满足:w
1-w0=1,h
1-h0=1)并通过插值计算得到它的像素值,具体计算如下式:
[0079]
f(p)≈(1-u)
×
(1-v)
×
f(q
00
) (1-u)
×v×
f(q
01
) u
×
(1-v)
×
f(q
10
) u
×v×
f(q
11
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(16)
[0080]
其中,u、v与q(q
00
和p)坐标有关(u=h-h0,v=w-w0),图5为倾斜校正后的图 像与图像大小标准化后图像;
[0081]
步骤2.对步骤1预处理后得到的图像采用hsv颜色空间法判断交通信号灯类型,具体过 程为:rgb彩色图像转化为hsv颜色空间的转换公式如下所示,
[0082][0083]
s=(max(r,g,b)-min(r,g,b))/max(r,g,b)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(17)
[0084]
v=max(r,g,b)
[0085]
其中,h为色调,s为饱和度,v为亮度;红色,黄色,绿色的h参数范围: 180≥h
red
≥150and0≥h
red
≥10,60≥h
yellow
≥10,100≥h
green
≥70,s、v参数范围均满足: 255≥s≥s
low
,255≥v≥140,s
low
=int(average(s
current_image
)
×
1.3);
[0086]
统计分别满足红色、黄色、绿色的hsv颜色范围像素点的个数sum
red
、sum
yellow
、 sum
green

[0087]
现有方法中常用:设置阈值t=10,若sum
red
、sum
yellow
、sum
green
的值只有一个满足 sum≥t,则其对应的颜色即为交通信号灯的判断结果;若至少有一个满足sum≥t,则比 较三者的最大值,其对应的颜色即为交通信号灯的判断结果。
[0088]
但是实际生活中,因为h,s和v阈值选取的不同,使得识别结果的不精确,并且,还 存在着sum
red
、sum
yellow
、sum
green
的值均不满足sum≥t的可能性(即无法识别出交通信 号灯的类型);同时,实拍的交通信号灯图像中部分交通信号灯的颜色可能会发生显著的变化, 如果仅基于颜色判断就会判断错误。
[0089]
本发明提供的一种基于先验信息的交通信号灯快速精确的识别方法,包括以下步骤:
[0090]
步骤1.对交通信号灯图像预处理,包括图像倾斜校正和图像大小标准化处理;
[0091]
步骤2.对步骤1预处理后得到的图像采用hsv颜色空间法判断交通信号灯类型;
[0092]
步骤3.对交通信号灯的主体区域进行检测,确定主体边界,具体过程为:筛选所有检测 到的直线,设定直线需满足的角度范围,保留其中水平和垂直的直线;针对水平直线,找到 距离信号灯图像水平中线最近的两条水平直线作为交通信号灯主体区域的上下边界;针对垂 直直线,找的距离垂直中线最近的两条垂直直线作为交通信号灯主体区域的左右边界;
[0093]
保留步骤1.4中霍夫直线检测得到水平直线与垂直直线,其中,直线的极角θ满足 θ∈[-10,10]∪[80,110],如图6(a)所示;
[0094]
定义图像左上角为原点,水平向右为x轴,垂直向下为y轴,假设图像的水平中线y=15, 垂直中线x=15,则y
top
∈[0,14],y
bottom
∈[15,29];设有水平直线,其对应纵坐标yi在y
top
的 坐标范围内,取若yi在y
bottom
的坐标范围内,取与即为交通信号灯主体区域所在的上下边界 对应的纵坐标,同理可得交通信号灯主体区域所在的左右边界对应的横坐标与
即可得到红绿的主体所在的矩形区域,如图6(b)所示;
[0095]
步骤4.对步骤3主体区域内进行三等分,对等分得到的每部分的灰度像素值进行求和, 求和方式为沿着图像垂直方向,对水平方向的灰度像素值进行求和,然后根据三部分的灰度 值结果判断交通信号灯的类型,具体过程为:
[0096]
因为交通信号灯的结构特点已知,可以对红绿灯主体区域的灰度像素值求和进行判断; 根据步骤3可知,交通信号灯主体所在矩形区域左上角坐标:左下角坐标: 右上角坐标右下角坐标如图7所示; 定义求和为沿y轴方向对x轴方向的灰度图像像素值进行求和,则对于图像中纵坐标为yi的 一行,对x轴方向的像素进行求和,有:
[0097][0098]
其中,为灰度图像中点(xi,yi)的像素值,x轴方向的灰度像素值求和范围为: y轴方向的的灰度像素值求和范围为:
[0099]
根据已知绿灯在上部、黄灯在中间、绿灯在下部的先验信息,将作三等分:
[0100][0101][0102][0103]
求和过程如下:
[0104][0105][0106][0107]
分别得到三个求和区间的灰度值像素和,令若即判断为红灯;若即判断为黄灯;若即判断为绿灯。
[0108]
实施例1
[0109]
采用本发明方法对采集的1484张红绿灯数据图像进行处理,其中,904张红色交通灯图 片,536张绿色交通灯图片,44张黄色交通灯图片。
[0110]
本实施例识别交通信号灯类型的数据结果图如图8所示。其中,红灯灰度像素值求和结 果集中分布在纵轴区间y
red
:(4,11),如图8(a)所示;黄灯灰度像素值求和结果集中分
布在纵轴 区间y
yellow
:(12,17),如图8(b)所示;绿灯灰度像素值求和结果集中分布在纵轴区间 y
green
:(18,25),如图8(c)所示。在总共1484张红绿灯数据图像中,本发明的交通信号灯识别 正确的个数为1458,识别准确率为98.248%,平均处理单张图片耗时约为16.33ms;
[0111]
以上结果表明本发明识别方法识别精度高、运行速度快,可以用于做实时的交通信号灯 识别。
[0112]
对比例1
[0113]
仅采用hsv颜色空间的识别方法。
[0114]
对采集的相同的1484张红绿灯数据图像进行处理,其中,904张红色交通灯图片,536 张绿色交通灯图片,44张黄色交通灯图片。
[0115]
本对比例的识别正确个数为1396,准确率为94.070%,相比下降4.178%,平均处理单张 图片耗时约为13.87ms。
[0116]
对比例2
[0117]
采用本发明方法进行交通信号灯识别,仅不进行步骤3信号灯主体区域检测。即将灰度 图像像素值求和区域定为整幅图像,x轴方向的灰度像素值求和范围为:[0,29],y轴方向的 的灰度像素值求和范围为:[0,29],依照步骤4中(19)式、(20)式进行计算和判断,识别 正确个数为1231,准确率为82.951%,相比下降15.287%,平均处理单张图片耗时约为17.9 5ms(未进行区域检测,图像处理面积变大,处理耗时也随之增加)。
[0118]
这是因为图像灰度化之后,背景部分是灰白色,信号灯也为灰白色,二者灰度像素值接 近。由此可得,步骤3所进行的交通信号灯主体区域检测,有效保证了灰度像素值求和法识 别交通信号灯的高准确率。
[0119]
本发明采用基于hsv颜色空间的交通信号灯识别方法对交通信号灯类型进行初步筛选, 同时针对部分图像中由于天气、相机特性等原因造成的颜色失真等不利因素,进一步提出交 通信号灯主体区域的灰度像素值求和的方法,有效地识别交通信号灯类型,在极大减轻时间 成本、设备成本的同时,又能保证交通信号灯识别的高准确率。
[0120]
以上所述,仅为本发明的具体实施方式,本说明书中所公开的任一特征,除非特别叙述, 均可被其他等效或具有类似目的的替代特征加以替换;所公开的所有特征、或所有方法或过 程中的步骤,除了互相排斥的特征和/或步骤以外,均可以任何方式组合。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献