最近要开题,对遥感图像树木检测内容做个整理,包括遥感图像,目标检测,树木检测的一些传统方法和近期文章

树木检测传统方法

树木检测的传统方法感觉更偏向于针对特定问题的奇技淫巧,各种优化换个地儿就不行了,泛化性不高

区域生长法

区域生长法,又名种子填充法,顾名思义,就是在图像中不停地去选定种子点,向周围寻找像素层面上接近的像素块或者区域,形成新的更大的区域,直到不能再继续扩展后停止。区域生长法有三个重要的部分,种子点的选定,生长规则的确定,以及扩展的终止条件。

种子点的选定通常采用人工选择的起始像素点或者局部最大值法

局部最大值法主要分为固定窗口和动态窗口两类

固定窗口局部最大值

🌲 Image modelling of forest changes associated with acid mine drainage

图像预处理

  1. 图像平滑处理 (高斯滤波)
  2. 树冠边缘增强处理

滑动窗口大小固定为$3\times3$,检测图中像素的局部最大值作为候选顶点,根据树冠间距来过滤异常点,得到最终的种子点

动态窗口局部最大值

🌲 TIDA: An algorithm for the delineation of tree crowns in high spatial resolution remotely sensed imagery

在滑动窗口的局部最大值上记录频数,在窗口上下左右方向进行扩展,扩展窗口中若出现局部最大值,则频数加一,最后频数越高,该点为树冠顶点的概率就越高

需要设置全局频数阈值来筛选得到最终的树冠顶点集,因为全局阈值条件苛刻,该方法泛用性不高

🌲 Automated tree crown detection and delineation in high-resolution digital camera imagery of coniferous forest regeneration

分析局部样条,使用样条数据中的最大变化率点来估计树冠边界,边界敏感,对于具有明显轮廓信息的树木检测效果较好,具体使用中实验参数过多,极度依赖于专家的先验知识

分水岭法

分水岭法是一种基于形态学的图像处理方法,基本思想是将数字图像看做地质测量学中的地形图,将像素点的灰度值作为该点的高度,高点为分水岭,低点为山谷,当模拟降水时,随着水量的增加,山谷区域的水的高度会超过分水岭的高度,合并为一个区域。分水岭法是用于在确定树冠中心点的情况下描绘树冠轮廓,需要结合局部最大值来使用

🌲 Individual Tree-Crown Delineation and Treetop Detection in High-Spatial-Resolution Aerial Imagery

采用最小有效尺度下的拉普拉斯高斯边缘检测方法,然后进行标记控制的分水岭分割

标记控制:假定树梢为局部极大值,用导出的树冠创建标记图像来指导分水岭分割

🌲 On the use of binary partition trees for the tree crown segmentation of tropical rainforest hyperspectral images

提出一种基于二叉分割树(BPT)算法的高光谱图像分割方法

构造BPT之前采用分水岭变换和均值漂移聚类等多种超像素方法来降低空间维数

模板匹配法

将图像内容和模板库中的模板进行相似度计算,滑动窗口内图像与模板树木近似度高于设定阈值时默认窗口内是一棵树

🌲 Automatic Stem Mapping in Three Dimensions by Template Matching from Aerial Photographs

模板匹配算法,用于在树叶脱落情况下生成三维森林树干图,介绍了一种人工生成模板的完备算法


目标检测方法

目标检测的通用方法的各种变型就相当多了,稍微记录总结一下看过的一些特别常用的主流方法,论文相对比较好找,不贴论文题目了 (贴起来好长,排版巨丑)

R-CNN系列

🍊 R-CNN

Selective Search得到候选框,归一化候选框(先以padding=16扩充,然后进行拉伸)

在ILSVRC2012数据集上预训练,然后将1000路分类层替换为随机的N+1路分类层

对每个类别训练一个SVM分类器 (CNN容易过拟合,需要大量样本,宽松标注,SVM支持少量样本训练,阈值可以放低,因为CNN部分宽松标注分类精度低,所以需要接SVM)

极大值抑制去除多余的框

🍊 SPP-net

SPP-net算是R-CNN的改良版,核心思想是从feature map中提取ROI特征,而不是先提取候选框特征再扔进CNN里面做卷积操作

SPP-net用空间金字塔池化方法得到大小固定的输出 (特征图不能直接拉伸的问题得到解决)

🍊 Fast R-CNN

沿用了SPPnet将整张图作为CNN输入来提取特征的方法,但是用ROI池化层代替了SPPLayer (将ROI窗口划分为固定数量的小块,每个小块输出对应网格单元计算结果,以得到固定大小的输出)

分类和回归放在一起训练

🍊 Faster R-CNN

用RPN来替代耗时巨大的Selective Search,RPN本质上就是在图上打满手工锚框,替代搜索 (9个基础框,然后平移)

🍊 Mask R-CNN

采用特征金字塔FPN,首先自底向上提取语义信息,然后依次进行上采样将浅层定位细节与上采样的高层语义结合 (逐元素相加),最后用3*3卷积做融合 (消除上采样的重叠效应)

用ROI-Align替代ROI-Pooling,解决Missalignment问题

🍊 Cascade R-CNN

既然单一IoU阈值没法适配所有的情况,那就多整几个
—— Cascade R-CNN

多个RCNN回归级联适配了更多阈值的proposals

YOLO系列

🍌 YOLOv1

核心思想:将输入的图像划分成S×S的格子,如果检测物体的中心在某个格子内,那个这个格子就负责检测这个物体

所以最多只能预测S×S个物体

🍌 YOLOv2

更精准 批标准化BN代替Dropout,从高分辨率迁移学习,采用带锚框的卷积 (YOLO中为每个格子预测类别,YOLOv2为每个锚框预测类和对象),聚类提取锚框尺寸,偏移公式优化,细粒度检测

更快 不再使用VGGnet而是提出了Darknet-19 (19conv+5maxpooling)

更强 构建WordTree,识别9000种类物体

🍌 YOLOv3

用sigmoid替换softmax,可以实现多标签预测

结合多卷积层特征,可以多尺度预测

网络引入ResNet结构

SSD系列

🍎 SSD

核心思想:浅层特征图包含着位置信息,对于目标定位非常重要,深层的特征图包含大量的语义信息,对图像目标的分类具有重要的意义

具体做法:用不断下采样得到的特征图分别进行检测

🍎 DSSD

利用反卷积将特征图进行上采样,与原始的特征图进行融合,得到的特征图分别进行检测

解决了SSD中因为浅层语义信息不够而导致的小目标检测不佳的问题

🍎 RfbNet

利用inception与空洞卷积相结合得到感受野模块(rfb),将rfb应用于ssd算法的特征图的头部,对处理后的特征图进行预测

Free-Anchor方法

该部分了解较少,最近还要看些paper和code

🍍 CenterNet

将目标当做点,锚框 $\to$ 锚点,选取热力图上前百个峰值点作为中心点,因为没有锚框,所以不需要手动设置IOU,每个目标只有一个正锚点,不需要做NMS

遥感检测方法

🏙️ Building Detection from Satellite Imagery using Ensemble of Size-Specific Detectors

遥感建筑物检测

多任务模型,学习多个探测器,每个探测器用于特定大小的建筑物

隐式利用上下文,同时训练道路提取任务和建筑检测任务

🚘 R^3-Net: A Deep Network for Multioriented Vehicle Detection in Aerial Images and Videos

多目标车辆检测

可旋转区域残差网络,生成可旋转的矩形目标框 (可旋转区域建议网络R-RPN处理feature-map得到R-Rois,然后用可旋转检测网络R-DN来进行分类和回归)

🚢 HSF-Net: Multiscale Deep Feature Embedding for Ship Detection in Optical Remote Sensing Imagery

舰船遥感图像检测

采用分层选择滤波层,将不同尺度的特征映射到同一尺度空间,解决不同尺度舰船检测的问题

🚢 Position Detection and Direction Prediction for Arbitrary-Oriented Ships via Multiscale Rotation Region Convolutional Neural Network

舰船遥感图像检测

Dense FPN + ROI + 旋转bbox回归 + 船头方向预测 + 旋转NMS评价

✈️ Weakly Supervised Learning Based on Coupled Convolutional Neural Networks for Aircraft Detection

CNN提取对象的高级特征和层次特征表示

迭代弱监督学习框架,从原始图像中自动挖掘和扩充训练数据集

耦合RPN和定位网络,提取建议并同时定位飞机

📷 Multiscale Visual Attention Networks for Object Detection in VHR Remote Sensing Images

解决目标旋转缩放,背景杂乱的问题

提取多尺度特征,对每个尺度特征学习一个注意力网络,高亮目标区域,抑制噪声,热图 (目标框内为1,框外为0) 点乘特征图

📷 Object Detection in Very High-Resolution Aerial Images Using One-Stage Densely Connected Feature Pyramid Network

用密集连接的FPN解决多尺度问题

📷 DOTA: A Large-Scale Dataset for Object Detection in Aerial Images

提出DOTA遥感数据库,有矩形和多边形的标注,允许倾斜

🚶 Clustered Object Detection in Aerial Images

无人机图像行人检测 (目标像素少,难以和背景区分,分布稀疏,不均匀,检测效率低)

提出ClusDet集群检测网络 (集群提议子网络CPNet减少目标检测块的数量,尺度估计子网络ScaleNet提高小目标检测精度,检测网络DetecNet集群proposal隐式利用上下文信息提高检测准确率)

📷 Deep Adaptive Proposal Network for Object Detection in Optical Remote Sensing Images

问题:遥感中目标稀疏稠密情况是复杂的,相同区域生成策略效果不佳

提出深度自适应建议网络DAPNet,用类别先验网络CPN生成类别数量,给RPN一个类别数量的先验,mAP提升4.4%

📷 Object Detection in Remote Sensing Images Based on a Scene-Contextual Feature Pyramid Network

FPN提取ROI的特征图,将整幅图的特征图和ROI的特征进行融合,得到上下文信息,分别经过分类得到结果