显著性目标检测--F3Net

关于显著性目标检测----近期个人理解

F3Net:Fusion, Feedback and Focus for Salient Object Detection

paper: https://arxiv.org/abs/1911.11445?context=cs.CV
code: https://github.com/weijun88/F3Net

整体框图

主要创新点

  1. CFM(Cross Feature Module) ----CFM采用选择性融合策略,抑制冗余信息,避免特征间的污染,重要特征之间相互补充。与传统的融合方法相比,CFM能够去除背景噪声,锐化边界。
    (对低层高层特征先做两个卷积操作,然后两个做个乘法,再分别与原特征图相加,与现有研究中直接添加或拼接相比,CFM避免了引入fl和fh的冗余信息,这些信息可能会“污染”原有的特征,对显著性图的生成产生不利影响。)

    [不同卷积层产生不同的特征,(高层特征具有丰富的语义,但缺乏准确的位置信息;低层特征有丰富的细节,但充满了背景噪音)(感受野不同)]

  2. CFD(Cascaded Feedback Decoder)----CFD包含多个子解码器,每个子解码器都包含自底向上和自顶向下的过程。

  3. Pixel Position Aware Loss----提出了一个带权重的BCE和IOU Loss。将不同的权值分配给不同的像素,扩展了二进制交叉熵。每个像素的权重由其周围的像素决定。难分像素会得到更大的权重,而容易的像素会得到更小的权重。

BCE损失函数的三个缺点 :1》背景占优势的图像中, 前景像素的丢失将被稀释; 2》平等对待所有像素,没有主次之分; 3》独立计算每个像素的损失,忽略图像的全局结构。

def structure_loss(pred, mask):
    weit  = 1+5*torch.abs(F.avg_pool2d(mask, kernel_size=31, stride=1, padding=15)-mask)  # 权重,值是改变的
    wbce  = F.binary_cross_entropy_with_logits(pred, mask, reduce='none')
    wbce  = (weit*wbce).sum(dim=(2,3))/weit.sum(dim=(2,3))

    pred  = torch.sigmoid(pred)
    inter = ((pred*mask)*weit).sum(dim=(2,3))
    union = ((pred+mask)*weit).sum(dim=(2,3))
    wiou  = 1-(inter+1)/(union-inter+1)
    return (wbce+wiou).mean()

一些tips

1.多尺度训练:

# collate_fn如何取样本的,我们可以定义自己的函数来准确地实现想要的功能
def collate(self, batch):
        size = [224, 256, 288, 320, 352][np.random.randint(0, 5)]
        image, mask = [list(item) for item in zip(*batch)]
        for i in range(len(batch)):
            image[i] = cv2.resize(image[i], dsize=(size, size), interpolation=cv2.INTER_LINEAR)
            mask[i]  = cv2.resize(mask[i],  dsize=(size, size), interpolation=cv2.INTER_LINEAR)
        image = torch.from_numpy(np.stack(image, axis=0)).permute(0,3,1,2)
        mask  = torch.from_numpy(np.stack(mask, axis=0)).unsqueeze(1)
        return image, mask

2.特征融合部分可以借鉴哈

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值