STANet简单介绍

以下为我阅读STANet论文的理解,如有不对,请批评指正。

一、变化检测

STANet简单介绍_第1张图片
简单的讲,变化检测要做的事便是检测出输入的配准好的同源图像对变化的像素点,用差异图(如上图)来表示得到的检测结果,其中变化的像素点为白色、未变化的像素点为黑色。
现阶段常用的提取图像特征的网络有Resnet-18等,但得到的图片特征尺寸和输入图像尺寸大小不一样,所以通常把特征提取网络提取的特征进行上采样(反卷积、插值法等),使得特征和输入图像尺寸大小一样。同时,因为特征提取网络能够得到较好的语义信息(颜色、轮廓等)但得到的位置信息较差,所以往往采用级联方式进行平衡。举个特征提取网络的例子,如下图:
STANet简单介绍_第2张图片
众所周知,现阶段注意力机制很火,同时为了利用图片的通道信息、空间信息、不同时间和位置的同类对象之间的关系,不少学者将注意力机制引入变化检测,成为图像特征提取器的一部分。举两个例子,如下:

STANet简单介绍_第3张图片
STANet简单介绍_第4张图片
当通过得到和输入图像尺寸一样大的特征图后,便是如何通过特征图得到最终的差异图,主要有两种方法:
1.基于分类的方法:变化检测可以看为分类问题,一般方法是为图像的每个像素点分配更改分数,其中变化像素点的分数高于未变化像素点的分数。

这种情况下,网络一般输出的是一个双通道的特征图,第一个通道代表像素点为0的概率,第二个通道代表像素点为1的概率。Pytroch中可以通过torch.argmax()来获得差异图。

2.基于度量的方法:需要学习一种度量方法,使得通过这种度量方法让未变化的像素点距离变近、变化的像素点距离变远。常用的损失函数有contrastive loss 和 triplet loss。其中因为triplet loss利用了像素之间的空间信息,所以triplet loss比contrastive loss好。

这种情况下往往通过欧式距离得到一个单通道的表示特征之间距离的特征图,可以通过阈值分割的方法得到最终的差异图。

二、网络结构

STANet简单介绍_第5张图片
不难看出,难以理解的是PAM模块中的多尺度部分,下面进行简单介绍。
作者引入多尺度的用意是:由于变化对象可能具有不同的尺度,因此从适当的范围提取特征可能更好地表示特定尺度的对象。我们可以通过组合从不同大小的区域提取的特征来获得多尺度特征。
PAM模块:作者一共选择了4个尺度{1,2,4,8},特征图X进过池化层分别通过四个分支,拿第二个分支进行说明。X先通过三个一层卷积得到K、Q、V;分别将K、Q、V按照尺度2裁剪成4块,为了提高计算速度,作者将4块进行concate(方便进行并行运算)得到k、q、v;之后和BAM一样,k和q经过reshape、相乘、softmax操作之后和reshape之后的v相乘,将得到的结果重构成Y2。将四个分支得到的Y进行concate并送入一个一层卷积得到最终的Y。将Y和X相加便得到了Z。

三、损失函数

STANet简单介绍_第6张图片
STANet简单介绍_第7张图片
M指GT、D指预测出的距离矩阵。因为变化的像素点占总像素点数较小,故作者进行加权平衡。

四、实验结果

本文实验结果较多,其中一些为对比实验,实验结果说明了STANet添加PAM模块性能较好、比其它算法得到的结果要好、模型运行速度快、多尺度选择的尺度对比实验(老掉牙)。
下面我挑选了两个我认为比较重要的实验结果。

STANet简单介绍_第8张图片

从这幅图的结果和GT对比我们可以清晰的认识到在CD上添加注意力和多尺度分析的优势,以下为论文的机器翻译:
图7更好地说明了错位错误。我们的基线模型错误地将建筑物的错位部分检测为变化区域。我们可以观察到,BAM和PAM模型可以很好地缓解由错误配准引起的错误检测,从而产生更平滑的结果。这是因为当计算错位位置的响应时,时空模块学习错位位置和其他位置的注意力权重。在这种情况下,错位位置的响应较少关注对齐建筑物的位置。因此,错位位置的响应与建筑物的响应不太相似。此外,基线模型无法完全检测不同颜色(图6第5行)或较大比例(图6第7行)的建筑物。时空模块学习像素之间的全局时空关系,并利用这些依赖关系获得更好的表示。因此,BAM和PAM模型对颜色和比例变化更具鲁棒性。此外,我们可以观察到,由于其多尺度设计,PAM可以获得比BAM和基线(图6中的第1行和第7行)更精细的细节。
STANet简单介绍_第9张图片
作者在这幅图像上演示了注意力机制得到的注意力分布图,拿第一行举例,Image1的红点1标记在荒地上,对应的Attention Map#1的注意力便放在了荒地上(红色区域),Image2的红点2标记在房屋的屋顶上,对应的Attention Map#2的注意力便放在了屋顶上。可见注意力机制将在语义上相似的点通过注意力关联在了一起(感觉有点像语义分割!!!),结合图6和图7不难看出这种关联性有助于利用像素点在语义上的关联性。

你可能感兴趣的:(基于深度学习的变化检测,计算机视觉,深度学习,人工智能)