王大方,杜京东,曹 江,张 梅,赵 刚
(1. 哈尔滨工业大学(威海)汽车工程学院,威海 264209;2. 32184部队,北京 100072)
深度学习算法在自动驾驶感知算法中应用广泛,如立体视觉、目标检测、目标跟踪、语义分割等。这些算法需要在大量可靠的数据上进行有效的训练和测试。因此,自动驾驶数据集应运而生。当前较为典型的数据集有KITTI、BDD100K、City Scapes等。以BDD100K 为例,该数据集包含了10万段高清视频,约10 万张图片,覆盖了晴天、多云等6 种天气以及黎明/黄昏、白天、夜晚3 个时段。虽然当前有的数据集已经开始在不同天气和光照条件下去采集数据,但由于采集时间和条件的限制,现有的数据集绝大部分仍然是在白天相对晴朗的状态下拍摄的。夜晚时段以及各种气候、天气状态下的数据集的丰富性仍然十分有限。为了充分验证算法的鲁棒性,往往想得到各种环境下的数据去测试,但是统一路段往往很难得到各种环境下的数据,所以有研究提出想通过增强图像的方式去扩展数据。Tian等就采用了根据驾驶条件(如雨、雾、光照条件等)的变化自动生成测试用例,但是采用的仅仅是在图像上加了一层贴图,严重缺乏真实性。
据此,本文中采用图像风格迁移网络增强现有的自动驾驶数据集,这不仅可以从天气、时段等方面丰富数据集,还可以保持图像的真实感。与此同时,经过增强转换后的数据集,其内容特征保持不变,可以直接使用原有的标注数据,从而节省标注数据时消耗的大量时间和劳动成本。
图像风格迁移即提取某张图像的风格并将其融入到另一张图像中,并且不改变图像的内容特征。传统非参数的图像风格迁移方法主要基于物理模型的绘制和纹理的合成,但这类方法只能提取图像的底层特征,在处理颜色和纹理较复杂的图像时,生成效果差,且运算速度缓慢,不能适应实际需求。随着深度学习的兴起,Gatys 等创造性地提出了一种基于卷积神经网络的图像风格迁移,并采用了Gram 矩阵表征风格损失。使用预训练后的VGG 模型作为特征提取器提取图像的内容特征表示和风格特征表示,并以此建立损失函数优化迭代白噪声图像,使其风格特征和内容特征不断向既定的风格图片和内容图片靠拢,实现风格迁移。Justin 等在Gatys 研究的基础上提出了基于模型迭代的方法,亦称作快速风格迁移。批量归一化(batch normalization,BN)和实例归一化层(instance normalization,IN)给风格迁移研究拓展了新的思路,Li 等采用BN 得到的统计量代替Gram 矩阵去表征风格损失。文献[10]中认为IN 本身就具有描述特征图不同通道之间相关性的能力,因此用IN 代替了BN。受IN 的启发,文献[11]中提出了自适应实例归一化层(adaptive instance normalization,AdaIN),自适应地计算归一化层的仿射参数,实现了实时的任意风格转换。
2013 年变分自动编码器和2014 年生成对抗网络两种模型的提出,给图像风格迁移提供了新的思路。Isola 等提出了采用条件生成对抗网络来解决图像风格迁移任务,但要求大量的成对带标签的训练数据。与此同时,应用于自然语言处理领域的对偶学习的思想被应用到了GAN 网络中,从而可以用无监督的方式训练GAN 网络,如CycleGAN、DiscoGAN和 DualGAN等。CycleGAN 中首次提出了循环一致性损失函数,其基本思想是对偶学习生成重构图像,而输入图像自然成为该重构图像的标签,从而可以计算出一个损失替代Gatys 等提出的内容损失。循环一致性约束已经在许多研究中证明了它在风格迁移任务中的高效性。Liu等提出的UNIT 风格迁移框架引入了潜在共享空间概念,并结合了变自分编码器和生成式对抗网络,进一步提高了无监督风格迁移的效果。AugGAN在CycleGAN 的基础上加入了语义分割网络,该网络在解码器的首端和尾端采用了不同的权重共享策略,提升了生成图片在目标检测算法上的训练效果。
基于卷积神经网络的风格迁移方法受到了预训练模型好坏的限制,对于风格特别明显的转换任务,如真实图片到艺术画的转换具有出色的表现但对于许多其他的转换任务(如白天到黑夜),应用效果较差。而基于生成式对抗网络的方法不仅可以无监督的生成图像,还可以同时适用于多种迁移形式,泛化性能好,因此本文中基于编码-解码结构的生成式对抗网络对风格迁移网络进行了优化和改善,提高其在自动驾驶数据集上的应用效果。
本文中基于对偶学习的思想,引入基于编码-解码架构的生成式对抗网络结构。网络主要包含3 部分:生成器网络、鉴别器网络和语义分割网络。生成网络用于生成风格化后的假图像。鉴别器网络用于区分真实图像和生成的虚假图像。语义分割网络用于约束生成器的行为,使得高维隐层特征具备表征图像语义信息的能力。总体网络结构如图1所示。
图1 总体结构
如图2 所示,生成器网络由基于自编码器结构的编码器和解码器组成。
图2 生成器结构
2.1.1 编码-解码结构优化
风格迁移任务的实质是保留原图像的内容特征,并添加新的风格。本文中假设在自编码器中,编码器用于提取图像的内容特征,解码器基于内容特征对图像进行风格化生成。不同天气和光照条件下的自动驾驶数据集具备类似的内容特征,因此与CycleGAN、UNIT以及AugGAN等采用循环一致性约束来实现风格迁移的网络相比,减少了一个编码器,采用了单一编码器和双解码器结构,显然这可大幅降低网络的参数量和计算量。
如图1 所示,首先,来自两个图像域的图像和经过同一个编码器得到隐层特征,该隐层特征经过解码器和分别生成域1和域2中的图像,从而实现图像风格的迁移。图2 展示了生成器模型的详细网络结构,主要由降采样模块、残差模块和上采样模块组成。在降采样模块中,采用了步幅等于2 的卷积层代替池化层,使得降采样参数可学,从而减少信息的丢失问题。在残差模块中,为残差模块的堆叠数量,可作为超参数进行调节。在上采样模块中,采用了双线性插值加卷积代替了转置卷积,从而减少了棋盘格效应。对两种上采样方式进行实验,得到了不同的效果,如图3所示。
图3 上采样方式对比
2.1.2 语义分割子模块
为了进一步保持风格化后的图像内容特征(如车辆、行人等)不会模糊和失真,本文中借鉴AugGAN,加入了图像语义分割网络用于约束生成器的行为,保持输入图片的语义特征。与AugGAN 不同的是,本文中仅加入了一个语义分割解码模块。两个风格解码模块共享该模块。该网络如图2 所示,其与风格解码模块的区别在于最后的输出层的深度由语义分割的类别数决定。
2.1.3 跳跃连接与残差结构
该网络借鉴了U-Net网络中的跳跃连接结构。将降采样过程中得到的3 个特征图与上采样时得到的3 个特征图分别在通道维度上进行拼接然后再进行卷积,从而避免因降采样导致的信息不可逆丢失的问题,帮助生成细节信息更丰富的图像。
随着网络的加深,训练集损失逐渐下降,然后趋于饱和,这时继续增加深度会导致损失的反向增大,称之为退化问题。这一问题的原因是卷积层的简单堆叠难以拟合恒等映射。本文中在降采样后采用了残差块堆叠的方式加深网络结构,从而提高网络的拟合性能。单个残差块的结构如图4 所示。表示输入,()表示经过两次卷积后的特征输出。()表示()和输入相加得到的最终输出。由此而来,当需要学习恒等映射时,仅需要使得() = 0,这比直接学习恒等映射要更容易,可以任意地加深网络的深度而不必担心退化问题导致的网络性能的下降。
图4 残差结构
本文中鉴别器网络结构借鉴了PatchGAN 的思路,取消了全连接层,可以大幅减少网络参数,提升训练效率。
对于PatchGAN 而言,一个较为重要的参数即Patch Size。Patch Size 越小,每一块Patch 所对应的像素区域就越小。前人的研究中,Patch Size 越小,生成的图像的颜色信息越丰富。Patch Size 越大,生成的图像越锐利,细节信息越丰富。在Patch Size达到70时,其生成质量最好。
本文中为了兼顾色彩信息和局部细节信息的丰富,如图5 所示,引入了多尺度鉴别器。其主要思想是将输入图像通过降采样分别缩小2倍和4倍,然后3 种不同尺度的图像分别送入鉴别器得到3 个输出矩阵,再对经过3 个矩阵运算得到的损失求均值从而计算出最终的损失。经计算,本文中3 种尺度鉴别 器 的Patch Size 分 别 为46×46、92×92 以 及194×194。通过均衡不同的Patch Size,从而帮助生成器生成真实程度更高、更逼真的图像。
图5 PatchGAN与多尺度鉴别器
2.3.1 对抗损失
本网络模型的目标是学习两个图像域之间相互的映射函数。如图1 所示,该网络含有两组生成式对抗网络:GAN={,}和GAN={,}。在GAN中,的目标是尽可能地区分来自于图像域1中的真实样本和生成的虚假样本,即()。而的目标在于使得生成的图像尽可能地接近图像域1 中的图像。生成的图像即在迁移阶段,由图像域2 中的样本经过生成器网络后迁移得到的,即
同理可得,GAN的目标函数为
2.3.2 循环一致性约束和自重建损失
2.3.3 语义损失
由于自动驾驶数据集的语义特征十分重要,因此如何保证迁移后的图像不会丢失语义信息是尤为重要的。本文中引入了语义特征损失作为正则化项进一步约束生成器的行为。由图1 所示,有语义分割子网络。生成的图像即在迁移阶段,由域1 和域2 中的图像生成的语义图。本文中采用交叉熵来衡量预测语义图与标签图^的差异。该目标函数如式(5)所示,其中表示交叉熵。
由于当前各类真实的图像数据集很少将各类天气以及光照条件下的图像进行分类,因此本文中选用了SYNTHIA这一虚拟数据集。SYNTHIA 由一组从虚拟仿真环境中采集的视频帧组成,并带有13个类别的精确像素级语义注释。采集场景有欧式小镇、现代城市、高速公路和绿地等。该数据集覆盖了所有季节,涵括多种天气和光照条件。本实验进行白天到夜晚、春季到冬季的风格迁移。各类图片采集自5 个驾驶场景序列,其中春季白天图像共约26 232 张,夜晚图像共约23 077 张,冬季图像共约19 039张。
3.2.1 实验环境
让她如此纠结的情事,她希望那些纠结能像发丝一样被剪去。半个小时后,她就变身成一个美貌的小男孩。看着镜中的自己,她惊奇地发现,难过好像真的就那么少了一些。
由于该网络包含一对生成式对抗网络,需要完成语义分割和风格迁移两个任务,因此对于实验条件有很高的要求。本文中训练网络模型使用的实验平台的硬件配置如表1 所示。采用主流深度学习框架Pytorch 构建网络模型,使用并行计算架构CUDA和GPU加速库cudnn进行高性能并行计算。
表1 实验平台配置
3.2.2 超参设置
本文的超参数设置主要有Batch Size、学习率、优化器、损失函数权重和残差模块数量等。
以训练集中所有数据参与训练记为1 个全周期(epoch),设置学习率为0.000 2。采用当前主流的优化算法Adam 算法进行梯度更新,beta1 取0.5,beta2取0.999。
采用mini-Batch 的训练方式可以在一个epoch中多次更新参数,加速收敛,提高计算效率。但在生成任务中,Batch Size 的选取并非越大越好,过大可能会陷入局部最优,导致生成的图像丢失特有的细节特征。实验发现对于本文的风格迁移网络,输入图像尺寸的优先级要大于Batch Size。基于上述考虑和内存的限制,本文中输入图像尺寸设置为513×304,而Batch Size设置为1。
在残差模块数量上,编码器的残差模块和解码器的残差模块的比例设置为10∶1。这也代表着训练时,3 个解码器所共享的编码模块占的比重更大,网络的参数量将明显降低。
表2~表4 分别展示了编码器、解码器和鉴别器详细的结构参数。其中Conv代表卷积层,IN 代表实例归一化层,Resblock 为残差模块。插值算法为双线性插值。拼接代表在通道维度上对特征图进行拼接。语义解码和风格解码仅最后一层有所不同,不同之处由表3加粗字体表示。
表2 编码器
表3 解码器
表4 鉴别器
在损失函数权重方面,由于循环一致性约束已经在诸多研究中证明了其在图像风格迁移任务中的高效性,因此本文中设置该损失的权重为10,自编码器的重建损失权重为5,生成式对抗网络的损失权重为1,语义特征损失可设置的稍低,避免对生成器造成过多的影响,本实验设置为1。总的损失函数为
归一化能够有效加快模型收敛。为了避免批量归一化(batch normalization)弱化单一样本本身特有的细节信息,且实例归一化(instance normalization)在风格迁移任务中相比于批量归一化更具有表征图像风格特征的能力,因此均采用了实例归一化层。
3.2.3 网络训练及预测
本实验对晴天转黑夜、晴天转雪天两个风格迁移任务进行训练,迭代训练了10 万次。其中,晴天转黑夜任务采用了SYNTHIA 数据集中序列2、4 和6中共9 532 张图像,晴天转雪天任务采用了序列4、5和6中共10 540张图像进行训练。
使用训练好的模型对数据进行风格化生成,得到的夜晚效果图如图6 所示,雪天效果图如图7 所示。其中,前3 行为未经训练的序列1 中的图像,后2 行为序列2-6 中的图像。可见,经由单编码器-双解码器模型生成的图像保留了车辆、行人、建筑等多种语义特征,并对各种风格特征进行了良好的转换与生成。
图6 白天转夜晚效果图
图7 晴天转雪天效果图
目前,如何评价生成式对抗网络生成的图像质量仍是一个具有挑战的事情。特别是对于无监督的风格迁移网络来说,尚未有一个统一的标准去评价生成的好坏。Isola 等认为,如果生成的图片质量越好,则在真实图片上训练好的分类器用于分类虚假图片时,其表现也应当越好。因此其采用了FCN-8s语义分割网络计算像素准确率作为评价指标。本文中采用了性能表现更优的Deeplabv3+这一语义分割网络用于评价图像质量,并采用像素准确率、交并比等作为评价指标。
基于Deeplabv3+网络进行语义分割任务的训练,网络骨架设为Xception。训练集为SYNTHIA 数据集中的序列2、序列4 和序列6 中的夜晚数据共9 532 张。测试集为序列1 中前视摄像头的夜晚数据。共训练100 个epoch。将测试集注入训练好的模型,计算得到评价基准指标,即表5 中Ground Truth所示。
为了说明本文中提出的风格迁移网络的优越性,复现了AugGAN 和UNIT 与本网络做对比。首先,采用相同的训练集同样训练10 万次。之后,采用SYNTHIA 序列1 中晴天数据作为测试集得到1 189 张虚拟夜晚数据注入Deeplabv3+评价网络,得到的结果如表5 所示。可见,本文中提出的网络在所有评价指标中均得到了最高的表现。3 种网络的效果对比图如图8 所示,主观上本文网络生成的图像更接近真实图像,这与客观指标所体现的相一致。
图8 不同网络效果对比
表5 不同风格迁移网络对比
为验证加入语义损失后的作用,将语义损失权重设置为0,训练集以及其余超参数设置不变,并训练到相同的次数,同样采用序列1 中的数据作为测试集。实验结果如表6所示。可见,这4类指标除了平均交并比略有下降以外均有所上升。这证明加入语义损失后将会对生成结果产生积极的作用。
表6 实验结果
根据自动驾驶场景数据的特点,本文中优化了风格迁移网络的网络结构。
(1)采用单一编码器和双解码器结构,并辅助以多尺度鉴别器、跳跃连接、实例归一化等手段。在减少参数量的同时,提高了图像的生成质量。其中平均交并比提升最显著,相比AugGAN 和UNIT 分别提升了2.50%和4.41%。
(2)将语义解码模块和风格解码模块并联耦合,提供语义损失正则化项约束图像生成网络,使频权交并比提升了1.16%。
实验结果表明,本文中提出的风格迁移网络可有效增强自动驾驶图像数据,为当前自动驾驶数据在异常天气、夜晚时段丰富性不足这一问题提供了新的解决思路。不过,并联语义分割模块仅起到了较小的积极作用,今后将继续研究风格迁移网络和语义分割网络的耦合方式,进一步提高生成图像的质量。