【语义分割】PANet Few-Shot Image Semantic Segmentation with Prototype Alignment 论文理解

解决什么问题

少训练样本的分割


本文创新点\贡献

将prototype的提取和无参数的度量学习分开了

优点:

  1. 不需要额外学习参数,不容易过拟合

    啥意思,那一块不需要参数啊,度量学习?如何实现的呢?

  2. prototype嵌入和预测都是在计算好的特征图上进行的,没有额外的前向传播
  3. 简单易用,更弱的注释也可以,bbox或涂鸦?这尼玛还能分割了?

亮点

  1. 利用了prototypes上的度量学习,无参数
  2. 提出prototypes对齐正则化,充分利用support的知识
  3. 对于带有弱注释的少样本直接使用

前人方法

Few-shot learning

  • 输入放入神经网络,执行加权最近邻匹配来分类
  • 用一个向量特征来表示每个类
  • 独立的模组直接学习support特征和query特征的联系

Few-shot segmentation

  • 从support set生成一些用来调整query set的分割处理
  • 将提取的support特征和query对方到一起,然后decoder,来生成分割结果
  • 使用mask average pool从suppor set里提取前后景信息

本文IDEA来源

Prototypical networks for few-shot learning的延申


方法

在这里插入图片描述

方法概述

用同一个backbone来提取support和query的深度特征,然后使用masked average pooling从support的特征将不同的前景物体背景嵌入不同的prototypes中,每个prototype表示对应的类别,这样query图像的每个的像素通过参考离它的嵌入表达最近的特定类的prototype来标记,得到query的预测mask后;训练的时候,得到mask后,再将刚才提取的query feature和mask作为新的“support set”,将之前的support set作为新的“query set”,再用“support set”对“query set”做一波预测,然后再算一个loss

prototype紧凑且鲁棒的对每个语义类别进行表达;mask标记那块就是无参度量学习,通过和嵌入空间的逐像素匹配来执行分割

在这里插入图片描述
算 法 总 览 , 公 式 编 号 和 顺 序 相 同 算法总览,公式编号和顺序相同


Alignment

在这里插入图片描述
执行一个prototype对齐正则化,用query和他的mask建立新的support,然后用这个来预测原始的support set的分割,实验证明能鼓励query的prototype对齐他们的support的prototype,只有训练的时候这么做

反向再推一次,看看是否真的相似

图像说明
support的嵌入特征是圆形,query图像是三角形,对每个类学习prototype(蓝色和黄色的),query通过在嵌入空间中将他的特征和最近的prototype进行匹配,来进行分割,虚线就是匹配,右图进行了prototype对齐正则化,就是通过从support到query的反向对齐。


Prototype learning

方法的选择
使用support的mask注释分开学习前景和后景的prototypes,对于什么时候融合mask有两种策略,一种是早融合,一种是晚融合:

  • 早:在送入网络提取器之前,把mask和support图片融合
  • 晚:分别把mask和提取出来的前/后景的特征融合在一起

作者选择晚输入,能保证两个特征提取器的输入一致性(query是没有mask的)

操作
给定support set S i = { ( I c , k , M c , k ) } S_i = \{ (I_{c,k},M_{c,k})\} Si={ (Ic,k,Mc,k)},用 F c , k F_{c,k} Fc,k表示图片的输出特征图, c c c表示类别的index, k = 1 , . . . , K k=1,...,K k=1,...,K是support图片的index, c c c类别的prototype用下式计算:
p c = 1 K ∑ k ∑ x , y F c , k ( x , y ) L [ M c , k ( x , y ) = c ] ∑ x , y L [ M c , k ( x , y ) = c ] p_c = \frac{1}{K}\sum_k\frac{\sum_{x,y}F^{(x,y)}_{c,k}L[M^{(x,y)}_{c,k}=c]}{\sum_{x,y}L[M^{(x,y)}_{c,k}=c]} pc=K1kx,yL[Mc,k(x,y)=c]x,yFc,k(x,y)L[Mc,k(x,y)

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值