论文阅读|Learning to Measure Changes: Fully Convolutional Siamese Metric Networks for Scene Change Detection

原文标题:Learning to Measure Changes: Fully Convolutional Siamese Metric Networks for Scene Change Detection

论文链接:http://arxiv.org/abs/1810.09111

abstract

场景变化检测的困难之处由场景明暗变化,阴影以及相机视点不同而导致的噪声变化很难去衡量,因为噪声变化和语义的变化交织在一起。从最直观的角度出发,直接比较图中特征差异。使用对比损失降低未变化特征对的距离和增大变化特征对的距离,又提出了阈值对比损失来解决视点大幅度变化所造成的问题。源码:https://github.com/gmayday1997/ChangeDet

introduction

state-of-the-art 的方法基本都基于FCN,基于fcn的模型通过学习具有最好检测效果的决策边界来检测变化。为了区分语义边和噪声变化,一种可行的办法是提出一种指标可以衡量变化的差异,对语义变化产生较大的值,而对噪声变化产生较小的值。深度度量学习的核心思想是减少类内差异,而增大类间差异。论文主要包含两部分:一提取特征,二用预定义的距离函数求特征对的距离。

主要贡献:一、提出第一个解决多种问题的框架结构;二、提出了阈值对比损失 Thresholded Contrastive Loss (TCL)来克服大幅度视点变化问题;三、达到了state-of-the-art;四、将距离度量整合进基于fcn的baseline。

最传统的方法就是通过一个阈值直接找图像中有明显差异的像素,计算成本低,但区分性差。还有就是手工设计特征的方法,如 image rationing, change vector analysis, Markov random field, and dictionarylearning。state-of-the-art的方法基于FCN,都是在学习边界决策来CD。作者的想法是基于另一篇论文,这篇论文通过距离度量变化的,但区分力不够。Change detection based on deep siamese convolutional network for optical aerialimages 这篇论文和本论文很相似,但作者提出的是一个end-to-end的方法来解决多种问题。

proposed approach

基本框架如上,通过全卷积孪生网络来提取特征对,然后用欧式距离或余弦相似性作为距离度量,作者将特征对提取以及度量距离这一个统一的过程称为隐式度量。使用对比损失来优化使changed pair有较大的距离值,Unchanged pair有较小的距离值,使用阈值对比损失解决大幅度视点变化问题。

将变化看成是一种不相似性,用一种不相似性函数来度量。这个函数包括两部分:特征描述符 和 距离度量。特征描述符其实就是经过孪生网络得到的特征对,网络的backbone可以使用Googlenet或者DeepLab都可以。距离度量是作者设计的阈值对比损失函数,并与欧式距离度量和余弦相似度度量做了实验比较。

上图是ContrastiveLoss利用了用欧式距离,(y_i,j = 1)表示在这个位置没有变化,(D(f_i, f_j))表示 (f_i)(f_j)特征向量的欧式距离,(m)为距离的最大值

上图CosLoss利用了余弦相似性,(D_k)是余弦相似性,(W_k)(b_k) 是可学习到的缩放和移动参数

上面的损失函数存在效果不好以及收敛缓慢的缺点,作者认为存在着一对矛盾:一方面,由于大视角的变化导致激活了更多不相关的信息,那些没有变化的区域会被认为是有变化的,还有就是变化与未变化的信息交织在一起;另一方面,本来没有变化的区域由于视点差异而产生了变化,所以在优化的时候对应的距离就会随着训练而减小至0,有一个减小的趋势,而这种趋势确实会产生我们想要的结果。但关键问题在于,这种减小的趋势不可能使特征对的语义距离减小至0,因此作者提出了TCL损失

这个定义表明没有必要将距离最小化到0,给距离度量一个容差。为了证明这个损失的有效性,作者在CD2014上做了对比实验

训练策略采用MultiLayer Side-Output (MLSO)的方法,这种方法基于两种观点:(1)在反向传播中梯度传递到中间层有可能消失,这会导致中间层的特征不具有区分能力;(2)上层特征的表示能力很依赖于中间层特征的区分能力。

在图中所示的层中分别输出特征对,计算特征对距离,与ground truth求(loss_h),然后根据公式计算最终损失(Loss)(eta_h)是相应的权重。在预测阶段,对不同的层采用了不同的置信阈值,最终预测结果为各个层的输出取平均。

experimental and discuss

数据集:VL-CMU-CD Dataset [PCD2015 Dataset]( http://www.vision.is.tohoku.ac.jp/us/research/4dcity modeling/pano cd dataset/) CDnet Dataset Evaluation on CDnet

1.MLSO训练策略确实能够提升效果;2.欧式距离的表现比余弦相似度的效果更好

在第三个数据集上的比较,作者的方法达到了具有竞争力的表现,但有一些指标存在不足。一方面是state-of-the-art的方法采用了语义分割的方法一定程度上改变了任务。我理解的是因为语义分割方法擅长区分前景和背景,语义分割只是分割出了我们所需要的前景目标,实际上网络可能并不知道在某块区域到底有没有变化,只是经过训练就能够分割出变化的目标,因此也就不受视角变化的影响了。另一方面,作者的方法实际是一个图像差值的方法,在精度方面与语义分割方法必然存在一定差距,语义分割本身就是一个像素级别的分类的问题。

discussion

讨论了三个问题:(1)是否提出的网络模型对于大视角变化具有鲁棒性?(2)模型表现是否对于阈值是敏感的?(3)利用对比损失来增强度量学习的方法是否真的能学习到更多具有区分能力的特征?

对于第一个问题,小视角和大视角的变化。采用了TCL损失函数,(thread = 0)就是对比损失,0.1时效果最好

对于第二个问题,上面已经可以知道模型易受阈值的影响,因此需要最大化前景变化和背景变化的对比,对不同的距离函数做了对比,采用RMS均方值对比,应该就是特征对求距离后的图像的均方值

1570427791917

结果表明欧式距离产生的图像具有较大的对比度,因此欧式距离更有能力区分背景变化;深层特征带有丰富的语义信息,从图中得出区分能力强的特征鲁棒性就更好

对于第三个问题,作者将对比损度量学习的方法运用于FCN,采用交叉熵损失(Loss_class)和对比损失(Loss_feat),结果表明有较小的提升

1570427831773

原文地址:https://www.cnblogs.com/QuintinLiu/p/11752790.html