本发明属于图像处理技术领域,涉及图像变化检测,具体是一种基于深度神经网络的超像素级SAR图像变化检测方法,可用于遥感影像监测、医学诊断、自然灾害评估等技术领域中。
背景技术:
遥感影像变化检测技术用于检测同一地区在不同时间内所发生的变化情况,具有重要的应用价值。而基于合成孔径雷达的(Synthetic Aperture Radar,SAR)影像的变化检测由于SAR传感器不受时段、天气条件影响等优良特征而受到广泛关注。对于SAR图形的变化检测问题,研究者已经提出了很多方法,这些方法对差异图的生成以及阈值、聚类、图切、水平集四种常用的差异图分析方法进行了不同程度的研究,将传统方法进行了改善,取得了良好的效果。
近些年来,深度神经网络(Deep learning)已经成为一种新的机器学习方法广泛应用。它通过构建深层的神经网络模型来表达和分析数据,具有更强的学习能力。在深度学习中,我们可以不需要预处理而直接输入数据,而数据的特征通过每一层被学习出来。深度神经网络的模型主要包括卷积神经网络(CNN),深度信念网络(DBN)和自编码器(AE)。因为深度神经网络对图像有更好的表达方式,提取更深层次的特征,所以有一些研究人员已经将深度神经网络应用到SAR图像的变化检测中,并取得了很好的效果,比如:Maoguo Gong等人提出了一种基本深度学习的变化检测方法,参见M.Gong,J.Zhao,J.Liu,Q.Miao,L.Jiao.Change Detection in Synthetic Aperture Radar Images Based on Deep Neural Networks.IEEE Transactions on Neural Networks and Learning Systems,Vol.27,No.1,2016:125-138.将深度神经网络的优势引入到图像变化检测中已经成为变化检测方向新的热点。
根据处理的目标不同,变化检测也分为像素级别和目标级别,分别对应处理的对象是像素和图像中的目标。阈值、聚类以及上述的基于深度神经网络的变化检测都是像素级别的变化检测,他们处理的对象是图像的像素。这些像素级别的变化检测分类相对准确,但是主要缺陷是易受噪声干扰(尤其是阈值和聚类方法),并且由于处理的对象是每一个图像的像素,所以处理时计算量比较大。目标级别的变化检测主要是通过图像分割的技术先将待处理的图像进行目标分割,然后再进行分类。其处理速度快,但是精确度主要取决于图像分割的结果,稳定性差。
超像素是一种介于像素与目标之间的图像区域,概念就是把图像分割成很多小区域,每个子区域内部之间具有某个特征很强的一致性,然后可以把这一整个块当成一个整体来处理,每一小块就是超像素,这样处理有一些便捷,比如数据点数减少,或者这一块有图像语义,利于后续其他应用。
技术实现要素:
本发明的目的在于克服上述已有技术的不足,提出一种基于深度神经网络的超像素级SAR图像变化检测方法,以实现在图像变化检测中既能得到比目标级别变化检测更好的结果,又能降低像素级变化检测方法计算量比较大的缺点,使得变化检测结果更稳定。
本发明的技术方案是:基于深度神经网络的超像素级SAR图像变化检测方法,包括如下步骤:
(1)对两幅原始图像进行超像素分割,分别得到分割后的图像SI1、SI2和分割轮廓C1、C2;
(2)根据两幅原始图像的分割轮廓,进一步进行精细化分割,使得两幅图像得到相同的精细化分割轮廓C和精细化分割后图像S1和S2,并且两幅图像都得到M个对应的超像素块;
(3)求两幅原始图像的差异图,用阈值法或模糊聚类法变化检测方法得到初始变化检测结果图;
(4)使用精细化分割轮廓C去分割初始变化检测结果图,并统计被分割的初始变化检测结果图中每个超像素块中变化与未变化的像素点数目,如果变化的像素点数目大于80%,则该超像素块的标签为变化类,如何未变化的像素点数目大于80%,则该超像素块的标签为未变化类;否则该超像素块为不确定;
(5)建立堆栈去噪自编码深度神经网络模型;
(6)将S1和S2中有确定标签的对应位置的超像素块分别取出,叠加成列向量,输入到建立的堆栈去噪自编码深度神经网络模型中训练;
(7)根据初始变化检测结果图得到的标签,使用反向传播算法调整堆栈去噪自编码深度神经网络模型中各个神经元之间的连接权重,得到最终训练好的模型;
(8)再次将S1和S2对应位置的所有超像素块分别叠加成列向量,输入到训练好的堆栈去噪自编码深度神经网络模型中,深度神经网络模型将判断对应的超像素块是变化的还是未变化的,最终输出变化检测结果的二值图。
上述步骤(2)所述的精细化分割,具体步骤如下:
将不同的分割轮廓C1和C2进行精细化分割,得到相同的精细化分割轮廓,即C1=C2=C;具体过程为遍历C1和C2每个超像素轮廓的值,如果对应位置轮廓标记相同,则该位置标记不变;如果不同,则该位置赋新的轮廓标记;
其中,
上述公式(1)中,newlabel是表示与C1和C2的标记都不相同的新的标记;
用得到的精细化分割轮廓C重新分割两幅原始图像,得到精细化分割后图像S1和S2,每幅图像都被分割为M个对应的超像素块。
上述步骤(4)中用精细化分割轮廓C去分割初始变化检测结果图,得到每个超像素块的标签,按如下方法进行:
用得到的精细化分割轮廓C去分割初始变化检测结果图,并得到分割后的图像D;根据分割后的初始变化检测结果图,确定每一块超像素块的标签;
其中,
上述公式(2)中,(label)j代表第j个超像素块的标签,Dj代表第j个超像素块中像素的总个数,Djunchanged和Djchanged分别代表第j个超像素块中未变化的像素个数和变化的像素个数;用上述公式(2)确定每一块超像素块的标签,0代表该像素块是未变化的,1代表该像素块是变化的。
上述步骤(6)所述的将S1和S2中有确定标签的对应超像素块分别取出,叠加成列向量,输入到堆栈去噪自编码深度神经网络模型中训练,按如下方法进行:
分别取出两幅原始图像对应位置的超像素块,将取出的两个对应位置的超像素块中的每个像素组成列向量,并把两个列向量叠加为一个列向量作为训练样本输入到堆栈去噪自编码深度神经网络模型中进行训练,该过程是无监督的,训练的数据不需要标签,从底层开始,一层一层的往顶层训练。
上述步骤(7)所述的根据初始变化检测结果图得到的标签,调整堆栈去噪自编码深度神经网络模型中各个神经元之间的连接权重,得到最终训练好的深度神经网络模型,按如下方法进行:
堆栈去噪自编码深度神经网络模型在训练之后,使用反向传播算法进行参数调整,即通过带标签的数据去训练,误差自顶向下传输,对深度神经网络模型中节点之间连接的参数进行调整,该过程需要使用标签为0或1的超像素块去训练,通过调整节点之间连接的参数得到最终训练好的深度神经网络模型。
本发明的有益效果:与现有的技术相比本发明具有以下优点:
1、本发明由于采用了超像素级别的处理目标,直接检测像素块是变化的还是未变化的,相对像素级别的变化检测降低了计算量,相对目标级别的变化检测增加了准确性;
2、采用了深度神经网络模型,提取了超像素块的深层的内部特征,通过训练能更好的分辨变化类与未变化类。
附图说明
图1是本发明实现步骤的流程框图;
图2是本发明精细化超像素分割的示意图;
图3是本发明中使用的堆栈去噪自编码深度神经网络模型的原理图;
图4是两幅原始图像对应的超像素块叠加为列向量,作为训练样本输入到深度神经网络模型中进行训练过程的示意图;
图5是待变化检测的两幅原始的SAR图像I1和I2;
图5(a)是待变化检测的原始的SAR图像I1;
图5(b)是待变化检测的原始的SAR图像I2;
图6是用本发明方法对图5进行变化检测得到的仿真实验结果图;
图7是用现有KI阈值算法对图5进行变化检测得到的仿真实验结果图;
图8是用现有FCM聚类算法对图5进行变化检测得到的仿真实验结果图。
具体实施方式
参照图1,本发明将深度神经网络引入到变化检测算法中以达到更好的分类性能,并且提出了超像素级别的处理对象,避免了像素级别和目标级别的变化检测的缺陷,其具体实现步骤如下:
步骤1、使用超像素分割方法分割两幅原始图像。
使用超像素分割方法,分别分割两幅原始图像。本发明中用的超像素分割方法是SLIC超像素分割,它会根据图像本身区域的特性对图像进行超像素分割,使得统一超像素块内像素点的性质近似,而不同超像素块之间的性质差别比较大。
分别对两幅原始图像I1和I2进行超像素分割,得到分割后的图像SI1、SI2和分割轮廓C1、C2。因为两幅原始图像存在差异,所以超像素分割后的轮廓是不同的,即C1≠C2。
步骤2、精细化分割,得到相同的超像素分割轮廓。
如图2所示,将不同的分割轮廓C1和C2进行精细化分割,得到相同的精细化分割轮廓,即C1=C2=C。具体过程为遍历C1和C2每个超像素轮廓的值,如果对应位置轮廓标记相同,则该位置标记不变;如果不同,则该位置赋新的轮廓标记。
其中,newlabel是表示与C1和C2都不相同的新的标记。
用得到的精细化分割轮廓C重新分割两幅原图,得到精细化分割后的图像S1和S2,每幅图像都被分割为M个对应超像素块。
步骤3、用传统的变化检测方法得到初始变化检测结果图。
在之后的深度神经网络模型训练过程中,我们需要使用一定量的带标签的超像素块,所以我们提前用阈值法(FCM),模糊聚类法(FCM)等传统的变化检测方法得到初始变化检测结果图。
步骤4、分割初始变化检测结果图,得到每个超像素块的标签。
用得到的精细化分割轮廓C去分割初始变化检测结果图,得到分割后的图像D。根据分割后的变化检测结果,我们确定每一块超像素块的标签。
其中,(label)j代表第j个超像素块的标签,Dj代表第j个超像素块中像素的总个数,Djunchanged和Djchanged分别代表第j个超像素块中未变化和变化的像素个数。用上述公式(2)确定每一块超像素块的标签,0代表该像素块是未变化的,1代表该像素块是变化的。
步骤5、建立堆栈去噪自编码(SDAE)深度神经网络模型。
SDAE是将多个DAE(去噪自编码)堆叠起来形成的一种算法。由P.Vincent等人在Stacked Denoising Autoencoders:Learning Useful Representations in a Deep Network with a Local Denoising Criterion一文中进行了详细的阐述。
DAE的主要思想是一个好的表示(特征)能够从一个腐蚀输入鲁棒地得到,并且可以较好地恢复出未腐蚀的输入。SDAE的思想就是将多个DAE堆叠在一起形成一个深度的架构。需要注意的是,只有在训练的时候才会对输入进行腐蚀,一旦训练完成,就不需要再进行腐蚀。关于DAE和SDAE的原理图参见图3。
步骤6、训练深度神经网络模型。
分别取出两幅原始图像对应位置的超像素块,将两个对应位置的超像素块中的每个像素组成列向量,并把两个列向量叠加为一个列向量作为训练样本输入到深度神经网络中进行训练。具体过程参见图4,这个过程是无监督的,训练的数据不需要标签,从底层开始,一层一层的往顶层训练。
步骤7、调整深度神经网络模型的参数。
深度神经网络模型在训练之后,需要使用反向传播(BP)算法进行参数调整,就是通过带标签的超像素块去训练,误差自顶向下传输,对深度神经网络模型中各个神经元之间的连接权重进行调整。这个过程需要使用label为0或1的超像素块进行训练,最终得到训练好的深度神经网络。
步骤8、用训练好的深度神经网络模型进行分类,得到最终的结果。
通过步骤7之后,我们得到了具有良好分类功能的深度神经网络模型。现在需要把两幅原始图像的所有的对应超像素块分别叠加为列向量,输入到深度神经网络模型中进行分类。深度神经网络模型会对输入的超像素块进行分类,判断是变化的超像素块还是未变化的超像素块,最终得到最后的分类二值图像。
本发明的效果可通过以下仿真进一步说明:
1.仿真条件及仿真内容:
本实例在Intel(R)Core(TM)2Duo CPU 2.33GHz Windows 7系统下,Matlab R2015a运行平台上,完成本发明以及KI阈值方法和FCM聚类方法的SAR图像变化检测仿真实验。
2.仿真实验内容
A.本发明图像变化检测方法的仿真
将本发明应用在如图5所示290×350的两幅SAR图像上,该SAR图像是Ottawa地区洪水前后的图像。图6为用本发明方法对图5进行变化检测得到的仿真实验结果图,其中白色区域代表变化的区域,黑色区域代表未变化的区域。
B.现有KI和FCM图像变化检测方法的仿真
将现有的阈值方法应用在如图5所示290×350的SAR图像上,仿真实验结果如图7所示,其中白色区域代表变化的区域,黑色区域代表未变化的区域。
将现有的聚类方法应用在如图5所示290×350的SAR图像上,仿真实验结果如图8所示,其中白色区域代表变化的区域,黑色区域代表未变化的区域。
3.仿真实验结果
从图6可以看出,本发明得到的仿真实验结果有较好的主观视觉效果,边缘平滑清晰,能比较准确的把两幅图像中的变化部分和未变化部分提取分类,尤其对于图5中的洪水与陆地部分,变化部分检测比较准确。
从图7可以看出,现有阈值方法得到的仿真实验结果主观视觉效果较差,错误变化检测区域比较严重,边缘模糊不清,且产生了很大的噪声,无法准确的将洪水前后的变化情况准确的反映出来。
从图8可以看出,现有聚类方法得到的仿真实验结果主观视觉效果优于阈值算法得到的仿真实验结果,能基本反映两幅图像的变化情况,但与本发明得到的仿真实验结果相比,边缘不够平滑准确,产生的噪声较多。
由以上的仿真实验可以说明,针对SAR图像的变化检测,本发明存在一定的优势,克服了现有阈值和聚类变化检测技术应用在SAR图像上的不足,不论是视觉效果还是准确性,本发明均优于现有的KI阈值和FCM聚类变化检测技术。
综上所述,本发明针对SAR图像的变化检测效果明显优于现有的KI阈值和FCM聚类技术对SAR图像的变化检测效果;与现有的技术相比其优点包括:
1、本发明由于采用了超像素级别的处理目标,直接检测像素块是变化的还是未变化的,相对像素级别的变化检测降低了计算量,相对目标级别的变化检测增加了准确性;
2、采用了深度神经网络模型,提取了超像素块的深层的内部特征,通过训练能更好的分辨变化类与未变化类。
本实施方式中没有详细叙述的部分属本行业的公知的常用手段,这里不一一叙述。以上例举仅仅是对本发明的举例说明,并不构成对本发明的保护范围的限制,凡是与本发明相同或相似的设计均属于本发明的保护范围之内。