Abstract
目前现有的SGG工作方法主要是用bbox识别object然后预测它们之间的relation。它们认为这种规范会阻碍这个领域的进步。例如,基于bounding box的labels在当下数据集中往往包含了很多冗余的类别,例如hair,并且会忽略背景信息对理解场景的巨大作用。因此该文提出了一个全新的任务叫做panoptic scene graph generation(全景场景图理解)。该任务基于全景的segmentation而不是固定的bbox。该数据集包含了49k个来自COCO和Visual Genome标注的重叠图像。同时提出了四个两阶段的baselines和两个一阶段的算法。
Introduction
(a)现有SGG任务都使用的是bbox标签,这往往是不太准确的,这是因为bbox中包含的pixel并不全是bbox的类别,而且不能完全抓住背景信息。(b)相反的,该文章提出来了一个更为复杂且干净的场景图表示,它拥有更为准确的object定位和背景relationship。
本文认为bbox提供物体标签的方式主要有以下几点问题:1. 只提供了粗糙的object定位并含有大量的噪声和别的类别的物体的像素点。2. bbox不能覆盖整张图片上的场景。3. 目前的场景图数据中包含了大量的物体类和信息类似woman-has-hair
这些信息是微不足道的。同时一些物体会被在图片中重复标注,这些额外的标注对于生成场景图来讲并没有很大的贡献,而且可能会混淆模型。
因此相较于bbox,本文提出了全景的分割数据集。该数据集有80个物体类别、53个背景类别和56个predicate类别。总的来讲,改文章的主要贡献是:
- 一个新的问题和一个数据集:引入了一个新问题,将SGG与全景分割相结合,并创建了一个具有高质量注释的大型PSG数据集。
- 提出了一个基准测试:构造了PSG baselines,我们发现,尽管只有简化的训练范式,但单阶段模型对PSG具有巨大的潜力,因为它在数据集上取得了竞争性的结果。
Problem and Dataset
Summary
本篇文章所提出的数据集的主要优点如下:1. 标注效果很好2. 具有清晰的类别划分以及最小的重叠区域。3. 通过严格的注释过程准确而全面地进行注释,特别注意对象 -对象、对象-背景和背景-背景之间的显著关系。
Evaluation and Metrics
该论文提出了在PSG任务:1. predicate classification(PredCls)。2. scene graph generation(SGDet)。第一个任务是在给定真实的object-labels和坐标下学习两个节点之间的关系。目标是在不干扰分割性能的情况下研究关系预测性能。这里注意一阶段的模型不能不能用给定的分割来预测场景图。
但是在该数据集上不能做 scene graph classification (SGCls)任务,它会提供一个真实的bounding box坐标,然后预测object的类别和predicate,但因为在这个数据集上没有bbox这个东西,所以没有办法做这个任务。
请注意,PSG通过segmentation来定位对象,一个成功的Recall要求subject和object都和真实值的IOU大于0.5,并且在S-V-O三元组中的每个位置上都有正确的分类。
这里可以参考到3DSGG中,因为目前3D的是给定了物体的分割(属于哪个instance),但没有给出标签,可以尝试说连instance id都不给定,然后来预测结果。
PSG Baselines
Two-Stage PSG Baselines
在第一阶段,使用经典全景 FPN 的预训练全景分割模型来获取到object的初始特征,masks和class predictions。然后,第二阶段使用一个relation prediction module,例如IMP、MOTIFS、VSTree等来获得最终的场景图。因此最后的公式可以表示为
One-Stage PSG Baseline - PSGTR
基于DETR和它的HOI extension task,我们设计了一个一阶段的PSG方法叫做PSGTR来同时预测triples和localizations。
**Triplet Query Learning Block:**如上图4所示,PSGTR首先从一个CNN backbone中获得图像特征,然后将图像的特征query和position encoding喂入transformer的encoder-decoder当中。这里我们希望query能够学习到场景图triplet的表示,因此Subject、Object和relation的预测分别用三个独立的Feed Forward networks来获取。segmentation任务可以分别由主体和客体的两个全景头完成。
**PSG Prediction Block:**为了训练模型,我们采用DETR中的Hungarian 匹配。为了将triplet query T i ∈ Q T \mathcal{T}_i\in Q^T Ti∈QT和真实三元组进行匹配,triplet中所有内容都会被用上,其中包罗了subject、object和relation的类别 T i S ¨ , T i O ¨ , T i R ¨ \mathcal{\ddot{T_i^S}},\mathcal{\ddot{T_i^O}},\mathcal{\ddot{T_i^R}} TiS¨,TiO¨,TiR¨,以及subject和object的localization T ~ i S \mathcal{\widetilde{T}_i^S} T iS, T ~ i O \mathcal{\widetilde{T}_i^O} T iO因此最后的triplet matching cost可以表示为
其中
σ
\sigma
σ表示匹配函数来讲Triplet
T
i
∈
Q
T
\mathcal{T}_i\in Q^T
Ti∈QT匹配到最近的真实三元组当中。
因此最后的损失函数可以表示为分类的交叉熵损失和F1 Loss的segmentation损失
Alternative One-Stage PSG Baseline - PSGFormer
基于PSGTR(前一个模型),我们提出了另一个模型叫做PSGFormer,它具有显式关系建模和类似提示的匹配机制。首先我们提出两个Query,一个叫Relation query R i ∈ Q R R_i\in Q^R Ri∈QR,一个是object Query O i ∈ Q O O_i\in Q^O Oi∈QO,和PSGTR一样,object和relation query with CNN features 和 position encoding会被喂入transformer encoder,但decode的时候它俩会分别有一个自己的decoder。
**Object & Relation Query Matching Block:**每一个object query都会有一个FFN产生的object prediction和一个全景head产生的mask prediction。然后每一个relation query会产生一个关系预测。因为object query 和relation query是独立的,因此需要将二者连接来产生三元组。因此我们提出了一个类似提示的查询匹配块。
为了prompting一个relation,我们希望有一个sub obj 对,因此我们提出了两个选择器——subject selector和object selector。对于一个给出的Relation R i ∈ Q R R_i\in Q^R Ri∈QR,subject和object selector应该会返回一个最合适的的候选来形成一个完整的三元组。我们使用一个在object queries和relation query上标准的余弦相似度模型。同时,因此object query需要两个FFN来获取到subject representation和object representation。
PSG Prediction Block: 和PSGTR相同的损失函数来训练模型。
Experiment
Idea
- 或许对于图片的像素可以当做点云中的一个点来进行处理?
- RGB图片投射为3D点云,cross-model增强得到结果?
- 构造3D bounding box数据集?
Question
- context imformation真的那么重要嘛,或者说是不是整张图的所有背景都非常重要,或许背景中只有一部分是很重要的,但另一部分的存在只会影响到物体的预测(非常理的特殊组合)。例如一般车会在路上,但如果有一张图里车在房顶上,那这时背景信息的存在会不会反而影响到了对车的物体的识别。