英语原文共 8 页,剩余内容已隐藏,支付完成后下载完整资料
只用看两次:卫星图像中的快速多尺度目标检测
摘要
在一幅很大图像中检测小物体是卫星图像分析中的主要问题之一。虽然研究新的深度学习方法对检测地面目标提升很大,但是将这种技术转换为检测从头顶拍摄的目标是非常重要的。其中一个难点是每幅图像的像素数量和包含的实际地理大小:单个DigitalGlobe卫星图像包含2.5亿个像素点,相当于64平方公里的面积。另一个难点是目标区域十分小(通常只有10个像素),这让传统计算机视觉技术处理起来十分麻烦。为了解决这个问题,我们提出一个网络通道(YOLT)以每秒0.5平方千米的速率评估任意大小的卫星图像。这个方法通过多个传感器上相对较少的训练数据快速地检测出不同尺度的目标。我们以原始分辨率评估了大量测试图片,并在车辆定位上取得了F1大于0.8的分数。随后我们不断降低图像分辨率,不断测试通道性能,以进一步探索该方法对目标大小的需求。最后得出结论,目标在只有5个像素的时候依然可以被精确地定位到。代码链接:https://github.com/CosmiQ/yolt
关键词:计算机视觉,卫星图像,目标检测
1 介绍
自从在ImageNet比赛中介绍了卷积神经网络后,计算机视觉在过去几年里有很大的发展。ImageNet、PASCAL VOC和MS COCO作为已标注的数据集,实用性高,质量好。他们在快速目标检测领域,促成了一大批令人瞩目的成果,最快的已经接近实时检测了。其中三个算法最为突出,分别是Faster R-CNN,SSD和YOLO。Faster R-CNN通常输入1000x600大小的图像,SSD输入300x300或512x512大小的图像,YOLO输入416x416或544x544大小的图像。虽然这些框架的表现都令人印象深刻,但没有一个可以输入接近16000x16000大小的卫星图像。在这三个框架之中,YOLO在PASCAL VOC数据集上取得了最快的推理速度和最高的得分。作者通过在Picasso数据集和People-Art数据集上比较,证明了YOLO相比于其他框架(如SSD和Faster R-CNN),转换到新的领域后效果更好。由于YOLO在速度、精度、可拓展性三个方面都表现优异,因此我们将该系统作为我们卫星图像目标检测框架的灵感来源。
将深度学习方法应用到传统目标检测通道中是十分重要的。卫星图片中的目标检测由于其特性,需要解决三大问题,一个是前景目标检测的空间范围,一个是完全旋转不变性,一个是大规模搜索空间,这些都需要算法来解决。我们将算法调整成这样(不考虑实施细节):
空间范围小:在卫星图像中,检测目标通常不像ImageNet数据中的目标一样,大而突出,而是非常小的,总是密集地聚集在一起。在卫星领域中,分辨率通常被定义为地面采样距离(GSD),其描述了一个图像像素的物理尺寸。商业上可用的图像从最拍摄精度最高的DigitalGlobe图像的30厘米GSD到Planet图像的3-4米GSD不等。这意味着对于诸如汽车之类的小物体,即使在最高分辨率下,每个物体的范围也只有约15个像素。
完全旋转不变性:从头顶上观察的物体可以具有任何方向(例如船舶可以具有0到360度之间的任何航向,而ImageNet数据集中的树木可靠地垂直)。
训练集频率:训练数据相对缺乏(尽管SpaceNet1等正在努力改善这一问题)
超高分辨率:输入图像非常庞大(通常为数百万像素),因此只需对大多数算法(几百个像素)所需的输入大小进行下采样(参见图1)。
图一、50cm GSD分辨率8 times; 8 km(约16000 times; 16000像素)的巴拿马运河DigitalGlobe图像。一个416 times; 416像素滑窗切口在红色区域中展示。对于一个这样尺寸的图像,大概有1500个独特切口。
该研究解决了上述四个问题。同时将传感器到目标的相对恒定距离(通常约400公里),与最低点的传感器相结合,产生相同像素尺寸的图片。
第2节更详细地描述了标准算法在应用于卫星图像时所面临的挑战。为了解决小而密集的目标,第3.1节描述了一种新的网络结构。第3.2和3.3节详细介绍了在原始分辨率下分割,评估和重组任意大小的大型测试图像的方法。关于旋转不变性和含有小目标标记的训练集的大小,第4节描述了数据量的需求和图片大小要求。最后,第6节详细讨论了算法的性能。
2相关工作
虽然深度学习目标检测方法在处理基于地面拍摄的图片时,效果很不错,但当这些技术处理处头顶拍摄的图片时,效果就欠佳,就比如在检测相对聚集的小目标时(如鸟群),就存在一定问题。其中部分原因是由于现在流行的三种卷及网络方法(YOLO,SDD,Faster-RCNN)由多个下采样构成,造成了视野的过渡扩大,不易识别小目标。同时,如果目标只有几个像素的范围,多个下采样层会导致用于对象区分的特征不易区分。就YOLO目标检测架构举例,该架构在下采样32倍后,返回13times;13预测网格,这意味着如果两个目标的质心间距小于32像素,则很难区分出这两个目标。因此,我们实现了一种独特网络架构,让最终预测网格更加密集。它通过产生更精细的特征图来帮助区分类别,大大的提高了目标检测性能。同时这种更精细的预测网格还能很好地对较小的、密集的目标进行分类。
目标检测算法与卫星图像相互作用的另一个原因,是它们在新的、不同比例或配置中难以很好的概括对象。由于目标可以具有任意航向,因此无论它如何旋转,目标始终是目标,这加大了目标检测的难度。 我们想的解决方法是:通过轮换和扩充数据弥补这种复杂性。具体来说,我们按单位圆来旋转训练图像,以确保分类器与物体航向无关,并且还随机缩放HSV (hue-saturation-value)格式的图像,以增加分类器对不同传感器、不同大气条件、不同照明条件的适应性。
在先进的目标体检测技术中,网络在训练和测试时对整个图像进行观察,根据每个对象的上下文(背景)信息来编码,这大大改善了背景差异所造成问题。但对于要处理256万像素图像来说,硬件(12GB RAM的NVIDIA Titan X GPU)的内存是不够的。
我们还注意到,由于处理的对象是大尺寸卫星图像,这造成有一些可以解决上述问题的常见方法无法使用。例如,对图像进行上采样这一方法,可以确保感兴趣的目标很大,足以分散到常用网络结构中处理,但同时这种方法也会使运行时间增加许多倍,再加上原始图像很大,导致整个处理过程非常缓慢。 类似地,考虑到每个对象将需要检测多个不同大小窗口来确定位置,在图像上运行滑动窗口分类器,以快速搜索感兴趣的目标也变得难以实现。换个角度看,如果目标是DigitalGlobe图像中10米大小的船,则必须评估超过一百万个滑动窗口才能确定目标位置,这几乎无法实现。我们提出的方法是:在合适大小的图像芯片(sim;200米)和多尺度的探测器上,结合当地的图像插值,用快速目标检测算法处理卫星图像。
在卫星图像分析的挑战中,我们训练YOLO检测模型与标准网络架构(13times;13的网格)在COWC头顶图像数据集(在第四部分更详细的了解这个数据集)中的416times;416像素大小的切口中,识别到了汽车。由于对测试图片进行了100多倍的下采样,这个检测模型以接近百分百漏检率评估了一个大尺度测试图片(见图二)。由于标准的YOLO网络结构无法区分两个质心距离小于32像素的目标,甚至连适当大小的图形芯片也存在问题(再次参照图二)。因此在用标准的网络结构处理高密度目标问题上,即使将注意力限制在一个小的切块上,效果通常也很差。
图二、用标准目标检测网络架构检测头顶拍摄的车辆时的挑战。每一个图像都是用标准YOLO架构模型在COWC数据集的416 times; 416像素切块上训练的。左图:模型应用到416 times; 416像素图像(由4000 times; 4000像素的大测试图像降采样得到)上的效果,图中的1142辆汽车一辆都没检测到。右图:模型应用到小的416 times; 416像素切口图片的效果,过大的漏检率是由于密集的车辆无法被13 times; 13的网格区分开
3 你只需看两次(YOLT)
为了解决第二部分讨论的问题,我们提出了一个针对头顶拍摄图像的最优化目标检框架:你只需看两次(YOLT)。我们扩展了Darknet神经网络的框架,同时更新了一些可以分析地理空间图片的c语言库,并将他们与额外python库结合。考虑到python的灵活性和用户数量,我们选择用它作预处理和后加工。在对C代码的更新以及使用python编写的预处理和后加工代码之间,使用人员不需要掌握任何C知识就可以训练、测试、配置YOLT模型
图3、YOLO框架的局限性(左栏,引用自[10]),以及YOLT贡献来解决这些局限性(右栏)
3.1 网络架构
为了降低模型粗糙度,精确检测密集的目标(如车辆群或建筑群),我们应用了一个含有22层,降采样因素为16的网络架构,由此,一个416 times; 416像素的输入图像将产生一个26 times; 26的预测网络。我们的网络结构受30层YOLO网络的启发,专门针对小的、密集的成群目标而优化的。对于机场这类分散的目标,密集网格的需求性不大,但对于停车场这类高密度的场景,密集网格是十分关键的(参考图2)。为了保证小目标的清晰度,我们还用了一个转移层([11]中有描述,类似于ResNet的恒等映射[4])将52times;52大小的最后一层连接到最后的卷积层,让探测器可以更好的获得扩展特征图的特征。
每一层卷积网络都将批量归一化结合起来一起计算,然后将计算结果通过线性整流来激活。最后一层提供了边界盒子和分类的预测,它的大小是:Nf = Nboxes times; Nclasses 5,其中Nboxes是每个网格盒子的数量(默认是5),Nclasses是目标类别的数量。
3.2 测试过程
在测试时,我们将任意大小的测试图像分割成可管理的切口图片,并通过我们的训练模型运行每个切口。分区通过一个滑动窗口进行,该窗口具有用户定义的bin大小和重叠值(默认为15%),请参见图4。按照计划,我们将每个窗口的位置和尺寸作为它的名字,以此来记录每个滑动窗口的属性:
图片名字|行列高宽.ext
例如:
panama50cm|1370 1180 416 416.tif
表1、YOLT 网络架构
3.3 后期处理
卫星(或航空)图像的大部分作用,在于它能够描绘出全球大块区域的能力。因此,小图像芯片远不如卫星平台所产生的大视场图像有用。目标检测方法中的最后一步是将数百或数千 个测试芯片拼接成一个最终图像。
图4:大尺寸图像的测试步骤,展示了一个滑框从左到右贯穿图1的过程。右下角图像的重叠部分用红色显示。这种重叠的非最大值抑制(NMS)是必要的,以此重新精细的检测切口的边缘。
对于每个切口,根据该切口的行和列值调整从分类器返回的边界框位置预测值; 这提供了原始输入图像中每个边界框预测的全局位置。15%的重叠确保了所有区域的分析,但也导致了切口边界上的重叠检测。 我们将非最大值抑制应用于边界框预测的全局矩阵中,以此减轻这种重叠检测。
4 训练数据
训练数据来自小型芯片产生的图片,包含三个来源:DigitalGlobe卫星,行星卫星和高空作业平台。标签由每个对象的边界框和类别标识符组成。我们最初专注于五个类别:飞机,船只,建筑物足迹,汽车和机场。对于不同尺度的物体(例如飞机与机场),我们将在6.2节中说明这一观点:使用两种不同尺度的探测器是非常有效的。
图5:YOLT训练数据。顶部一行显示交通工具的图像和标签。左上角的图片显示覆盖在DigitalGlobe图像上的飞机标签,而中间的图片显示覆盖在DigitalGlobe数据上的船只。右上角的图片显示了来自COWC数据集[8]的汽车航拍图像,红点表示COWC标签,紫色框表示我们推断的3米边界框。左下方图片中显示了一个机场(橙色)在4倍降采样下的行星图像。中下图片用黄色显示SpaceNet建筑足迹,右下角图像用红色显示推断出的YOLT边框标签
汽车:COWC数据集里汽车,是从头顶拍摄的各个地区的大的、高质量、已标注影像里的汽车。数据经由空间站收集,但在最低点视角里,就像是用卫星拍摄出来的一样。影像分辨率是15cmGSD,这大约是两倍当前最好分辨率的商业卫星图像图像(DigitalGlobe的30cmGSD分辨率)的两倍。因此,我们将原始图像与高斯卷积核卷积,并减少了一般的图像,以创造30cmGSD分辨率的图像。标签由每辆车中心的点组成,同时围绕每辆车画一个3米的边
全文共10208字,剩余内容已隐藏,支付完成后下载完整资料
资料编号:[2682]
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。