《BCNet:Deep Occlusion-Aware Instance Segmentation with Overlapping BiLayers》论文笔记

参考代码:BCNet

1. 概述

导读:在这篇文章关注的是实例分割中mask的分割,在正常的场景下是可能存在2个或是多个物体存在重叠遮挡的,往往就会在物体像素相接的地方存在分割边界模糊以及分割不准确的问题。对于这样的现象文章将其归纳为如下原因:
1)原生的Mask RCNN只是在RoI区域进行前景mask分割,并不关心RoI区域中的其它目标的mask(统统为背景),也就是没有对这些mask也进行显式建模;
2)在后处理阶段一般采用非极大值抑制的策略对存在重叠的mask进行处理,这也必然会导致一些奇异现象的出现;
对此,文章将RoI中的mask进行解耦,也就是将当前RoI区域正常需要预测的mask和存在交叠的mask进行区分,也就是对应文章中提到的occluder和occludee,从而构造了一个2层解码的mask预测网络BCNet(Bilayer Convolutional Network)。在这两层的结构中分别去预测occluder和occludee从而实现两者显式建模和解耦。

对于存在遮挡的的mask预测的例子(见下图),使用文章的方法会将occluder和occludee分别使用两个mask预测层进行编码,之后再将两个层的结果融合起来得到最后的结果。
在这里插入图片描述
经过对于前后目标图层进行分开建模和预测之后,实例分割的结果在边缘上得到很好地改善,将文章的方法与其它一些实例分割方法进行比较:
在这里插入图片描述

2. 方法设计

2.1 网络结构

文章提出的网络结构见下图所示:
在这里插入图片描述
这篇文章是在FCOS的基础上进行改进得到的,主要的改进点是在mask_head部分,也就是按照上文提到的思想,将occluder和occludee进行分别建模,之后使用两者的信息组合得到最后的结果。

这里可以将文章的实例分割头与现有的一些实例分割头进行对比,其具体的差别相见下图:
在这里插入图片描述

2.2 实现细节

"GCN"模块:
在RoI区域中需要正常分割的前景目标可能会被其它目标遮挡,因为遮挡而断成为两截的极端情况也是存在的,对此文章提到需要一种可以有全局感知的模块求信息进行提取和建模,这就想到了GCN的模块。其实这里GCN的模块是使用attention的方式来实现的,其结构借鉴的是non-local,也就是网络结构图上左上角的图。那么其对应的代码实现可以参考:

# detectron2/modeling/roi_heads/mask_head.py#L325
# 定义GCN模块
self.query_transform_bound_bo = Conv2d(input_channels, input_channels, kernel_size=1, stride=1, padding=0, bias=False)
self.key_transform_bound_bo = Conv2d(input_channels, input_channels, kernel_size=1, stride=1, padding=0, bias=False)
self.value_transform_bound_bo = Conv2d(input_channels, input_channels, kernel_size=1, stride=1, padding=0, bias=False)
self.output_transform_bound_bo = Conv2d(input_channels, input_channels, kernel_size=1, stride=1, padding=0, bias=False)

# detectron2/modeling/roi_heads/mask_head.py#L411
# 产生key query val进行attention运算
# x: B,C,H,W
# x_query: B,C,HW
x_query_bound = self.query_transform_bound(x).view(B, C, -1)
# x_query: B,HW,C
x_query_bound = torch.transpose(x_query_bound, 1, 2)
# x_key: B,C,HW
x_key_bound = self.key_transform_bound(x).view(B, C, -1)
# x_value: B,C,HW
x_value_bound = self.value_transform_bound(x).view(B, C, -1
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值