CN110298321B - 基于深度学习图像分类的道路阻断信息提取方法 - Google Patents
基于深度学习图像分类的道路阻断信息提取方法 Download PDFInfo
- Publication number
- CN110298321B CN110298321B CN201910587455.0A CN201910587455A CN110298321B CN 110298321 B CN110298321 B CN 110298321B CN 201910587455 A CN201910587455 A CN 201910587455A CN 110298321 B CN110298321 B CN 110298321B
- Authority
- CN
- China
- Prior art keywords
- road
- training
- sample
- network
- detection
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000000903 blocking effect Effects 0.000 title claims abstract description 99
- 238000000605 extraction Methods 0.000 title claims description 28
- 238000013135 deep learning Methods 0.000 title claims description 27
- 238000012549 training Methods 0.000 claims abstract description 182
- 238000013527 convolutional neural network Methods 0.000 claims abstract description 107
- 238000001514 detection method Methods 0.000 claims abstract description 106
- 239000013598 vector Substances 0.000 claims abstract description 28
- 238000011160 research Methods 0.000 claims abstract description 14
- 238000000034 method Methods 0.000 claims description 103
- 230000006870 function Effects 0.000 claims description 53
- 230000008569 process Effects 0.000 claims description 50
- 238000012795 verification Methods 0.000 claims description 38
- 238000013528 artificial neural network Methods 0.000 claims description 17
- 230000006872 improvement Effects 0.000 claims description 12
- 238000010200 validation analysis Methods 0.000 claims description 11
- 230000004913 activation Effects 0.000 claims description 9
- 210000002569 neuron Anatomy 0.000 claims description 9
- 238000011176 pooling Methods 0.000 claims description 9
- 238000010276 construction Methods 0.000 claims description 5
- 238000010801 machine learning Methods 0.000 claims description 5
- 238000012360 testing method Methods 0.000 claims description 4
- 230000009471 action Effects 0.000 claims description 3
- 230000008901 benefit Effects 0.000 claims description 3
- 238000003709 image segmentation Methods 0.000 claims description 3
- 230000002779 inactivation Effects 0.000 claims description 3
- 230000001537 neural effect Effects 0.000 claims description 3
- 238000010606 normalization Methods 0.000 claims description 3
- 238000007781 pre-processing Methods 0.000 claims description 3
- 230000000007 visual effect Effects 0.000 claims description 3
- 230000008717 functional decline Effects 0.000 claims description 2
- 238000011156 evaluation Methods 0.000 abstract description 5
- 238000012544 monitoring process Methods 0.000 description 10
- 230000000694 effects Effects 0.000 description 7
- 238000013461 design Methods 0.000 description 6
- 238000002474 experimental method Methods 0.000 description 6
- 230000011218 segmentation Effects 0.000 description 6
- 238000005457 optimization Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000003062 neural network model Methods 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 230000003197 catalytic effect Effects 0.000 description 2
- 238000012512 characterization method Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000010355 oscillation Effects 0.000 description 2
- 238000012916 structural analysis Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 101150041570 TOP1 gene Proteins 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000009849 deactivation Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 210000005036 nerve Anatomy 0.000 description 1
- 238000012732 spatial analysis Methods 0.000 description 1
- 238000011425 standardization method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
- G06V20/182—Network patterns, e.g. roads or rivers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
本发明公开基于深度学习图像分类的道路阻断信息提取,利用灾害典型案例影像构建道路阻断图像分类样本库,进行卷积神经网络的训练,得到初始卷积神经网络模型CNNmodel0;获取研究区x灾后影像I(x)和道路矢量R(x)后,对道路阻断进行检测,得到待检测样本Dn(x);利用训练好的网络CNNmodel0,对待检测样本Dn(x)进行沿道路矢量方向的垂直法线方向增加检测点的多点道路阻断检测:选择少量道路段生成新的训练样本数据S1,对已有网络进行网络微调;重复道路阻断分类检测工作,直到检测结果达到精度要求。改进后的卷积神经网络模型的各项精度评价指标都要优于原始模型,更加适用于灾区道路阻断图像分类和检测的具体问题。
Description
技术领域
本发明涉及遥感监测技术领域。具体地说是基于深度学习图像分类的道路阻断信息提取。
背景技术
灾害发生后,及时准确地对灾区道路阻断情况进行评估、掌握损毁道路的分布和数量情况以及灾区主干道路的通行情况,是应急救援的首要任务。灾后损失应急评估是在灾害发生后的第一时间,迅速对灾害规模及灾害破坏损失程度进行评定,灾区道路阻断程度评估是灾后损失应急评估的重要组成部分。灾区道路阻断信息服务于灾情的实时汇报和救灾决策的制定,为救灾人员第一时间赶赴灾害现场提供科学的依据,对减少人员伤亡和减轻灾害损失具有重要意义。
基于灾前-灾后多时相影像提取道路阻断信息的方法需要处理较多的影像数据,数据处理耗时较长,难以满足灾害应急监测的紧迫性要求。为了实现灾后应急监测的条件下的道路阻断信息的自动化提取,需要重点解决道路矢量和影像之间普遍存在的配准误差所带来的对信息提取精度的影响。
发明内容
为此,本发明所要解决的技术问题在于提供一种检测精度高的基于深度学习图像分类的道路阻断信息提取方法。
为解决上述技术问题,本发明提供如下技术方案:
基于深度学习图像分类的道路阻断信息提取,包括如下步骤:
(1)利用灾害典型案例影像构建道路阻断图像分类样本库,以提供训练样本S0;
(2)进行卷积神经网络的训练,得到初始卷积神经网络模型 CNNmodel0;
(3)在获取研究区x的灾后影像I(x)和道路矢量R(x)之后,对道路阻断情况进行检测,得到待检测样本Dn(x);
(4)利用训练好的网络CNNmodel0,对待检测样本Dn(x)进行沿道路矢量方向的垂直法线方向增加检测点的多点道路阻断检测:
(5)选择研究区影像中的少量道路段生成新的训练样本数据S1,对已有网络进行网络微调,得到微调后的网络模型CNNmodel1;
(6)重复道路阻断分类检测工作,直到检测结果达到精度要求。
上述的基于深度学习图像分类的道路阻断信息提取,在步骤(1)中,构建道路阻断图像分类样本库的训练样本的算法如下:
(1-1)在已有道路矢量上按照等距离原则设置样本点,距离间隔设置为20米;人工将样本点划分为完整道路样本点和阻断道路样本点;
(1-2)选择完整道路样本点分割灾后遥感影像特征数据集生成完整道路样本库:以样点为圆心生成圆形缓冲区,缓冲区半径设置为50米,以缓冲区的外接矩形为边界对影像特征数据集进行分割,得到完整道路分类样本;
(1-3)选择阻断道路样本点分割灾后遥感影像特征数据集生成阻断道路样本库,以样点为圆心生成圆形缓冲区,缓冲区半径设置为50米,以缓冲区的外接矩形为边界对影像特征数据集进行分割,得到阻断道路分类样本;
(1-4)背景样本的选择采用等间隔布点的方法,去除在道路附近一定范围内的样本点后,生成缓冲区,进行影像分割;缓冲区半径设置为50 米。
上述的基于深度学习图像分类的道路阻断信息提取,在步骤(1),还需要对样本库中的样本的数据增强和标准化:
增强方法为:使用Google公司推出的深度学习主流框架TensorFlow 实现了数据增强的具体操作,利用TensorFlow中的Keras.Image Data Generator方法对样本库进行增量操作,在对样本进行随机的旋转的同时,允许对样本进行水平和竖直翻转;
标准化的方法为:使用机器学习工具库sklearn下的 preprocessing.scale方法实现了对原始遥感影像的各个图层的均值和标准差进行标准化的操作。
上述的基于深度学习图像分类的道路阻断信息提取,在步骤(2)中,先对卷积神经网络(Convolutional Neural Network,CNN)结构进行改进,改进方法包括如下步骤:
(2-1)移除原始网络结构中最后的全连接输出层,并在的最后一层卷积特征层的后面添加一层全局平均池化层(GlobalAveragePooling2D);
(2-2)添加三层神经元节点个数逐渐减小的全连接层(Dense层) 和一层系数为0.5的随机失活层(Dropout层),其中全连接层均采用线性整流函数(Rectified LinearUnit,ReLU)作为激活函数;
(2-3)输出层采用全连接层(Dense层),节点个数设置为2,对应“完整道路”和“阻断道路”两种类别的隶属度,激活函数采用归一化指数函数(Softmax);
改进卷积神经网络结构CNN模型的添加层的参数设置如下表:
其中,参数是在CNN训练过程中自动学习的神经元权重;超参数是在训练
过程开始前需要设置的的变量,用于不同类型网络层的构建。
上述的基于深度学习图像分类的道路阻断信息提取,在灾害发生前,需要利用已有的道路阻断图像分类样本库进行改进卷积神经网络的训练,具体的训练方法如下:
每次卷积神经网络的训练时,将待训练样本库中的80%的样本作为训练样本,20%的样本作为验证样本用于神经网络的训练;
神经网络训练过程中的重要参数包括训练的轮次数(epoch)、每轮次中的输入数据步数(steps_per_epoch)和每步数据量的大小(batch_size,也被称作批尺寸);
全部训练样本完成一轮输入网络训练的遍历称为一个轮次,epoch 决定了全部训练样本要通过多少个轮次的网络训练遍历,每个轮次后用验证样本进行当前网络的精度验证,以调整相应的训练参数;
让batch_size和steps_per_epoch之积等于或大于训练样本的个数,保证一个epoch内,全部的训练样本可以有机会完整遍历一次;
batch_size是卷积神经网络训练过程中的一个重要参数,代表每一步训练中同时输入batch_size个样本,计算平均损失函数值来更新网络参数,即每一步训练结束后网络中神经节点权重的调整方向和调整大小是 batch_size个样本的平均作用结果;batch_size的大小又受制于网络规模和显存大小,因此需要在显卡显存允许的条件下将batch_size尽可能地设置为较大值;
验证过程中的步数(validation_steps)为验证样本个数和 batch_size计算出的步数的一半,即每次验证过程只随机选取全部验证样本个数的一半使用;
利用Keras库下的callbacks.TensorBoard函数,对网络的训练情况进行可视化的实时监视;较好的神经网络训练过程中的损失函数下降收敛过程;
最终得到初始卷积神经网络模型CNNmodel0;
CNNmodel0=Train(S0) (1)。
上述的基于深度学习图像分类的道路阻断信息提取,在步骤(3)中,在完成网络训练后,利用灾区道路矢量R(x)作为引导进行灾区道路阻断检测:
(3-1)对道路矢量R(x),沿道路矢量以20m距离间隔进行分割得到检测路段;
(3-2)以路段中点作为检测点,得到道路检测点Pn(x):
Pn(x)=GenPoi(R(x)) (2);
其中,n为样本点的编号;
对于灾后影像I(x)进行特征提取,构建特征数据集,得到特征图层 Fm(x),m为选择的特征个数,特征图层选择遥感影像的RGB三个波段:
Fm(x)=FeaExt(I(x)) (3);
对于道路检测点Pn(x),生成距离为50m的缓冲区,取缓冲区的外接矩形对特征数据集Fm(x)进行切割,得到待检测样本Dn(x):
Dn(x)=Clip(Fm(x),Rectangle(Buffer(Pn(x)))) (4)。
上述的基于深度学习图像分类的道路阻断信息提取,在步骤(4)中,利用步骤(2)中训练好的网络CNNmodel0,对待检测样本Dn(x)进行沿道路矢量方向的垂直法线方向增加检测点的多点道路阻断检测,即在原检测点左右两侧各一定距离的位置各增加两个检测点,最后取5个点位中完整道路隶属度的最高值作为原检测点的检测结果,将道路完整性检测结果中隶属度最低的两级检测点判断为阻断点,对应的检测道路段判断为阻断道路段,得到公式(5):
CNNresultn(x)=Test(CNNmodel0,Dn(x)) (5)
采用无人机影像调查结果或实地调查结果进行精度验证,如果检测精度满足要求则停止训练,否则进行网络微调(Fine-turning)。
上述的基于深度学习图像分类的道路阻断信息提取,所述网络微调 (Fine-turning)的方法为:
对研究区影像进行人工目视解译,道路解译结果分为阻断道路和完整道路两类;从中选择少量道路段生成新的训练样本数据S1,对已有网络进行网络微调,得到微调后的网络模型CNNmodel1:
CNNmodel1=Retrain(CNNmodel0,S1) (6)。
上述的基于深度学习图像分类的道路阻断信息提取,在步骤(6)中,将完整道路隶属度检测结果赋值给对应的检测点或检测路段,得到以点或者线形式表示的道路的完整性检测结果。
本发明的技术方案取得了如下有益的技术效果:
1、在样本生成过程中,完整道路类别中包含了被阴影、植被等遮挡时的道路样本,可以在一定程度上应对道路被阴影或植被遮挡时容易被误分类为阻断道路的问题。
2、由于在以往重特大灾害的遥感影像特征数据集中可以获取的完整道路样本较多,而阻断道路样本相对较少,为了保持CNN训练中不同类别的样本数量之间的平衡,同时增强模型的泛化能力,选取了部分非道路的背景样本作为阻断道路样本加入阻断道路样本库。
3、本申请在对几种经典的卷积神经网络模型进行结构分析的基础上,对卷积神经网络的结构进行了改进:对卷积神经网络添加新的特征提取层,同时调整具体的参数设置,通过在已有模型之后增加全连接层的方式提升模型的拟合能力和泛化能力,提高应用CNN模型进行道路阻断检测时的精度。
4、从检测算法本身的角度对高分辨率遥感影像灾区道路阻断信息提取的流程进行了改进和升级,采用自然断点法将灾区道路完整性检测结果分为 5级。将道路完整性检测结果中隶属度最低的两级检测点判断为阻断点,对应的检测道路段判断为阻断道路段,有效提升了道路阻断检测的精度。
5、改进后的Xception-RoadBlockage模型的各项精度评价指标都要优于原始的Xception模型,改进后的模型更加适用于灾区道路阻断图像分类和检测的具体问题。
附图说明
图1:本发明基于CNN的道路阻断信息提取技术流程图;
图2a:道路样本点分布图;
图2b:道路样本生成结果图;
图3a:背景样本点分布图;
图3b:背景样本分割结果图;
图4:LeNET型卷积神经网络结构示意图;
图5:原始Inception模块;
图6:Inception V3网络结构图;
图7:传统的卷积结构和Bottleneck结构的对比;
图8:Depthwise Separable Convolution结构的设计;
图9:InceptionResNet V2卷积神经网络结构;
图10:CNN训练过程损失函数收敛情况:a为训练集准确率与训练轮次数图;b为训练集损失函数与训练轮次数图;c为验证集准确率与训练轮次数图;d为验证集损失函数与训练轮次数图;
图11:多点检测方法示意图;
图12:LeNET型卷积神经网络训练过程损失函数收敛情况:a为训练集准确率与训练轮次数图;b为训练集损失函数与训练轮次数图;c为验证集准确率与训练轮次数图;d为验证集损失函数与训练轮次数图;
图13:Inception V3卷积神经网络训练过程损失函数收敛情况:a为训练集准确率与训练轮次数图;b为训练集损失函数与训练轮次数图;c为验证集准确率与训练轮次数图;d为验证集损失函数与训练轮次数图;
图14:Xception卷积神经网络训练过程损失函数收敛情况:a为训练集准确率与训练轮次数图;b为训练集损失函数与训练轮次数图;c为验证集准确率与训练轮次数图;d为验证集损失函数与训练轮次数图;
图15:InceptionResNet V2卷积神经网络训练过程损失函数收敛情况: a为训练集准确率与训练轮次数图;b为训练集损失函数与训练轮次数图;c 为验证集准确率与训练轮次数图;d为验证集损失函数与训练轮次数图;
图16:经典卷积神经网络结构的训练用时:
图17:Xception模型改进前后的受试者工作特征曲线ROC对比。
具体实施方式
如图1所示,本申请的基于CNN的道路阻断信息提取技术流程所示。
具体包括如下:
(1)利用灾害典型案例影像构建道路阻断图像分类样本库,以提供训练样本S0;
(2)进行卷积神经网络的训练,得到初始卷积神经网络模型CNNmodel0;
(3)在获取研究区x的灾后影像I(x)和道路矢量R(x)之后,对道路阻断情况进行检测,得到待检测样本Dn(x);
(4)利用训练好的网络CNNmodel0,对待检测样本Dn(x)进行沿道路矢量方向的垂直法线方向增加检测点的多点道路阻断检测:
(5)选择少量道路段生成新的训练样本数据S1,对已有网络进行网络微调,得到微调后的网络模型CNNmodel1;
(6)重复道路阻断分类检测工作,直到检测结果达到精度要求。
现分别对上述各步骤进行介绍。
一、样本生成方法和样本库的构建
1、样本的生成
因为CNN的训练需要大量的样本,并且对样本的大小有着严格的要求,样本库的好坏直接影响到分类的结果。为此,设计了用于生成训练样本的算法程序,用于构建道路阻断图像分类样本库。
首先,在已有道路矢量上按照等距离原则设置样本点,距离间隔设置为 20米;人工将样本点划分为完整道路点和阻断道路点。
然后,选择完整道路点分割灾后遥感影像特征数据集生成完整道路样本库:以样点为圆心生成圆形缓冲区,缓冲区半径设置为50米,以缓冲区的外接矩形为边界对影像特征数据集进行分割,得到分类样本。
最后,选择阻断道路样本点分割灾后遥感影像特征数据集生成阻断道路样本库,分割参数的设置与完整道路样本的分割参数相同。道路样本生成中的样点分布和分割结果如图2a和图2b所示。
在道路阻断图像分类样本库中的完整道路类别中包含了被阴影、植被等遮挡时的道路样本,可以在一定程度上应对道路被阴影或植被遮挡时容易被误分类为阻断道路的问题。
由于在以往重特大灾害的遥感影像特征数据集中可以获取的完整道路样本较多,而阻断道路样本相对较少,为了保持CNN训练中不同类别的样本数量之间的平衡,同时增强模型的泛化能力,选取了部分非道路的背景样本作为阻断道路样本加入阻断道路样本库。背景样本的选择采用等间隔布点的方法,去除在道路附近一定范围内的样本点后,生成缓冲区,进行影像分割。缓冲区半径仍然设置为50米。背景样本生成中的样点分布和分割结果如图 3a和图3b所示。
2、样本的数据增强和标准化
进行网络训练之前对样本库中的样本进行了翻转和旋转等操作以增加样本量,以实现数据增强。研究中使用了Google公司推出的深度学习主流框架TensorFlow实现了数据增强的具体操作,利用TensorFlow中的 Keras.ImageDataGenerator方法对样本库进行增量操作,在对样本进行随机的旋转的同时,允许对样本进行水平和竖直翻转。
同时,采用了逐图层标准化的方法对样本库进行标准化,取得了较好的精度提升效果。本文研究中使用经典的机器学习工具库sklearn下的 preprocessing.scale方法实现了对原始遥感影像的各个图层的均值和标准差进行标准化的操作。
二、经典的卷积神经网络结构和改进的卷积神经网络结构
1、分析经典的卷积神经网络结构是提出适用于道路阻断信息提取的CNN 模型的基础
首先对经典网络结构在道路阻断信息提取问题上的适用性进行了实验和分析。在前期实验中主要使用了规模较小的LeNET类型的卷积神经网络,在后期的实验中,随着灾害案例、灾害类型的增加,规模较小的CNN网络结构已经不足以应对复杂的道路分类情况。因此尝试采用了更加复杂的模型结构,例如在ImageNet分类数据集上取得较好成绩的Inception V3(Szegedy 等,2016)、Xception(Chollet,2017)和InceptionResNet V2(Szegedy 等,2017)等网络结构。不同的CNN结构在ImageNet分类数据集上的成绩对比如表1所示。
表1 不同的CNN结构在ImageNet分类数据集上的成绩对比
模型 | 大小 | Top1准确率 | Top5准确率 | 参数数目 | 深度 |
Xception | 88MB | 0.790 | 0.945 | 22,910,480 | 126 |
VGG16 | 528MB | 0.715 | 0.901 | 138,357,544 | 23 |
VGG19 | 549MB | 0.727 | 0.910 | 143,667,240 | 26 |
ResNet50 | 99MB | 0.759 | 0.929 | 25,636,712 | 168 |
Inception V3 | 92MB | 0.788 | 0.944 | 23,851,784 | 159 |
InceptionResNet V2 | 215MB | 0.804 | 0.953 | 55,873,736 | 572 |
MobileNet | 17MB | 0.665 | 0.871 | 4,253,864 | 88 |
1.1LeNET型卷积神经网络
LeNET类型的卷积神经网络只有较少的几层,每层的滤波器数目也不多。选择这种结构是因为考虑到分类目标是阻断道路和完整道路,与通常使用 VGG16等大型神经网络时所面对的分类问题相比,这是一个相对简单的分类问题;并且,小型的卷积网络模型在训练时间和检测时间上更加具有优势,可以满足灾害应急监测工作对时间紧迫性的要求。图4展示是LeNET型卷积神经网络模型的基本结构,有3个卷积层和2个全连接层,每个卷积层后都有激活函数层和最大池化层(MaxPooling),激活函数使用线性整流函数 (RectifiedLinear Unit,ReLU)。卷积核大小都是3×3,前两层使用32 个卷积核,第三层使用64个卷积核,池化核大小为2×2。
模型中添加了随机失活层(Dropout)以应对可能的过拟合现象。Dropout 层的作用是在训练网络的每一个轮次中按照一定的比例随机选择部分神经元,使得这部分被选中的神经元在本训练轮次中不发生权重改变,以此来防止过拟合现象的发生。
1.2、Inception V3卷积神经网络
Inception是Google开源的CNN模型,至今已经公开四个版本,每一个版本都是基于大型图像数据库ImageNet中的数据训练而成。直接利用 Google的Inception模型权重就可以完成基本的图像分类任务。Inception 网络是CNN分类器发展史上一个重要的里程碑。在Inception出现之前,大部分流行CNN结构的升级仅仅是进行更多的卷积层堆叠,以使得网络越来越深,以此希望能够得到更好的网络性能。例如第一个得到广泛关注的AlexNet,它本质上就是扩展LeNet的深度,并增加了一些ReLU激活、Dropout层等技巧应用。AlexNet有5个卷积层和3个最大池化层,它可分为上下两个完全相同的分支,这两个分支在第三个卷积层和全连接层上可以相互交换信息。
与Inception同年提出的优秀网络还有VGG-Net,它相比于AlexNet有更小的卷积核和更深的层级。VGG-Net的泛化性能非常好,常用于图像特征的抽取和目标检测候选框生成等。VGG-Net最大的问题就在于参数数量, VGG19是参数量较多的卷积网络结构之一。这一问题也是第一次提出 Inception结构的GoogLeNet所重点关注的,它没有和VGG-Net一样大量地使用全连接网络,因此参数量非常小。
GoogLeNet和Inception的各个版本网络的最大的特点和共同点就是都使用了Inception模块,其目的是设计一种具有优良局部拓扑结构的网络,即对输入图像并行地执行多个卷积运算或池化操作,并将所有输出结果拼接为一个非常深的特征图。因为1×1、3×3或5×5等不同的卷积运算与池化操作可以获得输入图像不同尺度的信息,并行处理这些运算并结合所有结果将获得更好的图像表征。图5是原始的Inception模块。它使用3个不同大小的滤波器(1×1、3×3、5×5)对输入执行卷积操作,此外还包含一个3 ×3最大池化操作。所有子层的输出最后会被合并,并传送至下一个Inception模块。深度神经网络需要耗费大量计算资源,为了降低算力成本,还在3×3和5×5卷积层之前添加额外的1×1卷积层,来限制输入信道的数量。
Inception网络不断进化产生了多种不同的Inception网络结构版本。常见的版本有:Inception V1、Inception V2、Inception V3、Inception V4 和Inception-ResNet等。每个版本都是前一个版本的迭代进化。
Inception V2首先将5×5的卷积分解为两个3×3的卷积运算以提升计算速度。其次,将n×n的卷积核分解为1×n和n×1两个卷积。例如,一个3×3的卷积等价于首先执行一个1×3的卷积再执行一个3×1的卷积。最后,将Inception模块中的滤波器组进行了扩展(即变得更宽而不是更深),以解决表征性能瓶颈。如果Inception模块没有拓展宽度,而是拓展深度,那么维度会过多减少,造成信息损失。
nception V3整合了前面Inception V2中提到的所有升级,还使用了 RMSProp优化器、Factorized 7×7卷积、BatchNorm辅助分类器和标签平滑(添加到损失函数的一种正则化项,旨在阻止网络对某一类别过分自信,即阻止过拟合)等技术进行升级。网络结构如图6所示。
1.3、Xception卷积神经网络
Xception是Google团队提出的对Inception V3的一种改进,主要是采用Bottleneck结构和Depthwise Separable Convolution结构来替换原来Inception V3中的卷积操作,相比于Inception V3网络结构减小了参数数量。
Bottleneck结构先用PW(Pointwise Convolution,俗称叫做1×1卷积,简写为PW,主要用于数据降维,减少参数数量)对数据进行降维,再进行常规卷积核的卷积,最后再对数据进行升维。传统的卷积结构和 Bottleneck结构的对比如图7所示。
Bottleneck的核心思想还是利用多个小卷积核替代一个大卷积核,利用1×1卷积核替代大的卷积核的一部分功能。但是,使用Bottleneck结构后参数数量还是较大,因而随后出现了Depthwise Separable Convolution 结构,并被Google团队成功应用于MobileNet和Xception网络。这个结构对每一个特征图分别进行卷积再融合,步骤是先进行Depthwise Convolution,再进行Pointwise Convolution,从而大大减少了参数量。图8是Depthwise Separable Convolution的结构设计示意图。
从Inception到Xception的发展是结构设计不断精巧和理念思想的不断创新的体现:使用多个不同尺寸的卷积核,提高了对不同尺度特征的适应能力;PW卷积在降维或升维的同时,提高了网络的表达能力;利用多个小尺寸卷积核替代大卷积核,可以在加深网络的同时减少参数数量;精巧的 Bottleneck结构,大大减少网络参数数量;精巧的DepthwiseSeparable Convolution结构,再度减少了网络的参数数量。
1.4、InceptionResNet V2卷积神经网络
InceptionResNet V2也是由Inception V3模型变化发展而来的网络结构,同样由Google团队发布,它在ILSVRC图像分类基准测试中取得了当下最好的成绩(Szegedy等,2017)。模型中的一些设计思想借鉴了微软团队的残差网络(ResNet)模型。
ResNet模型中最重要的创新是残差连接(Residual Connections)的提出,它允许模型中存在捷径(Shortcuts),其作用是可以让更深的神经网络能够被训练,进而能够获得更好的表现,也能明显地简化Inception模块。
InceptionResNet V2网络比先前的Inception V3还要深,图9中主要部分重复的残差连接结构已经被压缩显示,以使得整个网络看起来更加直观。网络中的Inception模块经过了简化,比Inception V3包含更少的并行塔 (Parallel Towers)。
2、卷积神经网络结构的改进
在对几种经典的卷积神经网络模型进行结构分析的基础上,对卷积神经网络的结构进行了改进。已有的卷积神经网络在结构上更加适合于多目标图像分类问题,为了将其更好地应用于道路阻断信息的提取,需要对卷积神经网络添加新的特征提取层,同时调整具体的参数设置,以提高应用CNN模型进行道路阻断检测时的精度。
在阻断道路检测问题中,完整道路的类型多样,主要包括城区道路、山区道路以及受到植被阴影等遮挡时的道路等,不同类型的完整道路具有不同的影像特征,卷积后得到的卷积特征也会有较大的差异。为了使CNN模型可以将具有不同卷积特征的道路都有效地分类为完整道路,需要通过在已有模型之后增加全连接层的方式提升模型的拟合能力和泛化能力。
具体的改进方式为:
首先移除原始网络结构中最后的全连接输出层,并在的最后一层卷积特征层的后面添加一层全局平均池化层(GlobalAveragePooling2D);
然后添加三层神经元节点个数逐渐减小的全连接层(Dense层)和一层系数为0.5的随机失活层(Dropout层),其中全连接层均采用线性整流函数(Rectified Linear Unit,ReLU)作为激活函数;
最后的输出层采用全连接层(Dense层),节点个数设置为2,对应“完整道路”和“阻断道路”两种类别的隶属度,激活函数采用归一化指数函数 (Softmax)。具体的参数设置如表2所示。其中,参数是在CNN训练过程中自动学习的神经元权重;超参数是在训练过程开始前需要设置的的变量,用于不同类型网络层的构建。
表2 改进CNN模型时添加层的参数设置
对经典的卷积神经网络结构分别进行上述改进,为了便于区分,改进后的网络结构分别命名为“LeNET-RoadBlockage”、“Inception V3-RoadBlockage”、“Xception-RoadBlockage”和“InceptionResNet V2-RoadBlockage”。
3、卷积神经网络的实现和训练过程
卷积神经网络已有很多具体实现的工具包可以直接调用,研究中利用基于TensorFlow底层的Keras深度学习上层设计框架构建神经网络。所涉及的地理信息空间分析等功能借助AreGIS软件平台二次开发实现。此外,还在云服务器上实现了训练过程,利用阿里云的机器学习平台PAI等云端开放式机器学习平台上已经部署的Tensorflow开源深度学习框架,实现了基于显卡(Graphics Processing Unit,GPU)并行的分布式网络训练。
在灾害发生前,需要利用已有的道路阻断图像分类样本库完成卷积神经网络的训练,以备在灾害发生后第一时间利用训练完成的卷积神经网络完成道路阻断信息的提取工作。CNN网络的训练是一个参数寻优的过程,以最大程度地减少训练数据集上的预测结果和真值标签之间的误差。CNN将输入的每个块从原始像素值转换为最终的分类隶属度结果:在前向传播过程中利用参数计算特征;在误差反向传播过程中,根据损失函数的梯度下降方向调整参数。
每次卷积神经网络的训练时,将待训练样本库中的80%的样本作为训练样本,20%的样本作为验证样本用于神经网络的训练。神经网络训练过程中的重要参数包括训练的轮次数(epoch)、每轮次中的输入数据步数 (steps_per_epoch)和每步数据量的大小(batch_size,也被称作批尺寸)。一般全部训练样本完成一轮输入网络训练的遍历称为一个轮次,epoch决定了全部训练样本要通过多少个轮次的网络训练遍历。每个轮次后用验证样本进行当前网络的精度验证,以调整相应的训练参数。steps_per_epoch和 batch_size与训练样本的个数多少密切相关。一般为了更充分地利用样本库中的样本,一般会让batch_size和steps_per_epoch之积等于或大于训练样本的个数,也就是说保证一个epoch内,全部的训练样本可以有机会完整遍历一次。batch_size是卷积神经网络训练过程中的一个重要参数,代表每一步训练中同时输入batch_size个样本,计算它们的平均损失函数值来更新网络参数,即每一步训练结束后网络中神经节点权重的调整方向和调整大小是batch_size个样本的平均作用结果。batch_size的大小影响模型的优化程度和速度,batch_size过小则网络可能出现难以收敛的情况,但 batch_size的大小又受制于网络规模和显存大小,因此需要在显卡显存允许的条件下将batch_size尽可能地设置为较大值。实验中所使用的NVIDIA GTX1070的显存为8G,满足一般常见的网络大小规模所要求的batch_size 的大小。
需要注意的是验证过程中的步数(validation_steps)一般为验证样本个数和batch_size计算出的步数的一半,即每次验证过程只随机选取全部验证样本个数的一半使用,这样做在验证样本足够的时候是合理的,因为验证过程不会真正调整网络的参数,适量的减少样本数可以节省训练时间。
实验中利用Keras库下的callbacks.TensorBoard函数,对网络的训练情况进行可视化的实时监视。一次较好的神经网络训练过程中的损失函数下降收敛过程如图10所示。由图10可见,训练集上的损失函数(loss)平滑下降,验证集上的损失函数(val_loss)平滑下降并趋于收敛。如果没有出现这样的收敛现象,则说明神经网络不收敛或者过拟合,需要采用调整网络结构、调整训练参数、增加训练样本等一系列方法加以应对。
深度学习技术在神经网络模型训练过程中常常会引起过拟合 (Overfitting)的问题。所谓过拟合,是指模型对训练集样本的分类效果很好,而对验证集样本或未训练过的数据集中的样本的分类效果并不好。过拟合表明网络的泛化能力较弱,难以推广应用于新的、未参加过训练的数据集的样本分类。在之前的样本库构建阶段进行数据增强操作和网络设计阶段增加Dropout层的目的都是随机扰乱数据的相关性,用以在一定程度上缓解过拟合问题,使得网络能够应对更加复杂多变的数据环境。在训练过程中,可以通过设置提前终止训练的函数来应对过拟合现象,其原理是通过监视验证数据集上的损失函数的下降情况,当损失函数在多个epoch内不再下降或者开始上升时则提前结束网络的训练过程,具体设置利用keras库下的 callbacks.EarlyStopping函数实现。
卷积神经网络能力具有良好的网络模型复用能力(也称为做网络的迁移学习能力),可以在训练完成的已有模型的基础上,重新加载各个神经元节点的权重参数,并在新的数据集上再次进行网络训练,这一操作通常被称为网络微调(Fine-tuning),是实际工程应用中最常用的利用既有模型的手段。通常情况下,在网络已经经过前期训练的情况下,利用少量的样本,经过少量几个轮次的训练就可以达到较低的Loss收敛值和较高的分类精度。因为网络参数的学习率较小,网络微调的训练时间与前期训练相比大大缩短。在灾害应急监测的过程中,当利用已有道路阻断图像分类样本库所训练的神经网络模型的检测精度不能完全满足应用需求并且时间允许的情况下,可以在灾区选择少量样本,重新加载神经网络参数进行Fine-tuning,以达到更高的道路阻断检测精度。对于道路阻断检测问题来说,进行网络微调可以使得模型更加适应不同灾害发生地区的不同情况,同时也减小了网络训练的难度,使得在普通配置的计算机(而非深度学习专用主机)上也可以进行卷积神经网络的训练,有利于方法的应用和推广。实际应用中,在时间紧迫的情况下,可以直接利用已训练完成的神经网络模型对灾区道路阻断情况进行检测;在时间允许的情况下,可以在灾后影像上选取少量的阻断道路和完整道路样本带入神经网络进行调整性训练(网络微调),以使得检测的结果更加准确可靠。
三、灾区灾后道路阻断多点检测方法
为了深入挖掘深度学习方法在遥感影像信息提取方向的应用潜力,除了需要对应用于图像目标分类的卷积神经网络进行改造和参数调整,还需要从检测算法本身的角度对高分辨率遥感影像灾区道路阻断信息提取的流程进行了改进和升级,以使得应用于自然场景图像分类问题的卷积神经网络能够更好地适应对遥感影像上特定目标对象的分类任务。
本申请采用沿道路矢量分段进行的道路完整性检测方法进行道路阻断信息提取。在完成网络训练后,实验中利用灾区道路矢量作为引导进行灾区道路阻断检测,首先对矢量道路进行等距离分割得到检测路段;然后,以路段中点作为检测点,以检测点为中心以一定大小为半径截取符合网络输入要求的灾区影像输入网络并得到其隶属于完整道路的隶属度;最后,将完整道路隶属度检测结果赋值给对应的检测点或检测路段,得到以点或者线形式表示的道路的完整性检测结果。检测点的检测结果是一个csv格式的数据表,通过ID字段和检测点或路段的ID相关联。用ArcGIS中的JoinFeild工具实现。
本文中统一采用自然断点法将灾区道路完整性检测结果分为5级。将道路完整性检测结果中隶属度最低的两级检测点判断为阻断点,对应的检测道路段判断为阻断道路段,以便进行后续的精度验证工作。
在实现基本的道路阻断分段检测方法的基础上,对道路阻断检测方法进行了改进:在灾害应急情况下,遥感影像如果未进行严格的几何精纠正,道路矢量和影像上的道路位置可能存在着偏差,这种偏差也会造成道路目标完整度检测结果的错误,为了应对这一状况,在沿道路分布检测点的基础上,提出了沿道路矢量方向的垂直法线方向增加检测点的改进方法,简称为多点检测方法,即在原检测点左右两侧各一定距离的位置增加检测点,最后取5 个点位中完整道路隶属度的最高值作为原检测点的检测结果。该方法有效提升了道路阻断检测的精度,多点检测的检测点增加方式如图11所示。
四、基于CNN的道路阻断信息提取技术流程
基于CNN方法的道路阻断信息提取完整技术流程如下,如图1所示:
首先利用灾害典型案例影像构建道路阻断图像分类样本库,以提供训练样本S0,进行卷积神经网络的训练,得到初始卷积神经网络模型CNNmodel0。
CNNmodel0=Train(S0) (1)
在获取研究区x的灾后影像I(x)和道路矢量R(x)之后,按照如下技术流程对道路阻断情况进行检测:
对于道路矢量R(x),沿道路矢量以一定距离间隔(20m)进行分割得到检测路段,以路段中点作为检测点,得到道路检测点Pn(x):
Pn(x)=GenPoi(R(x)) (2) 式中,n为样本点的编号。
对于影像I(x)进行特征提取,构建特征数据集,得到特征图层Fm(x),m 为选择的特征个数,一般情况下,特征图层选择遥感影像的RGB三个波段:
Fm(x)=FeaExt(I(x)) (3)
对于道路检测点Pn(x),生成一定距离(50m)的缓冲区,取缓冲区的外接矩形对特征数据集Fm(x)进行切割,得到待检测样本Dn(x):
Dn(x)=Clip(Fm(x),Rectangle(Buffer(Pn(x)))) (4)
利用训练好的网络CNNmodel0,参照3.5节方法对待检测样本Dn(x)进行沿道路矢量方向的垂直法线方向增加检测点的多点道路阻断检测:
CNNresultn(x)=Test(CNNmodel0,Dn(x)) (5)
对于分类结果采用无人机影像调查结果或实地调查结果进行精度验证,如果检测精度满足要求则停止训练,否则进行网络微调(Fine-turning):对研究区影像进行人工目视解译,道路解译结果分为阻断道路和完整道路两类。从中选择少量道路段生成新的训练样本数据S1,对已有网络进行网络微调,得到微调后的网络模型CNNmodel1:
CNNmodel1=Retrain(CNNmodel0,S1) (6)
重复道路阻断分类检测工作,直到检测结果达到精度要求。
五、改进卷积神经网络的优化效果
1、经典卷积神经网络结构的应用效果对比
对于第二部分第1小节中不同类型的经典卷积神经网络结构,采用相同的道路阻断图像分类样本库(样本库中80%的样本用作训练集,20%的样本用作验证集)、相同的训练相关参数(batch_size设置为50,epoch设置为100,损失函数选择“categorical_crossentropy”,精度评价函数选择“categorical_accuracy”)进行了网络训练,训练过程的Tensorboard监视结果如图12-图15所示。图12中a-d、图13中a-d、图14中a-d、图15 中a-d中横坐标均为训练轮次数(epoch);纵坐标分别为训练集准确率 (categorical_accuracy);训练集损失函数(loss);验证集准确率 (val_categorical_accuracy)和验证集损失函数(val_loss)。
监测图的结果表明,Inception V3卷积神经网络在收敛过程中,验证集损失函数出现了轻微的震荡,InceptionResNet V2卷积神经网络在收敛过程中,验证集损失函数出现了较大的震荡,而LeNET型卷积神经网络和 Xception卷积神经网络的训练过程中,验证集损失函数的收敛过程较为平缓。Xception卷积神经网络在训练的最后出现了轻微的过拟合现象 (val_loss在训练后期出现了几次抬升),为此,可以通过选择val_loss 最低的轮次训练后所生成的模型(而不是最后一轮次训练后所生成的模型) 作为最终训练结果的方法来应对过拟合现象所可能带来的影响。为了更清楚地说明训练结果,各个模型的val_loss最低值及其出现时对应的的训练轮次总结如表3所示。
表3 val_loss最低值及对应的的训练轮次
卷积神经网络类型 | val_loss最低值 | 出现时的训练轮次 |
LeNET型 | 0.2273 | 89 |
Inception V3 | 0.1202 | 86 |
Xception | 0.0652 | 95 |
InceptionResNet V2 | 0.0686 | 63 |
表3中结果表明,Xception和InceptionResNet V2可以收敛到更低的 val_loss值,其中,InceptionResNet V2达到最低值的epoch较少。综合分析训练过程监视图和val_loss最低值,Xception卷积神经网络具有较为平稳的训练收敛过程和最低的val_loss值。
在灾害应急监测的工作中应用卷积神经网络不仅需要关心信息提取的准确率,而且需要关心数据处理的效率。对以上不同类型的经典卷积神经网络结构训练过程中的时间消耗进行记录和对比,如图16所示。
对比表1中的网络大小和图16中的网络训练用时可以表明,卷积神经网络的训练用时和网络规模大小关系紧密。在Inception V3、Xception和InceptionResNet V2三种结构较为复杂的网络类型中,Xception的运算效率较高。
综合分析网络分类精度和运算效率,结果表明Xception卷积神经网络的各项性能指标更加适用于灾区道路阻断图像分类和检测问题的实际情况。
2、卷积神经网络的结构改进效果
在选定Xception作为基本网络结构的基础上,参考上述提出的改进方法,对Xception网络结构进行改进,得到了一种适用于道路阻断图像分类的CNN网络结构,其对应的具体模型命名为“Xception-RoadBlockage”网络模型。对Xception模型和改进后的Xception-RoadBlockage模型在相同道路阻断图像分类样本库上的ROC结果对比如图17所示,精度评价结果对比如表4所示。(利用受试者工作特征(Receiver OperatingCharacteristic, ROC)曲线、ROC曲线线下面积(Area Under Curve,AUC)和Kappa系数等方法对卷积神经网络的结构改进方法的性能和效率进行了评估。)
ROC曲线线下面积(AUC)通常被认为是定量评价分类器性能总体准确性的重要指标(Cook,2017),它是ROC曲线下与坐标轴围成的面积。AUC 的取值范围在0.5和1.0之间。在AUC>0.5的情况下,AUC越接近于1,说明预测模型的性能越好。AUC在0.5~0.7时有较低准确性,AUC在0.7~0.9 时有一定准确性,AUC在0.9以上时有较高准确性。AUC=0.5时,意味着模型的预测能力是完全随机的。AUC<0.5不符合真实情况,在实际中极少出现。
表3 Xception模型改进前后的精度对比
结果表明,改进后的Xception-RoadBlockage模型的各项精度评价指标都要优于原始的Xception模型,改进后的模型更加适用于灾区道路阻断图像分类和检测的具体问题。
总结:本发明对基于深度学习图像分类技术的道路阻断点的快速提取方法进行了研究。
首先说明了用于卷积神经网络训练的道路阻断图像分类样本库的构建方法,包括样本的生成、增强和标准化过程;
其次,对实验中主要用到的卷积神经网络的类型和网络结构的改进方法进行了介绍,阐述了网络的实现方法和训练过程;
其后,说明了应用训练得到的卷积神经网络进行道路阻断检测的方法及其改进和优化过程,并提出了完整的灾害应急状况下满足灾情快速监测需求的道路阻断信息提取技术流程;
最后,对不同结构的卷积神经网络的应用效果进行了对比,并提出了适用于道路阻断图像分类的“Xception-RoadBlockage”网络结构。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本专利申请权利要求的保护范围之中。
Claims (9)
1.基于深度学习图像分类的道路阻断信息提取方法,其特征在于,包括如下步骤:
(1)利用灾害典型案例影像构建道路阻断图像分类样本库,以提供训练样本S0;
(2)进行卷积神经网络的训练,得到初始卷积神经网络模型CNNmodel0;
(3)在获取研究区x的灾后影像I(x)和道路矢量R(x)之后,对道路阻断情况进行检测,得到待检测样本Dn(x);
(4)利用训练好的网络CNNmodel0,对待检测样本Dn(x)进行沿道路矢量方向的垂直法线方向增加检测点的多点道路阻断检测:
(5)选择研究区影像中的少量道路段生成新的训练样本数据S1,对已有网络进行网络微调,得到微调后的网络模型CNNmodel1;
(6)重复道路阻断分类检测工作,直到检测结果达到精度要求。
2.根据权利要求1所述的基于深度学习图像分类的道路阻断信息提取方法,其特征在于,在步骤(1)中,构建道路阻断图像分类样本库的训练样本的算法如下:
(1-1)在已有道路矢量上按照等距离原则设置样本点,距离间隔设置为20米;人工将样本点划分为完整道路样本点和阻断道路样本点;
(1-2)选择完整道路样本点分割灾后遥感影像特征数据集生成完整道路样本库:以样本点为圆心生成圆形缓冲区,缓冲区半径设置为50米,以缓冲区的外接矩形为边界对影像特征数据集进行分割,得到完整道路分类样本;
(1-3)选择阻断道路样本点分割灾后遥感影像特征数据集生成阻断道路样本库,以样本点为圆心生成圆形缓冲区,缓冲区半径设置为50米,以缓冲区的外接矩形为边界对影像特征数据集进行分割,得到阻断道路分类样本;
(1-4)背景样本的选择采用等间隔布点的方法,去除在道路附近一定范围内的样本点后,生成缓冲区,进行影像分割;缓冲区半径设置为50米。
3.根据权利要求2所述的基于深度学习图像分类的道路阻断信息提取方法,其特征在于,其特征在于,在步骤(1),还需要对样本库中的样本的数据增强和标准化:
增强方法为:使用Google公司推出的深度学习主流框架TensorFlow实现了数据增强的具体操作,利用TensorFlow中的Keras.Image Data Generator方法对样本库进行增量操作,在对样本进行随机的旋转的同时,允许对样本进行水平和竖直翻转;
标准化的方法为:使用机器学习工具库sklearn下的preprocessing.scale方法实现了对原始遥感影像的各个图层的均值和标准差进行标准化的操作。
4.根据权利要求3所述的基于深度学习图像分类的道路阻断信息提取方法,其特征在于,在步骤(2)中,先对卷积神经网络Convolutional Neural Network,CNN结构进行改进,改进方法包括如下步骤:
(2-1)移除原始网络结构中最后的全连接输出层,并在的最后一层卷积特征层的后面添加一层全局平均池化层GlobalAveragePooling2D;
(2-2)添加三层神经元节点个数逐渐减小的全连接层Dense层和一层系数为0.5的随机失活层Dropout层,其中全连接层均采用线性整流函数Rectified Linear Unit,ReLU作为激活函数;
(2-3)输出层采用全连接层Dense层,节点个数设置为2,对应“完整道路”和“阻断道路”两种类别的隶属度,激活函数采用归一化指数函数Softmax;
改进卷积神经网络结构CNN模型的添加层的参数设置如下表:
其中,参数是在CNN训练过程中自动学习的神经元权重;超参数是在训练过程开始前需要设置的的变量,用于不同类型网络层的构建。
5.根据权利要求4所述的基于深度学习图像分类的道路阻断信息提取方法,其特征在于,在灾害发生前,需要利用已有的道路阻断图像分类样本库进行改进卷积神经网络的训练,具体的训练方法如下:
每次卷积神经网络的训练时,将待训练样本库中的80%的样本作为训练样本,20%的样本作为验证样本用于神经网络的训练;
神经网络训练过程中的重要参数包括训练的轮次数epoch、每轮次中的输入数据步数steps_per_epoch和每步数据量的大小batch_size,也被称作批尺寸;
全部训练样本完成一轮输入网络训练的遍历称为一个轮次,epoch决定了全部训练样本要通过多少个轮次的网络训练遍历,每个轮次后用验证样本进行当前网络的精度验证,以调整相应的训练参数;
让batch_size和steps_per_epoch之积等于或大于训练样本的个数,保证一个epoch内,全部的训练样本可以有机会完整遍历一次;
batch_size是卷积神经网络训练过程中的一个重要参数,代表每一步训练中同时输入batch_size个样本,计算平均损失函数值来更新网络参数,即每一步训练结束后网络中神经节点权重的调整方向和调整大小是batch_size个样本的平均作用结果;batch_size的大小又受制于网络规模和显存大小,因此需要在显卡显存允许的条件下将batch_size尽可能地设置为较大值;
验证过程中的步数validation_steps为验证样本个数和batch_size之商所计算出的步数的一半,即每次验证过程只随机选取全部验证样本个数的一半使用;
利用Keras库下的callbacks.TensorBoard函数,对网络的训练情况进行可视化的实时监视;较好的神经网络训练过程中的损失函数下降收敛过程;
最终得到初始卷积神经网络模型CNNmodel0;
CNNmodel0=Train(S0) (1)。
6.根据权利要求5所述的基于深度学习图像分类的道路阻断信息提取方法,其特征在于,在步骤(3)中,在完成网络训练后,利用灾区道路矢量R(x)作为引导进行灾区道路阻断检测:
(3-1)对道路矢量R(x),沿道路矢量以20m距离间隔进行分割得到检测路段;
(3-2)以路段中点作为检测点,得到道路检测点Pn(x):
Pn(x)=GenPoi(R(x)) (2);
其中,n为样本点的编号;
对于灾后影像I(x)进行特征提取,构建特征数据集,得到特征图层Fm(x),m为选择的特征个数,特征图层选择遥感影像的RGB三个波段:
Fm(x)=FeaExt(I(x)) (3);
对于道路检测点Pn(x),生成距离为50m的缓冲区,取缓冲区的外接矩形对特征数据集Fm(x)进行切割,得到待检测样本Dn(x):
Dn(x)=Clip(Fm(x),Rectangle(Buffer(Pn(x)))) (4)。
7.根据权利要求6所述的基于深度学习图像分类的道路阻断信息提取方法,其特征在于,在步骤(4)中,利用步骤(2)中训练好的网络CNNmodel0,对待检测样本Dn(x)进行沿道路矢量方向的垂直法线方向增加检测点的多点道路阻断检测,即在原检测点左右两侧各一定距离的位置各增加两个检测点,最后取5个点位中完整道路隶属度的最高值作为原检测点的检测结果,将道路完整性检测结果中隶属度最低的两级检测点判断为阻断点,对应的检测道路段判断为阻断道路段,得到公式(5):
CNNresultn(x)=Test(CNNmodel0,Dn(x)) (5)
采用无人机影像调查结果或实地调查结果进行精度验证,如果检测精度满足要求则停止训练,否则进行网络微调Fine-turning。
8.根据权利要求7所述的基于深度学习图像分类的道路阻断信息提取方法,其特征在于,所述网络微调Fine-turning的方法为:
对研究区影像进行人工目视解译,道路解译结果分为阻断道路和完整道路两类;从中选择少量道路段生成新的训练样本数据S1,对已有网络进行网络微调,得到微调后的网络模型CNNmodel1:
CNNmodel1=Retrain(CNNmodel0,S1) (6)。
9.根据权利要求8所述的基于深度学习图像分类的道路阻断信息提取方法,其特征在于,在步骤(6)中,将完整道路隶属度检测结果赋值给对应的检测点或检测路段,得到以点或者线形式表示的道路的完整性检测结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910587455.0A CN110298321B (zh) | 2019-07-02 | 2019-07-02 | 基于深度学习图像分类的道路阻断信息提取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910587455.0A CN110298321B (zh) | 2019-07-02 | 2019-07-02 | 基于深度学习图像分类的道路阻断信息提取方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110298321A CN110298321A (zh) | 2019-10-01 |
CN110298321B true CN110298321B (zh) | 2021-03-23 |
Family
ID=68029787
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910587455.0A Active CN110298321B (zh) | 2019-07-02 | 2019-07-02 | 基于深度学习图像分类的道路阻断信息提取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110298321B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110689021A (zh) * | 2019-10-17 | 2020-01-14 | 哈尔滨理工大学 | 一种基于深度学习的低可见度环境下实时目标检测方法 |
CN110781946B (zh) * | 2019-10-22 | 2022-08-02 | 湖南师范大学 | 基于自组织神经网络的小流域水土保持区划方法、系统及介质 |
CN110929629A (zh) * | 2019-11-19 | 2020-03-27 | 中国科学院遥感与数字地球研究所 | 一种基于改进cnn的群体建筑物损毁遥感分类方法 |
CN111144238A (zh) * | 2019-12-11 | 2020-05-12 | 重庆邮电大学 | 基于Faster R-CNN的物品检测方法及系统 |
CN111160230B (zh) * | 2019-12-27 | 2023-06-06 | 清华大学苏州汽车研究院(吴江) | 一种基于深度学习的道路不规则区域检测网络 |
CN113051983B (zh) * | 2019-12-28 | 2022-08-23 | 中移(成都)信息通信科技有限公司 | 训练大田作物病害识别模型及大田作物病害识别的方法 |
CN111310635B (zh) * | 2020-02-10 | 2024-04-19 | 上海应用技术大学 | 基于TensorFlow的安检违禁品识别系统及方法 |
CN111598048B (zh) * | 2020-05-31 | 2021-06-15 | 中国科学院地理科学与资源研究所 | 一种融合高分遥感影像和街景影像的城中村识别方法 |
CN111814831B (zh) * | 2020-06-10 | 2024-08-23 | 东莞东阳光科研发有限公司 | 一种测定腐蚀箔比容值的方法 |
CN112201036B (zh) * | 2020-09-25 | 2022-06-24 | 同济大学 | 一种基于Inception-CNN的城市快速路行程速度短时预测方法 |
CN112668329A (zh) * | 2020-12-28 | 2021-04-16 | 广州博士信息技术研究院有限公司 | 一种基于机器学习的政策文本分类方法 |
CN112733800B (zh) * | 2021-01-22 | 2021-10-22 | 中国科学院地理科学与资源研究所 | 基于卷积神经网络的遥感图像道路信息提取方法和装置 |
CN113919395A (zh) * | 2021-10-12 | 2022-01-11 | 大连理工大学 | 基于一维卷积神经网络的给水管网渗漏事故诊断方法 |
CN115641512B (zh) * | 2022-12-26 | 2023-04-07 | 成都国星宇航科技股份有限公司 | 一种卫星遥感影像道路识别方法、装置、设备及介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10013610B2 (en) * | 2015-10-23 | 2018-07-03 | Nokia Technologies Oy | Integration of positional data and overhead images for lane identification |
CN108288014A (zh) * | 2017-01-09 | 2018-07-17 | 北京四维图新科技股份有限公司 | 道路智能提取方法和装置、提取模型构建方法及混合导航系统 |
CN107025440A (zh) * | 2017-03-27 | 2017-08-08 | 北京航空航天大学 | 一种基于新型卷积神经网络的遥感图像道路提取方法 |
CN108256424A (zh) * | 2017-12-11 | 2018-07-06 | 中交信息技术国家工程实验室有限公司 | 一种基于深度学习的高分辨率遥感图像道路提取方法 |
CN108446616B (zh) * | 2018-03-09 | 2021-09-03 | 西安电子科技大学 | 基于全卷积神经网络集成学习的道路提取方法 |
CN109190481B (zh) * | 2018-08-06 | 2021-11-23 | 中国交通通信信息中心 | 一种遥感影像道路材质提取方法和系统 |
US10229346B1 (en) * | 2018-09-04 | 2019-03-12 | StradVision, Inc. | Learning method, learning device for detecting object using edge image and testing method, testing device using the same |
CN109800736B (zh) * | 2019-02-01 | 2023-07-21 | 东北大学 | 一种基于遥感影像和深度学习的道路提取方法 |
-
2019
- 2019-07-02 CN CN201910587455.0A patent/CN110298321B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110298321A (zh) | 2019-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110298321B (zh) | 基于深度学习图像分类的道路阻断信息提取方法 | |
CN110287932B (zh) | 基于深度学习图像语义分割的道路阻断信息提取方法 | |
CN108416307B (zh) | 一种航拍图像路面裂缝检测方法、装置及设备 | |
CN112733800B (zh) | 基于卷积神经网络的遥感图像道路信息提取方法和装置 | |
CN112967088A (zh) | 基于知识蒸馏的营销活动预测模型结构和预测方法 | |
CN117422936B (zh) | 一种遥感图像分类方法及系统 | |
CN117593597B (zh) | 一种地形图像自动分类方法及系统 | |
CN114419413A (zh) | 感受野自适应的变电站绝缘子缺陷检测神经网络构建方法 | |
CN115294563A (zh) | 一种基于Transformer的增强了局部语义学习能力的3D点云分析方法及装置 | |
CN103279944A (zh) | 一种基于生物地理优化的图像分割方法 | |
CN113436174A (zh) | 一种人脸质量评估模型的构建方法及应用 | |
CN111639230B (zh) | 一种相似视频的筛选方法、装置、设备和存储介质 | |
CN114639102B (zh) | 基于关键点与尺寸回归的细胞分割方法和装置 | |
CN111177135B (zh) | 一种基于界标的数据填补方法及装置 | |
CN114783021A (zh) | 一种口罩佩戴智能检测方法、装置、设备及介质 | |
Khan et al. | An effective approach to address processing time and computational complexity employing modified CCT for lung disease classification | |
CN118279320A (zh) | 基于自动提示学习的目标实例分割模型建立方法及其应用 | |
CN113656707A (zh) | 一种理财产品推荐方法、系统、存储介质及设备 | |
CN118015611A (zh) | 基于YOLOv8的蔬菜植株目标检测方法及装置 | |
CN117371511A (zh) | 图像分类模型的训练方法、装置、设备及存储介质 | |
Liang et al. | Multi-perspective feature collaborative perception learning network for non-destructive detection of pavement defects | |
US20240160196A1 (en) | Hybrid model creation method, hybrid model creation device, and recording medium | |
CN111429436B (zh) | 一种基于多尺度注意力和标签损失的本质图像分析方法 | |
CN114529063A (zh) | 一种基于机器学习的金融领域数据预测方法、设备及介质 | |
CN114067360A (zh) | 一种行人属性检测方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20210303 Address after: No. 9 Dengzhuang South Road, Haidian District, Beijing 100094 Applicant after: Aerospace Information Research Institute,Chinese Academy of Sciences Address before: 100101 Beijing Chaoyang District Andingmen Datun Road No. 20 North Applicant before: Institute of Remote Sensing and Digital Earth, Chinese Academy of Sciences |
|
GR01 | Patent grant | ||
GR01 | Patent grant |