珠海响应式网站建设价格网站换了域名怎么查
Knowledge-Embedded Routing Network for Scene Graph Generation
原文地址
时间:2019年
Intro
为了理解图片,除了能够定位和识别外,还需要理解图片中目标之间的关系,然后现实世界中关系的分布是不均衡的,现有方法在频率小的关系上表现很差
我们的模型先用Faster RCNN生成一系列object regions,然后根据统计目标的co-occurrence信息,用一张图来将这些区域关联起来,然后用一个图网络来传播图上结点的特征,以得到更contextualized的特征,从而预测class label。然后对于每对待标签的目标,我们建立一张图,其中的结点表示目标和关系,边表示在两个目标上统计的co-occurrence relationship概率,然后用另一个网络来探索relationship和object之间的影响,来预测它们的关系,这个过程在每对object上进行,最后一张scene graph就生成了
Approach
A scene graph is a structured representation of content in an image. 它包括class label、目标位置和目标之间的关系,可以用三元组表示G={B,O,R}\mathcal{G}=\{B,O,R\}G={B,O,R}表示,
- B=b1,b2,...,bnB={b_1,b_2,...,b_n}B=b1,b2,...,bn是region candidate,bi∈R4b_i\in R^4bi∈R4表示第iii个bounding box
- O=o1,o2,...,onO={o_1,o_2,...,o_n}O=o1,o2,...,on,是目标集合,oio_ioi是bib_ibi中目标的标签
- R=r1→2,r1→3,...,rn→n−1,R={r_{1\rightarrow 2},r_{1\rightarrow 3},...,r_{n\rightarrow n-1},}R=r1→2,r1→3,...,rn→n−1,,是关系三元组,(bi,oi),(bj,oj),xi→j∈R(b_i,o_i),(b_j,o_j),x_{i\rightarrow j}\in \mathcal{R}(bi,oi),(bj,oj),xi→j∈R
R\mathcal{R}R是所有关系的集合,包括no-relationship
给定一张图片I\mathcal{I}I,scene graph的分布可以分解为
bounding box component p(B∣I)p(B|I)p(B∣I)生成的候选区域,本文用Faster RCNN实现,object component p(O∣B,I)p(O|B,I)p(O∣B,I)然后候选区域的标签,这里,我们通过统计目标 co-occurrence的信息来建立图,如图所示
利用co-occurrence的信息,使用图卷积网络来为每个区域学习到contextualized representation并实现更好的预测效果,基于预测的label,relationship component p(R∣O,B,I)p(R|O,B,I)p(R∣O,B,I)推断出目标两两之间的关系,最终生成全部的scene graph。我们对每两个目标建立一张图,其中结点表示目标和关系,边表示统计的所有关系的statistical co-occurrences,如上图b所示,同样的,另一幅图网络用来学习关系和目标之间的相互影响,全部的pipline如图所示
Bounding box localization
直接使用Faster RCNN来得到BBB,对于每个区域bib_ibi,同时获取ROI pooling layer的特征向量fif_ifi
Knowledge-embedded routing network
Object这一步利用统计信息来建立一张图以联系检测出的区域之间的关系,并且使用一个图网络来学习到contextualized 的representation。
为此,先计算目标co-occurrence的概率,对于两个类别ccc和c′c'c′,我们先计算出概率mcc′m_{cc'}mcc′,当ccc出现时c′c'c′出现的概率,然后得到Mc∈RC×CM_c\in R^{C\times C}Mc∈RC×C,给定两个区域bib_ibi和bjb_jbj,我们将bib_ibi复制CCC次,来得到CCC个结点{bi1,bi2,...,biC}\{b_{i1},b_{i2},...,b_{iC}\}{bi1,bi2,...,biC},其中bicb_{ic}bic表示bib_ibi和ccc的相互关系,在bjb_jbj上执行同样的操作。直观上看,mcc′m_{cc'}mcc′可以被用来关联结点bjc′b_{jc'}bjc′到bicb_{ic}bic,因此McM_cMc可以用来关联区域bib_ibi的结点和区域bjb_jbj的结点,这样我们就可以是所有区域关联起来,然后建立图
我们使用gated recurrent update机制来迭代地传送信息,特别的,在时间ttt,每个结点bicb_{ic}bic有一个隐藏状态hict\mathbf{h}^t_{ic}hict,因为每个结点关联某个区域,因此使用这个区域的特征向量来初始化隐层状态
其中φo\varphi_oφo将fi\mathbf{f}_ifi映射到低维,通过一个全连接层实现。
在每个timestep ttt上,每个结点根据图结构融合它邻居的信息
然后模型以aicta^t_{ic}aict和前一个隐层状态为输入,来更新隐层状态,
这样每个结点可以获取邻居的信息并传递信息给邻居,实现了结点间的关联,ToT_oTo步之后,结点信息在图上充分传播,然后我们得到每个region的隐层状态{hi1To,hi2To,...,hiCTo}\{h^{To}_{i1},h^{To}_{i2},...,h^{T_o}_{iC}\}{hi1To,hi2To,...,hiCTo},然后使用一个输出网络以初始隐层和最终隐层为输入,输出每个结点的特征
其中ooo_ooo是全连接层,最后对于每个区域,融合所有关联输出特征向量来得到它最终的class label
输出的类别标签oi=argmax(oi)o_i=argmax(\mathbf{o_i})oi=argmax(oi)用来做关系推断
Relationship,给定一对目标和它们的类别,它们关系的概率分布是高度歪斜的,比如,给一个人和一匹马,它们的关系极有可能是骑,这里我们将目标对的关联在一幅图中表达,再使用另一个图网络来探索这两个部分的相互影响,最终进行relationship infer。
同样,我们计算co-occurrence,给定一个主体ccc和一个客体c′c'c′,我们计算所有关系的分布为{mcc′1,mcc′2,...,mcc′K}\{m_{cc'1},m_{cc'2},...,m_{cc'K}\}{mcc′1,mcc′2,...,mcc′K},其中KKK是关系数,对于oio_ioi和ojo_joj,我们计算一个图,上面有subject node,object node和K个关系结点,我们使用moiojkm_{o_i o_j k}moiojk来记作oi,ojo_i,o_joi,oj和关系结点k之间的关联。这样graph with statistic co-occurrences embedded就建立完成了
为了探索结点的关联,我们使用了identical graph gated recurrent update mechanism,每个结点v∈{oi,oj,1,2,...,K}v\in\{o_i,o_j,1,2,...,K\}v∈{oi,oj,1,2,...,K}有一个隐层状态hvth^t_vhvt,在第ttt部的时候,我们用目标结点对应区域的特征向量初始化目标结点,用两个目标并集区域的特征向量以及两个目标的空间关系来初始化关系结点
其中φo′,φr\varphi_o',\varphi_rφo′,φr都是全连接层,fij\mathbf{f_{ij}}fij是一个特征向量,它编码了两个目标并集区域的特征以及空间位置信息,在每个时间ttt,关系结点综合位置结点的信息,位置结点综合关系结点的信息
然后模型结合这些融合的特征以及上一步的隐层装来来更新隐层状态,更新的方法和之前一样,然后生成最后每个结点的隐层状态{hi1Tr,hi2Tr,...,hiCTr}\{h^{Tr}_{i1},h^{Tr}_{i2},...,h^{T_r}_{iC}\}{hi1Tr,hi2Tr,...,hiCTr},然后用一个输出子全连接网层来计算node-level的特征,;并融合这些特征来推断relationship
ϕr\phi_rϕr是全连接层实现的
结论
本文通过统计co-occurrence的方法将信息融合到了特征中来帮助scene graph的生成过程。