英语原文共 12 页
2019年 2 月 27 日
卷积神经网络在船舶识别中的应用
摘要:许多海上应用都需要从卫星图像中自动识别船只类型的算法。这个任务是困难的,用船型准确标记的例子图像也很难获得。卷积神经网络 (CNNs) 在图像识别设置中显示出了希望,但是这些应用中的许多依赖于数千幅示例图像的可用性来进行训练。这项工作试图了解 CNNs 可能适合哪些类型的船舶识别任务。我们报告了将 CNN 应用于几个船舶类型分类任务的基线实验结果,并讨论了在处理这个问题时必须考虑的许多因素。
关键词:深度学习,图像识别,神经网络,卫星图像
1.引言
近年来,神经网络算法改变了计算机视觉领域,特别是在目标检测和图像分类等视觉识别任务方面。各种各样的神经网络已经在学术竞赛中占据了主导地位,这导致了该领域的研究爆炸,以及许多新的,通常令人惊讶的应用和结果。随着这项研究转化为有趣、令人印象深刻和可访问的消费者应用程序,自然会出现这样的问题: 它会如何转化为特定的利基兴趣。
美国海军对探测图像中的船只并识别其类别或类型的能力有着特殊的兴趣, 作为在世界海洋中保持态势感知的广泛努力的一部分。自最近的神经网络革命之前,海军一直在这一领域投资研究。1,2船舶识别是一个不适定问题,与像 ImageNet 挑战赛这样的学术识别任务有许多不同之处。3在一种情况下,可能需要将一艘 20 尺的帆船定位在地平线上,由港口监控摄像机拍摄。另一方面,人们可能希望在繁忙港口的卫星图像中统计大型商船的数量,或者识别每艘船只的船体数量。这项工作解决了神经网络算法 (如商业和学术应用中成功的算法) 如何应用于船舶识别应用的问题。
基于神经网络的视觉识别方法通常需要大量的训练图像才能成功。像许多其他现实世界的视觉任务一样,船舶识别是由于缺乏可用数据而产生的。ImageNet 挑战赛的组织者汇编了一个数据集,该数据集由从互联网上刮下的超过百万张图像组成,代表了 1,000 个对象类别。船舶识别的可比数据集,如果要满足对这个问题感兴趣的各方的需求,需要包含世界上每种类型船舶的数百个例子, 从卫星图像的所有模式,从每个高度和视角的视频,在所有类型的海洋状态和大气条件下。在没有这样一个集合的情况下,我们必须对神经网络如何能够已应用开箱即用。不仅需要更多的研究来更好地理解哪些神经网络算法可以对船只进行分类,以及如何进行分类, 但是,这个领域中的哪些子任务是可处理的,解决这些子任务需要什么样的算法和数据集。
前期工作1,2,4,5评估了包括具有视觉词袋特征的支持向量机在内的算法,以区分几个大型商船类别。在目前的工作中,我们解决了在许多船只和非船只干扰中识别一类船只的挑战,这些干扰在图像领域工作全色,光电架空卫星图像。我们评估了由一个中等大小的卷积神经网络 (CNN) 构建的分类器的性能,该网络是在一组中等大小的训练图像上训练的,这些图像来自大型然后,我们将我们训练有素的分类器应用于现实生活中的测试案例,在这些案例中,许多干扰中只有少数目标存在。
下面是一个潜在的激励场景。一艘油轮被劫持,具体位置不明。卫星图像收集在船只最后一个已知位置周围的区域,图像通过船只探测器运行,该探测器返回数百或数千个结果。这些探测到的物体可能是登船、游轮、驳船、货船、游轮,也可能是云或白帽等非船只物体。没有必要仅仅确定每个物体是否是油轮船,就确定每个检测的确切船只类型。这种能力可能会将被劫持油轮的可能地点减少到少数几个,使得人类分析师可以在很短的时间内完成搜索,从而使人类分析师能够在短时间内完成搜索,在有了这份报告,我们不打算推荐解决船舶识别的获胜算法。相反,我们讨论了在寻求自动化这项任务时必须考虑的许多因素。我们正在努力理解培训一个分类员来识别一个兴趣很高的船只类别的可行性,其中可能很少有可用的示例图像。我们如何识别一种船型?我们需要多少个训练例子?我们可以期待什么样的准确性?这项工作开始回答其中的一些问题和相关问题。论文组织如下。在部分2我们描述了我们的数据集、算法和实验设计。第一部分3包含实验结果和对我们的结果和未来研究的潜在途径的影响的讨论。论文在第4。
2.实验设计
我们训练 CNN 为四个不同的船舶类别以及船舶与非船舶类别创建二进制一对一分类。选择了四类 | 驳船、货船、集装箱船和油轮 |,因为它们在视觉上与众不同,在我们的培训集中出现的数量相对较多。我们选择不训练多级分类器,因为我们对识别特定船只类别的挑战感兴趣,而不是识别海上每艘船只的类别。此外,如果我们训练 CNN 识别多个类,我们希望平衡每个训练数据集的大小, 我们将失去一些类可用的更多图像的好处。各种二进制分类器可以组合成一个多类别的分类器,但是在这项工作中没有这样做。
2.1 测试和训练图像
为了模拟船舶识别算法的真实用例,我们获得了 50 幅由数字地球成像卫星以大约 0.5米的分辨率在新加坡港口 WorldView-1 和 WorldView-2 拍摄的卫星图像。6这些场景基本上是无云的,包含了许多大大小小的船只,如盛船和商业货船。使用剑杆将图像切成小图像R船舶检测系统7在黑暗的海洋背景上识别出明亮的异常 (见图1)。每个芯片包含大约一个物体,可以是船只,也可以是云或白帽之类的误报。50 幅卫星图像中的每幅都是以几十个小图像芯片的顺序产生的,其中一些可能包含一艘大船; 一些大图像根本不包含船只, 只有假警报从 50 幅卫星图像中,我们总共获得了 3,011 个芯片进行测试,其中 794 个包含船只。
为了训练我们的 CNN,我们汇编了一组 21,934 个图像芯片,这些芯片以上述方式收集,但来自不同的卫星图像集。其中包含各类船舶的芯片 3,785 枚,其中驳船芯片 278 枚,货轮芯片 1,008 枚,集装箱芯片 389 枚,油轮芯片 1,521 枚。剩下的芯片是云或白帽等非船舶物体。数字2和3展示各种课程的培训图像示例。
为了为每个类构建二进制分类器,有必要将训练数据分成带有一个热二进制标签的单独集合。每个类数据集都是平衡的,这样每个类的正、反例数都是相等的。这导致每个模型的训练和验证集的大小不同。首先,我们将所有感兴趣的类的积极例子拉进一个新的集合。要构建数据集的其余部分,从剩余的类中随机选择相同数量的反面示例。
图 1: 利用船舶检测系统将一幅大卫星图像切成多片,并添加到测试或训练数据集中。
(A) 驳船 (B) 货船 (C) 集装箱船 (D) 油轮
图 2: 来自训练数据集的四个 speci c ship 类的图像示例。
80% 的例子偏向于其他船舶类别。这样做,大多数负面例子将是其他类型的船只,而不是噪音类别的船只。这是必要的,因为源数据中有大量的噪音示例。一旦数据被分成一对一的数据集,每个数据集就被分成训练集和验证集。这是通过随机选择来完成的,同时保持每个集合的类分布。数据集被分成 80% 个训练,20% 个验证。
2.2 神经网络结构
实验使用 Nervana Systems 发布的 Neon 深度神经网络库进行,8V1.1.5。培训在 SGI UV300 集群计算机上进行,该集群计算机具有 288 个内核。除了驳船和集装箱类之外,每个实验的批次尺寸为 128,因为验证集尺寸较小,它们使用 75 的批次尺寸。对于这些实验,由于可用训练示例的大小有限,使用了相对较小的模型大小。该模型松散地基于 Neon 库提供的所有卷积示例。模型的输入是 300 张 150 像素的图像,船只的长轴与图像的长轴对齐。模型的结构如下所示。
(A)汽车承运船 (B) 快速船 (C) 云 (D) 闪烁
图 3: 训练数据集的图像示例。
卷积层 64 5 x 5, Padding 1, Xavier初始化,ReLU,批量标准化
卷积层 32 3 x 3, Padding 1,步幅 2,Xavier 初始化,ReLU,批标准化
最大池化层 3 x 3
卷积层 32 5x5,Padding 1,Xavier 初始化,ReLU,批标准化
卷积层 16 3 x 3,Padding 1,步幅 2,Xavier 初始化,ReLU,批标准化
最大池层 3 x 3
全连接层,统一初始化,ReLU,批标准化
全连接层,统一初始化,ReLU,批标准化
全连接层,统一初始化,Softmax
在Neon库中实现了Xavier初始化选项。Xavier初始化9初始化权重时,考虑每个节点的传入连接和传出连接的数量。它这样做是为了保持网络许多层激活的差异。对于具有 sigmoidal 激活功能的节点,我们有
对于校正的线性单元 (ReLU):
使用 Adam 随机优化算法对模型进行训练10使用交叉熵损失函数。使用不同的学习率和不同的停止标准训练了几个模型。使用的学习率为 0.01 、 0.005 、 0.001 、 0.0005。使用的停止标准是 500 个时代,或者提前停止。为了防止过度拟合,提前停止被用作正则化的方法。当使用早期停止时,当验证的性能连续五次验证检查都没有提高时,培训就完成了。每三个时代进行一次验证,这意味着模型有 15 个时代需要改进。
我们通过两种方式将不同学习率的实验结果结合起来。一种方法是对五个不同实验的分数进行平均,并将每个图像分配给得分最高的班级。另一种方法是根据具有不同学习率的单个分类器的结果对该类进行投票。
总共,我们为驳船、集装箱、货物和油轮类的一对一分类器进行了七次实验。四个实验是四个学习率和提前停止; 我们还运行了一个学习率为 0.005 且没有提前停止的实验,以及两个使用平均和投票的集成分类器。对于 ship-vs-all 分类器,除了提前停止,学习率为 0.01 和 0.001,也进行了同样的实验。所有这些实验的结果可以在附录的表格中找到A。下面的章节通过这些表格中使用的名称来参考单个实验。姓名注明目标班级名称、学习率、是否提前停课 (Es),如果是集成算法 (平均或者投票)。
3.结果
我们现在讨论 Sec 中描述的 33 个实验的结果。附录中显示每个实验统计数据的表格A。每个实验引用四个统计数据。
精度: 标记为实际目标的项目的百分比。
召回: 被标记为目标的真实目标的百分比。
准确性: 正确标记的所有项目的百分比。
落尘 (或假阳性): 被标记为目标的非目标的百分比。
对于精度、召回率和准确性来说,更高更好; 对于辐射来说,更低更好。对于二进制分类,有许多类似的统计度量,每个度量的相关性将由应用的性质决定。11我们并不打算根据我们的结果推荐最佳算法。相反,我们检查选定的结果,并讨论它们对我们的应用程序的影响。
在我们的应用中,我们在大量的假警报中寻找少量的目标船只。因此,对于大多数实验来说,准确性分数似乎很高,因为大多数非目标被正确地识别为非目标。我们真正关心的是 (1) 大多数目标被识别 (高召回),以及 (2) 检测到的目标不会在太多的误报 (高精度) 中被遮挡。
3.1 艘船vs其他
我们最一般的分类是船只,而不是其他任何东西。Tab 中的混淆矩阵。1显示每个图像类型中有多少被集成算法标记平均船期作为发货或未发货 (选择该算法有点武断,因为它在 Tab 中有最好的分数。A1)。虽然该算法的准确率为 90%,但召回率仅为 73%,因为在 581 个目标中,只有 794 的目标被正确识别。虽然召回率可能低于人们的期望,但准确率在 89% 时非常好,这意味着在 656 次检测中 (11% 次) 只有 75 次是误报。
3.2 集装箱船vs其他
我们现在考虑一个更具体的分类任务。表2a包含实验的混淆矩阵集装箱-0.005。这个实验的准确率 (93%) 比平均船期但是结果并不是相比之下,3,011 个图像芯片中现在只有 23 个目标 (集装箱船)。召回仍然不太好,23 个目标 (79%) 中只有 15 个被正确识别,但是这 15 个被正确标记的目标隐藏在 189 个假警报中, 精度只有 7%。
在 50 幅大图片中,只有 14 幅图片中有任何集装箱船。只考虑单个大型卫星图像的检测,这 14 幅卫星图像的精度从 0% 到 67% 不等,中值精度为 18%。从没有任何集装箱船的 36 张图片中,117 张芯片中有 1,813 被错误地标记为目标 (6% 颗落尘)。
如果我们看一个特定的卫星图像上的算法的结果,我们看到了一些困难所在。如图所示,大图像包含 77 个检测,包括三艘集装箱船。4a,4b,和4c。三个无结果。4a和4b被算法正确标记,但是4c是假阴性此外
资料编号:[5652]
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。