论文阅读:Fully Convolutional Networks for Panoptic Segmentation

标题:用于全景分割的全卷积网络
作者:Yanwei Li, Hengshuang Zhao, Xiaojuan Qi, Liwei Wang, Zeming Li, Jian Sun, Jiaya Jia
机构:Chinese University of Hong Kong University of Oxford University of Hong Kong MEGVII Technology
论文地址:https://arxiv.org/pdf/2012.00720.pdf
项目地址:https://github.com/yanwei-li/PanopticFCN

摘要

在本文中,我们提出了一种概念上简单,强大且有效的全景图分割框架,称为Panoptic FCN。我们的方法旨在在统一的全卷积网络中表示和预测前景事物(thing)和背景事物(stuff)。Panoptic FCN使用提出的内核生成器(kernel generator)将每个对象实例或填充(stuff )类别编码为特定的内核权重(kernel weight),并通过直接将高分辨率特征卷积来产生预测。使用这种方法,可以在一个简单的生成内核然后分段工作流中分别满足事物和事物的实例感知和语义上一致的属性。在没有额外的框用于定位或实例分离的情况下,所提出的方法在单尺度输入的COCO,Cityscapes和Mapillary Vistas数据集上的性能优于以前的box-based and box-free的方式。

疑问:所谓的kernel generator指的是卷积核的kernel weight的生成吗?感觉有点像deformable conv的操作。

介绍

全景分割的一个主要难点在于:统一表示来自thing和stuff要求的冲突属性(conflicting properties)。实例对象通过instance-aware features区分(比如solo中的位置大小),而stuff则更加偏好于semantically consistent characters(连续性特征)。因此往往两者的模型是分开设计的。因此,需要统一的表示形式来弥合这一差距。
本篇文章提出了Panoptic FCN,一个全卷积框架。

Panoptic FCN的关键思想是在完全卷积的网络结构中用生成的内核统一地表示和预测thing和stuff

具体设计是包括两个方面:内核生成器(kernel generator)和特征编码器(feature encoder),分别用于内核权重生成和共享特征编码。具体来说,在内核生成器中,我们参考基于点的目标检测器方式,并利用position head分别通过对象中心(object centers)和填充区域(stuff regions)对前景对象(objects)和背景填充物(stuff)进行定位和分类 。 然后,我们从内核头中选择具有相同位置的内核权重来表示相应的实例。 对于上述实例感知和语义一致性,还提出了一个称为内核融合kernel fusion的内核级操作,该操作合并了预测具有相同身份或语义类别的内核权重。 借助特征编码器,该编码器保留了具有细节的高分辨率特征,可以通过直接对生成的内核进行卷积来生成事物的预测。

To this end, kernel generator and feature encoder are
respectively designed for kernel weights generation and shared feature encoding. Specifically, in kernel genera- tor, we draw inspirations from point-based object detec- tors [19, 53] and utilize the position head to locate as well as classify foreground objects and background stuff by ob- ject centers and stuff regions, respectively. Then, we se- lect kernel weights with the same positions from the kernel head to represent corresponding instances. For the instance- awareness and semantic-consistency described above, a kernel-level operation, called kernel fusion, is further pro- posed, which merges kernel weights that are predicted to have the same identity or semantic category. With a naive feature encoder, which preserves the high-resolution feature with details, each prediction of things and stuff can be produced by convolving with generated kernels directly.

Panoptic FCN在没有更多花销的情况下,在效率上优于以前的方法,并且在COCO val和test dev数据集上分别达到44.3%PQ和47.5%PQ。 同时,它在很大程度上超越了所有类似的无盒方法,并在Cityscapes和Mapillary Vistas val 数据集分别为61.4%PQ和36.9%PQ

疑问:看到这里,应该是用kernel generator来生成对于不同thing和stuff的不同kernel weight,然后利用特征编码器的结果和生成的kernel weight卷积,以生成最后的结果? 下面关注kernel generator是怎么操作的

相关工作

  • Panoptic Segmentation
  • Instance Segmentation
    Box-based:Mask R-CNN , PANet , YOLACT , CenterMask , and PointINS.
    Box-free:SGN, SSAP , TensorMask, and SOLO.
  • Semantic Segmentation

Panoptic FCN

Panoptic FCN在概念上很简单:

  • 引入了内核生成器来为具有不同类别的thing和stuff生成内核权重
  • 内核融合旨在将来自多个阶段的具有相同标识的内核权重进行合并
  • 特征编码器用于对高分辨率特征进行编码
    在这里插入图片描述

Kernel Generator

Kernel Generator的输入是FPN 中第i阶段的单阶段特征 X i X_i Xi,输出是对于thing L i t h L^{th}_i Lith和stuff L i s t L^{st}_i List的带有位置信息的Kernel weight map G i G_i Gi 。kernel generator模块包含两个部分,如上面的图,其中的position head是用来对定位和分类的,kernel head则是kernel权重生成。

1、Position head

输入是FPN 中第i阶段的单阶段特征 X i X_i Xi,经过堆叠的卷积块进一步编码特征得到 X i ′ X'_i Xi

然后根据对象中心(object center)和填充区域(stuff regions)来分别表示每个个体和填充类别的位置。(同一类别的stuff看作一个实例)这样,整个图都可以用区分实例的方法来进行thing和stuff的位置和分类了。

输出:object map L i t h ∈ R N t h × W i × H i L^{th}_i ∈ R^{N_{th}×W_i×H_i} LithRNth×Wi×Hi and stuff map L i s t ∈ R N s t × W i × H i L^{st}_i ∈ R^{N_{st}×W_i×H_i} ListRNst×Wi×Hi

为了优化这个输出,文章对于ground truth的生成做了处理:
对于类别c中的第k个对象,将正关键点(positive key-points这里的正关键点指的是???)利用高斯核划分到热图(heatmap) Y i t h ∈ [ 0 , 1 ] N t h × W i × H i Y^{th}_i∈[0,1]^{N_{th}×W_i×H_i}

  • 5
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值