变化检测-特征差异增强篇(一)
概述
目前本人所看的关于变化检测相关的论文,如果按照对特征的处理上来分,本人认为可以分为三种:add、concat、difference。这篇文章将给予对特征差分处理方法做一下展示和总结。
目前主要的框架还是给予U-Net和孪生网络进行实现的,也就是通过提取多尺度多层次特征来实现特征级别上的变化检测。在特征差分方面,同样可以扩展为很多种方法。
论文案例展示
《A Feature Difference Convolutional Neural Network-Based Change Detection Method》
本篇论文在特征提取方面采用了VGG16,一共提取出三个多尺度特征,之后分别对双时相特征进行差分处理,得到差异特征,随后将联合输入图像的特征进行concat,最后经过卷积层的处理得到了变化图。该方法将多尺度特征进行concat,实现了细粒度和粗粒度特征的融合,保证了差异特征的信息丰富度。
《Difference Enhancement and Spatial–Spectral Nonlocal Network for Change Detection in VHR Remote Sensing Images》
本篇论文主要框架为U-Net+孪生网络。对于差异增强部分既利用上了差异部分,有没有放弃原始特征信息。差异增强模块首先是经过最大池化和平均池化的增强,得到一个差异增强掩码mask(相当于获得一个通道注意力),随后,分别与原始信息进行相乘,得到经过差异增强的特征,最后再做差分操作得到增强差异图。该方法主要想法是首先消除背景和前景的差异表示,减少无关变化对检测结果的影响,然后作用于原始特征,使得背景得到弱化,差异部分得到增强。同时,作者在网络底部使用了一个空间-光谱增强模块,整体结构为非局部注意力,首先利用类似SPPNet的结构对深层特征进行增强,然后进行传统的非局部注意力模块操作进行增强。
实验结论:本文中的差异增强方法和SSN模块能够很好地提高变化检测的准确度,同时上述类似SPPNet的结构对于结果也有不错的改进。
《MDESNet: Multitask Difference-Enhanced Siamese Network for Building Change Detection in High-Resolution Remote Sensing Images》
这篇文章分为了两部分:变化检测+语义分割。本文将语义分割添加到模型中,希望通过语义分割来约束检测准确率。同时本文的差异特征增强模块在后半部分即语义分割部分。作者认为一般的处理特征分为串联和差分,而两者都有优缺点。特征差分能够很好地展示出变化区域,但是很容易收到非变化目标的影响(光照、季节等),可能包含较多的错误;而串联则能够包含更多的信息,但是却不能有效地展示出变化区域。于是提出了两者相结合的方式来增强差异特征,利用串联的丰富信息知道差分识别出非变换区域,防止受干扰。同时在后续的多尺度特征融合部分采用了层层递进的方式来融合特征,充分利用了各个尺度特征信息。
《SMD-Net: Siamese Multi-Scale Difference-Enhancement Network for Change Detection in Remote Sensing》
本篇论文主要针对的是大目标边界和小目标检测方面。所以针对深层特征和浅层特征分别做了对应增强。但是整体的架构都是先对差异特征进行增强处理,随后在通道层面上进行串联,保证信息的充分利用。在处理浅层特征上,采用FDM模块进行处理,差异特征经过两个卷积层和一个残差模块,因为浅层特征包含丰富的变化信息,FDM不仅可以增强变化区域特征细节还可以去除一些伪变化的影响。深层特征方面,首先进行最大池化处理,分为几个不同池化大小的特征(进一步扩大感受野),随后经过1*1卷积和上采样得到原特征尺寸的特征图,最后同样进行concat串联输出。该篇论文具体讲解可看之前论文《SMD-Net:Siamese Multi-Scale Difference-Enhancement Network for Change Detection in Remote Sensing》笔记 (gitee.io)
总结
在特征差异增强部分,比较有效的方法:多核池化(扩大感受野)、空间-通道注意力(增强变化区域,削弱伪变化区域)、串联-差分结合、充分利用特征信息等
虽然上面提到了几个特征差异方法,但是对于方法的内在原理还不是很明白,后续将在这方面上进行研究。同时上述仅为本人浅陋的想法,如果有不同的想法,欢迎批评指正!