Link: https://www.notion.so/Unbiased-SGG-from-Biased-Training-25d4f7ca02d64aeeb3a374d6056d123f
Publisher: CVPR
Status: Finished
代码: 是
1.使用maskrnn-benchmark作为底层的物体检测
2.集成目前最全的metrics包括Recall、Mean Recall、No Graph Constraint Recall, Zero Shot Recall等
3.因为这里是提出了一种解决有偏问题,所以并没有提出新的模型,而是在模型中使用,所以这里检验的模型有VTransE , MOTIFS , VTree 。并使用两个融合函数:SUM和GATE。
作者认为现在的推理的研究并不是真正做到推理,更像是靠直觉驱使判断的人,在模型中加了很对attention更好的拟合数据集,对于这个同一份的输入,这个确定的网络永远只会得到同一个结果。这篇文章尝试通过对因果图的干预,使同一份输入,同一个网络,得到不同的输出,用于不同的目的。
目前最主流的评价标准:Recall@K,在这种指标下即便模型只学出了on/near/wear/has等少数几种relationship,模型的Recall@K依然非常高,这种场景图对下游reasoning任务的帮助非常有限,简单的来说没有引入足够多的信息量,解决办法:让relationship尽可能地diverse,学到尽可能多种类的relationship就有更多信息量。使用mean Recall。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-r7GSSnUM-1659147704116)(Unbiased%20Scene%20Graph%20Generation%20from%20Biased%20Traini%2036aa3010bb074ac3a8c3b22ef4c69b24/Untitled.png)]
SGG的偏见主要来源于,如果看不到两个物体的状态(feature),即在上图的因果图就是X是没有的,单纯地通过两个物体的label和一个union box的环境信息,盲猜两个物体的relationship,因为VG数据集中的bias和长尾效应,盲猜效果其实也很好,这样就导致模型以后就不在关注物体的feature。导致的结果就是,具体的visual feature不再重要,也就预测不出真正有意义的细粒度的relationships了。因为更细粒度的relation出现太少,而且很容易错,所以干脆把所有复杂的sitting on/standing on/riding全预测成on。
刚刚也说Recall@K,在这种指标下即便模型只学出了on/near/wear/has等少数几种relationship,模型的Recall@K依然非常高,所以在这种有偏的情况中,指标还是很高的。
**Total Direct Effect(TDE)来取代单纯的网络log-likelihood,**Effect 可以理解为医学上为了确定一个药的药效,除了观测患者服药之后的表现,还要减去安慰剂效应。 在场景图生成中就是 看生成的场景图的效果,减去这种盲猜的安慰剂效应。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-caGMGvGt-1659147704118)(Unbiased%20Scene%20Graph%20Generation%20from%20Biased%20Traini%2036aa3010bb074ac3a8c3b22ef4c69b24/Untitled%201.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-U1kgikgO-1659147704120)(Unbiased%20Scene%20Graph%20Generation%20from%20Biased%20Traini%2036aa3010bb074ac3a8c3b22ef4c69b24/Untitled%202.png)]
有偏训练:上图的左边因果图
I是通过faster R-CNN进过预训练的,输出bbox 以及 feature map M。
I→ X 物体的特征提取:有faster R-CNN 提取RoIAlign feature R={ri} 和暂定对象标签L={li}。然后使用以下模块为每个对象编码视觉上下文:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-n2UEpzUb-1659147704121)(Unbiased%20Scene%20Graph%20Generation%20from%20Biased%20Traini%2036aa3010bb074ac3a8c3b22ef4c69b24/Untitled%203.png)]
Motif将其实现为双向LSTM(Bi-LSTM),VCTree采用双向TreeLSTM(Bi-TreeLSTM),早期的作品,如VTransE仅使用完全连接的层。
X→Z 标签预测 对象分类:Motif 和VCTree 分别使用LSTM和TreeLSTM作为解码器来捕获对象标签之间的共现,每一个LSTM/TreeLSTM 的输入是特征和上一个标签的连接【xi;Zi-1】
X→Y 对象特征嵌入: 在连接一对对象特征之前,分别在Motif 和VCTree 中应用另一个Bi-LSTM和Bi-TREELSTM层。VTransE使用完全连接的层和元素减法进行特征合并。
Z→Y 对象标签嵌入:通过联合嵌入层计算语言先验
Z ’ e = W z [ z i ⊗ z j ] Z’e=Wz[zi⊗zj] Z’e=Wz[zi⊗zj]
I → Y 视觉语境:提取上下文联合区域特征
V ’ e = C o n v s ( R o I A l i g n ( M , b i ∪ b j ) ) , b i ∪ b j 表示两个 R O I 的并集框。 V’e = Convs(RoIAlign(M, bi ∪ bj)),bi∪ bj表示两个ROI的并集框。 V’e=Convs(RoIAlign(M,bi∪bj)),bi∪bj表示两个ROI的并集框。
无偏预测:上图的右边因果图是反事实替代 ,无偏预测 = 上面的有偏的观测结果 - 反事实替代。所以我们的得到反事实预测 , 就得大道无偏预测。
将X设置为训练集的平均特征或零向量 表示为~~x~~,其余都是一样。
结果:
SGDet/SGGen:给定图像,自己跑detection检测物体,最后预测场景图。
SGCls:给定图像和图中的object的bbox,给出object的label以及判断关系
PredCLs:Predicate Classification (PredCls): 给定所有ground-truth的物体类别label和bounding boxes,求这张图的场景图。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kuW64jQd-1659147704123)(Unbiased%20Scene%20Graph%20Generation%20from%20Biased%20Traini%2036aa3010bb074ac3a8c3b22ef4c69b24/Untitled%204.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-00Vf3RQU-1659147704124)(Unbiased%20Scene%20Graph%20Generation%20from%20Biased%20Traini%2036aa3010bb074ac3a8c3b22ef4c69b24/Untitled%205.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ztKQzT77-1659147704125)(Unbiased%20Scene%20Graph%20Generation%20from%20Biased%20Traini%2036aa3010bb074ac3a8c3b22ef4c69b24/Untitled%206.png)]