APP下载

基于生成对抗网络的遥感影像色彩一致性方法

2022-09-20王艺儒王光辉杨化超刘慧杰

自然资源遥感 2022年3期
关键词:鉴别器校正损失

王艺儒, 王光辉, 杨化超, 刘慧杰

(1.中国矿业大学环境与测绘学院,徐州 221116; 2.自然资源部国土卫星遥感应用中心,北京 100048)

0 引言

遥感技术自上世纪中期兴起后高速发展,至今已有众多新兴传感器投入应用,遥感影像数据逐渐进入“高分时代”,大量高分数据为经济、国防、生态等各个领域提供数据支持。在遥感成像过程中,传感器、拍摄时间季节、光照条件、大气条件等差异都易导致拍摄影像内部、影像与影像之间出现亮度不均匀,色彩不一致的现象。这些问题不仅影响目视解译,更影响后续生产中影像之间的拼接效果。在实际生产工作中,生产人员往往需要花费大量的时间精力用于处理影像色彩不一致的问题。

目前国内外对于单幅影像色彩处理的算法有很多,例如金淑英等[1]利用二阶三次多项式拟合的方法通过对像元进行灰度拉伸来改正海底视频和影像的亮度不均匀现象; Kim等[2]提出基于小波变换的光照补偿方法; Tan[3]提出通过归一化增强可视性影像,得到亮度均衡的影像; 谭攀等[4]在HIS模型匀光算法基础上提出一种动态分块的线性拉伸,改善相邻影响块色彩不一致的现象。现在较常见的影像匀光方法根据采用模型的不同可归纳为: 加性模型和乘性模型2类[5-6]。加性模型的原理是将遥感影像看作亮度均匀的前景影像与亮度不均的背景影像加和,通过一系列处理将背景影像去除而达到匀光的效果。这一类算法的重点问题是确定背景影像,背景影像的好坏很大程度上决定了匀光的效果[6-7]。确定背景影像的方法大体上有2类,第一类是通过数学模型来模拟原片[8],ERDAS Imagine的色彩平衡功能提供了4种数学模型模拟影像亮度变化[9-11],李治江[12]和Stumpfel等[13]各提出了一种基于局部均值的自适应匀光模板; 第二类是基于信号处理来确定背景影像,王密等[10]提出了基于MASK差值匀光法,张振等[14]提出了反差一致性MASK匀光算法。乘性模型匀光算法将不均匀的影像看成是景物受到的照度和景物反射率的乘积[15]。例如Orsini等[16]和Lam[17]采用Retinex方法处理亮度和反差不均匀的影像; Nnolim等[18]和Seow等[19]采用同态滤波的方法增强影像高频信息达到匀光的目的。

尽管国内外学者已经提出大量图像匀色方法,但主要为通过人工方式,借助图像处理软件进行调节影像色彩。这种利用人工调色的方法容易受到主观因素影像,并且在实际生产过程中耗时耗力。随着影像分辨率的逐渐提高,数据量呈几何级数增长,人工调色难以快速、准确完成大量数据的调色需求。基于深度学习方法的生成对抗网络可作为遥感影像匀色的处理手段,与传统算法相比,采用图像色彩风格迁移的方法改正影像色彩只需要在训练阶段输入参考影像,在色彩校正中不依赖色彩底图,应用场景更加广泛,校正过程更加省时省力。目前已有学者尝试基于生成对抗网络的影像分类、影像增强、影像去云雾和影像修补等。如Xue[20]采用一种半监督的卷积生成对抗网络对高光谱影像进行分类信息提取; 李雪等[21]采用注意力引导的色彩一致生成对抗网络进行建筑物语义分割; 王照乾等[22]通过DenseNet生成对抗网络增强低照度图像; Lyu等[23]通过对抗性训练,对遥感影像进行增强; 何鎏一[24]和Hu等[25]分别利用条件生成对抗网络和改进的循环一致生成网络来对影像进行去雾操作; 冀俭俭[26]提出了一种基于生成对抗网络的分级联合图像补全方法; 郑凯等[27]通过DCLS生成对抗网络去除高原地区卫星影像云雾。其中国内学者李雪在建筑物语义分割前利用生成对抗网络方法进行了一定的色彩校正。与其他生成对抗网络相比,循环一致生成对抗网络(cycle generative adversarial networks, CycleGAN)的环形结构能够有效将2类数据相互转换,不仅保证了能够实现非成对影像的互相转换,更能有效地限制生成器函数,使其更能向其有效方向继续迭代训练。

本文针对地物复杂的城区影像,首次提出一种无监督的自动匀色算法——加入通道注意力机制的循环一致生成对抗色彩网络(channel attention-CycleGAN, CA-CycleGAN),以期能够无监督地自动进行影像色彩改正,从而高效解决大量遥感影像色彩调整的问题。

1 研究方法

1.1 CA-CycleGAN

与CycleGAN一致,注意力引导的循环一致生成对抗网络仍然具有2对呈现环形闭合的生成器与鉴别器[28](图1)。第一阶段待校正影像x通过生成器Gy转化为校正影像Gy(x),此时鉴别器Dy对校正影像Gy(x)进行鉴别,生成器Gy与鉴别器Dy为一对对抗,通过互相对抗学习提高生成器Gy的生成水平和鉴别器Dy的鉴定水平。第二阶段通过生成器Fx生成影像Fx[Gy(x)],待校正影像x与循环生成影像Fx[Gy(x)]之间计算影像的循环一致损失。第一阶段同时模板影像y也会通过生成器Fx转化为影像待校正影像域的影像Fx(y),此时鉴别器Dx对影像Fx(y)进行鉴别,生成器Fx与鉴别器Dx为另一对对抗,通过互相对抗学习提高生成器Fx的生成水平和鉴别器Dx的鉴定水平。并在第二阶段继续通过生成器Gy生成循环影像Gy[Fx(y)],同样的模板影像y与循环影像Gy[Fx(y)]之间将计算循环一致损失来控制生成和鉴别函数的学习。

图1 注意力引导的CycleGAN原理图Fig.1 Schematic diagram of attention guided CycleGAN

1.2 通道注意力

为了使网络能够更清晰地理解影像中哪部分信息更重要,在生成器中加入如图2所示的通道注意力网络,其中Conv表示卷积层,ReLU表示ReLU激活函数。为了有效计算各通道权重,需要对输入的特征图空间维度进行压缩,同时采用平均池化和最大池化可以在对空间信息整合的同时收集到独特的影像特征。同时由于通道注意力网络简单,能够在较少增加网络复杂度的同时取得较好的优化效果,减少训练的时间复杂度。

图2 通道注意力结构Fig.2 Structure of channel attention

1.3 生成器与鉴别器

如图3所示,生成器主要由编码器、注意力机制、残差块和解码器构成,其中编码器由3层卷积网络构成,Norm为标准化层,ReLU为激活函数,注意力采用上文介绍的通道注意力。由于本文测试集影像大小为256像素×256像素,残差块一共选用9个。解码器采用反卷积和卷积,将影像输出为与输入通道相同的RGB模式256像素×256像素大小的影像。最后一层激活函数为Tanh,鉴别器网络采用的是5层网络,将输入影像通道数减小,最后再进行平均池化提取影像特征,鉴别器中的激活函数为Leaky ReLU。

图3 生成器和鉴别器网络结构Fig.3 Network structure of generator and discriminator

1.4 损失函数

1)对抗损失函数。X→Y与Y→X的对抗损失分别为:

LGAN(G,DY,X,Y)=Ey~pdata(y)[lnDY(y)]+Ex~pdata(x){ln (1-DY[G(x)]},

(1)

LGAN(F,DX,Y,X)=Ex~pdata(x)[lnDX(x)]+Ey~pdata(y){ln[1-DX(F(y)]},

(2)

式中:X为样本数据集;Y为参考影像域数据集;x~pdata(x)表示样本数据集中的样本数据x服从样本数据集的数据分布pdata(x);y~pdata(y)表示参考影像域数据集中的参考影像域数据y服从参考影像域数据集的数据分布pdata(y);X→Y表示从X到Y的生成对抗过程; 在这个过程中,G生成与参考影像域Y相似色彩的图像G(x),而DY则区分生成的G(x)真实参考色彩样本y,因此G的目标是将函数LGAN(G,DY,X,Y)最小化,D的目标则是使函数LGAN(G,DY,X,Y)最大化,即minGmaxDyLGAN(G,DY,X,Y)。

循环一致生成函数中同样存在类似的F(y)函数,因此对于y向x生成的过程存在相同原理的对抗损失函数。其中F的目标是将函数LGAN(F,DX,Y,X)最小化,Dx则使函数LGAN(F,DX,Y,X)最大化,即minFmaxDxLGAN(G,DY,Y,X)。

2)循环一致性损失函数。计算公式为:

Lcyc(G,F)=Ex~pdata(x){‖F[G(x)]-x‖1}+Ey~pdata(y){‖G[F(y)]-y‖1}。

(3)

由于CycleGAN采用的训练方式是无监督训练模式,并且输入样本并需要一一对应,因此能够将x映射到y的函数G(x)和能够将y映射到x的函数F(y)存在相当多种。循环一致性损失函数的意义在于减少映射函数的其他可能性,控制映射函数是循环一致的,确保训练得到的映射函数G(x)和F(y)不至于太离谱,生成器和鉴别器能够在后续训练中得到更好的优化。如上述公式所述,对于从x生成G(x)并进一步生成F[G(x)]的过程,尽可能控制x与F[G(x)]相差不大,约束F[G(x)]与x的L1范数,即‖F[G(x)]-x‖。同样地,对于y生成F(y)并进一步生成G[F(y)]的过程,尽可能使得y与G(F(y))相差不大,从而约束生成函数G(x)和F(y),使生成的影像与原影像差别较小。2部分循环一致性损失汇总则形成影像色彩校正网络的循环一致性损失函数值。

3)损失汇总。计算公式为:

L(G,F,DX,Dy)=LGAN(G,DY,X,Y)+LGAN(F,DX,Y,X)+λLcyc(G,F)。

(4)

将式(1)和式(2)中的对抗损失函数和式(3)中的循环一致性损失函数按一定权重结合起来,就能够实现非成对影像的互相转换。其中λ是循环一致性损失的缩放系数,是一个超参数,用来控制对抗损失和循环一致性损失的比重。由于损失函数构成的特殊性,因此训练过程中的损失只能一定程度准确反映训练的好坏,也只能大致反映训练进度和训练结果的好坏,因此训练的优劣主要需要通过训练成果图来反馈,损失函数图作为辅助参考。

2 基于CA-CycleGAN的影像色彩校正实验和分析

2.1 研究数据

本文研究区域为湖南省长沙市部分地区,主要典型地物为房屋、道路、城区内绿化区和未绿化的裸土地等,影像数据选取高分二号(GF-2)2016年3月B3(R),B2(G),B1(B)合成彩色影像数据。研究中的色彩参考影像由原始数据经过直方图拉伸和Photoshop软件人工处理得到。将原始影像和色彩参考影像切割成256像素×256像素大小,并转为JPG数据,为训练做准备。训练样本中原始影像和色彩参考影像共计1 600×2张。验证数据集为遥感影像原始数据,共计12 800张。

2.2 实验和分析

训练集一共包含3 200张影像,分为待校正影像集和色彩参考集各1 600张,影像大小为256像素×256像素; 训练使用PyTorch1.4.0框架搭建深度学习框架。分别使用CycleGAN无监督和CA-CycleGAN对训练集影像进行训练,对比加入注意力机制后网络的改进效果。训练时不将训练集进行色彩偏移或随机翻转,为了提高网络的特征学习能力,无监督训练进行了200轮。经过测试,前100轮固定学习率为0.000 2,后100轮将学习率线性衰减到0,效果较好。为了验证本文方法的优越性,训练过程结束后,分别保存处理模型,并使用模型对待校正影像集和验证数据集分别进行影像校正,便于对比影像校正前和通过不同方法校正后的结果。不同方法色彩校正结果对比如表1所示。

表1 小区域内影像色彩校正效果对比Tab.1 Comparison of images color correction effect in small area

如表1所示,无论是CycleGAN还是CA-CycleGAN在小区域内对影像的明暗度和色彩都有较好的改正,但可以看出经过CycleGAN校正的影像色彩较为分明,无论是植被还是黄土都明显有自己独特的颜色风格,并且建筑部分有稍微偏绿的情况。而CA-CycleGAN对影像色彩的校正上则有统一的颜色风格,整体较为协调。因为差距较小,在小范围上无太大影响,然而当小区域影像拼接为一幅大区域影像的时候,CA-CycleGAN整体一致的色彩风格使得影像更加协调统一,拼接痕迹较为不明显。

图4为不同方法色彩校正后拼接效果示例。由图4可以看出,影像1中的横向道路在经过CycleGAN色彩校正后,道路两侧由于在匀色过程中被切割成2个小幅影像而产生色差,拼接线明显,而通过CA-CycleGAN色彩校正后,几乎不可见道路两侧的拼接痕迹; 影像2中的纵向道路与第一景影像情况类似,同样在通过CA-CycleGAN色彩校正后,拼接痕迹几乎不可见,达到较为完美的拼接情况。影像3中的红色房子在经过CycleGAN的色彩校正后左右2部分红色明暗不同,而CA-CycleGAN可以完美地将红色房子的左右两侧调整为相同的色彩,仅表现为轻微拼接痕迹。影像4表示CycleGAN在处理较为空旷的地带色彩校正上效果并不稳定,也易出现明显色彩差异,导致拼接后影像有明显块状区域,而本文采用的CA-CycleGAN可以在一定程度上解决这一问题,使得影像不被分割的太明显。

图4 不同方法色彩校正后拼接效果

图5为2种方法色彩校正的损失函数,其中D_A表示循环正向过程时的鉴别器损失值,G_A表示循环正向过程时的生成器损失值,cycle_A表示循环正向过程时文中式(3)中的循环损失,idt_A表示循环正向过程时文中式(1)中的对抗损失,D_B表示循环反向过程时的鉴别器损失值,G_B表示循环反向过程时的生成器损失值,cycle_B表示循环反向过程时文中式(3)中的循环损失,idt_B表示循环反向过程时文中式(1)中的对抗损失。

不仅在色彩调整效果上能直观地看出CA-CycleGAN的效果比CycleGAN优异,根据图5的损失函数同样可以看出本文采用的CA-CycleGAN方法的损失函数收敛速度更快,整体收敛效果也更好。通过表2可以看出,CA-CycleGAN在训练的最后一次迭代循环结果中,正向训练和逆向训练的生成器损失值(G_A与G_B)、逆向训练的鉴别器损失值(D_B)、正向训练和逆向训练的循环一致损失值(cycle_A与cycle_B)以及正向训练和逆向训练的单张影像总损失值(idt_A与idt_B)均小于CycleGAN方法的相应损失值,仅在正向训练的鉴别器损失值(D_A)这一项略大于CycleGAN的鉴别器损失值。由此也可认为本文采用的CA-CycleGAN色彩校正方法在影像色彩校正方向对CycleGAN方法有一定的改良。

表2 最后一个循环时不同色彩校正方法的损失值Tab.2 Loss value of different color correction methods in the last cycle

图6为使用本文方法进行色彩校正的验证数据集中部分影像,可以看出对于城区影像色彩校正效果较好,影像整体色彩鲜明,便于遥感影像的下一步加工和应用。本文方法不仅效果优秀,还大大提高了遥感影像色彩校正的效率,经过测试,对于单张256像素×256像素大小的影像数据,每分钟可完成约1 000景影像的色彩校正,对于整景空间分辨率约0.8 m,覆盖面积约800 km2的GF-2数据,每景影像的切割、色彩校正、拼接整体操作时间在5 min以内,有效节约了影像色彩校正的人力成本和时间成本。

3 结论

本研究以长沙市城区GF-2卫星数据为例,提出了一种新的基于生成对抗网络的CA-CycleGAN影像色彩校正方法。

通过在原始CycleGAN的基础上加入通道注意力机制,构成引入注意力的ResNet结构的生成器,而鉴别器则采用pix2pix中的PatchGANs结构,生成器与鉴别器之间采用对抗损失和循环一致性损失进行约束,在处理GF-2城区影像色彩校正中取得较好的成果。

实验结果表明,相比于传统的需要人工操作的匀色方法,本文实现了遥感影像色彩校正的自动化,可以大批量进行影像匀色,节约人力资源。并且通过根据影像参考的季节和地物类型,可分别训练不同季节、不同区域的匀色模型。通过已经训练好的模型进行色彩校正时,对于切割好的256像素×256像素大小影像速度可以达到每分钟1 000景以上,每景GF-2影像的切割、色彩校正和拼接操作总时间小于5 min,大大节省了影像色彩校正时间。

本研究为遥感影像色彩处理方面提出了新的思路和方法,并对于影像去云雾、影像增强等方面也有一定的启发作用。本文所提出的影像色彩校正算法还有进一步的改进空间,所训练的模型仅使用于部分城区,下一步将其他季节以及其他地物类型分别训练不同模型,测试在不同气候、不同地区的情况下本方法的普适性,以及通过更好的色彩模板训练的情况下对本文方法的改进。

猜你喜欢

鉴别器校正损失
基于多鉴别器生成对抗网络的时间序列生成模型
胖胖损失了多少元
劉光第《南旋記》校正
卫星导航信号无模糊抗多径码相关参考波形设计技术*
玉米抽穗前倒伏怎么办?怎么减少损失?
在Lightroom中校正镜头与透视畸变
机内校正
阵列天线DOA跟踪环路鉴别器性能分析
一般自由碰撞的最大动能损失
损失