CFIDNet: cascaded feature interaction decoder for RGB-D salient object detection

CFIDNet: cascaded feature interaction decoder for RGB-D salient object detection

CFIDNET:用于RGB-D显著目标检测的级联特征交互解码器 

Neural Computing and Applications (2022)

一、Motivation

1. 现有的rgb-d SOD模型容易忽略特定于模态的特征,并通过简单的逐元素加法或乘法来融合多模态特征。因此,当遇到不准确或模糊的深度图像时,显著图的质量可能会因此而降低。

2. 此外,许多模型采用U形架构,逐层集成多层次特征。尽管低级别特征可以逐渐完善,但对高级特征的增强却很少关注,这可能会导致次优结果。

二、Solution

a novel network named CFIDNet

具体来说,作者设计了feature-enhanced module【FEM,从深度图像中挖掘出信息丰富的深度线索,并利用RGBdepth模式之间的互补信息来增强RGB特征。

此外,作者提出了feature refinement module[FRM]来利用多级特征之间的多尺度互补信息,并通过应用残差连接来完善这些特征。

然后提出了级联特征交互解码器(CFID)来迭代地细化多级特征。

三、CFIDNet

3.1 Overview of the proposed CFIDNet

考虑到深度图的质量较低的因素,RGB特征一般保持更多的语义信息,作者认为深度特征不是很重要,因此把它辅助特征。CFIDNet 由两种模块组成,包括 CFID 和骨干编码器。 采用常用的 ResNet-50 作为骨干网络。

CFIDNet: cascaded feature interaction decoder for RGB-D salient object detection 

分别从 RGB 和 depth 模态中提取五个阶段的特征。对于每层侧输出特征使用 1 *1 卷积层将通道数减少到 64,然后将每对多模态特征输入 FEM 以生成相应的增强特征。利用一系列 FID 对多级融合特征进行迭代细化。 值得注意的是,FID 的输入特征的空间分辨率与相应输出特征的空间分辨率相同。 因此,前一个 FID 的输出可以直接用作后一个 FID 的输入。

3.2 Feature-enhanced module (FEM)-特征增强模块

CFIDNet: cascaded feature interaction decoder for RGB-D salient object detection

1.深度特征CFIDNet: cascaded feature interaction decoder for RGB-D salient object detection经过通道注意力机制,再与输入的depth特征相乘得到CFIDNet: cascaded feature interaction decoder for RGB-D salient object detection

2.相乘之后的结果 CFIDNet: cascaded feature interaction decoder for RGB-D salient object detection经过3*3的卷积层之后再与本身相加,得到结果CFIDNet: cascaded feature interaction decoder for RGB-D salient object detection

3.CFIDNet: cascaded feature interaction decoder for RGB-D salient object detection与输入的rgb特征进行拼接,再经过两层3*3的卷积与rgb相加,得到最终的输出结果CFIDNet: cascaded feature interaction decoder for RGB-D salient object detection

 

'''通道注意力'''
class ChannelAttention(nn.Module):
    def __init__(self, channel):
        super(ChannelAttention, self).__init__()
        self.avg_pool = nn.AdaptiveAvgPool2d(1) #自适应平均池化,指定输出(H,W),通道数不发生变化
        self.fc1 = nn.Sequential(nn.Linear(channel, channel // 4, bias=False), nn.ReLU(inplace=True))
        self.relu1 = nn.ReLU(inplace=True)
        self.fc2 = nn.Sequential(nn.Linear(channel // 4, channel, bias=False), nn.Sigmoid())

    def forward(self, x): #x为深度特征
        n, c, h, w = x.shape
        y1 = self.avg_pool(x) #自适应平均池化,指定输出(H,W),通道数不发生变化
        y1 = y1.reshape(n, -1) #转化为n行
        y = self.fc2(self.fc1(y1)) #两次全连接层,sigmoid
        y = y.reshape(n, c, 1, 1).expand_as(x).clone() # expand_as扩展张量维度扩展为与x相同的size
        y = x * y #与开始输入的depth相乘
        return y
'''FEM模块'''
class CrossModality(nn.Module):
    def __init__(self, config):
        super(CrossModality, self).__init__()
        channel = config.channels
        self.ca = ChannelAttention(channel)

        self.conv1 = nn.Sequential(
            nn.Conv2d(channel, channel, 3, 1, 1, bias=False),
            norm_layer(channel),
        )
        self.conv2 = nn.Sequential(
            nn.Conv2d(2 * channel, channel, 3, 1, 1, bias=False),
            norm_layer(channel),
            nn.ReLU(inplace=True),
            nn.Conv2d(channel, channel, 3, 1, 1, bias=False),
            norm_layer(channel)
        )
        self.relu = nn.ReLU(inplace=True)
        self.relu2 = nn.ReLU(inplace=True)

    def forward(self, rgb_feature, depth_feature):
        depth_feature = self.ca(depth_feature) #1
        depth_feature = self.relu(depth_feature + self.conv1(depth_feature))#2
        rgb_feature = rgb_feature + self.conv2(torch.cat([rgb_feature, depth_feature], dim=1))
        return self.relu2(rgb_feature)#3

3.3 Feature refinement module (FRM)-细化多层次特征

将输入的多级特征分为三组,并使用FRM细化。

CFIDNet: cascaded feature interaction decoder for RGB-D salient object detection

首先来自三个相邻层的多级特征级联。  输入的高级、中级和低级特征记为 Fh,Fm, Fl, 由于这些特征的空间分辨率不同,我们通过使用双线性插值操作将 Fh 调整为与 Fm 相同的大小。 然后应用卷积层进行细化。 类似地,将步长为 2 的卷积层应用于 Fl。 这三个特征的融合过程表述为:

CFIDNet: cascaded feature interaction decoder for RGB-D salient object detection

CFIDNet: cascaded feature interaction decoder for RGB-D salient object detection

CFIDNet: cascaded feature interaction decoder for RGB-D salient object detection

 3.4 Cascaded feature interaction decoder (CFID)

 CFID包含多个子解码器FID,迭代地细化多级特征。每个FID使用三个 FRM 来逐步完善所有级别的特征。 

CFIDNet: cascaded feature interaction decoder for RGB-D salient object detection

 

CFIDNet: cascaded feature interaction decoder for RGB-D salient object detection

 

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
上一篇 2022年5月28日 下午4:16
下一篇 2022年5月28日 下午4:18

相关推荐

本站注重文章个人版权,不会主动收集付费或者带有商业版权的文章,如果出现侵权情况只可能是作者后期更改了版权声明,如果出现这种情况请主动联系我们,我们看到会在第一时间删除!本站专注于人工智能高质量优质文章收集,方便各位学者快速找到学习资源,本站收集的文章都会附上文章出处,如果不愿意分享到本平台,我们会第一时间删除!