智能网联汽车电子技术
上QQ阅读APP看书,第一时间看更新

1.2.2 交通标志识别

交通标志识别主要指通过图像处理等技术检测交通标志的位置及对交通标志的内容进行识别[5]

识别交通标志的方法很多,一般分为基于标志颜色的检测识别方法、基于标志形状的检测识别方法和基于机器学习的检测识别方法。基于标志颜色的检测识别方法是,通过提取图像中的颜色特征,分割并检测出交通标志区域,再对分割出的交通标志区域进行分类。基于标志形状的检测识别方法是,提取图像中的形状特征,再根据形状特征算子检测交通标志区域,最后识别交通标志。该方法通常采用霍夫变换(hough transform)来提取图像中的圆、直线等形状。基于机器学习的检测识别方法是,通过机器学习自动设定交通标志的预期颜色和形状,然后识别交通标志。

交通标志牌检测流程:首先,将图像进行颜色空间的转换,根据交通标志牌的颜色特性提取出ROI;之后,基于YOLO(You Only Look Once)v3算法实现对场景中交通标志牌的检测[4]

1. ROI获取

将输入图像的颜色空间由红-绿-蓝(Red-Green-Blue, RGB)转换为色调-饱和度-明度(Hue-Saturation-Value, HSV),有

式中,R′=R/225;G′=G/225;B′=B/225;Cmax=max(R′,G′,B′);Δ=Cmax-Cmin,其中,

在HSV颜色空间提取指示、警示、禁止类交通标志牌的主颜色,分别是蓝色、黄色和红色。色彩的范围:HSV三分量都归一化到(0,1)范围,具体为

提取完三大类标志牌主颜色后,对获得的图像进行二值化处理,通过计算二值图像中连通区域(8连通),去除掉连通区域较小的区域(350~550),获得图像Image,同时考虑图像中目标由远及近的规律,对整幅图像的底边部分(w×h/5)不处理。

ROI的左上点坐标UL=(x1y1),有

右下点坐标DR=(x2y2),有

式中,xmin为Image中所有像素x方向上的最小值;ymin为Image中所有像素y方向上的最小值;xmax为Image中所有像素x方向上的最大值;ymax为Image中所有像素y方向上的最大值;h为图像x方向上的长度。最后,可以获得ROI。

2. 交通标志检测

YOLO v3算法通过一个神经网络直接预测不同目标的类别与位置。其将输入图像分成网格,如果某个目标的中心落在网格中,则该网格负责预测此目标;每个网格单元预测一个概率值和3个边界框,每个边界框预测5个回归值(xywh,confidence),(xy)为边界框的中心点坐标,(wh)为边界框的宽度和高度,confidence为置信度,置信度的计算为

式中,Pr(object)为0或1,0表示图像中没有目标,1表示有目标;为预测的边界框和实际的边界框之间的交并比。置信度反映是否包含目标以及包含目标情况下预测位置的准确性。置信度阈值设置为0.5,则当边界框置信度小于0.5时,删除预测的边界框;预测的边界框置信度大于0.5时,保留预测的边界框。

边界框预测调整:(txtytwth)是网络预测的边界框的4个坐标,如果网格偏离图像左上角的量为(cxcy),pwph是先前边界框的宽度和高度,对应的预测框调整如下:

类别预测:在分类阶段,soft-max有类间互斥的表现,不利于有包含属性关系的数据分类,因此使用多标签分类方法,取而代之的是多个独立的逻辑分类器,在训练阶段对于类别的预测采用的是二元交叉熵函数:

跨尺度预测:基于特征金字塔网络的思想,获取更丰富的语义信息和更细粒度的特征信息。YOLO v3在3个尺度上预测边界框,最后在每个尺度图上可以得到N×N×[3×(4+1+3)]个结果。其中有N×N个网格,3种尺度的锚点,边界框的4+1个值和3种类别。通过使用k均值(k-means)聚类算法获取边界框的先验信息,通过选择9个聚类均分到3种尺度上,9个聚类如下:(10×13),(16×30),(33×23),(30×61),(62×45),(59×119),(116×90),(156×198),(373×326)。

特征提取:YOLO v3使用Darknet-53网络实现特征提取,相比Darknet-19网络添加了残差单元,使用连续的3×3和1×1卷基层。该网络结果包括53个卷积层以及5个最大池化层,同时在每个卷积层后增加了批量归一化操作和去除dropout操作,防止过拟合现象。训练过程损失函数为

式中,为网格单元i包含交通标志牌的部分;为网格单元i中的第j个边界框。其中不包含交通标志牌的任何部分。