基于胶囊神经网络的交通标志识别算法研究
任条娟 陈鹏 陈友荣 江俊 游静 (
【摘要】针对交通标志采集过程中由于角度、方向、位置等不同而造成的识别误差问题,提出一种基于胶囊神经网络的交通标志识别算法。采用图像均衡化、最大稳定极值区域分割、归一化等方法预处理图像,并分割图像感兴趣区域( ROI),同时引入胶囊神经网络( CapsNet),采用卷积层提取底层特征,通过主胶囊层张量向量化,动态路由聚类和反向传播,实现模型训练,根据训练好的模型权重参数和动态路由聚类实现图像的分类。仿真结果表明:该方法在训练阶段具有较快的训练速度,在识别阶段可有效提高弱光照图片的查全率,提高交通标志的识别率。主题词:感兴趣区域 卷积神经网络 胶囊神经网络 空间信息 动态路由 交通标志U469.79 A 10.19620/j.cnki.1000-3703.20200186中图分类号: 文献标识码: DOI: Research on Traffic Sign Recognition Algorithm Based on Capsule Neural Network Ren Tiaojuan1,2, Chen Peng1, Chen Yourong2, Jiang Jun2, You Jing1 1. Changzhou University, Changzhou 213164; 2. Zhejiang Shuren University, Hangzhou 310015) ( Abstract To solve the problem of recognition errors caused by the differences such as angle, direction and location【 】during the collection of traffic signs, a Traffic Sign Recognition Algorithm (TSRA) is proposed based on capsule neural network. Image equalization, maximum stable extreme region segmentation, normalization and other methods are used to preprocess the images, and the image Region Of Interest (ROI) is segmented. At the same time, the CapsNet is introduced. The bottom layer features are extracted from the convolutional layer, model training is realized through main capsule layer tensor vectorization, dynamic routing clustering and backpropagation, and images are classified according to the trained model weight parameter and dynamic routing clustering. The simulation results show that TSRA has a faster training speed in the training phase, and improve the recall ratio of low- light picture in the recognition phase, and ultimately improve the recognition rate of traffic signs. Key words: ROI, Convolutional neural network, CapsNet, Spatial information, Dynamic routing, Traffic sign
1 前言
目前,车辆大多通过数字地图获得交通标志信息[1],
但只限于有地图数据的道路,因此基于人工智能和机器视觉的道路交通标志识别系统拥有大量的需求。
交通标志识别的本质是图像的多分类问题,部分学者侧重于利用机器视觉领域的特征提取以及分类器等
[2]~
方法实现交通标志图像的识别分类,如:文献 文献
[4]
分别使用图像分块的方向梯度特征和内部局部二值模式特征进行特征融合,提取图像方向梯度特征,提取交通标志边缘颜色、形状和文字等图像特征,最后使用
Support Vector Machine,SVM)
支持向量机( 进行识别;文
[5] Maximally Stable Extremal
献在最大稳定极值区域(
Regions,MSER)
的基础上,增加对黄色图像的处理,通
Convolutional Neural Network, CNN)
过卷积神经网络( 进
[6]
行定位;文献 利用距离边界向量的方式进行检测定
[7]
位,提高其在弱光照条件下的图像查全率;文献 提出了一种基于岭回归和大津算法的检测和识别交通标志
HSV(Hue Saturation Value)
方法,使用 进行阈值分割,提
Region of Interest,ROI),
取感兴趣区域( 并用大津算法
提取径向直方图特征,使用多层感知器实现分类。文献
[2]~ [7]
文献 需要人工设计先验知识的特征,且特征提取较为复杂,需花费大量的人力和时间。部分学者侧重于
CNN研究适用于交通标志识别的 等深度学习算法。深度学习算法无需人工构造任何图像特征,直接提取整张
[8]~ [9]图像像素作为网络输入,如:文献 文献 分别使用
ROI CNN图像聚类和图像 对图像进行预处理,并使用
[10]训练和识别交通标志图像;文献 提出了一种基于加
CNN CNN,
权多 的交通标志识别算法,即训练每个 采用加权分类器优化分类结构,从而提高交通标志识别能
[8]~ [10] CNN
力;文献 文献 均使用 对交通标志图像进行
LeNet- 5[ AlexNet[训练和识别,部分学者还使用了 11]、 12]、
GoogLeNet[
13]等网络模型,但由于池化层的存在,在提取图像底层特征的过程中会导致空间特征信息的丢失、网络训练数据集需求量大、算法计算量较大等问题。
综上,虽然交通标志识别算法研究已取得较大进展,但在构建训练数据集时需要考虑旋转、翻转、平移等变化的图像,增加了算法的整体计算量。因此,本文针对传统网络由于池化层丢失图像空间位置、角度等重要信息导致算法计算量大的问题,提出了基于胶囊神经网络的交通标志识别算法,减小图像提取特征的区域,提高模型的训练和识别速度。
2 交通标志图像识别原理与算法实现
1
图 所示为交通标志图像识别流程。识别训练时,在主胶囊层中将张量的底层图像特征转化为向量图像
Capsule)
特征后,将图像特征向量封装成胶囊( 单元,对这些单元进行动态路由聚类获取分类概率向量,其模长即某个类别的概率,之后经过反向传播更新胶囊单元内的权重参数,最后固定网络内胶囊单元权重参数,实现网络模型训练。在图像识别时,主胶囊层张量向量转换后,通过训练好的权重参数和网络动态路由聚类,输出交通标志分类的结果。1图 交通标志图像识别流程2
但仍需解决 个问题:如何对输入图像进行预处CapsNet
理,获得适用于 网络输入的交通标志图像;如
CapsNet何训练和应用适用于交通标志识别的 网络模型,解决平移、翻转和角度变化后同一交通标志图像的识别问题。
2.1 交通标志采集
车载摄像头采集自然场景下同一道路不同时刻、不3同角度的警示、禁止和指示 种类型交通标志图像。
2.2 图像预处理
对交通标志图像进行神经网络识别前,需要对其进
ROI,
行预处理,提取拥有丰富特征信息的 从而缩小图像识别范围,降低算法计算量,提高识别速度。
2.2.1
图像均衡化相较于背景区域,交通标志图像具有较强的反光性和凸显性。同时,受天气、光照等自然环境因素的影响,在图像处理时需对其亮度进行均衡化,以消除自然环境对图像造成的干扰,增强图像特征信息。均衡化流程如
2
图 所示,其中,亮度分量的直方化处理过程为: æ Σ n ö
S = ×255 1)
X N ( n i
i =0
式中, Sn为处理后的亮度分量值; Xi为亮度分量值为i的像素数量; N为像素数量总和。2图 图像均衡化过程2.2.2 MSER
分割
交通标志图像经过均衡化处理后,对其进行灰度
MSER
化和二值化。由于 算法具有良好的仿射不变性、
MSER
稳定性和简单高效的特点,本文基于 算法提取交
ROI
通标志图像的 。该算法的基本思想如下:选取阈值
t={ 0,1,2,…,255}
对图像进行二值分割,低于阈值的像素
0), 255)
置为黑色( 高于或等于阈值的像素置为白色( 。
0 255
在阈值t从 增大到 的过程中,图像形成闭合区域,
MSER
寻找图像像素区域变化最小的区域,即为 稳定区域。然后,根据交通标志本身的几何特征,筛选潜在区
2)
域,最后利用式( 计算灰度图像中灰度值的标准差σ,
ROI:
得到标志所在区域,并分割出图像的
2
式中, xi为第i个灰度值; NA为周围区域灰度值总数量。
MSER
算法的具体实现步骤如下:
a.
将交通标志图像每列灰度值从大到小排序。
b.
将排序后的灰度值放入与原图像尺寸大小相
UnionFind)
同的矩阵中,使用并查集( 算法判断排序后的每列灰度值点之间是否存在链接。如果存在链接,输t= 0
出灰度值点,并将其排在相邻位置的矩阵内,令 。c. ( t- Δ) ( t+ Δ),选取二值化阈值 、和t 其中Δ为阈值的变化量,分别选择灰度值为该阈值的像素点组成的多个区域,计算这些区域的面积Qi、和Qi Qi ,计算第i tΔ + t tΔ -个区域的变化率qi : t
| - |
Qi Qi
= tΔ + tΔ - 3) qi (
t Qi t
d. 1, t< 256, c,
令t自加 如果 则跳转到步骤 否则变化率的计算完成。选择具有最小变化率qi的区域为最t大稳定极值区域Rt。
e.
计算区域Rt的纵横比R,计算区域与其外接矩
4) 5),形的面积比A,如果二者同时满足式( 、式( 跳转到
f, a,
步骤 否则跳转到步骤 读取下一张图像:
Rmin << Rmax 4)
R (
> Amin 5)
A (式中, Rmin、Rmax分别为纵横比的最小值、最大值; Amin为面积比的最小值。
f.
令筛选出的最大稳定极值区域的灰度值为
255, 0 2)
其他区域灰度值为 。利用式( 计算图像每一个灰度值与周围区域灰度值的标准差,将标准差最大的灰
ROI
度值点作为交通标志图像 边界的灰度值点,连接这些灰度值点组成图像区域,获得区域的图像坐标。分割
ROI
该坐标内所有像素点,得到交通标志图像 。
2.2.3
归一化
ROI
利用最邻近插值法将 图像规格化,获得固定大
32×32)
小( 的图像。
2.3 CapsNet训练和识别
2.3.1 CapsNet
网络结构
3 CapsNet 5 1
如图 所示, 网络由 个部分组成。第 层
2
为输入层,输入实际图像数据。第层为标准卷积层
Conv1, ROI 32×32),
提取 图像( 通过卷积提取交通标志
3 CapsNet
各部分特征。第 层为 网络主胶囊层,对上层
1
输入的特征进行不同卷积,生成 个向量作为胶囊单元,
4
传入数字胶囊层。第 层为数字胶囊层,通过动态路由协议进行聚类传播与更新权重矩阵,输出概率向量。第
5
层为输出层,计算概率向量模长,输出分类概率。
2.3.2
卷积层底层特征
256 9×9
卷积层具有 个大小为 的卷积核,其深度和
1,
步幅均为 运用非线性激活函数提升卷积层的运算能力。卷积层提取交通标志图像底层各部分特征,输出图3 CapsNet网络基本结构2.3.3
主胶囊层张量向量化主胶囊层接收卷积层提取的交通标志图像底层特征张量,构建可作为底层特征的多维度的向量,并将该向量作为数字胶囊层输入的底层胶囊单元。即主胶囊
8×32 9×9 2 32
层通过 个大小为 和步长为 的卷积核,进行
8 8 6×6×8×32
次通道数量为 的不同卷积,生成 个 的张
8 6×6×8×32
量。将这 个张量合并成 的向量,即为主胶囊层输出的底层胶囊单元。
2.3.4
动态路由聚类数字胶囊层在主胶囊层输出向量单元的基础上,进行传播与路由聚类。数字胶囊层输入的胶囊单元表示
4
图像内包含的实例化参数,使用如图 所示的动态路由算法预测更高层的胶囊单元。通过使用权重矩阵控制底层胶囊单元与高层胶囊单元间的连接紧密程度,并判断胶囊单元间方向的一致程度,更新权重矩阵。循环执行上述操作进行动态路由聚类,获得耦合系数。
4图 动态路由的层级结构
动态路由算法的步骤为: a.
输入低层胶囊单元的胶囊单元和连接权重矩阵,计算所有的预测向量:
= ×ui,∀ i, 6)
U wij j ( j| i式中, ui为低层胶囊单元的第i个胶囊单元; wij为第i个胶囊单元与第j个预测胶囊单元的连接权重矩阵; Uj| 为i预测胶囊单元。
L= 0,并令当前胶囊所在的层序号为L,且 令路由迭
r= 1
代次数为R,令当前循环次数 。b. ( L+ 1)
令 bij为第L层第i个胶囊单元连接第 层第j
个胶囊单元的一致性参数,令初始值均为0。
c. 如果当前循环次数小于R,则跳到步骤d,否则
h
跳到步骤 。
d. 计算每一个胶囊单元的耦合系数cij:
exp( b )
= softmax( ) ij 7)
c b Σj exp( ( ij ij )
b ij
e. ( L+ 1)
计算第 层中的所有胶囊单元的加权和: Σi
= i, ∀ 8)
sj c ijU j ( j|式中,为第sj j个胶囊单元的加权和。f. Squash采用 压缩激活函数压缩加权和sj,获得( L+ 1)
第 层的所有胶囊单元: 2 sj) sj sj
= squash( = ,∀ 9) vj j (
1+ 2 sj sj
( L+ 1)
式中, vj为第 层的第j个胶囊单元。g. ( L+ 1)根据第L层的所有预测向量Uj| 与第 层的i
1,所有胶囊单元vj的连接关系,参数bij增加U vj ,自加r j| i
c
并跳转到步骤 。
h.
输出固定动态路由过程中使用的耦合系数cij和连接一致性参数bij,输出高层胶囊单元vj。
2.3.5
反向传播和模型训练
获取数字胶囊层输出的胶囊单元向量,根据向量长度判定其属于某个类别的概率。同时,需构建损失函数:
= max( 0, m+ - ) 2 + λ( 1- T) max( 0, - m-) 2
L T vk vk k k k
10) (式中, k为分类类别; Tk为分类的指示函数,如不属于类Tk= 1, Tk= 0;
别k, 否则 vk为动态路由聚类为类别k的向量单元; m+、m-分别为上、下边界; λ为权重降低损失值。在反向传播算法中更新权重矩阵:
∂( Lk)
+1 = - 11) w n w n η ( ij ij n w ij式中, w n +1为更新后的权重矩阵; η为学习率,即梯度。ij
1,同时,在训练过程中使L自加 从低层胶囊单元向高层胶囊单元更新。在网络训练结束后可确定胶囊网络模型的权重参数,获得网络模型。
2.3.6
图像识别在图像识别时,将图像进行预处理输入网络模型。图像经卷积层提取特征,主胶囊层将特征张量向量化,
43
利用训练后的权重参数,通过动态路由算法获得 个类别的向量,向量的模长为各类别的概率,并将概率最大的类别作为分类的最终结果。
2.4 算法实现
5交通标志识别算法流程如图 所示。
3 仿真结果分析
Ubuntu 18.04(64
仿真采用 位)操作系统和
TensorFlow Intel® Core ™ i7- 8700 CPU@
平台,处理器为
3.20 GHz×6, NVIDIA RTX2060 GPU
使用 实现 加速训练。
3.1 数据集准备
6
为验证算法有效性,将其在如图 所示的德国交通
Germany Traffic Sign Recognition
标 志 数 据 集(
Benchmark,GTSRB) 43
上进行测试,该数据集包含 种不
GTSRB
同类型的交通标志图片。由于 原始数据中存在很多分辨率低、运动模糊、局部遮挡、尺寸不一、光照强度不同的低质量数据,因此在数据集中添加现实场景拍摄
51 839
的图像替换部分低质量图像,共获得 张图片的数
39 209 12 630
据集,包括 张图片的训练集和 张测试图片。
3.2 图像ROI提取结果分析
7 ROI
图 展示了本文算法的图像 提取过程,在对图MSER
像分割时利用 进行交通标志分割,得到交通标志候选区域,然后利用该区域的几何特征纵横比、周长、面积等特征获得交通标志所在区域位置。为与其他算法进行比较,选用查全率Rc进行评价: Rc=NT/NZ 12)
(
式中, NT为检测到的交通标志数量; NZ为图中含有的交通标志总数量。
c) d)
( 灰度二值化 ( 获取候选位置7 ROI图 提取 过程846 360
选取 张正常光照图片和 张弱光照图片,采
HOG[ MSER[ DtBs[ ROI,
用 4]、 5]、 6]和本文算法提取图像 计算
1
查全率和标志平均检测时间,结果如表 所示。1 MSER DtBs
由表 可知:本文算法、 和 对正常光照图片的交通标志检测效果较好,本文算法的查全率略大于
MSER DtBs,
和 但三者相差不大;针对弱光照图片,本文算法对图像亮度的均衡化可有效抑制光照对交通标志
MSER
造成的影响,同时采用 方法分割交通标志,避免了使用颜色阈值分割时,阈值不准确造成的漏检,在光照条件较差(夜晚)的情况下也能有效检测交通标志,故本
MSER DtBs HOG MSER
文算法的查全率大于 、和 。 没有判断图的形状等特有特征,故其平均图片提取时间较
MSER
短。本文算法在 基础上增加了对形状的判断,稍
DtBs HOG
微延长了标志检测时间,但小于 和 算法。3.3 网络训练过程性能分析
CNN
网络训练完成后,绘制出 和本文算法在交通标志训练过程中的识别率和损失曲线。网络识别率随
8
训练次数的变化曲线如图 所示,训练开始后,当训练
10 000 CNN
次数达到 次时, 和本文算法模型的识别率98%
达到 以上,但是本文算法在训练次数更少的情况下
98% 60 000
达到 以上的识别率,当训练次数达到 次时,
CNN
本文算法的识别率较 更高。以上仿真结果表明,在网络训练过程中本文算法可更快达到较高的识别率且其识别效果更好。
CNN图 训练时 和本文算法的准确率比较
CNN
和本文算法网络训练过程损失随训练次数的
9
变化曲线如图 所示:本文算法训练的损失从网络训练
1 100 0.5
开始时即在 以下,且在训练 次后下降至 以下;
CNN 10 000 0.5
在训练 次后网络的损失才下降到 以下,且训练的整体损失较本文算法高。以上结果表明,在网
CNN
络训练过程中,本文算法比 训练收敛更快,可有效缩短训练时间,具有更好的实时性和更高的识别率。
3.4 模型性能分析
利用未经数据增强的训练集图像进行网络训练,根
CNN
据训练模块采用 和本文算法对经平移、旋转和缩
2 CNN
放的测试图像进行识别,计算识别率,如表 所示:网络由于池化层的存在会丢失图像部分空间特征,导致
10%;
在识别任务中表现较为逊色,识别率下降约 本文
CapsNet
算法中的 网络结构未使用池化层,而是使用动态路由聚类进行图像分类,本文算法可获得图像底层空间特征信息且不丢失,使其能够更好地分类交通标志,其识别率基本没有变化,不受图像空间变换的影响。
ROI
为了验证 提取方法对交通标志识别的影响,比
ROI
较加入提取 前、后的识别率。结果表明,在不进行
ROI 93.1%,
图像 提取的情况下,交通标志识别率为 经过
ROI 97.2%,
提取图像 提取操作后,识别率可以达到 使用
ROI
提取方法可以很好地改善交通标志识别效果。
在选择卷积层卷积核大小时,卷积核较大可以获取较多的特征值,但提取图像的参数较多。为测试
CapsNet 5×5
网络卷积层提取底层特征能力,通过设置 、
8×8 9×9 12×12 4
、、 共 种不同大小的卷积核,经过训练后
91.7% 92.4%
计算图像的识别结果,识别率分别为 、 、
93.1% 92.7%, 9×9
和 选择卷积核大小为 的卷积层最适合本文网络结构。
9×9
使用卷积核大小为 的卷积层时本文算法不受
ROI
空间变换的影响,具有较好的识别效果,且加入 提取,减少一些无关特征提取,提高了识别率。
3.5 算法识别率比较
LeNet-5[ AlexNet[ GoogLeNet[ CNN比较经典 11]、 12]、 13]、、
SVM 3 LetNet
和本文算法的识别率。如表 所示: 和
AlexNet
属于轻型卷积网络,结构简单,能够快速完成图像的识别任务,但其网络深度和图像特征的表达能力不
GoogLeNet CNN
足; 和 属于深层的卷积网络,深度特征具有很强非线性表达能力,但其网络需要很长的训练时间;本文算法网络训练时间较短,识别率最高。
ROI
本文采用 提取方法和利用胶囊网络提出了一种基于胶囊神经网络的交通标志识别算法,在一定程度上解决了传统算法在训练过程中的特征丢失、交通标志识别网络鲁棒性差和识别率低等问题。仿真测试结果表明:该算法在预处理和识别图像过程中能较好
ROI,
地检测交通标志所在区域,可有效提取图像 提高弱光条件的查全率,增强鲁棒性;在训练阶段,由于本文算法网络结构简单,具有较快的训练速度,可缩短训
LeNet- 5 AlexNet GoogLeNet
练时间;相较于经典的 、 、 、
CNN SVM
和 算法,本文算法的识别率更优。目前采用的数据集较小,因此下一步工作是在庞大的数据集上
验证网络的识别能力,同时改进胶囊单元间的路由算法,提高识别率。
参考文献
[1] SAADNA Y, BEHLOUL A. An Overview of Traffic Sign Detection and Classification Methods[J]. International Journal of Multimedia Information Retrieval, 2017, 6(3): 193-210. [2] , , .戈侠 于凤芹 陈莹 基于分块自适应融合特征的交通标[J]. , 2017, 53(3): 188-192.志识别 计算机工程与应用[3] , , , . SVM张震 程伟伟 吴磊 等 基于不变矩和 的圆形交通标[J]. , 2017, 31(5):志识别方法研究 电子测量与仪器学报773-779. [4] ZABIHI S J, ZABIHI S M, BEAUCHEMIN S S, et al. Detectionand Recognition of Traffic Signs Inside the Attentional Visual Field of Drivers[C]// Intelligent Vehicles Symposium. IEEE, 2017: 583-588. [5] LUO H, YANG Y, TONG B, et al. Traffic Sign Recognition Using a Multi- Task Convolutional Neural Network[J]. IEEE Transactions on Intelligent Transportation Systems, 2018, 7 (9): 1100-1111. [6] CHAKRABORTY S, UDDIN M N, DEB K. Bangladeshi Road Sign Recognition Based on DtBs Vector and Artificial Neural Network[C]// International Conference on Electrical, Computer and CommunicationEngineering. IEEE, 2017: 599-603. [7] JIANG Y, ZHOU S, JIANG Y, et al. Traffic Sign Recognition Using Ridge Regression and Otsu Method[C]// 2011 IEEE Intelligent Vehicles Symposium (IV). IEEE, 2011: 613-618. [8] , . CNN伍锡如 雪刚刚 基于图像聚类的交通标志 快速识别[J]. , 2019, 14(4): 670-678.算法 智能系统学报[9] , , , . ROI CNN黄娜君 汪慧兰 朱强军 等 基于 和 的交通标志[J]. , 2018, 44(2): 160-164.识别研究 无线电通信技术[10] NATAAJAN S, ANNAMRAJU A K, BARADKAR C S. Traffic Sign Recognition Using Weighted MultiConvolutional Neural Network[J]. IET Intelligent Transport Systems, 2018, 12(10): 1396-1405. [11] , , . LeNet- 5吴阳阳 彭广德 吴相飞 基于 改进的卷积神经[J]. , 2018(7): 127-130.网络图像识别方法 信息与电脑[12] KRIZHEVSKY A, SUTSKEVER I, HINTON G E. Imagenet Classification with Deep Convolutional Neural Networks [C]// Advances in Neural Information Processing Systems. 2012: 1097-1105. [13] AL- QIZWINI M, BARJASTEH I, AL- QASSAB H, et al. Deep Learning Algorithm for Autonomous Driving Using GoogLeNet[C]// 2017 IEEE Intelligent Vehicles Symposium (IV). IEEE, 2017: 89-96.