遥感影像目标检测

作为计算机视觉中的基本视觉识别问题,目标检测在过去的几十年中得到了广泛地研究。目标检测旨在给定图像中找到具有准确定位的特定对象,并为每个对象分配一个对应的标签。高分辨率遥感影像目标检测是遥感图像处理领域中的研究热点,在军事和民用等应用广泛。

目标检测一直以来都是计算机视觉的一个重要研究方向。

目标检测包含两个任务:一是待检测图像中是否含有特定目标;二是确定该目标的具体位置。高分辨率遥感影像上的典型目标有线状目标(如桥、立交桥等)、团状目标(如舰艇、车辆)、复合目标(港口、机场、油库),下图显示了遥感影像中的常见目标,目标由红色圆框或方框圈中标出。




深度学习遥感目标识别样本 遥感图像目标检测代码_模板匹配

桥立交桥机场




深度学习遥感目标识别样本 遥感图像目标检测代码_模板匹配_02

油罐 网球场 飞机




深度学习遥感目标识别样本 遥感图像目标检测代码_深度学习遥感目标识别样本_03

复合目标示例



目在目标检测研究领域中,目标检测框架需要判断图像中是否含有目标,并且得到目标在图像中的位置,检测结果通常使用包围目标的矩形框来表示,如下图所示。目标识别是在目标检测的基础上,对目标的特性进行分析,如识别出飞机目标的具体型号等。




深度学习遥感目标识别样本 遥感图像目标检测代码_深度学习遥感目标识别样本_04

目标检测示例



目标检测方法分类

基于高分辨率遥感进行目标检测的研究中,遥感影像目标检测方法可以分为4大类,分别是基于模板匹配、特定知识、面向对象、机器学习的方法。

  • 基于模板匹配的方法

基于模板匹配(Template matching-based)的方法是最早也是最直观、简单的方法。在模板匹配的对象检测框架中有两个主要步骤,如下图所示:模板生成、相似性度量。模板通常来源于人工描画或者搜集,之后将模板与待检测图像进行相似性度量,输出检测结果。最常见的模板度量方法是绝对差异的总和、差的平方和、归一化互相关系数和欧氏距离。基于模板匹配的目标检测方法按照模板的灵活程度分为刚性模板匹配和变形模板匹配。基于模板匹配的方法原理简单,但是对视角变化敏感,需要设计模板,计算量大。




深度学习遥感目标识别样本 遥感图像目标检测代码_深度学习_05

基于模板匹配的方法一般流程



  • 基于特定知识的方法

基于特定知识的方法(Knowledge-based)一般通过建立各种知识和规则,将目标检测问题转化为假设检验问题,这里的知识包括遥感影像地理学相关知识、上下文知识等,一般步骤如图3.4所示。基于特定知识的方法方法需要根据先验知识定制规则,不易把握,如果规则过于严格,会导致目标漏检,如果过于宽松,检测结果会出现虚警,并且需要针对特定的目标制定规则,检测方法不具备普适性。




深度学习遥感目标识别样本 遥感图像目标检测代码_遥感图像变化检测代码_06

基于特定知识的方法一般流程



  • 基于面向对象的方法

近年来,随着越来越多的亚米级图像广泛应用,基于对象的图像分析已成为一种新的方法,该方法通过分割算法将遥感影像转换成有意义的对象。面向对象的方法(Object-based)的步骤如图3.5所示,主要包括图像分割与分类。首先,通过图像分割方法将图像分割成互不相通匀质的区域,每个区域称为对象。然后对这些对象进行分类。基于对象的方法克服了传统的基于像素的图像分类方法的局限性,为目标检测提供了一个完整的框架,并已成功地应用于滑坡检测、土地覆盖与土地利用、变化检测中。基于对象的方法的难点在于分割过程中,容易产生过分割的现象,而定义分类规则的专家知识仍然依赖主观经验。




深度学习遥感目标识别样本 遥感图像目标检测代码_深度学习遥感目标识别样本_07

面向对象的方法一般流程



  • 基于机器学习的方法

随着近年来机器学习方法研究的兴起,越来越多的研究者们将目标检测任务转化为机器学习中的分类问题。根据目标候选框的4个坐标是否参与训练和更新,本文将基于机器学习的方法分为基于离线学习和在线测试的方法和基于深度学习特征的方法:

①基于离线学习和在线测试的方法。最具代表的方法有基于HOG特征与SVM的行人检测框架。“离线”指分类器的参数在测试之前就需要完成训练,并且正负样本都是确定的,在测试阶段并不加入候选框的4个坐标微调。如下图所示,整个检测包括两个阶段,离线训练阶段的任务是训练出分类器。在线测试阶段,对测试图像产生目标候选区域,然后使用上一阶段训练出来的分类器进行预测。因此大多数目标检测方法沿着3个方向进行:1)根据需求选择或者提出不同的候选框产生方法;2)使用或者提出各种特征提取方法;3)使用不同的分类器进而提高检测精度。




深度学习遥感目标识别样本 遥感图像目标检测代码_深度学习_08

基于离线学习和在线测试方法目标检测流程



②基于深度学习特征的方法,该类方法可以大致分为两类:

1)RCNN系列。2015年,Ross B等人提出了基于区域卷积神经网络(Region-based Convolutional Neural Network,RCNN)的目标检测方法,将深度学习方法引入到目标检测领域,大幅度提升了目标检测精度。接着该课题组又提出了效率更佳的Fast-RCNN、Faster-RCNN。RCNN系列因此成为目前目标检测的主流方法,RCNN系列需要先产生候选框建议区域,再进行网络训练。

2)基于回归的方法。RCNN系列在计算速度方面已经取得了很大进展,但不能进行实时的检测。后来,以YOLO(You Only Look Once)和SSD(Single Shot MultiBox Detector)为代表的基于回归的方法被提出。YOLO和SSD可以直接从图片中以回归方式的确定目标的位置和类别,这类方法具有实时性,但精度不如RCNN系列,非常适合视频中目标的检测。

基于离线学习和在线测试的方法的优点是时间快,分类器参数通常经过一次或数次迭代就可以得到。但是这种方法得到的检测框往往是不精确的。基于深度学习的方法,可以自动地学习到分类模型,并且模型有可扩展性和兼容性,具有较高的检测精度,常见于视频中动态目标检测,检测框与目标的边界贴合程度高。目前基于深度学习的目标检测方法已经成为研究主流。

在深度学习兴起并逐渐成为计算机视觉的核心方法之后,基于深度学习算法的一系列目标检测算法大致可以分为两大流派:两步走(two-stage)算法和一步走(one-stage)算法。

两步算法(two-stage):先产生候选区域然后再进行CNN分类(RCNN系列),主要经历了:

R-CNN—SPP-Net—Fast R-CNN—Faster R-CNN—Mask R-CNN

一步算法(one-stage):直接对输入图像应用算法并输出类别和相应的定位(yolo系列),主要历经了:

YOLO v1—SSD—YOLO v2/YOLO 9000—YOLO v3—YOLO v4

无论是两步走还是一步走算法,它们都是在识别的快和准两点上寻找一个平衡点和或者极端点。要么准要么快,但随着深度学习和计算机视觉的向前发展,既快又准的算法也在逐渐的实现当中。