APP下载

基于改进深度卷积生成对抗网络的路面指示标志识别方法*

2020-08-13程校昭陈志军吴超仲

交通信息与安全 2020年2期
关键词:标志路面道路

程校昭 陈志军 吴超仲 马 枫

(武汉理工大学智能交通系统研究中心 武汉430063)

0 引 言

在现代交通追求更安全和更高效的背景下,道路交通的智能化进程发展迅速,其中智能车相关技术的发展备受关注。常规的车辆和行人等环境目标识别已经得到了比较广泛的研究,但在当前的交通环境下,针对道路场景下的路面交通标志的识别,对于智能车的感知系统同样重要。路面指示标志有助于智能车对道路行车规则的理解,在高度智能化的交通基础设施建设完成之前,准确地识别并理解路面指示标志对于智能车的行车决策具有重要意义[1]。

路面指示标志的识别与车辆、行人、道路指示牌等常见目标的过程相近,核心过程主要分为2 个部分[2]。首先是检测过程,通过检测框定位出视觉图像中的指示标志;其次则是识别过程,通过对指示标志的特征与分类标签的比对分析,判断该指示标志的具体所属类别。通过人工提取图像的纹理和轮廓等特征的方法,并应用朴素贝叶斯、SVM (Support Vector Machine)等算法可进行分类识别[3]。在此类传统方法中,主要是基于各种图像预处理方法[4-5],目标的特征主要是通过人为操作进行选取,特征提取的质量依赖于研究者对目标特征的敏锐观察和高度理解,需要对图像中目标的全局特征和局部特征的联系,以及前景和背景的差异精准捕捉,而特征选取的质量对于识别模型的性能至关重要[6-8],实验结果过于依赖于研究人员前期的特征处理过程,不利于提高目标识别的准确率和泛化。曹鹭萌[9]运用图像处理和机器视觉技术研究出路面交通标志的识别算法,张明恒等[10]和顾晨晨[11]采用Hough变换方法检测和识别路面标志,对路面指示标志的识别展开了研究。但基于图像处理的方法应用效果并不稳定,在智能车系统中很难直接得到准确的结果。

近年来,深度学习迅猛发展,卷积神经网络(convolution neural network, CNN)实用性大大提高,尤其是在图像处理领域表现出了重要的作用[12]。Sermanet[13]、Dan[14]、Ciresan[15]等采用CNN方法,在道路交通标志识别的研究中表现出了卓越的效果。基于深度学习的目标识别方法不断推陈出新,Girshick[16]首次提出了R-CNN,在目标识别领域得到的广泛的应用,后续改进的Fast R-CNN方法[17]去除了冗余的操作,逐步改善模型检测效率低等的问题,最新版的Faster R-CNN 算法[18]在原有基础上增加了候选区域网络,进一步提高了目标识别的准确率,同时极大地降低了检测和分类过程中的耗时。在CNN 的目标识别处理过程中,样本集的建立至关重要,高质量和大批量的样本可以训练得到识别准确率和泛化性能更强的目标识别模型。深度学习网络通过大量的标注样本进行训练,逐步提高学习能力,在实际任务中,可能会无法建立高质量且大批量的样本集,容易出现欠拟合的问题,需要采用正则化技术进行解决,数据增强是其中一种常用且有效的方法。对于图像数据集,通常应用剪切、翻转、平移、缩放等方法对训练集进行扩充。但由于以上方法仅仅是对样本进行视角和尺度的变换,在对CNN模型的效果提升上有着一定的瓶颈。邵壮壮等[19]应用CNN提取目标特征进行识别,任红梅[20]应用Alexnet作为特征提取网络,对常见的交通标志进行识别。由于深度学习网络的不断改进,原始的CNN 和Alexnet 方法的计算资源消耗较大,且识别精度不够高。

生成对抗网络(generative adversarial network,GAN)是2014 年提出的一种生成模型[21],根据随机噪声与真实样本训练生成器和判别器,以模仿出以假乱真的图像,可以实现数据增强。在GAN 基础上,诸多变体的框架和网络得以在各种不同的方向上更好地应用。其中,条件生成式对抗网络(CGAN)、深度卷积生成对抗网络(DCGAN)、循环生成对抗网络(CycleGAN)等基于GAN的结构变体在图像领域得到了广泛的研究和应用,在特定需求的图片生成及图像风格转换等应用上有着良好的效果。

笔者研究了一种基于改进的DCGAN的路面标志识别方法,通过改进的DCGAN 生成以假乱真的图像进行道路表面指示标志的数据增强,分别对原始数据集和扩增后的数据集应用Faster R-CNN 算法进行标志识别,实验结果表明,该方法有效地提高了小样本数据集的识别准确率。

1 标志生成和识别方法

1.1 路面指示标志生成

生成对抗网络通过建立对抗平衡的生成式模型,对样本集的特征分布进行拟合,得到与原始样本极限相似的生成结果。GAN 的网络结构主要包含生成器和判别器,其中生成器的输入是生成的效果图和真实样本集,判别器通过对真假样本的判断得到结果,并反向作用于生成器,使得生成的图像与原始样本图更相近。GAN 通过对生成器和判别器的不断训练,持续对他们的性能进行优化,当训练达到动态平衡时,判别器将难以区分生成器的效果图和真实样本图。

GAN的核心目标公式为

式(1)由生成器和判别器的对数分布函数期望值2 个部分组成。式中:x 表示真实图片,z 为输入G网络的随机噪声;G(z)为G 网络的生成图片。G 网络的目的是D(G(z))尽可能大,即训练要求V(D,G)最小。D 网络的目的是D(x)尽可能大,D(G(z))尽可能小,即训练要求V(D,G)最大。

为了实现式(1)表述的目标,GAN 的算法原理描述如下。

首先,固定生成网络的参数,对判别网络的相关参数进行训练优化。通过二分类的判别器,对真实样本和生成样本的输入作出二分类判断结果,经过不断地迭代训练优化,更新判别器网络参数,得到判别性能更好的判别网络。其后固定判别网络的参数,根据实际输入和判别结果与真实标签的对比分析,根据损失值最小的要求,反馈传递到生成网络进行参数优化。生成器主要是为了学习真实样本的分布规律,经过不断训练,使得生成样本逐渐趋近真实样本,令判别器无法判断输入样本图的真假。对生成器和判别器交替进行优化,并根据实际训练情况调整对应的优化频率,尽可能达到二者的平衡状态。

GAN网络结构见图1。

图1 生成对抗网络结构Fig.1 Structure diagram of GAN

改进的深度卷积生成对抗网络在原始GAN 基础上,结合卷积神经网络进行网络架构的改进。相较于原始的GAN,网络结构有以下特点。

如图2 所示,在生成网络中,通过4 次转置卷积过程,将随机输入的参数转化为样本图像的生成;在判别网络中,取消原网络中的池化层和全连接层,全部采用带步幅的卷积层。

在整体网络中引入了批量归一化(batch normalization)方法,有效地解决了初始化过程中常见的随机差问题,有利于梯度的稳定传播,进而更好地实现模型的收敛。

在激活函数的选用方面,生成网络主要应用ReLU函数,仅有输出层使用Tanh函数,而判别网络中全部采用Leaky ReLU函数。

生成网络和判别网络的损失函数中取消对数的计算,且每次更新判别器的参数之后把它们的绝对值截断到不超过一个固定常数,避免过拟合。

使用SGD算法替代基于动量的优化算法,将学习率设置为0.002。

通过对网络结构的调整和损失函数、优化器以及学习率等关键参数的修改,可以使网络更好地适配于本研究中的具体任务,获得更好的样本生成效果。

图2 深度卷积生成器网络结构Fig.2 Structure diagram of generator with deep convolution

1.2 标志识别方法

Faster R-CNN是R-CNN系列检测框架的最终版,经历了特征提取顺序和候选区域生成方法的改进,检测速度和准确率都得到了极大的提升。算法的目标识别过程主要分为3 个步骤:①在图像中选取候选目标区域;②通过CNN 对候选区域提取特征;③对候选区域进行分析处理,获得目标检测框和分类结果。

由于Faster R-CNN 在目标识别领域的良好表现,在实际研究和工程领域都得到了广泛的应用。Faster R-CNN 检测框架主要由4T 部分组成:特征提取、候选区域生成、感兴趣区域池化以及分类,待检测图像经过卷积网络提取出整个图像的特征图,通过候选区域网络(region proposal network,RPN)从特征图中提取生成感兴趣区域(Region of Interest,ROI),将ROI 与特征图结合得到感兴趣区域的特征图块。经过ROI 池化后,ROI 特征图块转化为固定大小,输入到全连接层中进行分类和定位。Faster R-CNN检测流程见图3。

候选区域网络提取图像中的感兴趣区域,最终通过全连接层分别输出2×k维向量和4×k维向量,对应于k 个锚定框的目标与否及置信度分数和坐标点,确定锚定框的尺度大小和长宽比例。笔者预设了4种尺度(16,32,64,128)和4种比例(1∶1,1.5∶1,2∶1,3∶1),由此形成单个位置有4×4个锚定框,基本上可以涵盖本研究中所涉及的目标,得到更准确的检测结果。对于所有生成的候选区域采用非极大值抑制法(NMS),根据道路样本图中的实际情况,选取10个得分较高的区域作为后续输入。

其中2×k 维向量中的目标分类损失的定义为

式中:i 为候选框的索引值;pi为第i 个候选框是目标类别的概率;qi为标签判断标记,当第i 个候选框与真实标签框的交并比值(IOU)大于0.7 的时候,qi为1,否则为0。

图3 Fast R-CNN流程图Fig.3 Flow chart of Fast R-CNN

对于4×k维向量的坐标回归损失定义为

其中

当 |x |<1 时,f(x)=0.5x2;当 |x |>1 时,f(x)= |x |-0.5。

式中:ti为候选框的坐标向量;ti*为对应的真实框的坐标向量。

本文应用Faster R-CNN 作为道路标志识别方法,为了更好地应用于车载相机实际拍摄的道路环境下的图像,引入迁移学习的方法。迁移学习可以将已学习到的源域模型参数分享给相关的目标域的新任务模型,避免新模型从零开始训练,减小目标域样本的标注工作、整体流程工作量和耗时,实现目标任务中的学习要求。在本文中,由于前期采集和生成的样本是路面指示标志的无背景图,而实际应用过程中会有道路行车环境的背景元素,带有背景的样本集数量有限,难以训练得到预期效果的识别模型。由于在纯粹为路面指示标志和有其他背景的任务中,待识别的目标始终是路面指示标志,具有相同的目标特征,由此可建立基于特征的迁移。

以原始采集和通过DCGAN生成的大量路面标志样本集作为源域,以实际车载相机采集的路面图片数据集作为目标域,将在源域中训练好的模型参数共享给目标域,对在纯粹的路面指示标志数据集上训练的模型进行微调,极大地加快了网络训练的速度,并有效地提高了在实际道路环境中的路面标志识别准确率。本文中的源域和目标域不同,但识别的目标任务相同,且2类样本集均有标签,主要是应用直推式迁移方法,将源域训练的模型中的特征参数迁移至源域模型中,固化目标检测模型的特征且减少了冗余的特征提取过程。

2 实验设计与结果分析

2.1 基础条件设置

本文实验在Ubuntu16.04 系统上基于深度学习框架Caffe 进行,并使用NVIDIA GTX 1050Ti 图形处理器(GPU)加速,缩减模型训练所需的时间。

DCGAN根据其相对于传统GAN的改进方法,保持生成和判别网络的基础架构不变,根据当前实际情况,在实验过程中逐步调整优化,参数更新所参考的小批量梯度下降法的批量大小为16,判别器中Leaky ReLU函数的斜率设置为0.3,通过SGD算法进行优化,其中学习率设置为0.002,并将输入样本和生成图片设置为96 pixel × 96 pixel。

Faster R-CNN提供了不同规模的网络模型,本文根据需求选用其中的VGG模型,网络内部结构改变与识别目标类别数目相关的参数,。对于网络在训练和测试时使用的超参数,根据实际样本中的目标数量和不同类别之间的区分度,将非极大值抑制(NMS)留下的候选区域数量设置为10,最终进行结果显示的置信度设置为0.8,其他设置保持不变,后续实验以此设置为基础进行。

2.2 数据集建立

深度学习网络训练的模型优劣与样本集直接相关,高质量和大数量的数据集对于模型的质量有着极其重要的奠基作用,本文针对DCGAN 和Faster R-CNN 分别建立了用于生成和识别道路表面指示标志的图像数据集。

Cityscapes 数据集包含了市区、乡村、高速公路等多个场景下的车载摄像头拍摄的真实图像数据,可作为本文所需的数据集来源之一,同时通过网络图库资源进行样本收集,选取其中带有直行、左转弯、右转弯3类道路指示标志的图像。

深度卷积生成对抗网络是根据给定的图像样本集生成图像,因此建立目标图像的数据集,用于生成网络的特征提取和判别网络的对比反馈。由于当前还没有道路指示标志的大规模开源数据集,所以需要根据研究所需进行数据集的搜集与制作。

由于所需的目标图像为道路表面指示标志,Cityscapes数据集原始图像中的大部分内容,诸如车辆、行人、建筑物等,不在本文的研究范围之内,而且会对生成网络造成干扰,因此需要对选取的原始样本进行预处理。裁剪存有指示标志的图像块,并全部调整为像素大小为96×96的图像,得到可用作DCGAN输入的样本。原始样本预处理及生成样本见图4。

图4 样本预处理及生成示意图Fig.4 Schematic diagram of sample preprocessing and generation

Faster R-CNN标准数据集为PASCAL VOC,本文按照PASCAL VOC2007数据集的格式构建目标识别的数据集,将数据集和注释的格式完全参照PASCAL VOC2007 数据集,在后续进行实验时可以更好地适配。

为了统一注释格式,应用图像标注方法LabelImg对原始样本图、生成的样本图以及道路场景样本图进行标注,生成的注释标签包含图像名称、目标类别以及目标外接矩形框的坐标和大小。目标识别数据集的具体构成见表1。

表1 目标识别数据集Tab.1 Dataset of target recognition

针对所研究的具体内容,本文设计的数据集有2个特点。

1)预筛选去重。由于道路表面指示标志的特征与其他目标(如车辆、行人等)相比相对简单,不同样本之间的区别更多的在于拍摄角度和路面背景颜色,而按照常规方法搜集的样本和用车载相机采集的样本由于拍摄角度和路面背景变化较少,采集的样本有着非常高的重复率,导致其训练样本集制作相对困难。在Cityscapes 图像数据集中选取原始样本时,由于图像采集过程是在同一段道路上循环进行,对于道路表面指示标志,非重复性的样本量较小。每条道路上拍摄的图像样本均只选取少量具有代表性的样本,避免样本集内部重复率过高。

2)自动标注。由于后期识别需要对样本图像中的指示标志进行标注,手动搜集大量图片并逐一标注所带来的工作量很大,对于个人研究者而言过于耗时耗力。因此,从原始样本图中截取路面指示标志作为DCGAN 的真实样本集,训练深度卷积生成对抗网络达到生成器和判别器的平衡,通过训练完成的生成器生成大量足以以假乱真的标志图。由于生成网络的真实样本集和生成结果图都是以路面指示标志为主体,对生成结果图分析可知,不需要对指示标志图进行逐一标注,可选择其标注区域略小于标志图大小。因为人工标注也是以肉眼观察标志区域,所以可通过肉眼观察判断自动标注的误差与人工标注误差相近,而且自动标注节省了标注大量图像所耗费的时间。

2.3 实验设计

首先分别以直行、左转、右转3类原始样本作为基础样本集,按照比例制作训练集、交叉验证集和测试集,基于Faster R-CNN 进行相应的实验,得到3种指示标志各自独立的以及合并汇总的总共4个识别模型。

然后基于深度卷积生成对抗网络分别对直行、左转、右转3类样本进行训练,通过训练好的生成器分别生成3种样本。选取生成样本中质量符合要求的图像,与基础样本集中的3种样本分别汇总,在确保样本质量的前提下增加样本的数量,并基于Faster R-CNN进行实验,得到扩增样本后的识别模型。

以相同的测试集对原始识别模型和样本增强后的识别模型进行测评,分别对3 类目标各自的识别率和综合识别率进行对比分析。并基于上述的指示标志识别模型进行迁移学习,以车载相机拍摄图像和公共数据集作为测试样本集,加入道路环境的负背景,使得Faster R-CNN训练的识别模型能直接应用于车载相机的道路表面指示标志识别。

2.4 实验结果分析

对于目标识别模型质量的评价,通常是计算模型在测试集上的目标识别平均准确率(average precision,AP)和所有类别目标的总体平均准确率的均值(mean average precision, mAP)。AP 是衡量检测算法和评价目标检测模型最直观的标准,适用于分析单目标识别模型的测试结果。mAP 是所有类别目标识别率的均值,适用于多目标识别的综合检测性能的衡量。

基于各类识别模型的实验结果见表2,对比分析在样本扩增前后的3 种目标和综合的测试AP 和mAP值,图5展示了其中部分测试结果的可视化图。

表2 测试结果Tab.2 Result in test dataset

图5 指示标志测试示例图Fig.5 Example images of indicator test

通过表2中的原始样本训练模型和加入生成样本后的训练模型识别结果对比分析,3 类目标的AP分别提高了15.9%,16.9%和20.3%,mAP 提高了17.1%,检测速率基本相近,漏检率和错检率都有一定程度的减小,表明基于本文的生成样本的数据增强方法可以有效提高样本较少目标的识别准确率。

为了验证本文方法的性能和有效性,采用同样比较常用的其他典型方法,包括SSD (single shot detector)和YOLO v3,在相同的测试样本集中,与本文方法的识别结果进行对比分析,见表3。

表3 对比算法测试结果Tab.3 Test results of comparison algorithms

相对于SSD 和YOLO v3 种方法,本文所应用的方法在3 类目标上的识别平均精度都明显更高,漏检率和错检率都明显更低,证明本文方法对于路面指示标志识别具有更优的性能。

如图5 中展示的部分测试结果,道路指示标志为白色,其中生成样本存在色差,但识别结果与标志颜色并无明显关联,影响识别结果的因素主要为标志的像素灰度与周边背景的对比度。通过迁移学习后的道路场景下的识别模型进行标志识别实验,图6展示了部分测试结果的可视化图。

通过对道路环境下的路面指示标志识别结果的分析,光照条件对识别结果影响较为明显,在隧道等光线条件较差的环境下,对指示标志的检测框存在较大偏移,且会造成漏检的结果。

将拍摄的车辆视角的道路视频按帧数提取,并选取60 张不同场景下的道路图像作为自采样本测试集,从Cityscapes 数据集中选取60 张不同分布的图像作为公共数据集的测试样本,将原始样本集和基于DCGAN 方法生成的增广样本、基于WGAN-GP方法生成的增广样本以及本文生成方法所得到的扩增样本分别作为训练样本集,识别结果见表4。

表4 真实道路环境样本图测试结果Tab.4 Test results of real road environment sample images

通过表4 的结果对比分析,在对原始少量的样本分别应用DCGAN,WGAN-GP 和本文的方法进行样本生成得到增广样本集后,常规道路环境下的道路表面指示标志识别准确率有着明显的提升。其中,应用本文的生成方法得到的扩增样本,实验的识别准确率改善效果最好,与原始样本相比,本文方法的识别平均准确率在自采的测试集分别提高了和公共测试集上分别提高了23%和13%,对于多类目标的平均识别精度也有显著的提高,表明本文提出的方法可以有效提高车载相机的指示标志的识别准确率。

3 结 论

针对道路表面指示标志样本量较少,以及由此引起的识别准确率较低的问题,提出基于深度卷积生成对抗网络的样本增强方法,应用Faster R-CNN算法,分别在局部区域的指示标志和道路环境下图像的数据集上进行训练和测试。结果表明:相比原始的小样本模型,本文的样本增强方法有效地提高了道路表面指示标志的识别准确率,通过迁移学习,可适用于常规的车载相机采集的图像中指示标志的识别。在智能车上进行实车检测,对于本文中所学习到的3 类路面指示标志可获得准确的识别结果,后续将进一步与其他识别模型融合,增加标志类型,并提高目标识别的实时性。

由于生成对抗网络系列一直在不断改进,持续优化的生成结果在更多的场景下达到了以假乱真的效果,生成对抗网络将得到更多的应用,对于解决小样本的样本制作和数据增强的问题有着极其重要的作用。

猜你喜欢

标志路面道路
多功能标志杆的使用
坚持中国道路——方向决定道路,道路决定命运
道听途说
我们的道路更宽广
用艺术修补路面
认标志
首都的标志是只熊
医改进入新阶段的重要标志
一次骑行带来的感悟
一款透水路面养护车