基于循环一致性对抗网络的数码迷彩伪装生成方法

2020-04-09 14:49杨春明赵旭剑
计算机应用 2020年2期
关键词:数码卷积损失

滕 旭,张 晖,杨春明,赵旭剑,李 波

(1.西南科技大学计算机科学与技术学院,四川绵阳621010;2.西南科技大学理学院,四川绵阳621010)

0 引言

迷彩伪装是现代军队最常用的军事伪装技术之一,通过技术手段提取目标的背景颜色、纹理图案等特征,利用迷彩伪装实现对己方设施的保护。然而,随着光纤、激光、卫星等先进侦测手段的大范围使用,传统迷彩由于不同斑块之间边缘平滑、颜色对比鲜明等特点逐渐不能满足现代侦测手段下对伪装的需要[1]。由传统迷彩发展而来的数码迷彩,利用像素点阵的视觉原理,将斑块“马赛克”化,使伪装目标的边界模糊、破碎,能够更好地融入背景之中,大大增强了伪装效果。数码迷彩伪装如图1所示。

由于数码迷彩在军事上的重要性,相关研究工作及算法具有一定的保密性,目前各国都没有公布其具体使用的迷彩生成算法。绝大多数数码迷彩生成算法都由三部分组成:提取背景图片主色,将背景图片斑块化和生成数码迷彩。传统方法着重于单一背景的数码迷彩生成,每一张迷彩都根据其对应的背景图像生成,无法根据自然环境的变化而实时生成数码迷彩。因此,本文提出了一种根据背景环境实时生成数码迷彩的方法,利用图像翻译[2]的原理,基于循环一致性生成对抗网络(Cycleconsistent Generative Adversarial Network,CycleGAN)[3]自动学习到背景纹理与数码迷彩之间的映射关系,利用多张背景图像实时生成符合背景的数码迷彩。

图1 数码迷彩及其伪装效果Fig.1 Digital camouflage and its camouflage effect

1 相关工作

自从数码迷彩被提出以来,国内外学者对如何利用计算机生成数码迷彩做了大量研究。秦雷等[4]根据空间混色原理,结合欧氏距离提出了一种数码斑点概率分布模型来量化数码迷彩单元的分布;喻钧等[5]根据目标背景图像,利用K 均值算法对颜色灰度直方图聚类提取背景主色来生成数码迷彩;贾其等[6]使用马尔可夫随机场和金字塔模型来构建数码迷彩设计体系,初步实现了数码迷彩设计的自动化;徐英[7]利用HSI 颜色模型描述背景颜色特性,通过特殊量化方式对背景的颜色直方图进行量化,使用阈值方法选取背景主色,进行非均匀化操作并完成数码迷彩设计;Hu 等[8]使用人类视觉感知和空间颜色混合原理建立HSV 颜色模型,量化背景颜色,选择背景的主色作为伪装颜色,通过确定单元的尺寸来生成数字迷彩伪装;Xue 等[9]提出一种点模板分布算法,逐步生成伪装纹理。尽管这些算法在单一背景的迷彩生成上取得了成功,但是在面对复杂背景时,这些算法无法根据多幅图像直接生成符合背景的数码迷彩,仍需要重新进行采样分析,降低了进行伪装的效率。

Gatys 等[10]基于VGG-19[11]提出的神经风格迁移模型成功实现了两个不同图像域的风格迁移。受他们工作的启发,本文提出采用CycleGAN 实时生成数码迷彩。就笔者目前查询所知,暂时还没有相关工作采用深度学习技术来实时生成数码迷彩。

2 模型与算法

2.1 模型整体结构

本文研究的目的是使用多幅背景图像训练数码迷彩生成模型,通过学习背景图像与数码迷彩图像的映射关系实现数码迷彩的自动化生成。对于图像生成问题,理论上生成对抗式网络[12]能够生成不同风格的图像,但是面对无监督地从图像域中提取特征、生成单幅图像的问题,保持图像结构的稳定变得很困难。CycleGAN 利用生成模型和判别模型之间的环状对抗博弈,具有强大的学习能力,可以对多幅数据进行训练,完成跨域图像生成的任务;但是CycleGAN 在提取复杂纹理、处理几何变换的任务上有所不足,生成图像的色彩与原图存在差异。针对实际背景图像纹理复杂、细腻度不足的问题,考虑在生成模型中使用密集连接卷积网络(Densely connected convolutional Network,DenseNet)[13]来提高图像纹理的提取能力。首先,使用指数线性单元(Exponential Linear Unit,ELU)作为生成器的激活函数,通过在正值区间取输入x本身,以减轻梯度弥散[14]问题,提高对图像细节的提取能力;针对背景图像存在大量噪声的情况,判别器中则使用缩放指数线性单元(Scaled Exponential Linear Unit,SELU)[15]作为激活函数来提高模型的鲁棒性;而在生成图像的色彩保持问题上,则增加了色彩保持损失函数来保证生成图像与原图色彩的一致性。模型整体结构如图2所示。

图2 本文模型整体结构Fig.2 Overall structure of the proposed model

本文研究的目标是在背景图像域X 和数码迷彩图像域Y之间学习映射函数G:X→Y,两个图像域之间的映射函数G 可以看作生成对抗网络中的生成器。与传统生成对抗网络不同的是,本文方法的生成器的输入不再是随机噪声,而是两个域真实的图像。生成器G 从X 中提取图像纹理特征,通过编码器将其编码到较低的维度,利用传输模块将特征传输到解码器,最后用解码器解码并生成图像。对于生成的图像,使用由5 层卷积层组成的判别器来判断生成图像的真实性。由于模型学到的映射函数应该是循环一致的,对于图像域Y 的每张图像y,模型的循环转换都能将y 还原为原始图像。在数码迷彩的生成问题上,生成的迷彩伪装需要保持原有的色彩,因此在输入图像A和生成的迁移图像B之间、输入图像A和重建图像A′之间增加了色彩保持损失函数来实现生成图像的色彩保持。

2.2 DenseNet基本结构

在卷积神经网络中,随着网络层数的增加,每一层提取的特征更加细致、抽象,使得整个网络能够提取出更具有语义信息的特征[16]。DenseNet 通过将所有密集神经元块直接连接,改善了块与块之间的通信,使更多的图像特征能够被卷积核利用,有效避免了梯度消失和网络退化的问题。为了解决网络变深造成的参数过多的问题,DenseNet 加入了1×1 的卷积核来减少参数个数,因此DenseNet 在模型参数更少、计算成本更低的情况下实现了较深的网络层数。用公式表示DenseNet第l层的输出就是:

其中,Hl是一个非线性转化函数,它包括一系列的批标准化、线性整流单元(Rectified Linear Unit,ReLU)以及卷积操作。图3 展示了生成模型的网络结构,它由编码器、传输模块和解码器组成。生成模型的层次细节如表1 所示,其中:Conv-Norm-ELU表示本层依次使用了卷积、归一化以及ELU操作;k代表了每个Dense Block 卷积输出的特征映射数量。判别模型使用了5层卷积层作为判别器网络,具体的层次细节如表2所示。

表1 生成模型网络结构Tab.1 Network structure of generating model

表2 判别模型网络结构Tab.2 Network structure of discriminator model

2.3 损失函数

为了学习两个图像域的映射关系,本文使用对抗性损失来保证生成与真实数据同分布的图像。在映射函数G:X→Y和对应的判别器DG上,对抗性损失函数表示为:

在这里,生成器G 的优化目标是最小化LGAN(G,DG),目的是生成与图像域Y 中的图像相似的图像G(x),使判别器DG分辨不出哪张是生成器生成的假图像;而判别器DG的优化目标是最大化LGAN(G,DG),二者在对抗中走向均衡,从而生成更加真实的图像。

在数据集变大、网络变深的情况下,单纯使用对抗性损失会使源域的输入图像全部映射到目标域的同一张图像上,无法保证映射函数学习到符合目标域图像特征的输出。为了防止学习到的映射相互矛盾,模型使用了循环一致性损失来保证图片域中的每一张图像经过循环转换后都能还原成原始图像,实现了x →G(x)→F(G(x))≈x。循环一致性损失的优化过程归结如下:

由于生成的迷彩伪装要与背景相融合以达到伪装的目的,因此生成的数码迷彩应该保持与背景色彩相一致,本文提出了颜色保持损失来保证生成的数码迷彩色彩不发生偏移。颜色保持损失如下:

本文将在后续实验中探讨颜色保持损失对生成数码迷彩伪装的影响。循环一致性损失可以看作是一种正则化过程,使用参数λ1来控制正则化的作用,使用参数λ2来控制色彩保持损失的效果。模型的全部损失是对抗性损失、循环一致性损失和色彩保持损失之和:

3 实验与分析

3.1 方法有效性实验

为了验证所提出方法的有效性,采用由800 张图像组成的数据集进行实验,利用Canny 边缘检测算法和结构相似性(Structural SIMilarity,SSIM)算法来评估生成迷彩伪装的有效性;并将使用三组不同激活函数的模型生成的数码迷彩与CycleGAN、神经风格迁移模型生成的数码迷彩进行比较,对比增加色彩保持损失函数对生成效果的影响。

实验图片是从各类图库网站上搜集的400 张背景图片和400 张数码迷彩图片,经过预处理将其裁剪为256×256 的图像,并通过数据增强的方法将数据集扩充至800 张背景图像和800张数码迷彩图像。

本文模型使用了5 层DenseNet 进行特征抽取,在生成器和判别器中分别使用了ReLU+LReLU、ELU+LEeLU、ELU+SELU 的激活函数组合,选取了9 层ResNet 的CycleGAN 模型与神经风格迁移模型进行对比实验。图4 展示了3 组不同的激活函数对模型生成数码迷彩效果的影响。从图4 中可以看出,ELU+SELU 的激活函数组合生成的数码迷彩伪装效果最好。不同模型生成的数码迷彩伪装效果如图5 所示,模型加入色彩保持损失函数后,在一定程度上保留了原图色彩,伪装效果也有所提升。

图4 使用不同激活函数生成数码迷彩伪装Fig.4 Digital camouflages generated by using different activation functions

3.2 生成数码迷彩的质量评估

由于生成模型缺乏普遍接受且客观的评价标准,使得评估生成图像的质量变得比较困难。迷彩伪装的目的是使伪装区域与周围背景在人眼与雷达探测中变得不可区分,生成的数码迷彩伪装应该尽可能模糊伪装区域的边界,因此,本文利用边缘检测算法来评估生成的数码迷彩伪装的效果,表3 展示了三种边缘检测算法的比较结果。由于Canny 边缘检测算法能够更准确地判断出图形的边缘,因此将其作为生成数码迷彩伪装的评估标准。

图5 不同模型生成的数码迷彩效果对比Fig.5 Effect comparison of digital camouflages generated by different models

表3 不同边缘检测算法的SSIM评分Tab.3 SSIM scores of different edge detection algorithms

图6 是不同模型生成的数码迷彩伪装经过Canny 边缘检测算法检测的结果。在实验过程中,三组激活函数均能使模型成功收敛,但是在伪装效果上有所不同。可以看到,与CycleGAN 使用的深度残差网络(Residual Neural Network,ResNet)相比,使用DenseNet的模型生成的数码迷彩伪装包含更少的规则图案,图像的边缘与背景斑块形状相结合,能更好地融合到背景中,达到较好的伪装效果。图6 显示,使用DenseNet 的模型边缘检测的效果比使用ResNet 的模型更好,成功隐藏了图像的边缘,而且加入了色彩保持损失的模型在保持色彩一致性的同时也有着较好的伪装效果。

图6 不同模型生成迷彩经过Canny检测的效果Fig.6 Results of camouflages generated by different models after Canny detection

数码迷彩伪装需要符合人类视觉系统(Human Visual System,HVS)[17]的评价,但是人工评价费时费力且主观性强,因此采用能够衡量图像结构相似性的SSIM 算法来评估生成数码迷彩伪装的效果。SSIM 主要通过以下三个方面对两幅图像的相似性进行评估,包括:Luminance(亮度)、Contrast(对比度)和Structure(结构)。

SSIM各部分计算公式如下:

总的计算公式如下:

由于迷彩伪装的特殊性,与一般图像相比,迷彩伪装在保留背景原有纹理结构的情况下,要尽可能地与周围背景融为一体,轮廓边界要尽可能模糊,而SSIM 评分越高说明两幅图像的轮廓越相似,这是不符合伪装的要求的,因此,本文认为SSIM评分越低说明迷彩伪装越成功。表4展示了不同模型生成的数码迷彩伪装经过归一化之后的SSIM分数。

表4 不同模型的SSIM得分Tab.4 SSIM scores for different models

结合表4与Canny边缘检测算法的结果,可以看到无论是在人眼观感还是对轮廓的模糊化效果上,使用DenseNet 结构和ELU+SELU 激活函数的改进模型都取得了更好的效果,SSIM 得分比CycleGAN 减少了35%,比神经风格迁移模型减少了33%。实验结果表明,在加入了色彩保持损失后,参数λ=0.5时效果最佳,在SSIM 得分和人眼观感上都取得了最好的效果。

4 结语

为了充分利用图像的纹理信息,根据背景自动生成数码迷彩伪装,本文提出了一种改进的CycleGAN 自动生成数码迷彩的方法。该方法使用DenseNet 作为特征抽取器来提高生成器的生成质量,使用ELU 和SELU 作为生成模型和判别模型的激活函数来获得更好的抗噪能力,增强模型的鲁棒性,并使用色彩保持损失保证生成图像与背景颜色一致。针对生成模型生成图像质量难以评估的问题,根据数码迷彩的特点提出利用Canny边缘检测算法和结构相似性(SSIM)算法对生成的数码迷彩进行伪装效果评估,并在自制的数据集上将该模型与CycleGAN、神经风格迁移模型进行了对比。实验结果表明,本文的改进模型生成数码迷彩伪装的质量要优于其他模型的生成质量,验证了所提出方法的有效性。在今后的研究中,要进一步研究数码迷彩的特点,提高模型在复杂背景下的色彩提取能力,提高生成数码迷彩的精细度。

猜你喜欢
数码卷积损失
洪涝造成孟加拉损失25.4万吨大米
基于全卷积神经网络的猪背膘厚快速准确测定
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
两败俱伤
数码暗房
损失
那些损失上百万的演员
Leica M9全画幅数码旁轴相机