原文首发微信公众号【自动驾驶之心】:一个专注自动驾驶与AI的社区(https://mp.weixin.qq.com/s/NK-0tfm_5KxmOfFHpK5mBA)
基于Transformer的第一篇统一端到端全景部件分割算法!代码已开源!
标题:Panoptic-PartFormer: Learning a Unified Model for Panoptic Part Segmentation
链接:https://arxiv.org/pdf/2204.04655v1.pdf
代码:https://github.com/lxtGH/Panoptic-PartFormer
摘要
全景部件分割(PPS)旨在统一全景分割和部件分割。先前的工作主要使用不同的方法来单独处理thing、stuff和part,并未进行任何的计算共享和任务关联。因此本文搭建了一个统一的框架,即Panoptic-PartFormer来实现上述工作。本文在 Cityscapes PPS 和 Pascal Context PPS数据集上取得了最先进的结果,同时减少了70%的计算量和50%的参数量。相比于以往方法,在 Pascal Context PPS 数据集上,ResNet50主干下取得3.4%的提升,使用 Swin Transformer后,获得了10%的性能提升。
贡献
本文的贡献主要有以下几点:
1、Panopic-PartFormer为全景部件分割提供一个新颖、简单且有效的基线算法,据本文所知,这是该任务的第一个统一的端到端模型;
2、本文提出一个新的解耦的解码器和一个联合查询更新和推理框架,用于thing、stuff和part的联合特征学习,此外,提出了一个新的损失函数来监督整个模型;
3、大量的实验和分析表明了Panopic-PartFormer的有效性和泛化性。本文通过联合训练显著改善部件分割的性能。在Pascal Context PPS 数据集上,使用ResNet101的PartPQ增益约6-7%,使用swin Transformer 的 PartPQ 增益约为 10%,在Cityscapes PPS数据集上获得了1-2的PartPQ增益,并在Mapillary 和 BDD数据集上表现出更好的泛化能力。
全景部件分割的示意图如下所示:
方法
下图展示了Panopic-PartFormer的整体结构,主要包含三个部分:
1)Encoder network:用于特征提取的主干网络,常见的主干网络如ResNet、Swin Transformer等。
2)Decoupled decoder:解耦解码器包含两个独立的解码器网络,用来获取scene feature和 part feature,其中scene feature用来对thing和stuff的预测进行解码,而part feature用来对part的预测进行解码。这是因为部件分割和全景分割拥有不同的属性。首先,part feature需要更精确的位置和细节信息,其次,scene feature侧重于mask proposal级别的预测,而part feature则更关注mask proposal的内部部分,两者相互冲突。
3)Transformer decoder:将三种不同类型的query和主干特征作为输入,并输出thing、stuff和part的预测结果。
实验结果
Cityscape Panoptic Part 数据集的实验结果:
计算量和参数量对比:
Pascal Panoptic Part数据集的实验结果:
消融实验和模型设计:
不同数据集的可视化结果: