issues
search
chaos-moon
/
paper_daily
One paper a day, keep laziness away.
MIT License
6
stars
3
forks
source link
PerSAM
#24
Open
zc12345
opened
1 year ago
zc12345
commented
1 year ago
Personalize Segment Anything Model with One Shot
code
paper
institution:
上海AI Lab/MMLab
腾讯优图实验室
是
SAM
的改进工作
method
问题/目标:针对特定视觉概念定制化SAM,而不需要手写prompt
直观解决方案是对SAM分割出来的区域分别抽feature,然后用提供的reference image/mask(one-shot)抽的feature做query
这种解决方案存在的问题是有些需求区域过于奇怪,甚至可能都不在SAM原始模型的proposal中t
highlight:
PerSAM
:training-free。基于(1)target-guided attention (2)target-semantic prompting (3)cascaded post-refinement
PerSAM-F
:针对一些特殊概念类别,10s内训练2个参数以定制化更合适的SAM。
PerSeg:为了证明方法有效性提出的一个分割数据集,在视频初始帧提供一个reference mask,分割后续同一物体
revisit SAM
SAM 由 image encoder + prompt encoder + mask decoder三部分组成
分割结果 $M=Decoder
{mask}(Encoder
{img}(I), Concat(Token
{mask}, Encoder
{prompt}(Prompt)))$
method
PerSAM
pipeline
Positive-negative Location Prior
SAM根据reference image+mask提取reference的feature map,然后global pooling获取一个reference(target) embedding
SAM将test image提特征得到的feature map和reference embedding求pixel-wise余弦相似度 $S=F_IT_R^T$ ,最相似的pixel作为pos prior,最不相似作为neg prior,作为prompt送入SAM的prompt encoder中
Target-guided Attention & Target-semantic Prompting
Target-guided Attention: 根据前面的余弦相似度S求一个attention map $A_g = Softmax(A + \alpha · Softmax(S))$ ,其中 $\alpha=1$。强迫mask decoder更关注更相似的区域
Target-semantic Prompting: element-wise的把target embedding加到mask decoder的输入token中 $Repeat(T_R) + Concat(T_M , T_P )$
Cascaded Post-refinement针对边缘像素问题两步走
第一步:初始mask + pos-neg location prior送入SAM的prompt encoder+mask decoder得到一个refine的mask
第二步:根据第一步的mask得到bbox,重复上面送入SAM的操作
消融实验: 在PerSeg数据集上看起来这几个操作都有涨点,而且post-refine涨点最明显
PerSAM-F
针对的问题:有些多层次的物体(如茶壶和茶壶身,neg prior可能不在茶壶盖上)。SAM针对这种问题是生成多个part的seg,需要用户手动多点几个pos-neg point,这种方式不够自动化
解决方式:每次生成三个不同scale的mask $M_1,M_2,M_3$ ,学习两个参数 $w_1,w_2$ 使得 $M = w_1·M_1 + w_2·M_2 + (1 − w_1 − w_2)·M_3$ ,初始值 $w_1=w_2=1/3$
思考
直观上是拒绝SAM本身提供的prompt-based的NLP-style解决方案,在SAM的强大特征提取器的基础上提供一个更CV的特定概念seg解决方案
好奇为什么PerSAM在不finetune的情况下加target-attention map会涨点,不会破坏网络训练时候的数据分布吗?
Personalize Segment Anything Model with One Shot
method
思考