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

[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. 数学模型:对于指定的一张图像 I I I,最终生成正确场景图的概率为 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)
    其中 B B B(Bounding Box)是所有的物体候选区域, O O O(Object Label)是对于候选区域的预测的物体类别标签, R R R(Relationship)是包含标签的物体区域之间的关系。可以看出,最后的场景图就是通过对这三个部分的预测而最终生成的结果。在Knowledge-Embedded Routing Network for Scene Graph Generation (CVPR 2019)这篇文章中也使用了相同的数学模型。但是在Scene Graph Generation by Iterative Message Passing (CVPR 2017)中使用的数学模型是更加强调每个物体和物体之间关系的独立性:
    p ( x ∣ I , B I ) = ∏ i ∈ V ∏ i ! = j p ( x i c l s , x i b b o x , x i → j ∣ I , B I ) 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)
    这个模型更加强调第 i i i个物体和第 j j j个物体之间的独立性,而在scene graph的生成问题中,物体和物体之间的共生关系是非常明显的,这种强制的独立性假设直观感觉不是十分合理的,而博客中的这篇文章提出的模型放弃了独立性假设,是更加合理和通用的。
  2. Baseline:这篇文章中提出了一个非常简单的baseline:物体区域提取->物体标签预测->物体关系预测。这种简化做法是通过对VG数据集数据分析之后得到的结果。由于物体标签对关系的影响是很大的,但是反过来并不明显,所以在pipeline中把这两部分完全分开,并且按照先预测标签,再预测物体关系这种顺序排列的。看实验结果,觉得这种简化对于VG数据集是十分有效的。
  3. 网络结构和motifs
    先上图:
    Pipeline
    物体区域提取:这篇文章使用的RPN (Region Proposal Net)还是Faster R-CNN,看来Faster R-CNN是真的好用啊!通过RPN网络得到的第 i i i个物体区域包含了区域像素中的特征 f i {\bf f_i} fi和初始的标签预测 l i {\bf l_i} li,如果把所有区域中的这两个向量结合起来看,就是图片中物体集合所包含的contextual cue了,即上下文信息
     
    物体标签信息:对于物体标签信息的预测,文章中使用双向的时序模型 bi-LSTM进行信息的传播。
    C = b i L S T M ( [ f i ; W 1 l i ] 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中就是对于每一个 l i {\bf l_i} li的分布学习的结果,也就是上下文的全局环境信息。在编码了环境信息之后,再通过LSTM学习出最终的标签结果。
    h i = L S T M ( [ c i ; o ^ i − 1 ] ) {\bf h}_i=LSTM([{\bf c}_i;{\bf \hat o}_{i-1}]) hi=LSTM([ci;o^i1])
    o ^ i = a r g m a x ( W o h i ) ∈ 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 = b i L S T M ( [ c i ; W 2 o ^ 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的过程中,将一条边两端的节点信息和最初始的环境信息结合起来,写成:
    g i , j = ( W h d i ) ∘ ( W t d j ) ∘ f i , 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 ( x i → j ∣ O , B ) = s o f t m a x ( W r g i . j + w o i . o j ) 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)
    值得重点关注的是,除了 W r {\bf W}_r Wr对于每一个关系变量 g i . j {\bf g}_{i.j} gi.j的加权效果之外, w o i . o j {\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、付费专栏及课程。

余额充值