基于双通道动态像素聚合的交通标志识别算法

2023-06-15 09:27许佳炜谷天祥
计算机技术与发展 2023年6期
关键词:交通标志像素点梯度

王 杨,王 傲,许佳炜,马 唱,谷天祥

(1.安徽师范大学 计算机与信息学院,安徽 芜湖 241000;2.芜湖职业技术学院 国际教育管理学院,安徽 芜湖 241000)

0 引 言

交通标志为用文字或符号引导、限制、警告或指示信息的道路设施,其可以反映道路环境以及行车环境等信息并且交通标志识别是自动驾驶领域中的关键技术之一[1],世界各国对此都十分重视。交通标志的自动识别有助于智能自动驾驶车辆的应用与推广。如图1所示,交通标志的主要形状为圆形、方形、三角形等,主要颜色为红色、蓝色、黄色等。

图1 中国交通标志的颜色及形状示意图

交通标志识别要求快速准确地识别出交通标志的种类,进而辅助自动驾驶车辆或机动车驾驶员及时作出反应。而当前主流的交通标志识别方法主要基于深度学习,但深度学习网络参数多,运行速度极度依赖硬件条件,因此不能满足实时识别交通标志的要求。针对上述问题,该文采用传统机器学习的方法,提取交通标志的物理特征,然后送入分类器进行分类,由于目前的交通标志物理特征主要是颜色和形状,且RGB图像易受光照强度影响,所以基于颜色的识别法通常将RGB颜色空间模型转换为其他的颜色空间模型,如HSV、HSI等。而基于形状的识别方法主要采用模板匹配交通标志的轮廓形状,但此方法易受光线、遮挡、破损等因素影响,致使识别精度不稳定。该文主要采用了一种基于双通道动态像素聚合的交通标志识别算法。该算法将交通标志的形状特征与颜色特征进行有效融合,并通过神经网络进行学习训练,从而实现交通标志识别手段的轻量化。

1 相关工作

已有的交通标志的自动识别方法主要有基于传统机器学习和基于深度学习两种。模板匹配方法是在一幅大图像中搜寻一个与模板最佳匹配的小图像,此方法可以在有限数量样本下准确识别新的物体。冯春贵等人提出了改进模板匹配算法,将传统的模板匹配算法结合边缘模板匹配对限速标志进行识别,识别率由80.95%提升至95.24%[2]。但是模板匹配算法对被遮挡、损坏等图像的识别仍然存在缺陷。基于机器学习的交通标志识别首先提取交通标志的物理特性颜色、形状等特征,然后结合机器学习中的分类器,如支持向量机、极限学习机和感知机等完成具体的识别工作。如张兴国等人选择了对光线要求低、鲁棒性强的HSV作为颜色特征提取器[3];Zhang等人将RGB颜色空间特征和HSV颜色空间特征相结合,将提取到的特征送入神经网络训练[4]。相比于颜色特征,形状特征稳定性较强,不易受光线、天气等因素影响。Vashisht等人使用方向梯度直方图(Histogram of Oriented Gradient,HOG)提取交通标志形状特征[5];谷明琴等人提出以图形重心到边界的距离作为角度的函数来描述交通标志的形状特征,算法的实时性较强[6]。采用基于深度学习的交通标志识别算法尽管识别率高,但系统开销较大[7]。此外Domen等人采用卷积神经网络(CNN)和掩码R-CNN自动端到端学习,有效地解决了交通标志检测中的完整管道问题,并取得97%以上的准确率[8]。

该文主要采用了一种基于双通道动态像素聚合的交通标志识别算法。算法融合了交通标志的形状特征和颜色特征,并取得了较好的识别效果。

2 双通道动态像素聚合法

所采用的双通道动态像素聚合法统筹考虑交通标志的颜色特征和边缘特征。基于HSV色彩空间模型提取交通标志的颜色特征,基于改进Canny边缘检测算法提取交通标志的边缘特征,将提取到的两类特征图逐像素聚合得到最终的特征矩阵。图2所示为双通道动态像素聚合法系统框架。

图2 系统框架

2.1 颜色特征提取

图3为RGB(Red Green and Blue)空间颜色模型,RGB空间颜色模型将三原色(红,绿,蓝)按照不同比例叠加产生各种不同颜色,并且与硬件设施相对应,但R,G,B三种颜色分量的取值与所产生的颜色之间联系并不直观[9]。如图4所示,相比于RGB色彩空间模型,HSV(Hue Saturation Value)色彩空间模型更能贴合人的视觉器官对色彩的感知、更直观表达色彩的特征。色度(H)的范围为0°~360°,0°为红色、120°为绿色[10]。人的视觉感知器官所感受到颜色是由白色与某些特定的光谱色混合而成,饱和度(S)描述了色调(H)相对白色的偏移程度,也可称之为颜色的深度;纯度(V)直观地体现出图像的明亮程度,如H为0°、V值很大时,图像整体比较亮;相反,当V值很小时,图像整体比较暗。可以通过公式(1)~(3)将RGB空间模型转换为HSV空间模型。

图3 RGB颜色空间模型

图4 HSV颜色空间模型

(1)

(2)

V=max(R,G,B)

(3)

式中,H、S、V为HSV色彩空间模型的三个分量,分别代表饱和度、色调、纯度,R、G、B代表图像三个通道。颜色特征提取模型工作流程如算法1所示。

算法1:颜色特征提取算法。

输入:RGB图像W×H

输出:HSV颜色特征图

1 RGB image to HSV image

4V=max(R,G,B)

5 Separation channel

6 FORiin range(W)

7 FORjin range(H)

8 IF img[i,j] in Red,Green and Blue threshold range

9 img_new.add(img[i,j])

10 ELSE

11 END IF

12 END FOR

13 END FOR

14 RETURN img_new

2.2 形状特征提取

实际应用中的交通标志图片存在很多的噪声干扰,这种干扰很大程度上影响了交通标志识别算法的精确度。Canny边缘检测算法抗干扰性强,能够检测出弱边缘。为了降低噪声干扰、平滑图像,Canny边缘检测算法利用高斯滤波卷积核与待处理图像进行卷积运算。高斯滤波卷积核的构造方式如公式(4)和公式(5)所示。

(4)

P(x,y)=G(x,y)⊗f(x,y)

(5)

式中,⊗表示卷积运算,P(x,y)表示经过平滑处理的图像,f(x,y)表示输入图像待处理区域,σf表示高斯滤波函数的标准差。

图像在计算机中的存储形式是矩阵,每个像素对应矩阵的一个元素,在空间中,每个点可以确定无限多个方向,而梯度反映的是目标函数在这个点变化率的数量级;因此梯度变化可以反映出图像边缘变化。通过高斯卷积操作可以得到图像的梯度方向和梯度模,图像在x轴和y轴的梯度方向如公式(6)和公式(7)所示。

(6)

(7)

式中,Px[i,j]表示图像在x轴的梯度方向,Py[i,j]表示图像在y轴的梯度方向;I(i,j)表示高斯滤波卷积核处理后的图像区域。进而可以得到梯度方向M[i,j]和梯度模θ[i,j],如公式(8)、公式(9)所示。

(8)

(9)

Canny算法每次都会选取梯度变化最大的区域,在一个梯度方向会有若干梯度模,Canny边缘检测算法引入了非极大值抑制(Non-Maximum Suppression,NMS)方法,将当前像素点的梯度模与相邻像素点的梯度模进行比较,保留梯度模最大的像素点为待确定边缘像素点[11]。Canny边缘点选取策略见表1。

表1 Canny边缘检测算法边缘点选取策略

传统的Canny边缘检测算法人工设置高低双阈值TH和TL,若当前像素点的梯度模M[i,j]>TH,则将此像素点标记为边缘像素点;若当前像素点的梯度模M[i,j]

(10)

算法2:形状特征提取算法。

输入:灰度图像 imgW×H

输出:高低双阈值

1 Initial thresholdT

2 FORiin range(W)

3 FORjin range(H)

4 IFM[i,j]>T

5M[i,j] isC1category

6 ELSE

7M[i,j] isC2category

8 END IF

9 END FOR

10 END FOR

11 THEN calculate the variance betweenC1andC2

12 If variance is the lagest

13 Calculate high and low thresholds

14 ELSE

15 UpdateT

16 Return 2

17 RETURN THTL

2.3 交通标志分类器

该文采用BP(Back-Propagation)算法网络作为交通标志分类器,BP算法是误差反向传播的前馈神经网络(Feedforward Neural Network,FNN)。实验采用的图像统一为64×64像素,为了提高算法的运行效率,采用矩阵运算,因此输入节点设置为4 097个,在同时满足精度和速度的情况下,经实验验证,设置隐藏层节点65个,最终输出节点为3个。因训练数据集有21 131张图片,所以输入BP神经网络的矩阵大小为21 131×4 097,BP神经网络的输出为3×21 131。

3 实验设计及分析

3.1 实验环境及参数设置

采用的实验环境如下:windows 10中文版、英特corei7-8700k、python3.6、pycharm2021.3.3,内存为16G。BP神经网络的迭代次数是影响准确率的一个重要参数。如图5(a)所示,随着迭代次数的增加,损失函数值显著减小,但此时准确率却没有稳步上升,其中的一种可能是迭代次数过多导致算法过拟合。因此,调整函数迭代次数,最终找到的最佳迭代次数为560,如图5(b)所示,此时识别准确率为95.34%,平均识别时间为1.32 ms。

(a)

3.2 数据集及预处理

该文使用基于CCTSDB(CSUST Chinese Traffic Sign Detection Benchmark)提取的21 131张图片作为训练集,558张图片作为测试集。实验理想的数据应当是待分类目标占据图片大部分区域并且特征明显、清晰。CCTSDB数据集中多数图像交通标志所占区域很小,因此需要裁剪多余部分,裁剪效果如图6(b)所示。为了使各项指标处于同一量级,该文采用双立方插值法归一化图像大小,经过归一化处理的图像大小为64×64,如图6(c)所示。

由于数据集中存在大量暗光条件下的图像,为了保证算法的鲁棒性,采用限制对比度自适应直方图均衡法进行图像增强。图像增强效果如图7所示。图7(a)所示图片像素主要分布在1~100之间,图片整体偏暗;图7(b)所示像素主要分布在0~200之间,为限制对比度自适应直方图均衡法增强后的图片。通过图片预处理环节对数据集各方面归一化处理,使得特征提取器有着良好的“视野”和“感受空间”。

(a)暗光环境图像像素分布直方图

输入图像的大小是影响准确率的另一大因素,因此,该文对比了32×32、48×48、64×64三种不同像素的图像识别准确率,结果如表2所示。采用64×64像素大小的图像作为输入图像的原因是从CCTSDB中裁剪出来的交通标志有相当一部分像素小于30×30或大于48×48像素,此时如果将图像重新设置为更大或更小尺寸,会增加图像的噪点和图像失真导致识别精度下降。如表3所示,HSV颜色空间模型和Canny边缘检测的分类准确率小于该文采用的双通道动态像素聚合法。

表2 不同分辨率图像实验结果对比

表3 消融实验对比

3.3 评价指标

采取准确率与时间作为评价指标,其中准确率为模型在测试集上推理正确的概率,其结果如表3第三行所示,文中算法总体识别准确率为95.34%,其中每一类别的识别准确率如表4第二列和第三列所示。交通标志识别的应用场景为自动驾驶而车辆上的设备算力有限,交通标志识别任务需要满足准确率高、耗时短的要求,因此,采用准确率与时间为评价指标。在模型训练完成后执行测试任务,将测试集中的558张图片输入网络,网络使用训练完成的权重推理图像特征,最终输出图像属于哪一类别交通标识,计算整个过程所耗费的平均时间。

表4 不同网络实验结果对比

3.4 结果分析

表4为所提方法与现存交通标志识别算法在精度与时间上的对比。如表4所示,Zhang J等[12]提出了使用改进YoloV2检测识别交通标志,并且发布了数据集CCTSDB,文中所提算法在准确率以及时间表现均优于Zhang J等人提出的方法。Zhang D W等[13]使用MobileNetV2替换了YoloV3的特征提取网络并且引入了特征融合机制减少模型参数最终总体准确率达到了96.20%,虽然Zhang D W等所提方法总体识别准确率优于文中算法,但在推理时间方面,文中算法明显更短。Ding等人[14]提出了无锚点的交通标志检测识别方法,并且在模型中引入了卷积注意力机制将前景与背景区分开来,减少复杂背景信息的干扰。Zhang等人[15]通过改进YoloV4特征金字塔架构,使特征层关注更多的语义信息,并且添加了注意力机制和自适应特征融合模块,解决了图像因缩放导致的不清晰问题,最终总体识别率达到92.68%。与文中算法相比,Zhang等人所提方法虽然在Waring类的准确率更高,但平均推理时间更久。表中第四列显示文中所提算法平均每张图片识别时间为1.32 ms,满足实时运算要求,适合部署到移动设备当中。

4 结束语

采用的基于双通道动态像素聚合的交通标志识别算法能够有效地提高交通标志的分类准确率,缩短训练时间和识别时间。算法在准确率方面仍有提升空间。当前主要实现了警告、禁止、指示三类交通标志的分类,尚未考虑三类交通标志细分类的识别,未来将会通过更加高效的方法对交通标志实现精准识别。

猜你喜欢
交通标志像素点梯度
基于双向特征融合的交通标志识别
一个改进的WYL型三项共轭梯度法
基于局部相似性的特征匹配筛选算法
一种自适应Dai-Liao共轭梯度法
一类扭积形式的梯度近Ricci孤立子
基于5×5邻域像素点相关性的划痕修复算法
基于canvas的前端数据加密
基于逐像素点深度卷积网络分割模型的上皮和间质组织分割
交通标志小课堂
我们欢迎你!