本文授权转载自:ZERO实验室atPKU
本文作者:杨一博,李宏扬,李夏,赵祈杰,吴建龙,林宙辰。
本文SOGNet: Scene overlap graph network for panoptic segmentation被AAAI 2020接收。该方法同时在COCO 2019 challenge panoptic segmentation track中被评为最佳创新奖(Innovative Award)。
01
引言
在全景分割任务中,对于背景像素,需要对其进行语义分割,确定其语义类别,对于前景像素,需要对其进行实例分割,确定其实例类别以及实例id。则每个像素只能有确定的类别和id。然而,目前基于区域候选框(region proposal)的实例分割方法,例如Mask R-CNN,输出的实例结果是包含重叠区域的。如图一所示,桌子和杯子两个物体,在杯子区域具有重叠的像素。只有获得他们的前后关系,才能得到一致的全景分割结果。
图一
已有的全景分割研究中,解决遮盖问题的方法包括利用启发式规则(Panoptic FPN,AUNet等)确定各个物体的遮盖顺序,和构造panoptic head(UPSNet,OANet等)对每个像素所属的物体进行预测。但这些方法通过比较objectness score或logit的大小来确定遮盖关系,结果不够准确,并且不能显式地输出物体间的遮盖关系。
该工作受到场景图(scene graph)任务的启发,将物体的遮盖问题构造为场景遮盖图(scene overlap graph)。在这种图结构中,节点为各个物体,i和j物体间的关系包含三种,i覆盖j,i被j覆盖,以及没有覆盖关系。但是,与场景图相关的任务不同,全景分割任务并不具有物体间关系的监督信息,从而能够对物体遮盖关系直接进行监督训练。该工作通过关系嵌入(relational embedding)模块,显式地表达物体间的遮盖关系,并且设计了可微的去除被遮盖区域logit的模块。由于去除遮盖的效果对最终全景分割的质量有着直接的影响,该工作利用全景分割提供的像素级(pixel-level)的监督信息,间接地完成了对物体之间实例级(instance-level)的遮盖关系的推理。
如图二所示,该工作主要包含四个部分,分别是联合分割模块(joint segmentation),关系嵌入模块(relational embedding),遮盖去除模块(overlap resolving),以及全景分割模块(panoptic head)。
图二
02
SOGNet
1、联合分割模块
在联合分割模块中,实例分割和语义分割共享backbone,一起训练。Backbone采用目前全景分割研究中常用的方法,ResNet FPN. 对于实例分割部分,采用标准的Mask R-CNN,利用实例分割的监督信息,完成对物体检测和分割。对于语义分割部分,采用UPSNet的方法,FPN各个尺度输出的特征首先经过三层deformable convolution, 其次上采样到统一尺度并沿channel维度拼接,最后经过1x1的卷积层输出对每个像素的类别的预测。语义分割部分利用全景分割的监督信息,预测全部类别(包括语义类别和实例类别)。
2、关系嵌入模块
对于一张输入图像,从标注信息(ground truth)中我们可以得到
,其中
,
,
分别指第i个物体的位置信息(bounding box),类别信息(one-hot形式的类别向量),和形状信息(binary mask)。
为该图像中物体的个数。在训练时,这些标注信息作为关系嵌入模块的输入,得到关系特征,进而显式地表达各个物体之间的遮盖关系。在测试时(inference),这些标注信息被替换为Mask R-CNN输出的预测。
Bilinear pooling技术可以表达两个特征构成的组合关系特征。受此启发,我们采用(Kim et al. 2017)提出的低秩外积(low-rank outer product),对各个物体的类别信息计算他们的类别关系特征:
其中,
表示逐元素相乘(element-wise multiplication),σ表示ReLU激活函数,
和
为两个线性映射,
将关系特征映射到输出维度
. 则所有物体的类别关系特征为:
其中,”[ ]”为拼接操作。采用相似的方式,可以得到所有物体的形状关系特征
.
对于位置信息,该工作采用一种具有平移和尺度不变性(translation- and scale-invariant)的方式,来构造位置关系特征:
其中
是从bounding box 中提取的位置和尺度信息,
将四维的相对位置特征映射到高维. 最终,所有物体之间的关系特征可以表达为:
其中
.
3、遮盖去除模块
得到所有物体之间的关系特征E后,可以显式地表示物体间的遮盖关系。如图二所示,E首先经过一个
层,得到single channel的输出,再经过sigmoid激活,并将其reshape为方阵,记为
。该矩阵的元素
具有的物理意义为第i个物体被第j个物体遮盖的势(potential)。下面可以引入遮盖关系矩阵,定义为:
其中,
是一个反对称矩阵,计算各个对称位置上的势差,σ为ReLU激活函数,用来过滤掉值为负的势差。这样,如果
,代表第i个物体被第j个物体所覆盖,并且在其对称位置上,必有
. 如果
,则代表着第i和第j两个物体没有覆盖关系。
利用每张图片各个物体的标注的位置信息,可以得到他们的Mask R-CNN输出的mask logits. 将这些logits进行插值到原图尺寸,记为
,他们之间具有重叠区域。利用公式(6),可以对物体i和物体j之间的遮盖区域进行处理:
其中,
为对第i个物体处理后的logits, s(∙)代表sigmoid激活,将
转变为类似binary形式的mask. 如图三所示,
计算他们的遮盖区域。
的值可以控制遮盖区域的logits是否从A_i中去除。当
>0时,
=0, 对
没有影响,反之亦然。
图三
考虑所有其他物体对物体i的遮盖关系,可以通过公式(7)来处理:
考虑所有物体,整个计算步骤可以表达为:
其中,
,
表示第三个维度上的Tucker product, 即将
reshape为
, 与
做内积,之后再reshape为
. 可以看出,该步骤对当前深度学习框架比较友好,可以通过可微的步骤,对遮盖区域进行处理。
4、全景分割模块
在全景分割分支上,和UPSNet相似,将语义分割分支上物体i相关位置对应channel的logits,记为
, 与
相结合。在UPSNet中,他们直接相加,记为Panoptic Head 1。SOGNet提出了改进的结合方式,记为Panoptic Head 2。两种方式对比如下:
其中,
为结合后的logits,
为一常数用来平衡语义输出logits和mask logits之间的数值尺度。
全景分割分支对每个像素的实例id做预测,并采取标准交叉熵作为损失函数。可以看出,我们的方法利用全景分割的监督信息,间接地训练了关系嵌入、遮盖去重模块。训练完成后,利用关系矩阵
, 即可获得物体间的遮盖关系。
除此之外,尽管在训练时我们不知道两个物体中哪一个物体遮盖另一个,但根据他们的binary mask
和
, 可以推断出这两个物体间是否有遮盖。我们引入一个对称矩阵定义如下:
其中,|·|通过求和计算binary mask的面积,指示函数当条件成立时为1. 当
时,代表物体i和j之间有显著的遮盖。进而引入如下关系损失函数:
当两物体有显著的遮盖时,促使
或
接近于1,从而避免在公式(6)中完成遮盖去除时,只能起到微弱的作用。
03
实验
在表一中,我们将SOGNet与UPSNet进行详细的对比。我们把UPSNet和SOGNet在同一实验环境下进行训练,采用一致的训练和测试策略。可以看出,我们改进的全景分割模块具有更好的表现。在UPSNet中,构造了一个void channel用来预测未知类别。使用未知类别预测时,SOGNet具有1% PQ的提升;不使用时,具有1.5% PQ的提升。
Tab 1:CompareSOGNet with UPSNet on COCO val.
在表二中,我们将SOGNet与启发式的方法进行对比。PlainNet为我们在同一实验环境下只训练联合分割模块得到的模型,并采用启发式规则得到全景结果。类别先验强制规定了某些类别之间的遮盖关系。SOGNet相比这些启发式方法,能够根据位置、类别、形状可微地推理遮盖关系,并且具有更好的性能。
Tab 2: Compare SOGNet with heuristic inference.
在表三和表四中,我们将SOGNet的表现与State-of-the-art的方法进行比较。表三列出了在COCO测试集上的结果,其中第一块是COCO 2018 challenge的前三名。可以看出,SOGNet能够取得目前单模型的最好性能。表四列出了在Cityscapes和COCO验证集上的结果,可以看出,SOGNet同样取得了优异表现。
Tab 3: Compare SOGNet with SOTA performances on COCO test-dev.
Tab 4: Compare SOGNet with SOTA performances on COCO and Cityscapes val.
如图四所示,我们可视化了由SOGNet学习出的物体间的遮盖关系。右边的激活图是对关系矩阵O的可视化,在(i, j)处的激活O_ij,代表着第i个物体被第j个物体所覆盖。可以看出SOGNet较为准确地表达了物体间的遮盖关系,比如:baseball glove遮盖person,tie遮盖person,然后person再遮盖bus,spoon遮盖cup,然后cup再遮盖dining table.
图四
相关链接
项目主页:
https://zero-lab-pku.github.io/publication/lixia/aaai20_sognet_scene_overlap_graph_network_for_panoptic_segmentation/
论文地址:
https://arxiv.org/pdf/1911.07527.pdf
COCO 2019 challenge slides:
https://drive.google.com/file/d/1JCgIqr5-4PUh1WIpiHaTLWGDqv8M-xP_/view
代码将发布于:
https://github.com/LaoYang1994/SOGNet
相关论文
[1] Kaiming He, Georgia Gkioxari, Piotr Dollar and Ross Girshick, Mask r-cnn. In ICCV, 2017.
[2] Jin-Hwa Kim, Kyoung-Woon On, Woosang Lim, Jeonghee Kim, Jung-Woo Ha and Byoung-Tak Zhang, Hadamard product for low-rank bilinear pooling. In ICLR, 2017.
[3] Alexander Kirillov, Ross Girshick, Kaiming He and Piotr Dollar, Panoptic feature pyramid networks. In CVPR, 2019.
[4] Alexander Kirillov, Kaiming He, RossGirshick, Carsten Rother and Piotr Dollar, Panoptic segmentation. In CVPR, 2019.
[5] Justin Lazarow, Kwonjoon Lee, Kunyu Shi and Zhuowen Tu, Learning instance occlusion for panoptic segmentation. arXiv preprint arXiv:1906.05896.
[6] Qizhu Li, Anurag Arnab and Philip H.S.Torr, Weakly-and semi-supervised panoptic segmentation. In ECCV, 2018.
[7] Jie Li, Allan Raventos, Arjun Bhargava, Takaaki Tagawa and Adrien Gaidon, Learning to fuse things and stuff. arXiv preprint arXiv:1812.01192.
[8] Yanwei Li, Xinze Chen, Zheng Zhu, Lingxi Xie, Guan Huang, Dalong Du and Xingang Wang, Attention-guided unified network for panoptic segmentation. In CVPR, 2019.
[9] Huanyu Liu, Chao Peng, Changqian Yu, Jingbo Wang, Xu Liu, Gang Yu and Wei Jiang, An end-to-end network for panoptic segmentation. In CVPR, 2019.
[10] Sanghyun Woo, Dahun Kim, Donghyeon Cho and In So Kweon, Linknet: Relational embedding for scene graph. In NeurIPS, 2018.
[11] Yuwen Xiong, Renjie Liao, Hengshuang Zhao, Rui Hu, Min Bai, Ersin Yumer and Raquel Urtasun, Upsnet: A unified panoptic segmentation network. In CVPR, 2019.