Yann LeCun将监督学习比作锦上添花,将无监督学习比作蛋糕,断言我们知道如何做锦上添花,但不知道如何做蛋糕。在这篇文章中,我们提供了一个训练无监督学习算法以增强卫星图像的“蛋糕”食谱。
这项研究的动机是在新兴的商业航天工业中越来越多地获得低成本卫星图像。在这个新兴行业中,需要在传感器质量、重访率和价格之间进行权衡。我们研究了高级图像处理在减少权衡和改善同等价位的低质量传感器图像方面的潜力。
图 1:通过飞机、商业精品和太空 3.0 进行遥感。
该图未按比例绘制,但意在传达遥感活动的潜在重叠。航空遥感可用于增强商业精美的卫星图像。商业精美的卫星图像可用于增强低分辨率卫星图像。
我们将高分辨率图像的图像细节嵌入到深度神经网络 (DNN) 中,并提取细节以增强地理相似图像。作为这项研究的一部分,我们使用非常适合增强任务的扰动层为 DNN 开发了一种新颖的架构。
超分辨率
有多种形式的图像增强,包括降噪和颜色调整。对于卫星图像,一种常见的图像质量度量是地面采样距离 (GSD),这是图像中一个像素表示的物理度量。这篇文章中的增强是指降低(更好)卫星图像中的 GSD,也称为超分辨率。超分辨率过程合成图像中的亚像素信息以提高图像的分辨率。典型的合成技术包括:
- 图像内附近像素的插值,
- 视频中附近帧的插值,
- 频率滤波,以降低噪声。
在本次调查中,我们将这些技术扩展到包括:
- 来自地理相关图像的深度学习结构。
图 2:超分辨率。
要将超分辨率从不适定的优化问题转化为适定的逆问题,我们必须从更高分辨率的图像开始,降级该图像,并优化超分辨率算法以从降级的图像重建原始图像。峰值信噪比衡量原始图像和重建图像之间的差异。
为了量化我们的增强技术的有效性,我们将增强前的峰值信噪比(PSNR) 与增强后的 PSNR 进行比较。此外,我们展示了 PSNR 在图像上的地理分布及其与进一步分析的相关性。
PSNR是衡量超分辨率算法生成能力的自然选择。我们计划在未来发表一篇关于使用生成对抗网络学习更好的成本函数来执行超分辨率的文章。
具有扰动层的全卷积神经网络
在直接得出结果之前,我们绕道讨论为执行超分辨率过程而开发的架构。AlexNet、ResNet、VGG和GoogLeNet等标准 DNN是低分辨率图像上图像分类和对象检测的绝佳架构,但不适用于超分辨率中呈指数级增长的输出空间。
受ResNet的启发,我们决定设计一个新的 DNN 作为恒等图的一系列扰动,因为超分辨率本质上是对较低分辨率图像的扰动。通过优化前一层和当前层的凸组合,网络一次扩展一层,为新层生成可训练的权重(旁路参数),以衡量其对最终输出的贡献。
图 3:我们的凸扰动层与 ResNet 层的比较。
在这两种架构中,都有一个卷积层与一个恒等函数的组合。凸扰动允许一个人训练到最佳组合。随着 beta 值的降低,该层对增强的贡献也会降低。
这种结构有几个好处:
- 该网络架构非常适合用于训练极深神经网络的现代训练策略,包括跳跃连接和随机深度。
- 旁路参数衡量每一层的贡献,反馈网络应该有多深。
- 每一层执行近似恒等式变换,使用不同的结构增强图像。
在每个扰动层中,我们包括至少两个卷积层和每个卷积层之间的非线性 ReLU 层。扰动层内的更多卷积层增加了扰动层增强图像的能力,但训练收敛变得更加困难。或者,额外的扰动层具有类似的增强潜力而没有收敛问题。
图 4:具有扰动层的深度神经网络。
旁路参数直接反馈每个扰动层的影响。此反馈有助于回答网络必须有多深的问题。
图 5:训练期间绕过参数。旁路参数的权重是在训练过程中绘制的。
对于这个特定的训练算法,每层的训练分两个阶段进行:首先训练该层的参数,其次所有先前训练的参数与新层联合优化。旁路参数随着网络的增长而减小。最终,新层的影响不会影响增强图像中像素的积分值(不与其他层聚合)——这定义了一个亚像素阈值。
本实验
我们执行的初始实验测量了 DNN 增强巴拿马运河上退化的 3 波段 GeoTIFF 的能力。我们在实验中使用了由 DigitalGlobe 提供的两张 GeoTIFF(非常大的卫星图像):一张用于训练,一张用于测试。我们不会通过一次 DNN 增强整个图像,而是一次增强 27 像素 x 27 像素的区域。由于 GeoTIFF 是非常大的图像,因此采样 27 像素 x 27 像素区域可为我们的 DNN 提供足够的训练数据。访问更多训练图像应该会改善结果。使用这两个 GeoTIFF,我们继续训练 DNN:
- 重新缩放两个 GeoTIFF 以有效降低图像的分辨率。
- 来自第一个 GeoTIFF 的区域被随机采样以一次训练 DNN 一层。我们训练 DNN 的权重以最大化 DNN 输出的 PSNR。
- DNN 用于增强两个降级的 GeoTIFF。
- 结果与基于插值的增强算法进行比较。
我们使用 TensorFlow 框架在配备 4 个 Titan X GPU 的2015 Nvidia Devbox上构建、训练和推断 DNN ,但我们只使用一个 GPU 来训练 DNN。为了训练神经网络,我们使用了ADAM 优化算法;ADAM 具有影响训练时间和收敛速度的相关参数。我们没有完全探索 ADAM 参数的最佳选择,但每个扰动层花费了大约 12 小时(在一个 Titan X GPU 上)训练。旁路参数收敛的速率(如图 5 所示)有助于我们选择 ADAM 参数以及随后的训练时间。
结果
在这个实验中,我们有两张巴拿马运河周围的 GeoTIFF 图像,一张用于训练,一张用于测试。
图 6:巴拿马运河的卫星图像。这是 DNN 的原始训练图像。
第一步是通过降级 GeoTIFF 创建训练数据。通过调整 GeoTIFF 的大小,生成的退化图像有效降低了 GSD 或分辨率。使用线性插值作为起点,我们可以绘制整个退化图像的 PSNR 分布。
图 7:DNN 输入中 PSNR 的分布。
DNN 的输入是一个退化的卫星图像,它被调整大小(使用线性插值调整为 2 倍)以匹配原始 GeoTIFF 的尺寸。该图显示了降解过程引入的噪声的位置。蓝色区域有更多由退化过程引入的噪声,而红色区域则更少。蓝色区域往往是具有精细结构的区域(如船),而红色区域往往具有更粗糙的特征(如开阔水域)。
图 7 表明,用一个数字来表示 PSNR 不足以描述卫星图像中的噪声。与结构较少的区域(例如水)相比,具有更多结构的区域(例如船)在退化图像中具有更低的 PSNR。当我们训练超分辨率算法来增强退化图像时,我们想要增强我们关心的区域,这些区域通常是具有结构的区域。
图 8:使用 DNN 增强后的 PSNR 增益。
绘制了测试图像的 PSNR 增益分布——DNN 未在该图像上训练。大多数地区都受益于增强。蓝色区域是原始图像中噪声明显较少的一般区域。增强是与初始线性插值相比的 PSNR。
图 8:PSNR 增益与双三次插值。在测试 GeoTIFF 上,我们绘制了 PSNR 与双三次插值相比的差异。最初噪声较多的区域也会受益。
图 9:从线性和双三次插值到基于 DNN 的增强的 PSNR 变化(以 dB 为单位)。PSNR 变化是在整个 GeoTIFF 和包含船只的 GeoTIFF 的子区域上计算的。结构区域的增强明显高于水区域。
图 9 中的结果证明基于 DNN 的增强在具有更多结构的区域中提高了性能。即使测试图像和训练图像具有相同的 GSD,不同的大气条件和云层覆盖也会影响增强,部分解释了测试图像的性能优于训练图像的性能。图像清晰度也会影响标记包含船只的区域的能力;不太准确的标签包括更多的水域,并且可能会降低该区域的 dB 增益。隔离这些现象的实验超出了本文的范围。
图 10:船加水域增强示例。此图显示了退化船的增强。由于该区域包含大部分水,因此 PSNR 低于仅包含一条船的区域。
替代研究方向
有一些示例,例如SRCNN,在非卫星图像上执行的超分辨率在 ImageNet 上训练时表现出相似的 dB 增益。这些方法在增强卫星图像方面可能具有可行性,但缺乏我们方法的基本优势:图像的位置信息。由于其他几个原因,我们的方法有所不同:
- 卫星图像往往是许多基于 DNN 的机器学习算法的极端情况。
- 过度训练可能不会像对更多样化的图像集那样对我们的算法有害。
- 扰动层提供了对 DNN 所需深度以及通过增加深度预期的边际性能改进的洞察力。
- GeoTIFF 有可能包含的不仅仅是红色、绿色和蓝色通道。我们的方法很容易修改以利用其他通道(例如 8 波段图像)。
最后,我们已经尝试增加每个扰动层内的卷积层数量以提高性能。我们将在第二部分中重点介绍 8 波段图像和SpaceNet。