一种光学遥感图像变化检测方法、存储介质及计算设备与流程

文档序号:22389196发布日期:2020-09-29 17:53阅读:119来源:国知局
一种光学遥感图像变化检测方法、存储介质及计算设备与流程

本发明属于图像处理技术领域,具体涉及一种基于ternausnet孪生神经网络的光学遥感图像变化检测方法、存储介质及计算设备,能够对多时相多分辨率的光学遥感图像检测变化,在城市规划和自然灾害评估等领域有重要的意义。



背景技术:

检测地球表面的变化对于监测环境和资源变得越来越重要。随着遥感技术的发展,地表信息可以通过遥感图像观测。因此,地球表面的变化可以通过使用图像变化检测技术识别。变化检测被定义为通过在不同时间观察它来识别物体或现象的变化的过程。它在许多现实世界的应用中发挥着关键作用,例如城市增长跟踪,土地利用监测和灾害评估。特别是灾难来袭时,当生命和财产受到威胁的时候,高效的变化检测任务显得至关重要。

近些年,变化检测已经成为国内外遥感领域的研究重点。变化检测主要分成两种方向,第一种是无监督方法,第二种是有监督方法。无监督方法极大的依赖于图像的数据分布,若数据分布合适,无监督的方法可以获得较好的实验结果。然而对于光学遥感图像,不同季节下捕获的图像在某些区域存在明显的色彩差异,无监督的方法容易将这种实际上未变化的区域标记为变化。有监督的方法大多数情况下都能获得比无监督方法更好的结果。但是监督学习需要大量的标签样本用做模型训练,在标签质量差、数量不足的情况下很那获得出色的表现,另外模型也容易受到噪声的影响。



技术实现要素:

本发明所要解决的技术问题在于针对上述现有技术中的不足,提供一种基于ternausnet孪生神经网络的光学遥感图像变化检测方法、存储介质及计算设备,提高对光学遥感图像的预测精度。

本发明采用以下技术方案:

一种光学遥感图像变化检测方法,包括以下步骤:

s1、利用光学遥感图像数据集生成训练集和测试集,并扩充训练集和测试集;

s2、构建两个网络结构相同、参数共享的编码器网络作为提取多级特征的孪生神经网络;

s3、计算步骤s2孪生神经网络的多尺度差异特征,搭建解码器网络;

s4、按照第一层卷积层→第二层卷积层→输出层的网络结构搭建子网络,将子网络和步骤s3的解码器网络并联连接在步骤s2的编码器网络后构成新孪生神经网络;

s5、利用步骤s1扩充后的训练集训练步骤s4构成的新孪生神经网络,训练完成后解码器网络输出一个与输入图像相同尺寸的预测图;

s6、将步骤s1扩充后的测试集输入步骤s5训练后的新孪生神经网络中,在解码器网络一端得到网络输出预测结果,根据预测结果进行检测,对预测结果的所有元素设置阈值τ,将预测结果中的每个元素与阈值τ进行比较,若元素值大于阈值τ,则归为变化类,若元素值小于阈值τ,则归为不变化类。

具体的,步骤s1中,将同一区域不同时相采集到的图像对和对应标签裁剪成128×128的图像块,并将标签缩放成一个16×16的图像作为支路网络的标签,将标签中变化像素点数量大于图像块中像素点数量5%的图像块进行扩充。

具体的,步骤s2中,编码器的网络结构为:

结构1:卷积层1→批量归一化层→池化层;

结构2:卷积层2→批量归一化层→池化层;

结构3:卷积层3→批量归一化层→卷积层3s→批量归一化层→池化层;

结构4:卷积层4→批量归一化层→卷积层4s→批量归一化层→池化层;

结构5:卷积层5→批量归一化层→卷积层5s→批量归一化层。

进一步的,结构1的卷积层含有64个卷积核,结构2的卷积层含有128个卷积核,结构3的两个卷积层都含有256个卷积核,结构4和结构5的卷积层都含有512个卷积核;卷积核的大小都是3×3,步进是1,填充为1,编码器中的卷积层是窗口大小为2×2的最大池化层,激活函数是relu函数。

具体的,步骤s3中,孪生网络在编码器网络结构1到编码器网络结构5上输出的多尺度差异特征dif_fea_i具体为:

dif_fea_i=(feature1i-feature2i)2

其中,i=1,2,3,4,5,feature1i表示编码器1在结构i上输出的特征,feature2i表示编码器2在结构i上输出的特征。

具体的,步骤s3中,搭建的解码器网络结构具体为:

中心模块:卷积层→批量归一化层→反卷积层;

反卷积模块1:卷积层→批量归一化层→反卷积层;

反卷积模块2:卷积层→批量归一化层→反卷积层;

反卷积模块3:卷积层→批量归一化层→反卷积层;

反卷积模块4:卷积层→批量归一化层→反卷积层;

反卷积模块5:卷积层→批量归一化层;

输出模块:卷积层。

具体的,步骤s4中,子网络中第一层卷积层含有64个卷积核,第二层卷积层含有1个卷积核,卷积层的步进为1,填充为1,子网络的参数随机初始化;将步骤s3计算到的差异特征输入搭建的子网络中,使得子网络的输出是对图像变化区域的预测。

具体的,步骤s5中,孪生神经网络的子网络输出和解码器网络输出分别是在不同尺寸上对差异图像的预测结果,两个输出均使用交叉熵损失函数计算损失,孪生神经网络训练完成后解码器网络输出一个与输入图像相同尺寸的预测图,数值接近于1的像素点为变化像素点,数值接近于0的像素点为不变像素点。

本发明的另一个技术方案是,一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当由计算设备执行时,使得所述计算设备执行所述的方法中的任一方法。

本发明的另一个技术方案是,一种计算设备,包括:

一个或多个处理器、存储器及一个或多个程序,其中一个或多个程序存储在所述存储器中并被配置为所述一个或多个处理器执行,所述一个或多个程序包括用于执行所述的方法中的任一方法的指令。

与现有技术相比,本发明至少具有以下有益效果:

本发明一种光学遥感图像变化检测方法,使用预训练的卷积层,在使用变化检测数据集训练网络之前就能提取部分特征,在一定程度上缓解了变化检测数据集较小带来的影响;由于卷积层预训练的模型使用的是其他数据集,提取的特征不能很好地反应光学遥感图像的特征,添加了分支网络帮助辅助训练,使得网络在训练过程中能快速收敛,并保证卷积层学习到的特征能够反映图像的变化信息。

进一步的,步骤s1在扩充数据集时,选择将标签中变化像素点数量大于图像块中像素点数量5%的图像块使用传统的方法扩充。这种方式极大地保证了变化样本和未变化样本数量上的均衡,更有利于网络学习有效特征。

进一步的,步骤s2中使用ternausnet网络的思想,使用vgg11的预训练好的卷积层作为编码器网络的卷积层,在使用变化检测数据集训练网络之前就能提取部分特征,在一定程度上缓解了变化检测数据集较小带来的影响。

进一步的,对于同一区域不同时相的图像对,图像的结构信息相同或相似的区域通过步骤s2中的孪生网络提取出来的特征基本相同,做差之后的结果接近于0。图像的结构信息有较大差异的区域通过步骤s2中的孪生网络提取出来的特征也有较大的差异,数值接近于-1或1。综合上述因素,步骤s3使用两个编码器各层特征的差值并平方化表示差异特征,使得输入图像中结构相似区域的特征接近于0,结构不相似区域的特征输出接近于1。

进一步的,步骤s3中使用反卷积层和卷积层可以实现特征的上采样和组合网络提取到的各级差异特征。

进一步的,由于卷积层预训练的模型使用的是其他数据集,提取的特征不能很好地反应光学遥感图像的特征,步骤s4添加的分支网络可以帮助辅助训练,使得网络在训练过程中能快速收敛,并保证卷积层学习到的特征能够有效反映图像的变化信息。

进一步的,步骤s5使用步骤s1生成的训练数据集训练网络,使得网络能够有效学习训练数据集的特征并预测图像中变化和未变化的区域。训练好的模型在对训练集之外的多分辨率光学遥感图像有较好的预测表现。

综上所述,本发明方法实现在较少样本的情况下学习数据集特征,能够对同一区域不同时相的光学遥感图像中变化和未变化区域有较好的预测能力。

下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

附图说明

图1为本发明的网络结构图;

图2为本发明的流程示意图;

图3为本发明的仿真实验结果图,其中,(a)为一种时相的图像对,(b)为另一种时相的图像对,(c)为预测结果,(d)为标签;

图4为本发明的第二种仿真实验结果图,其中,(a)为一种时相的图像对,(b)为另一种时相的图像对,(c)为预测结果,(d)为标签;

图5为本发明的第三种仿真实验结果图,其中,(a)为一种时相的图像对,(b)为另一种时相的图像对,(c)为预测结果,(d)为标签。

具体实施方式

本发明提供了一种基于ternausnet孪生神经网络的光学遥感图像变化检测方法,结合ternausnet的思想将编码器中的卷积层使用预训练后vgg11的卷积层,此方法大大提升了预测准确度。考虑到预训练的vgg11模型使用的数据集和变化检测数据集在光谱特征和目标结构上的差异性,本发明在编码器的末端添加分支网络,分支网络由随机初始化的卷积层、批量归一化层和激活函数构成,可以有效辅助网络的训练,使得从编码器的子网络获取的差异图像更接近于输入图像对真实的变化,并且快速收敛。相对于传统的变化检测方法手动设计的特征提取方案,本发明方法提取的特征更加抽象和高效,可以有效检测感兴趣区域的变化。相对于现阶段基于深度学习的一些变化检测方法,此方法可以在使用较少数据集下,有更加鲁棒的表现。

ternausnet是一个可用于密集图像分割的深度学习模型,该模型在kaggle平台发布的carvana图像掩模大挑战赛获得冠军。ternausnet使用利用imagenet数据预训练得到的vgg11编码器达到了提高u-net网络性能的目的,出色的完成图像分割的任务。

请参阅图2,本发明一种基于ternausnet孪生神经网络的光学遥感图像变化检测方法,包括以下步骤:

s1、将光学遥感图像数据集生成训练集和测试集,并扩充训练集和测试集;

将同一区域不同时相采集到的图像对和对应标签裁剪成128×128的图像块,并将标签缩放成一个16×16的图像作为支路网络的标签。为了解决训练集图像的样本不均衡问题,将标签中变化像素点数量大于图像块中像素点数量5%的图像块使用传统的方法扩充,如上下翻转、左右翻转、顺时针旋转90度、顺时针旋转180度、顺时针旋转270度。

s2、构建两个网络结构相同、参数共享的编码器网络作为提取多级特征的孪生神经网络;

每一个编码器的网络结构如下所示:

结构1:卷积层1→批量归一化层→池化层;

结构2:卷积层2→批量归一化层→池化层;

结构3:卷积层3→批量归一化层→卷积层3s→批量归一化层→池化层;

结构4:卷积层4→批量归一化层→卷积层4s→批量归一化层→池化层;

结构5:卷积层5→批量归一化层→卷积层5s→批量归一化层。

编码器中,结构1的卷积层含有64个卷积核,结构2的卷积层含有128个卷积核,结构3的两个卷积层都含有256个卷积核,结构4和结构5的卷积层都含有512个卷积核;卷积核的大小都是3×3,步进是1,填充为1,编码器中的卷积层都是窗口大小为2×2的最大池化层,激活函数都是relu函数。

编码器中的卷积层都使用vgg11中预训练好的参数卷积层。

s3、计算步骤s2孪生神经网络的多尺度差异特征并搭建解码器网络;

孪生网络的每个编码器的结构1到结构5的输出值都是输入图像的特征图像。将两个编码器在结构1到结构5上的输出记为feature11,feature12,feature13,feature14,feature15和feature21,feature22,feature23,feature24,feature25,其中,feature1i表示编码器1在结构i上输出的特征,feature2i表示编码器2在结构i上输出的特征,i=1,2,3,4,5。

孪生网络在结构1到结构5上输出的差异特征记为dif_fea_i,i=1,2,3,4,5,具体为:

dif_fea_i=(feature1i-feature2i)2

将生成的差异图像按照图1所示输入解码器网络。

解码器网络的作用是组合不同尺度的差异特征,产生差异图像,网络的结构如下所示:

中心模块:卷积层→批量归一化层→反卷积层;

反卷积模块1:卷积层→批量归一化层→反卷积层;

反卷积模块2:卷积层→批量归一化层→反卷积层;

反卷积模块3:卷积层→批量归一化层→反卷积层;

反卷积模块4:卷积层→批量归一化层→反卷积层;

反卷积模块5:卷积层→批量归一化层;

输出模块:卷积层。

解码器网络中,中心模块的卷积层含有512个卷积核,反卷积层含有256个卷积核;反卷积模块1的卷积层含有512个卷积核,反卷积层含有256个卷积核;反卷积模块2的卷积层含有512个卷积核,反卷积层含有128个卷积核;反卷积模块3的卷积层含有256个卷积核,反卷积层含有64个卷积核;反卷积模块4的卷积层含有128个卷积核,反卷积层含有32个卷积核;反卷积模块5的卷积层含有32个卷积核;输出模块的卷积层仅含有一个卷积核。解码器网络中使用到的卷积层都是3×3的卷积核,步进为1,填充为1;解码器中除了输出模块均使用relu做激活函数,输出模块使用sigmoid函数做激活函数。解码器中的反卷积层的尺寸为3×3,步进为2,填充为1。

解码器中网络的参数都随机初始化。

s4、搭建子网络,将子网络和步骤s3的解码器网络并联连接在步骤s2的编码器网络后构成新孪生神经网络;

子网络的网络结构依次为:第一层卷积层→第二层卷积层→输出层;

子网络中第一层卷积层含有64个卷积核,第二层卷积层含有1个卷积核。卷积层的步进为1,填充为1;自网络的参数随机初始化。

将计算到的差异特征图像dif_fea_4输入子网络中,使得子网络的输出是对图像变化区域的预测。

s5、利用扩充后的训练集训练步骤s4构成的新孪生神经网络;

将步骤s1扩充后的训练集中同一地区不同时间采集到的图像对输入孪生网络,子网络的输出和解码器的输出分别是在不同尺寸上对差异图像的预测结果,网络的两个输出均使用交叉熵损失函数计算损失,网络训练完成后解码器输出一个与输入图像相同尺寸的预测图,数值接近于1的像素点为变化像素点,数值接近于0的像素点为不变像素点。

交叉熵损失函数为:

网络使用adam作为优化器,初始学习率设置为1e-4,分支网络上的参数出事学习率设置为5e-5。

s6、将步骤s1扩充后的测试集输入步骤s5训练后的新孪生神经网络中,验证孪生神经网络的实验结果。

将测试图像输入网络,在解码器的一端得到网络输出预测结果。对预测结果的所有元素设置阈值τ=0.5,将预测结果中的每个元素与阈值τ进行比较,若该元素的值大于τ,则归为变化类,用1表示,若该元素的值小于τ,则归为不变化类,用0表示。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中的描述和所示的本发明实施例的组件可以通过各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

下面结合仿真实验对本发明的效果做进一步说明;

1.实验平台

本发明的仿真实验的硬件平台为:titanxp,12g显存。

本发明的软件平台为:windows10操作系统、python3.6和pytorch1.1。

2.实验数据集:

实验使用的数据集是onerasatellitechangedetectiondataset(oscd)中的rgb层。该数据集由sentinel-2卫星图像组成,这些图像描绘了全球24个不同城市在两个不同日期的情况。这24张图像的空间分辨率在10m,20m和60m之间变化。每个图像都有13个光谱通道,并提供14个城市的地面真实信息。数据集中14对图像用于生成训练数据集,剩下10对由于测试。

3.仿真试验评价指标

其中,precision为查准率,recall为查全率,ca为正确率,f1为系数,tp为真正例,tn为真反例,fp为假正例,fn为假反例。

4.实验结果

请参阅图3,图3中(a)和(b)是一对在同一区域不同时相捕获的图像,图像具有较低的分辨率,本发明中的方法能够预测出变化的大体架构,但对图像中较小的区域有预测误差。

请参阅图4,图4与图3一样有较低的分辨率,图像中有明显变化的区域,本发明的方法也有一个较好的预测结果。

请参阅图5,图5中的测试图像分辨率相对于图3和图4较高,本发明的方法对于变化的区域有较好的预测结果。

用于测试的10对图像的平均指标如表1所示

表1

5.结果分析

从表1可以看出,基于ternausnet孪生神经网络的光学遥感图像的变化检测方法在光学遥感图像中有着较好的表现,平均预测准确度和f1系数都有明显的提升。本发明的方法应对多分辨率的光学遥感图像有较强的鲁棒性,可迁移性较强。

综上所述,本发明一种光学遥感图像变化检测方法、存储介质及计算设备,可以实现在较少样本的情况下学习数据集特征,能够对同一区域不同时相的光学遥感图像中变化和未变化区域有较好的预测能力。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上内容仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明权利要求书的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1