基于生成对抗网络改进的更快速区域卷积神经网络交通标志检测
2020-07-22高忠文于立国
高忠文 于立国
(哈尔滨理工大学,哈尔滨 150080)
主题词:交通标志检测 更快速区域卷积神经网络 生成对抗网络 超分辨重建
1 前言
在实际道路环境中,检测远距离标志面临检测目标小、分辨率低和交通标志极易受到恶劣天气影响的问题。如今,基于卷积神经网络的目标检测如YOLO(You Only Look Once)[1]、单次多框检测器(Single Shot multi-box Detector,SSD)[2]、更快速区域卷积神经网络(Faster Regions with Convolutional Neural Network,Faster R-CNN)[3]等主要检测框架被广泛应用,但小目标的交通标志检测比普通目标检测面临更大挑战。
当前,处理小目标检测任务的方法大致分为2 类。一是专注于开发神经网络变体,如:Bell等人[4]在快速区域卷积神经网络(Fast Regions with Convolutional Neural Network,Fast R-CNN)[5]的背景下提出了小目标的检测方法,其考虑了感受野、对象大小和检测性能之间的关系,对不同尺度的抽象特征进行提取;Eggert等人[6]提出一种改进的Faster R-CNN 检测方法,提出了精确选择锚点的标准,并使用多尺度区域推荐网络和多尺度分类网络对小目标进行检测。上述研究通过改变网络来提取多尺度的低级特征而增加特征维度,但是小目标的低级多尺度特征不能保证所构造的特征检测有效。二是通过提升输入图像的分辨率增加小目标的特征信息。Xu等人[7]通过双线性插值法对图像进行上采样操作,但基于插值的算法较为简单,图像容易模糊而且有锯齿边缘;Chen等人[8]通过增加输入图像的数量提高小目标的分辨率,但这种方法的数据输入量可能不足,还会在增加输入数据时大幅增加训练时间。因此,单独运用某一类方法不能很好地解决问题。
本文针对远距离交通标志尺寸特征小、分辨率低而难以检测的问题,提出基于生成对抗网络(Generative Adversarial Network,GAN)[9]与改进的Faster R-CNN 检测器相结合的模型。首先通过改进Faster R-CNN 的锚点获得精确的小目标交通标志候选区,然后通过生成对抗网络为小目标生成超分辨形式,改进以超分辨率生成对抗网络(Super-Resolution Generative Adversarial Network,SRGAN)[10]为基础的网络结构,并在判别器网络中增加分类与回归分支,以细化边界框,进一步促进生成网络产生更精细的图像。
2 改进的Faster R-CNN
当前,对象检测一般包含2 个阶段,即从图像中识别感兴趣区域(Region Of Interest,ROI)和更仔细地检查潜在的对象位置。Faster R-CNN 是一种端到端的目标检测框架,通过一系列的卷积学习提取图像的特征,并映射构成对象候选区域阶段和分类阶段的基础。区域建议网络(Region Proposal Network,RPN)以任意大小的图像为输入,输出一系列的候选区域矩型框集合,但是直接将Faster R-CNN 基础框架模型应用于小目标检测任务可能会造成漏检。区域建议网络中的锚点数量能够直接影响候选区域的生成,为了增强网络对于小尺度目标的检测水平,在改进Faster R-CNN 检测小目标时,可以选择适合大小与数量的锚点。Faster R-CNN 默认的锚点是通过在conv5上构建步长为1的3×3滑动窗口上输入图像取得的,同一个中心分别取3个尺度,3个比例共取9 个锚点。由于区域建议网络设置的锚点参数无法识别区域内较小的目标,所以在原有参数的基础上,加入32×32和64×64两组比初始设置更小的锚点,使得网络能够检测到更小的目标。通过对增加到15个锚点的RPN 进行训练,尺度大小为32×32、64×64、128×128、256×256、512×512,3个纵横比分别为1∶1、1∶2、2∶1。感兴趣区域池化层将RPN所标记的感兴趣区域坐标投影到特征图上,获取ROI 图像送入生成对抗网络进一步处理。
本文提出的网络架构如图1 所示,该架构易于构建,整体网络结构主要包括Faster R-CNN 和GAN 两部分,Faster R-CNN 检测器用于初始检测定位,为GAN提供感兴趣区域。GAN 由生成器和判别器构成,检测到的低分辨率小目标经GAN的超分辨网络重建为具有高分辨率的大目标。
图1 网络架构
3 生成对抗网络原理
生成式对抗网络是一种强大的无监督学习模型,无需广泛注释训练数据。GAN在图像生成、图像编辑、图像标注、样式转移、图像超分辨等方面取得了丰富的成果[11],其基本结构如图2所示。
图2 GAN的基本结构
GAN 由生成器G和判别器D构成,它们相互竞争,在训练过程中交替优化生成器与判别器。训练生成器G产生样本欺骗判别器D,同时训练判别器D将真实图像与生成器生成的图像分开。G和D之间进行最大最小值博弈,使生成样本无限接近真实样本,目标函数为:
式中,LGAN(G,D)为GAN的损失函数;E为数学期望值;pdate与pz分别为真实数据分布和随机噪声分布;z为采样于输入样本的随机噪声;x为真实数据采样;D(x)为x通过判别网络判断为真实样本的概率;G(z)为生成器通过噪声z生成的样本;D(G(z))为生成样本经由判别器判断为真实样本的概率;θ和ω分别为D和G的参数。
3.1 基于生成对抗网络的小目标超分辨
本文将生成式对抗网络的生成图像功能应用于小目标图像的超分辨率图像重建工作。SRGAN在图像超分辨方面已经取得了不错的成果,但其对小目标生成的超分辨率图像模糊,缺乏细节。因此,本文提出改进SRGAN以增强小目标检测能力,优化生成器Gω、判别器Dθ,增加分类与回归损失函数,更好地提升重建的超分辨率图像的清晰度,目标函数为:
式中,ILR为具有低分辨率的小目标;IHR为具有高分辨率的大目标;Ptrain、PG分别为高分辨率图像数据分布与生成图像数据分布。
3.1.1 生成器网络
本文的生成网络以低分辨率图像为输入,而不是随机噪声,输出的是超分辨图像。本文采用深度CNN 架构,如图3 所示,生成器首先通过去卷积层对ROI 图像的低分辨率目标进行上采样,生成器含有2个上采样去卷积(De-Conv)层,然后执行卷积以产生相应的清晰图像。为了进一步增加非线性特征,本文将原生成网络中的残差块[12]由16 个扩展为24 个,从而改进生成器生成超分辨图像。残差块内使用2个卷积(Conv)层,每层卷积核大小为3×3,拥有64 个特征通道。此外,还有归一化(Batch Normalization,BN)层和修正线性单元(Rectified Linear Unit,ReLU)激活函数。生成网络输出的超分辨图像更容易使判别器判别并执行小目标的检测。
图3 生成器网络
3.1.2 判别器网络
本文采用VGG19 作为判别器的网络,判别器的结构由卷积层、参数化修正线性单元(Leaky Rectified Linear Unit,Leaky ReLU)激活层、归一化层构成。使用平均池化层代替conv5的最大池化层,平均池化层后增加3个平行的全连接层:第1个分支的全连接层输出的是输入为真实图像的概率;第2个分支输出对象类别的概率;第3个全连接层分支输出边界框回归偏移。判别器网络如图4所示。
图4 判别器网络
3.2 损失函数
GAN 通过2 个高感知的对立网络竞争创建出逼真的图像,本文采用像素损失与对抗损失来优化生成器的同时,对判别器网络增加分类损失与回归损失,促使生成的小目标图像产生更精细的细节,同时便于检测。本文的损失函数为:
式中,LMSE、Ladv、Lcls、Lreg分别为逐像素均方误差损失、对抗损失、分类损失、回归损失。
逐像素损失就是像素间的欧氏距离,它能够有效地度量2 幅图像的相似性,通过最小化逐像素均方差损失,使得生成器生成的超分辨图像与原图像更接近,逐像素的均方误差(Mean Squared Error,MSE)损失为:
式中,N为输入的样本量。
对抗损失促使网络产生更好的高频细节,促使生成器网络为小对象产生类似于大对象的超分辨表示,以欺骗判别器网络,对抗损失为:
回归损失不但使检测器选取的候选目标位置更准确,同时促使生成器对小目标生成更清晰的细节,回归损失为:
为了实现对象检测的任务并使生成的图像更容易分类,本文引入分类损失,低分辨图像为,高分辨率图像为,{ui,i=1,2,…,N}代表对应的图像类别标签,分类损失为:
4 试验验证
4.1 数据集及参数设定
本文使用中国交通标志数据集(Chinese Traffic Sign Datasets,CTSD)进行试验,在CTSD 中选取高分辨率目标图片1 000张,并对选取的图像进行下采样成为32像素×32像素的低分辨率图像,用于训练生成器与判别器。因为数据集中小目标的比例很高,所以根据CTSD内目标的位置划分2个子集,其中包含1 000张小目标子集与1 000张中大型目标子集作为测试集。计算机硬件采用CPU i7 和NVIDIA GTX1060 GPU,在TensorFlow框架下进行试验。
4.2 试验细节
本文的Faster R-CNN 检测器首先在ImageNet 中进行预训练。在训练期间,使用随机梯度下降(Stochastic Gradient Descent,SGD)优化器训练整个网络,设置初始学习率为0.01,学习衰减率为0.1,衰减步长为50 000 且以速率0.1 倍的方式递减,在80 000 次迭代后终止训练。首先,通过本文训练的生成对抗网络模型与SRGAN 在生成图像清晰度效果上进行对比,然后将本文提出的方法与使用Faster R-CNN 的检测效果进行比较。
4.3 结果比较分析
图5所示为本文的超分辨网络与SRGAN方法生成的超分辨图像对比示例。由图5可知,相较于SRGAN,本文生成的交通标志图像更加清晰。
图5 不同算法的图像超分辨示例
为了证明本文方法对于小目标检测的有效性,将其与Faster R-CNN 检测器在交通标志数据不同尺寸的子集上进行比较,表1所示为2种方法在检测中召回率与准确率的比较结果。从表1中可以看出,对于小目标尺寸子集,此方法得到了很大的改进。
表1 本文方法与Faster R-CNN在CTSD中的检测性能%
通过准确率与召回率曲线对数据集中不同大小目标的检测性能进行比较,结果如图6所示。在中大型数据集中,两者的检测性能没有很大差异,但对于小目标集的检测,可以明显看出本文改进的方法在检测性能上强于单独使用Faster R-CNN。
图6 验证集测试结果
为了进一步可视化本文方法的检测效果,在CTSD中随机抽取具有小目标的交通标志图,低分辨率的小目标经过GAN超分辨的效果如图7所示。综上所述,本文对于小目标检测具有极大的优势。
图7 大目标与小目标检测结果
5 结束语
本文针对小目标交通标志检测过程中区域候选阶段定位及分辨率低的问题,将GAN 模型的超分辨率引入Faster R-CNN 中,首先根据区域候选阶段调整锚点数量,然后通过对生成判别网络优化调整,提出在判别器中增加分类回归与边界回归损失函数,促使小目标更精细定位及生成更清晰的图像,最终用该算法在CTSD数据集上进行了验证,结果表明,该方法能够提高小目标的检测性能。
虽然本试验仅通过交通标志数据集测试,但是提出的模型对于不同类别的小目标具有很强的泛化能力,同时,此方法也造成了训练过程中的复杂性,在检测中得到了一些错误的结果,这表明此方法在改善小目标检测性能方面仍然有很大的空间,需要在以后的工作中进一步提高。