[Scene Graph] Neural Motifs: Scene Graph Parsing with Global Context 论文解读

文章提出一种基于场景图解析的模型NeuralMotifs,利用物体标签预测和关系预测的顺序流程,结合biLSTM网络模型,有效提升场景图生成精度。通过对VisualGenome数据集的深入分析,发现物体间关系的确定性,引入motifs概念,优化模型预测性能。
[Scene Graph] Neural Motifs: Scene Graph Parsing with Global Context (CVPR 2018) 论文解读
简介

这篇文章工作的创新之处主要基于对Visual Genome(VG)场景图数据集的分析对模型和工作流进行调整。作者团队对VG数据集内容统计估计后得到两个结论:第一,如果一个关系估计中的主语和宾语一旦确定,那么它们之间的关系也就基本上可以确定,反过来却行不通;第二,甚至在规模略大的子图中也会存在一定的固定结构,也就是文中提到的motifs。基于这两个基本的判断,文章使用了一种很简单的baseline,即物体区域提取->物体标签预测->物体关系预测三个部分依次进行,这种做法相对于之前其他人的工作,例如Scene Graph Generation by Iterative Message Passing,是一种简化,而且这种简化的baseline对最终的结果是有提升的。同时,这篇文章使用的网络模型是可以汇集前后-后前上下文信息的biLSTM模型。

带着问题看论文
  1. 文章中提出的数学模型是什么样子的?为什么说是一种更加通用的模型?
  2. 作者提出的baseline:物体区域提取->物体标签预测->物体关系预测,是出于怎样的考虑?
  3. 文章中提到的motifs是如何提取出来的?并如何加入到网络的提升预测性能的?
逐个解决问题
  1. 数学模型:对于指定的一张图像III,最终生成正确场景图的概率为p(G∣I)p(G|I)p(GI),该概率满足的数学模型如下:
    p(G∣I)=p(B∣I)p(O∣B,I)p(R∣O,B,I)p(G|I)=p(B|I)p(O|B,I)p(R|O,B,I)p(GI)=p(BI)p(OB,I)p(RO,B,I)
    其中BBB(Bounding Box)是所有的物体候选区域,OOO(Object Label)是对于候选区域的预测的物体类别标签,RRR(Relationship)是包含标签的物体区域之间的关系。可以看出,最后的场景图就是通过对这三个部分的预测而最终生成的结果。在Knowledge-Embedded Routing Network for Scene Graph Generation (CVPR 2019)这篇文章中也使用了相同的数学模型。但是在Scene Graph Generation by Iterative Message Passing (CVPR 2017)中使用的数学模型是更加强调每个物体和物体之间关系的独立性:
    p(x∣I,BI)=∏i∈V∏i!=jp(xicls,xibbox,xi→j∣I,BI)p({\bf x}|I,B_I)={\prod_{i\in V}}{\prod_{i!=j}}p(x_i^{cls},x_i^{bbox},x_{i\rightarrow j}|I,B_I)p(xI,BI)=iVi!=jp(xicls,xibbox,xijI,BI)
    这个模型更加强调第iii个物体和第jjj个物体之间的独立性,而在scene graph的生成问题中,物体和物体之间的共生关系是非常明显的,这种强制的独立性假设直观感觉不是十分合理的,而博客中的这篇文章提出的模型放弃了独立性假设,是更加合理和通用的。
  2. Baseline:这篇文章中提出了一个非常简单的baseline:物体区域提取->物体标签预测->物体关系预测。这种简化做法是通过对VG数据集数据分析之后得到的结果。由于物体标签对关系的影响是很大的,但是反过来并不明显,所以在pipeline中把这两部分完全分开,并且按照先预测标签,再预测物体关系这种顺序排列的。看实验结果,觉得这种简化对于VG数据集是十分有效的。
  3. 网络结构和motifs
    先上图:
    Pipeline
    物体区域提取:这篇文章使用的RPN (Region Proposal Net)还是Faster R-CNN,看来Faster R-CNN是真的好用啊!通过RPN网络得到的第iii个物体区域包含了区域像素中的特征fi{\bf f_i}fi和初始的标签预测li{\bf l_i}li,如果把所有区域中的这两个向量结合起来看,就是图片中物体集合所包含的contextual cue了,即上下文信息
     
    物体标签信息:对于物体标签信息的预测,文章中使用双向的时序模型 bi-LSTM进行信息的传播。
    C=biLSTM([fi;W1li]i=1,...,n){\bf C}=biLSTM([{\bf f}_i;{\bf W}_1{\bf l}_i]_{i=1,...,n})C=biLSTM([fi;W1li]i=1,...,n)
    其中C{\bf C}C包含了LSTM模型中最终的信息,其中的W{\bf W}W中就是对于每一个li{\bf l_i}li的分布学习的结果,也就是上下文的全局环境信息。在编码了环境信息之后,再通过LSTM学习出最终的标签结果。
    hi=LSTM([ci;o^i−1]){\bf h}_i=LSTM([{\bf c}_i;{\bf \hat o}_{i-1}])hi=LSTM([ci;o^i1])
    o^i=argmax(Wohi)∈R∣C∣{\bf \hat o}_i=argmax({\bf W}_o{\bf h}_i)\in {\Bbb R}^{|C|}o^i=argmax(Wohi)RC (one-hot)
     
    物体关系:首先还是和物体标签预测使用一样的模型,但是也将环境的信息加入其中。
    D=biLSTM([ci;W2o^i]i=1,...,n){\bf D}=biLSTM([{\bf c}_i;{\bf W}_2{\bf \hat o}_i]_{i=1,...,n})D=biLSTM([ci;W2o^i]i=1,...,n)
    其中D{\bf D}D中编码的就是scene graph中边的环境信息,在decoding的过程中,将一条边两端的节点信息和最初始的环境信息结合起来,写成:
    gi,j=(Whdi)∘(Wtdj)∘fi,j{\bf g}_{i,j}=({\bf W}_h{\bf d}_i)\circ({\bf W}_t{\bf d}_j)\circ{\bf f}_{i,j}gi,j=(Whdi)(Wtdj)fi,j
    再使用softmax操作得到数学模型中最后的p(R∣O,B,I)p(R|O,B,I)p(RO,B,I)
    p(xi→j∣O,B)=softmax(Wrgi.j+woi.oj)p(x_{i\rightarrow j}|O,B)=softmax({\bf W}_r{\bf g}_{i.j}+{\bf w}_{o_i.o_j})p(xijO,B)=softmax(Wrgi.j+woi.oj)
    值得重点关注的是,除了Wr{\bf W}_rWr对于每一个关系变量gi.j{\bf g}_{i.j}gi.j的加权效果之外,woi.oj{\bf w}_{o_i.o_j}woi.oj所代表的bias中包涵的信息更加丰富。文章中的分析结果提到,当物体中两个标签确定后,他们之间的关系就基本确定了,这种“确定性”其实就包含在这个bias之中。

以上就是我对这篇文章在阅读时重点内容的理解,如有纰漏请不要吝惜在评论区指教哦~

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值