Scene Graph Generation
https://zhuanlan.zhihu.com/p/34509717
2016_ECCV. (Recommend) Visual Relationship Detection with Language Priors
-
Pros: 在视觉模型的基础上加上从语言模型中获取的概率分布作为额外的监督。大多数方法可以用这个方式做后期提升。
-
Cons: 本质并没有提升视觉模块部分
2017_CVPR. (Recommend) Scene Graph Generation by Iterative Message Passing
-
Pros: Faster-RNN提取object/Relationship feature的基础上,用Message Passing迭代,通过相邻的节点或边对目标节点或边进行约束,从而对这些特征进行提升。
-
Cons: Relationship feature提取方式过于原始(个人认为, 另一篇论文的提取方式就更加有说服力:Detecting Visual Relationship with Deep Relationship Networks)。
-
同时随着迭代效果下降的现象可以试试Attention model,或者在iterative message中引入残差的概念(下一篇中用了但是为什么没有用)
2018_CVPR_Detecting and Recognizing Human-Object Interactions
- Pros:
- Cons:
2018_CVPR. Neural Motifs: Scene Graph Parsing with Global Context
-
Pros: 对数据库中物体和关系的类别做了统计分析。发现relationship高度依赖subject和object的种类。个人对motif的理解:重复且相似的子结构(语义上)。然后用两个BiLSTM去Encode和Decode, 算是在特征提取上和别人不一样吧。
-
Cons:
2017_IJCV_Visual Genome: Connecting Language and Vision Using Crowdsourced Dense Image Annotations
2017_CVPR. (Highly Recommend) Detecting Visual Relationship with Deep Relational Networks
-
Pros: 关于predicate的特征,并非只提取了一个region的特征,而是混合了的object和subject的空间信息(个人觉得目前看起来最靠谱)。利用一个类似条件随机场的DR-Net进行统计关系上的迭代优化,没有iterative message passing直观,但是似乎没有退化问题。
-
Cons: 目前来说,是在Region - Feature - Iterative Finetune框架下最符合我口味的一篇文章,几乎没看到明显问题
-
解决的了这类框架下比较明显的两个问题:
- phrase特征提取太笼统
- 在迭代优化中随迭代次数的退化问题。
2017_CVPR_Learning Object Interactions and Descriptions for Semantic Image Segmentation
2018_WACV_Learning to Detect Human-Object Interactions
2017_CVPR. Visual Translation Embedding Network for Visual Relation Detection
-
Pros: 使用自然语言处理中的状态转移观念解读Visual Relation,非常有想象力的一个出发点。主语特征 - 宾语特征 ~~ Relationship
-
Cons: 低估了Visual Relationship的复杂度,另外不同于自然语言中的状态转换,Visual Relationship并不适合用状态转移,举例next to的subject和object几乎不存在任何特征上的联系。
2017_NIPS. Pixels to Graphs by Associative Embedding
-
Pros: 唯一一篇不基于Faster-RCNN的文章。而是引入了associative embedding的想法。这个设计最初是用在人的姿态识别上的,因为需要判断识别出来的每个肢体是否属于同一个人,所以需要embedding一个类似ID的东西,相似的ID就代表来自同一个人。本文利用这种思想实现objects & relationship的检测(每个像素都检测),object像素会生成一个ID判断来自哪个个体,relationship像素输出两个ID分别表示连接的两个物体。
-
Cons: 算是将一个其他领域的概念第一次引入这个领域,整个框架略显简陋。是否值得进一步更近值得商榷。
2017_CVPR. (Recommend) Scene Graph Generation from Objects, Phrases and Region Captions
-
Pros: 和Visual Relationship Detection with Language Priors有异曲同工之妙,通过对三种任务进行联合训练,提供额外信息。
-
Cons: 同样是一篇胜在想法的文章
2017_CVPR. ViP-CNN: Visual Phrase Guided Convolutional Neural Network
-
Pros: 实现了在Conv层的Message Passing,基本是个end-to-end
-
Cons: 除此之外并无太大亮点,相比于其他Message Passing,其机制也更为Naive
2018_WACV_Scaling Human-Object Interaction Recognition through Zero-Shot Learning
-
Pros: 看到的第一个使用强化学习来做这方面研究的论文。且创新的使用很多数据构建了一个全局的语意图,这个很有意思。构建单张图片的Scene Graph其实是在一堆nodes中检索出一个sub-graph。做每一步的跳转决策时,同时检索中记录历史路径信息,而且陷入局部子图时也有跳出机制,具体细节参考论文。
-
Cons:
- 构建语义图时只使用了常见关系和物体
- 感觉很花哨但不落地,暂时看不到进一步研究的价值。
2018_AAAI_Generating Triples with Adversarial Networks for Scene Graph Construction
2018_NAACL_Scene Graph Parsing as Dependency Parsing
2018_AAAI_Large-Scale Visual Relationship Understanding
【Conclusion】
总的来说这两年主流框架是,Faster-RCNN + Region Feature + Iterative Feature Finetune。
其他有趣的想法包括
- 用自然语言处理中的Embedded Vector迁移表示Relationship
- 用强化学习实现从一个总的结构图中提取子图表示图片
- 引入Human Pose Estimation中的associative embedding。
【Idea】
-
因为Scene Graph Generation by Iterative Message Passing有明显的随迭代次数退化问题,中加入Attention机制(应该有些许改进,但估计不会大)
-
同理,按说在上文的迭代中加入Residual应该也可以解决退化的问题,但是为什么Scene Graph Generation from Objects, Phrases and Region Captions加了但没有用
【State-Of-The-Art]
2018_CVPR.Neural Motifs : Scene Graph Parsing with Global Context
之前分析的时候低估了这篇文章的结果,这篇文章截止目前为止当之无愧的State-Of-The-Art。不过认真看过这篇文章的人大概也能发现了,这篇文章含蓄的指出了,当前基于Visual Genome数据集下作出的Scene Graph或者Visual Relationship Detection,其实说白了都是学习的数据集的bias,并没有真正学习到relationship。
如果有人打算现在开始做Scene Graph,最好的选择是从Motif的代码开始改进。
2018_ECCV. Graph R-CNN for Scene Graph Generation
本质还是message passing,其实graph cnn和message passing本来就是同一个东西。这篇文章只是加入了个小trick,把前人的dense graph(n*n) message passing变成sparse graph message passing。提了个新指标,但比较粗糙,而且举的例子有误导的嫌疑。如果核心object的分类有明显的错误,比如直接从human错分为bicycle,那么确实应该把所有他的relation都看成错的。
2018_ECCV. Factorizable Net : An Efficient Subgraph-based
和上文Graph R-CNN的核心想法很像。都是发现了原先的Message Passing是用的Dense Connect(n*n),这样做肯定是不好的。上文改成稀疏的,这篇文章把一些node整合成subgraph看成一个node。
2018_NIPS. Mapping Images to Scene Graphs with Permutation-Invariant Structured Prediction
这篇哥们的文章都中NIPS我也是醉了,以下分析纯粹是出于自己没有中过NIPS的愤慨。
- 效果都没有完全超过motif就自称state-of-the-art
- sgdet实验直接没有做
- 行的吧,NIPS主要搞理论,我们来看他自称if and only if的证明。充分性是没问题的,必要性就感觉证明的不是那么靠谱了,公式(1)中右半边个人感觉缺了一项的,补齐了才能证明必要性。
2018_NIPS. LinkNet: Relational Embedding for Scene Graph
新state-of-the-art,个人感觉和别的方法相比,最大的不同处在于给每个object的feature都并入一个global context feature。别的替换掉bilstm什么的,感觉没啥创新。