Camouflaged Object Segmentation with Distraction Mining

论文地址:Camouflaged Object Segmentation with Distraction Mining

1 研究背景

自然界中捕食者在进行捕食一般分为三步,detection,identification,capture,作者以前两步为inspiration,创建了PFNet,P代表Position,即定位猎物,F代表Focus,即在模糊定位后进行逐步聚焦。

2 模型结构

2.1 Overview

input image送进ResNet50得到multi-level features,然后把ResNet提取到的最高层特征送到positioning module去定位物体,然后通过focus module逐步发现和去除那些假阳性和假阴性的干扰(distractions),最终得到精确的识别

2.2 Positioning Module

原文中的解释:“PM aims to harvest semantic-enhanced high-level features and further generate the initial segmentation map.”

作者在Positioning Module中使用的是注意力机制,使用了两次,channel和spatical attention,这样可以建立长距离语义依赖,从全局角度增强最高级别特征的语义表示,可以更好的发现定位伪装目标。

2.2.1 channel attention

输入特征\(F\in\mathbb{R}^{C\times H\times W}\),做reshape操作,由C✖️H✖️W变为C✖️N,其中N为H✖️W,复制三分,分别作为Q,K,V。Q,K的转置做矩阵相乘后softmax得到attention map X:

\[x_{ij}=\frac{exp(Q_{i:}\cdot K_{j:})}{\sum_{j=1}^Cexp(Q_{i:}\cdot K_{j:})},\]

\(x_{ij}\)代表第i个channel和第j个channel之间的关联度。X和V相乘,然后Reshape回C✖️H✖️W,为了提高容错,作者为注意力机制的输出乘了一个缩放参数\(\gamma\),并做了identity mapping,计算总体过程如下:

\[F’_{i:}=\gamma\sum_{j=1}^{C}(x_{ij}V_{j:})+F_{i:}\]

得到的\(F^{\prime}\)就是加入了channel之间长距离语义建模的特征

2.2.2 spatical attention

spatical attention的输入就是channel attention的输出\(F^{\prime},首先经过三个并联的1×1 conv,然后reshape产生Q^{\prime},K^{\prime},\mathrm{~and~}V^{\prime}\),\(\{Q^{\prime},K^{\prime}\}\in\mathbb{R}^{C_{1}\times N}\mathrm{and}C_{1}=C/8,\mathrm{and}V^{\prime}\in\mathbb{R}^{C\times N}\),然后做\(Q^{\prime}\)的转置和\(K^{\prime}\)相乘(和channel attention里的不同),做softmax,得到N×N的一个attention map。attention map中第i j个与元素就代表H×W这个特征图中第i个点和第j个点的关联。后面的操作和channel attention一样,这里直接给出整体计算公式:

\[F_{:i}”=\gamma’\sum_{j=1}^{N}(V_{:j}’x_{ji}’)+F_{:i}’,\]

F”最后经过一个7×7的conv得到initial location map。F”和initial location map都送往focus module去逐步细化。

2.2.3 Positioning Module总体结构图

channel attention根据每个特征图的H×W个点的信息建立C个特征图之间的关联。spatical attention根据每个位置的C个点,建立H×W个空间点之间的关联。

2.3 Focus Module

原文中的解释:The focus module (FM) is designed to first discover and then remove these false predictions

从2.1节overview中的总览图可以看出,每一个Focus Module的输入有两个,一个是current-level feature,它是从resnet50(自上而下)得到的side output,另一个是higher-level prediction and features,它是来自更高层(自下而上)的Focus module。

2.3.1 发现干扰(Distraction Discovery)

模仿人类进行上下文推理和模式对比,作者设计网络用来上下文探索,发现预测的前景里的假阳性(false-positive)和背景里的假阴性(false-negative)干扰。说白了就纠正错误,把预测错误的找出来。

上图中有两个流一个是前景流\(F_{fa}\),包含的是目前预测的前景信息,它由higher-level prediction(上一层FM的输出refined features通过一个分类器得到)和current-level features相乘得到,另一个流是背景流\(F_{ba}\),包含的是目前预测的背景信息,它由higher-level prediction和1 – current-level features相乘得到。这两个流进入CE Block:

图中的input features就是前景流/背景流,CE Block有四个branch,每个branch由三层卷积构成,每个branch的第二三层卷积的大小不同,branch从1-4第二层卷积核越来越大,越来越不关注细节信息,越来越关注整体信息。从第一个branch到第四个branch可以提取到丰富的不同尺度的内容。CE block的作用就是找到背景/前景流中预测错误的内容,output features就是\(F_{fnd}\)/\(F_{fpd}\),分别为背景中的假阴性,前景中的假阳性。

2.3.2 干扰去除(Distraction Removal)

图示:

 

计算过程

\[\begin{aligned}
F_{up}& =U(CBR(F_{h})), \\
F_{r}& =BR(F_{up}-\alpha F_{fpd}), \\
F_{r}^{\prime}& =BR(F_{r}+\beta F_{fnd}),
\end{aligned}\]

其中\(F_h\)就是上一层FM的输出refined features, CBR分别代表conv,batch norm,relu,U是bilinear upsampling。

\(F_{up}\)首先减去\(F_{fpd}\),也就是减去那些应该是背景,但预测为前景的像素,然后加上\(F_{fnd}\),也就是加上那些应该是前景但被预测为背景的像素,得到\(F_{r}^{\prime}\),然后通过卷积和分类器得到\(F_{r}^{\prime}\)对应的prediction map。值得注意的是,\(F_{r}^{\prime}\)(更准确来说是其产生的prediction map)是受GT监督的,这样可以更好的指导CE Block去发现那些distractions。

3 模型特点和优劣探讨

3.1 巧妙的尺度设计

  • 在模型的overview里可以看出,模型的backbone的block2,3,4,5提取得到的特征细节信息越来越少,语义内容越来越丰富,但是在堆叠的FM中,使用backbone提取到的特征的顺序是5,4,3,2,这是因为5,4,3,2特征中,包含的细节信息越来越丰富,这样FM在自下而上的过程中才可以逐步发现那些微笑的细节。如果按照2,3,4,5的顺序提供给FM,网络已经接收到了内涵丰富细节信息的2,此时再接收细节信息不那么丰富的3对于网络来说可能就没那么有用。
  • 在CE Block中,branch1-4的卷积核越来越大,也就是说branch1可以提取到丰富的细节,local信息,branch4提取到的特征更加general,global。如果把branch1-4的顺序反过来,先提取gloabl,在提取local,显然是不合理的,因为已经提取到偏global的信息了,在此基础上提取local的信息是提取不到的,明显是不合理的。
  • 使用了四次监督,可以最大程度上提升PM和FM的性能。

3.2 缺点

prediction是低级的图像和current-level features是富含高级语义内容的图像,这两者结构内容都有巨大差异,直接相乘效果可能不好,加两者进行feature fusion可能会提升网络的性能

4 Experiment

作者做了 Comparison with SOTA,还有Ablation Study,这里就不阐述了,可以自行查阅论文。

如上图所示,作者还做了visualization,关注第一行,(b)是上一个FM的输出,明显缺少细节信息,(c)是假阳性的图,也就是原本是背景但预测为前景,(d)=(b)-(c),得到去除前景预测错误后的Fr,然后加上(e),也就是假阴性,把没有预测出来的一些细节信息加上去,得到\(F_{r}^{\prime}\),我们可以看出,\(F_{r}^{\prime}\)相较于\(F_{up}\),螃蟹的腿部细节明显丰富,那些把背景预测为前景的信息也被去掉了。

 

 

 

 

 

 

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇