【论文阅读笔记】(2022 CVPR)Self-Supervised Material and Texture Representation Learning for Remote Sensing T

72 篇文章 4 订阅
16 篇文章 4 订阅

论文题目:Self-Supervised Material and Texture Representation Learning for Remote Sensing Tasks

论文下载地址https://openaccess.thecvf.com/content/CVPR2022/papers/Akiva_Self-Supervised_Material_and_Texture_Representation_Learning_for_Remote_Sensing_Tasks_CVPR_2022_paper.pdf

GitHub codeGitHub - periakiva/MATTER: Official implementation of Self-Supervised Material and Texture Representation Learning for Remote Sensing Tasks


博文目录

写在前面

0. 论文简介 & 创新点

1. Texture Refinement Network (TeRN)

1.1 Motivation

1.2 传送门 - pixel adaptive convolution layer:

1.3 这篇论文里具体怎么用 PAC?

2. patch-wise Surface Residual Encoder

3. Contrastive Learning


写在前面

由于笔者之前没有了解过遥感图像相关的知识,所以只着重记录论文的方法部分内容。


0. 论文简介 & 创新点

简介: 

论文在遥感图像上做了一个自监督对比学习任务:由一个改良版 encoder (见 Sec 1)对遥感图像提取特征,再用特征和类中心之间的关系得到每个样本对应的 soft representation(见 Sec 2)。接着就是用对比学习的 loss 去拉近正样本对之间的 soft representation,推远负样本对的 soft representation(见 Sec 3)。

创新点: 

1、提出了一个 Texture Refinement Network (TeRN,下图左边 Encoder 中的蓝色条) 来增强图像的底层特征

2、提出了一个自监督对比学习的框架 Adapt Residual Cluster Learning(下图右边)来表征混合了不同 materials 和 texture 的图像块(patches)


1. Texture Refinement Network (TeRN)

1.1 Motivation

遥感图像大多对比度比较低,所以图像纹理的可见度会比较低,导致图像最终提取到的特征里只会包含较少的图像纹理信息。所以作者提出 Texture Refinement Network (TeRN) 来改进图像纹理特征,以此增加他们在网络更深层次里的影响。

1.2 传送门 - pixel adaptive convolution layer

Pixel Adaptive Convolutional Neural Networks (CVPR '19)_哔哩哔哩_bilibili

普通的卷积运算是 “空间共享(spatially shared)” 的,这就意味着在图像的不同位置、甚至是不同图像上进行卷积,卷积核里的值都是相同的,这就是普通卷积运算的 “内容不可知(content-agnostic)” 特性。

如左图(晴天)和右图(雨天),模型当然可以使用更多的卷积核来学习区分这两种天气,但这也意味着需要更多的训练参数和训练数据。

所以,这个工作提出一种根据内容自适应调整卷积核权值的操作(content adaptive operation),即 PAC(pixel adaptive convolution)。

下图是普通卷积运算的过程:

下图是 pixel adaptive convolution 的运算过程:引入一个额外的特征 f(可以是原图)。K 是自适应核(adapting kernel),K 的值是 f 当前滑窗里中心像素与每一个周围像素的关系(比如这篇论文里的 cosine similarity)。所以,f 里不同的滑窗位置对应着不同的自适应核 K,这就实现了 “根据内容自适应调整卷积核里的权值”。

总结来说,PAC 的公式如下(白色方框里的公式是普通卷积运算):

 

1.3 这篇论文里具体怎么用 PAC?

他们将原图作为 f,K 中的值为像素 x(i, j) 与邻居像素的余弦相似度。下图是将原来的一层普通卷积层改为一层 PAC 后的示意图,也成为一层 refinement layer。本论文构建了一个具有 L 层这样 refinement layer 的 TeRN网络,每层用不同的 kernel size,dilation 和 strides。

这篇论文将 texture 定义为结构的空间分布,可以用强度梯度(intensity gradients)来表示。由公式可得,这个 PAC layer 会降低邻居像素方差大或者邻居像素相似度低的激活值,鼓励表达连贯(representation consistency)的像素,以此更加突出边界。

下图是经过 PAC 模块经过 refine 后的效果

实现细节

论文里说是采用了一个标准的 ResNet-34 作为 backbone,TeRN 插入在第一层后面,由 10 个 blocks 组成,每个 block 又由 3 层 “kernel size 为 3×3,dilation 分别为 1、1、2” 的 PAC 层构成。以下是 model 的代码细节:MATTER/encoder.py at main · periakiva/MATTER · GitHub

 MATTER/encoder.py at main · periakiva/MATTER · GitHub

 但是,定义 TeRN 的文件暂时还没有放出来。只能追踪到这里了:

 

思考:这个模块和直接对图像进行对比度增强有什么区别?有这个对比实验吗? 


2. patch-wise Surface Residual Encoder

给定一个 crop,如果该 crop 里包含不同的 material 和 texture,那么它应该与多个 cluster 有联系,而不是将其赋给单一的一个 cluster。所以,作者提出用一个 soft representation 来表征该 crop 与所有 learned clusters 之间的关系(affinity)。他们用 residual (差值)来计算任何一个数据与 cluster center 之间的距离,来描述这个数据与 cluster 之间的相似度。

具体做法如下:

先随机定义 γ 个 learned cluster centers Q = {q_0, q_1, ...q_(γ-1)},其中每个 cluster center q_v ∈R^D. 【注意:这些 cluster centers可学习的!!!】

对于一个输入 crop c_i,它的输出特征向量(output feature vector)为 z_i ∈R^D,该输出特征向量 z_i 与 cluster center q_v residual 定义为 r_i,v = z_i - q_v. 作者将该 crop 与所有 learned clusters 之间的 soft representation 定义为:对 z_i 与所有 cluster centers 的 residual 进行加权求和取平均,具体公式如下:

注意,加权参数 θ 也是可学习的参数!!!最后每个 输入 crop c_i,都可以得到一个对应的 soft representation r_i

 

实现细节

learned cluster 的个数 γ = 64,crop size = 7×7


3. Contrastive Learning

作者通过一个 contrastive loss 来训练 encoder,以此获得一个好的图片特征表达。损失函数的目的是使正样本对的特征尽可能相似,即特征距离尽可能小;负样本对的特征尽可能差异大,即特征距离尽可能小。具体的  contrastive loss 公式如下:

 a 是 anchor crop,p 是 positive crop,n 是 negative crop。C 是 positive crop 和 negative crop 的集合(应该指的是一个 batch 里除了 anchor crop 以外的所有 crop)。

对于在某个地区(region)某个时刻采样的 anchor image x_a 而言,其 “同一个地区但不同时间” 采样的图片就是 positive images x_p,对 “不同地区” 采样的图片就是 negative image x_n。作者将每张图片 image 都裁剪(tile,应该就是不重叠的 patch?)成 P 个大小相同的 crop

正样本对 crops :空间上对齐的 patches(spatially aligned,我理解的是:比如,同一个地区不同时间的图片里,都取左上角第一块 crop 是正样本对 crops?)

负样本对 crops :从 “其他地区(和 anchor 不同的地区)” 采集的图片里随机采样 crop 即可。

 这里可能需要额外补充一下的就是:论文里说 densely crop images 的目的是希望约束感受野,移除特征中的全局空间上下文信息,希望网络不要取学到高级语义信息,这些高级语义信息对描述地表信息(surface)是无效的。

实现细节:batch size = 32(这里的 32 指的是随机 32 张 images?这样万一 32 张 images 全来自不同 regions,那不就没有正样本了吗?)

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值