APP下载

基于改进CycleGAN的夜间道路环境下非机动车特征增强方法

2024-01-08黄佳恒邱实卓

现代计算机 2023年20期
关键词:图像增强亮度行人

黄佳恒,叶 青,邱实卓

(长沙理工大学电气与信息工程学院,长沙 410114)

0 引言

夜间情况下,受光照条件恶劣的影响,部分道路图像降质,夜间道路上的非机动车特征表现度很差,不能满足机器视觉,如自动驾驶、目标检测及视频监控等应用需要。目前已经有一些比较成熟的夜间图像增强算法,例如直方图均衡化[1]、暗通道先验增强[2]和Retinex算法[3]等。其中Retinex 算法应用较为广泛,其原理是假设图像由光照分量和反射分量组成,通过估计并去除图像的光照分量保留反映图像信息的反射分量,以达到图像增强的目的。由于Retinex 算法的图像增强效果出众,单尺度Retinex 算法(SSR)、多尺度Retinex 算法(MSR)、 颜色修复Retinex 算法(MSRCP)[4]等算法被陆续提出。特别的,基于变分模型的Retinex 算法被Kimmel 等[5]提出,为夜间图像增强开辟了另一个思路,即先计算照明图,再平滑处理反射图,最终得到增强结果。所以针对能够稳定提供多幅同场景不同时间的图像、同一场景一段时间内的多幅图像的情况,或者可以提供其他种类的场景信息来源的情形,基于图像融合的夜晚图像增强算法能够取得更优异的增强结果。基于此思想,Goodfellow 等[6]提出生成对抗网络(GAN),在模型训练阶段将生成器与判别器进行对抗博弈,当两者达到纳什平衡后模型性能为最佳,该模型在图像增强领域应用广泛。随后,Zhu 等[7]以GAN 为基础设计出CycleGAN,能够不使用配对图像对模型进行无监督训练,从而实现图像风格转化。Jiang[8]针对低照度图像增强任务对CycleGAN 进行优化,提出EnlightenGAN。虽然这些算法可以提高夜间道路环境图像的亮度,但是它们在增强过程中仍然存在一些缺陷。例如,RetinexNet 算法只考虑了光照分量的估计通道,而忽略了对反射分量的优化,这导致在提高图像亮度的同时,会出现颜色失真和细节特征大量丢失的问题。EnlightenGAN 算法对于光照度低图像增强效果较好,且对于原夜间道路环境下较为明显的非机动车类小目标特征保存效果较好,但对于较大程度与极低光照环境下融合在一起的小目标特征,在转化过程中也存在一定丢失,具有一定局限性。

针对上述包含行人的夜间道路环境下图像增强问题,结合现有算法的优势,提出一种基于CycleGAN 网络的新型图像增强算法。使用基于Grad-CAM 网络[9]与AdaLIN 理论[10]模型改进CycleGAN 的生成器结构,以提高夜间道路行人图像亮度,解决转换过程中行人特征丢失的问题,使用添加AdaLIN 理论模型的判别器提高图像整体亮度的同时改善局部区域亮度效果,保证生成日间图片的真实性。进一步地,在改进CycleGAN 网络之后加入具有10 层U-net[11]的Pixel2pixel[12]结构构成Merge 网络,融合日间夜间行人图像生成光照度更高的类夜间行人图像,以此解决夜间道路环境下行人特征增强的问题。

1 CycleGAN网络

CycleGAN 包含两对生成器和判别器。生成器G 学习从风格域X和风格域Y的映射关系,生成器F学习从风格域Y到风格域X的映射关系。判别器D( )x和判别D(y)分别判断由生成器合成的样本是否属于各自风格域的真实样本。双向生成过程数学表达式表示为

CycleGAN 生成器结构如图1 所示,左半部分为下采样编码过程,解码器利用卷积算子负责图像的编码。在两个结构链接区域使用Residual block(RSC)模块,增加残差模块继续加深模型深度,默认是九个重复模块,将数据进行恢复增强,完成源图像风格与目标图像风格的特征转换;右半部分是上采样解码阶段。

图1 生成器结构

CycleGAN判别器是采用patchGAN结构的判别器,如图2所示。该判别器的重点是输出结构为NxN 的矩阵进行比较,这种产生了全局比较的概念,考虑了全局感受野信息的差别。

图2 判别器结构

CycleGAN的损失函数包括身份损失(Identity Loss)、生成对抗损失(GAN Loss)、循环一致性损失(Cycle-consistency Loss)。Identity Loss 的作用可以说明生成器网络真正地理解了风格域Y的结构,保证生成器G值生成Y域图像的功能。Identity损失表示如下:

由于CycleGAN 有两对生成器和判别器,所以CycleGAN 的对抗损失也分为两部分,第一部分为G与D(y)的对抗损失,第二部分为G与D(x)的对抗损失,公式如下所示:

作为CycleGAN 核心的循环一致性思想,用数据集中其他的图来检验生成器,以防止G和F过拟合。循环一致性损失分为两个损失函数部分:前向一致性损失和后向一致性损失,具体公式如下:

其中,Pdata(x)为x域的图像分布,Pdata(y)为y域的图像分布。

综上所述,完成的CycleGAN 的损失函数是由生成对抗损失、身份损失、循环一致性损失以及总和得到的,总损失函数表示如下:

CycleGAN 是一种具有图像风格转换功能的GAN 网络,在转换日间风格和夜间风格的过程中,虽然对图像亮度这一特征有了转换,但是原本夜间道路中的行人纹理特征会随之丢失,造成整体图像中的行人特征丢失,无法有效增强夜间道路环境下的行人特征质量。

2 改进CycleGAN网络结构

2.1 生成器结构改进

2.1.1 加入Grad-CAM

针对由夜间图像向日间图像风格转换过程中亮度提升幅度与行人特征丢失的问题,在生成器上采样之前的全连接层引入热图注意力机制Grad-CAM,得到权重参数输入AdaLIN 模型自适应地计算出层归一化LN与实例归一化IN权重参数。

常用的注意力结构如CBAM等需要有一个辅助检测器的加持,而Gad-CAM在没有常用注意力机制的情况下,也能对图像特定特征位置进行判别。定义Grad-CAM中第k个特征图对应类别c的权重为,可以通过如下公式计算得到:

其中,z为特征图的像素个数,yc代表网络针对类别c预测的分数,代表第k个特征图中(i,j)位置处的像素值。然后在求得所有的特征图对应的类别权重后进行加权求和,这样便可以得到最后的热力图,求和公式如下:

式中,A代表某个特征层,在论文中一般指最后一个卷积层输出的特征层,k代表特征层A中的第k个通道,c代表类别c,Ak代表特征层A中通道k的数据,代表针对Ak的权重。本文需要通过Grad-CAM得到各特征图通道下的权重值,并进行后续改进。Grad-CAM的整体结构如图3所示。

图3 Grad-CAM结构流程图

2.1.2 AdaIN替换IN

原生成器与判别器的卷积模块CIL、CTIR、RSC 中归一化层都为IN(InstanceNorm)实例归一化。对于生成对抗网络来说,层归一化(LN)可以使图像风格转换更加彻底,但是生成的图像会损失一定的语义信息,而InstanceNorm(IN)的效果则相反。因此,将自适应的归一化层Ada-LIN,可以适应地平衡LN和IN的比例。

在前文引入了Grad-CAM 的基础上,将生成器与判别器的卷积模块CIL、CTIR、RSC 中的IN(InstanceNorm)替换为AdaIN,为了进一步平衡LN和IN层权重来保证夜间道路下行人特征的增强和图像亮度的提升,本文在生成器中引入了一种新的自适应归一化函数AdaIN,AdaIN 计算公式如下:

其中,ρ是一个学习权重,通过反向传播更新;γ、β是从由Grad-CAM得到的权重特征图中学习得到。到此一个完整的生成器改进模型完成,结构如图4所示。

图4 改进生成器结构

2.2 判别器结构改进

在原判别器下采样最后一层卷积之后通过一个全连接层学习注意力图(热力图)不同channel的权重,然后得到热图注意力机制下的特征图输入分类器,以提高判别器对特定特征(夜间行人)的识别能力,提高图像整体亮度的同时更加关注包含行人区域的亮度。判别器结构改进如图5所示。

2.3 损失函数改进

在介绍改进函数之前需要了解BCE Loss 的相关原理,BCE Loss 全名binary cross entropy loss,其也是交叉熵的一个应用,但针对的是二分类,所以有其特殊形式。对于二分类问题,我们模型需要输出[0.3,0.7],但完全可以让模型只输出一个数,例如m为0.3,由于归一化的原因,另外一个类别的概率一定是0.7。从而,其特殊形式如下:

新增基于前文引入Grad-CAM 的损失函数,定义为CAM Loss,CAM Loss 采用BCE Loss,因为BCE Loss 是非线性的,相对于L1 或者MSE 的限制更强(避免落在0.5 的均值上),采用这种方法是因为生成器是目标网络,并且其任务相对于鉴别器是更困难的。两个辅助分类器的分类CAM Loss分别定义为以下公式:

其中,E表示分布函数的数学期望,对于生成器来说,希望它生产的图像更像真实图片;对于判别器来说,希望它对于生成图片的判别是否为真的准确率更高。η表示特征标签类别,两类CAM Loss 的提出可以用来判定对指定特征抓取赋值的准确度。

由此引入的新损失函数加入原有CycleGAN总损失函数,形成新的总损失函数,其表示如下:

式(13)中总损失函数中既有原有CycleGAN 结构中的生成损失和判别损失,又有引入Grad-CAM热图注意力机制下的权重注意力损失CAM Loss。

3 日间夜间图像融合增强模块(Merge)

针对原始夜间图像整体光照度较低的问题,在改进Cyclegan 模型生成对应夜间日间行人图片之后,加入具有10 层U-net 的Pixel2pixel 结构构成Merge网络,它接受夜间道路行人图像和相对应生产的日间道路行人图像,根据设置的梯度选择不同的采样块,然后通过Pixel2Pixel生成器执行多尺度融合,生成光照度更高的类夜间行人图像。其过程如图6所示。

图6 Merge网络流程

4 实验结果与分析

4.1 实验结果主观评价

使用RetinexNet、MSRCP、CycleGAN+Merge与改进CycleGAN+Merge 算法对测试集图像进行图像增强实验,见图7。图中第1、2、3、4、5列分别为原始夜间行人图像、RetinexNet 增强图像、MSRCP 增强图像、CycleGAN+Merge 增强图像与改进CycleGAN+Merge 增强图像。由图7 可知,不同算法对原始夜间图像亮度均有一定提升,但RetinexNet算法对低照度图像的亮度提升效果有限,且颜色失真现象较严重,无法显示图像的真实颜色,增强图像出现过度模糊,增强效果不佳,如第2 列结果所示。MSRCP 算法相对于RetinexNet算法在低照度行人图像上增强效果更好,对低照度图像的亮度提升明显,如第1、2 行所示,但对于极低照度的图像增强,细节信息丢失严重,也出现严重模糊,结果如第3、4 行所示。CycleGAN+Merge 对低照度图像的整体亮度提升效果有限,如第4列所示,但该算法在对与极低照度图像的增强过程中,避免了颜色失真严重和图像过度模糊的问题,非机动车类特征在一定程度上也保留了下来,如黄色方框所示。本文所提出的改进CycleGAN+Merge 算法增强结果如第5 列所示,相比前两种增强算法,各方面均有不同程度的提升,相对CycleGAN+Merge 算法在极低照度图像增强中,亮度提升效果更好,且包含非机动车特征的区域凸显度更高,如第3、4行红色方框所示。

图7 各类算法视觉对比结果

4.2 实验结果客观评价

4.2.1 直方图亮度提升评价

各个算法对亮度的提升能力,可以用灰度直方图来评估,结果如图8所示。

图8 各算法对比直方图

从各个算法增强图像的灰度直方图可以看出,均对原夜间图像亮度有一定提升,RetinexNet 与MSRCP 增强算法提升了高亮度值像素点的数量,说明这两种算法对图像的亮度提升能力显著,但对比实际视觉评价结果,如图8所示,在提升亮度的过程中出现严重模糊的情况,视觉效果较差,难以凸显非机动车特征。Cycle-GAN+Merge 灰度直方图相比原夜间灰度直方图也有较大提升,但对于低亮度值的像素点的亮度提升跨度不如前两种算法,导致在极黑暗环境中的非机动车特征视觉效果不佳。改进Cycle-GAN+Merge 灰度直方图相对未改进的直方图,将更多的低亮度值像素点进行了亮度提升,在CycleGAN+Merge 的基础上进行了进一步的亮度提升,由此提高了非机动车特征的凸显度。

4.2.2 增强图像特征评价

采用KID 函数、PSNR 函数这两个常用的GAN 网络评估指标来进行量化评估,另外为了进一步区分四种增强算法图像增强效果,还加入IFC 函数(信息保真度准则)和评价函数SSIM(结构相似性)。KID 函数的评价原理是通过计算生成图像与真实图像在特征空间中的距离来评估生成图像的质量,分数越低表示生成图像与真实图像越相似。PSNR 评价函数计算生成图像与目标图像之间的峰值信噪比,即两幅图像之间的均方误差(MSE)与最大可能像素值的平方根(255或1)之间的比率。PSNR评价函数的作用是定量地度量生成图像和目标图像之间的失真程度,分数越高表示生成图像质量越好。IFC评价函数用于评估图像增强算法的信息保真度。IFC能够反映处理后图像与原始图像之间的信息相似度,IFC 值越大,表明增强后图像的信息保真度越好。SSIM 评价函数[13]评估图像的质量是基于三个因素:亮度、对比度和结构。在Cycle-GAN 网络中,SSIM 评价函数可以帮助判定生成的图像是否与真实图像具有相似的结构和纹理特征,其分数越高表示生成图像的结构和纹理特征保留度更高。SSIM其公式为

其中,x代表夜间风格图像,也就是包含非机动车的夜间道路环境图像,y代表由夜间图像生成的类夜间风格图像,ux是x的平均值,uy是y的平均值,σxy是x和y的协方差,c1和c2是两个用于维持稳定的常数,避免出现分母为零的情况。,分别为x,y的方差。由式(14)可知,SSIM 越接近1,表明生成的类夜间风格图像越相近。

用四种增强算法在测试集上进行测试,表1展示了KID、PSNR、IFC、SSIM 在本文四种增强算法下的平均指标值。

由表1 可知,改进CycleGAN+Merge 在四项指标上,都有对应的提升,其中PSNR 与SSIM有相对较大提升。在PSNR 指标上,相对RetinexNet算法提高了16.07%,相对于MSRCP算法提升了12.30%,相对于未改进CycleGAN+Merge模型提升了4.15%。证明本文提出改进Cycle-GAN+Merge 模型在夜间道路环境图像增强的过程中能更好地抑制图像失真与图像模糊。在SSIM 指标上,相对于RetinexNet 算法提高了16.56%,相对于MSRCP 算法提升了10.62%,相对于未改进CycleGAN+Merge 模型提升了7.22%,在此指标上的提升可以说明本文提出的模型能在通过生成类夜间道路风格图像增强的同时,更好地保留并突出非机动车类小目标特征。通过上述实验,本文的算法相对于对比算法表现出更优的性能,可以有效地提高整个图像的亮度,恰当地增强局部区域的亮度,避免图像失真与模糊,并增强生成过程并保留细节信息,使增强后的夜间道路下非机动车类特征更加明显。

5 结语

夜间道路图像增强算法进行图像增强时,尤其是极低照度真实夜间道路图像的增强时,存在亮度提升有限、容易出现图像失真以及图像模糊、夜间道路下非机动车类小目标特征在增强过程中丢失的问题,鉴于此,本文提出了一种基于改进CycleGAN+Merge 模型。结合一种热图自注意力Grad-CAM 网络和一种自适应归一化层AdaLIN 改进CycleGAN 的生成器,使用自适应归一化层AdaLIN 改进CycleGAN 判别器,并在改进CycleGAN 网络之后加入Merge 网络,有效解决了现有包含非机动车类小目标特征夜间道路环境图像增强中的问题。通过消融实验验证了本文算法的优越性,能有效提升夜间非机动车类小目标特征的检测率。

猜你喜欢

图像增强亮度行人
图像增强技术在超跨声叶栅纹影试验中的应用
毒舌出没,行人避让
水下视觉SLAM图像增强研究
虚拟内窥镜图像增强膝关节镜手术导航系统
亮度调色多面手
路不为寻找者而设
基于图像增强的无人机侦察图像去雾方法
我是行人
亮度一样吗?
基于斩波调制的LED亮度控制