深度学习在遥感图像目标检测中的应用综述
1 人工智能发展
1.1 发展历程
- 人工智能提出(1950s):人工智能AI、图灵测试
- 机器学习(1970s):机器学习、数据建模
- 人工神经网络(1980s):神经网络模型
- 深度学习(2006~):深度神经网络
1.2 深度学习的应用
- Alpha Go:打败围棋世界冠军
- Object recognition:目标识别
- Image Caption:看图说话
- Speech recognition:语音识别
- Automatic driving:自动驾驶
2 深度学习
2.1 机器学习概述
- 机器学习:研究如何从观测数据中学习规律,利用学习到的规律对未知的数据进行预测。
- 分类(离散值)
- 聚类(无监督学习)
- 回归(连续值)
- 降维(既可以保留数据特征,又可以降低数据量,PCA,LDA)
2.2 神经网络模型
- 神经网络:以数学模型模拟神经元活动,是模仿大脑神经网络结构和功能,而建立的一种信息处理系统。
- 单层感知机
- 神经网络
2.3 深度学习
- 深度学习:通过构建具有很多隐藏层的神经网络模型,利用海量数据自主学习数据特征,提升预测准确性。
- 浅层学习:①传统的神经网络,比如BP网络;②通常只包含1-2个隐藏层
- 深度学习:①多隐层的神经网络具有优异的特征学习能力,学习得到的特征对数据有更本质的刻画。②大数据时代的到来,高性能计算的发展都为深度学习的成熟提供了土壤。
2.4 深度学习主要模型
2.4.1 CNN-卷积神经网络
- Convolutional Neural Network,卷积神经网络,解决图像识别问题;
- 遥感影像分类:LULC(土地利用和土地覆盖),植被、水体、裸土等。
- 目标识别:舰船、飞机、机场
2.4.2 FCN-全卷积神经网络
- Fully Convolutional Network,全卷积神经网络,解决图像分割等问题
- 遥感影像分割:道路、建筑、植被等。
- 目标识别:舰船、飞机、机场
2.4.3 RNN-循环神经网络
- Recurrent Neural Network,循环神经网络,解决时序数据处理等问题。
- 变化检测的问题。
- 多时相遥感影像分类问题,包括农作物分类、林地分类
2.5 深度学习具体实例
每一类深度学习模型都有具体的实例
2.5.1 CNN-卷积神经网络
- LeNet
- AlexNet
- VGG
- GoogLeNet
- Inception
- ResNet
- SqueezeNet
- Siamese
2.5.2 FCN-全卷积神经网络
- FCN-8s
- FCN-16s
- FCN-32s
- U-Net
- SegNet
- DeconvNet
2.5.3 RNN-循环神经网络
- LSTM
- GRU
2.6 深度学习原理
2.6.1 CNN-卷积神经网络
- 卷积核Kernel相当于传统BP神经网络的权值空间化
- 权值共享机制可以减少参数数量
- 池化可以减少特征参数的数量,减少计算量
- Dropout可以有效避免过拟合
CNN典型结构-1:AlexNet
AlexNet 2012年图像识别大赛冠军,错误率为15.4%,重新引发了人们对神经网络的热情,现代CNN的奠基之作(8层)。
- 数据增强
- Dropout策略
- 重叠池化策略
- ReLU激活函数
- LRN(局部响应归一化层),提高泛化能力
- 基于CUDA的多GPU并行计算
网络结构
CNN典型结构-2:VGG
VGG 2014年图像识别大赛的第二名,错误率降低到7.3%。
- 拓展了AlexNet结构,网络变得更深(16-19层)
- 反复堆叠33的小型卷积核和22的最大池化层
- 通过不断加深网络结构来提升性能
- 错误率大幅下降
VGG-16结构
- 卷积层:13
- 池化层:5
- 全连接:3
CNN典型结构-3:GoogLeNet
GoogLeNet 2014年图像识别大赛冠军,错误率6.7%
- 没有最深,只有更深(22层)
- 提出来Inception结构,网中网(Network inNetwork)
- 去除了最后的全连接层,用全局平均池化层,减少参数量,降低过拟合
Inception
CNN典型结构-4:ResNet
ResNet 2015年的图像识别大赛冠军,错误率仅3.6%。
- 深度继续增加(152层)
- 创新在残差网络
- 传统的卷积层或全连接层在信息传递时,或多或少存在信息丢失、损耗等问题。
ResNet网络结构
常规网络单元结构
残差网络单元结构
2.6.2 FCN-全卷积神经网络
- FCN对图像进行像素级的分类,从而解决了语义级别的图像分割(semantic segmentation)问题。
- FCN可以接受任意尺寸的输入图像采用反卷积层对最后一个卷积层的feature map进行上采样,使它恢复到输入图像相同的尺寸。
- CNN卷积神经网络(Encoder,编码)+上采样Upsampling(Decoder,解码) --> FCN全卷积神经网络
Why FCN ?
- CNN冗余由于每个像素点都需要取一个patch,那么相邻两个像素点的patch相似度是非常高的,这就导致了非常多的冗余,导致网络训练很慢。
- 感受野和定位精度不可兼得,当感受野选取比较大的时候,后面对应的pooling层的降维倍数就会增大,这样就会导致定位精度降低。
- FCN可以把定位和分类这两个问题结合起来,语义分割是进行逐个像素点的分类。
CNN分类原理
FCN分类原理
FCN典型结构-1:FCN-xs
- FCN-8s、FCN-16s、FCN-32s:反卷积实现上采样
- End-to-end端到端的训练
- 输出图像大小与输入保持一致
- FCN-8s将特征图上采样8倍
- FCN-16s将特征图上采样16倍
- FCN-32s将特征图上采样32倍
- FCN-8s均优于FCN-16s、FCN-32s
FCN原理
FCN典型结构-2:U-Net
- U-Net(U型卷积神经网络)
- 最初广泛应用于医学图像的分割领域
- 输入输出都是图像,没有全连接层
- 较浅的高分辨率层用来解决像素定位的问题
- 较深的层用来解决像素分类的问题
- U型结构可以保证像素定位和像素分类的精度
U-Net网络结构
视网膜分割
- 将U-Net的思想引入遥感图像分割中
- 实现高精度的地物提取:建筑、道路等
地物提取结果
带路提取结果
FCN典型结构-3:SegNet与DeconvNet
SegNet
- encoder+decoder
- encoder:采用VGG-16结构
- decoder:与VGG-16相对称的结构
- 详解:https://blog.csdn.net/zhuzemin45/article/details/79709874
DeconvNet
- 与SegNet类似
- encoder采用的也是VGG-16的结构
- decoder增加了两个全连接层
- 详解:https://www.jianshu.com/p/fa43fb059d60
2.6.3 RNN-循环神经网络
- 循环神经网络(Recurrent Neural Network,RNN)
- RNN已经在众多自然语言处理(NLP)取得了重大成功及广泛应用。
- 与CNN不同,RNN隐藏层之间的结点不再是无连接的而是有连接的,并且隐藏层的输入不仅包括输入层的输出,还包括上一时刻隐藏层的输出,可以对任何长度的序列数据进行处理。
RNN基本结构
- LSTM长短时记忆单元,为了解决时间上的梯度弥散问题
2.7 深度学习—迁移学习
迁移学习是未来5年的重要研究方向。—吴恩达
2.7.1 什么是迁移学习?
- 在面对某一领域的具体问题时,通常无法得到构建模型所需规模的数据集,尤其在遥感图像处理领域。
- 将一个已经利用海量数据训练好的深度学习模型,应用于
同一领域的不同问题
,这就是迁移学习
。 - 迁移学习主要用于解决以下三个问题:
- 训练样本不足,导致深度神经网络的欠拟合
- 计算资源不足,导致无法进行基于深度学习的敏捷开发
- 缩短实验周期,可以直接利用计算机视觉领域的经典模型,进行模型迁移
2.7.2 迁移学习的可能性
- 卷积神经网络学习到的图像底层特征具有普遍性
- 因此可以用ImageNet等预训练好的模型对遥感影像进行分类。
2.7.3 迁移学习的性能
- 高的起始性能
- 高的性能提升
- 高的极限性能
3 遥感图像目标检测
- 建筑物检测
- 电力塔检测
- 飞机场检测
- 飞机检测
- 船只检测
- 操场检测
3.1 应用案例—建筑物检测
3.1.1 项目背景
1 研究意义
从高分辨率遥感影像上提取单体建筑信息,可以极大减少人工矢量化的工作,为住建、统计等领域提供基础数据。
2 存在问题
- 材质、色彩差异,植被遮挡,阴影效应
- 建筑的组成成分差异较大,光谱信息较复杂,与道路、裸地存在交叉,造成了提取的困难。
- 实际中建筑与周围的植被、建筑等存在相互遮挡。
- 高大建筑的阴影效应很明显,影响阴影中其他建筑的提取效果。
- 样本不足。
3.1.2 检测方法
- 利用美国建筑样本库,进行U-Net模型训练,在利用worldview-3数据对网络进行迁移学习。
- (1)一定程度上缓解了建筑样本数量不足的问题。
- (2)充分利用了U-Net分割精度高的优点。
3.2 应用案例—电力塔检测
3.2.1 需求分析
1 研究意义
从高分辨遥感影像上提取电力塔,可以极大减少人工目视解译的工作,提高工作效率。
2 存在问题
- 电力塔与周围环境的混叠较为严重,造成了提取困难。
- 电力塔对影像分辨率的要求很高。
3.2.2 检测方法
利用Google Earth的影像进行样本的制作,选用YOLO深度学习模型,进行电力塔检测模型的训练。
- YOLO具有端到端学习的优势,计算效率高
- 可以实现目标定位、检测、识别的一体化
3.2.3 构建样本数据库
利用labelImg工具,制作Pascal VOC格式的样本数据
https://cloud.tencent.com/developer/news/325876