【论文笔记】CVPR2018 Detecting and Recognizing Human-Object Interactions

Paper:https://arxiv.org/abs/1704.07333
作者:Georgia Gkioxari, Ross Girshick, Piotr Dollár, Kaiming He。

从题目中看出这篇文章主要是研究人与物的互动。根据统计,CVPR2018中分析图像中的人类的有100多篇,说明人们开始关注对图像中主体和关系的理解(这也是Graph Network火的原因)。

简述

这篇文章的目标是检测<人,动作,物>的三元组,用以表征人与物之间的交互关系。
【论文笔记】CVPR2018 Detecting and Recognizing Human-Object Interactions_第1张图片

在一张图片中,可能有多个物体有可能和检测到的单个人有交互(图a),本文的方法从检测到的人的bbox来估计和它相关的目标物体是哪个(图b),以及检测一个<人,动作,物>的三元组(图c),另外单个人可能同时做多个动作,例如stand(图d)和cut knife(图c),并且一个动作可能也可能不和物体有交互。

所以文章主要需要解决的问题就是:

  1. 在一张图的多个物体中,如何找到和人存在交互关系的那个特定的物体
  2. 如何根据人 / 人和物来预测动作

方法

整个网络主要包括3个部分:(a) object detection branch, (b) human-centric branch, (c) interaction branch。
【论文笔记】CVPR2018 Detecting and Recognizing Human-Object Interactions_第2张图片

(a) object detection branch

这个branch就是标准的Faster RCNN的结构。首先使用Region Proposal Network (RPN)来生成object proposals,然后对于每一个proposal box b,我们用RoiAlign来提取特征,然后进行object classification和bbox regression, 得到最终的box,以及每个box对应的类别score。要注意的是通过RoiAlign的部分只在推理阶段用了,训练的时候所有branch是直接用的RPN产生的proposal boxes。

(b) human-centric branch

这个branch的任务之一是进行action classification。它的思路其实和object classification是一样的,在所有bbox中选出human的bbox ( bh b h )进入这个branch,然后利用RoiAlign从 bh b h 提取特征,再预测每个action类别的score。另外,由于一个人可以同时做多个action(比如sit和drink),即多label,因此我们的输出层是每个action的二值sigmoid分类器,训练目标是最小化gt action类别和预测的action score之间的交叉熵loss。

注意这里得到的action的预测结果相当于是只和人有关,和物体无关,我们说过,一个action可能也可能不和物体有交互,所以action的预测也有可能要包含物体的作用。那首先就是要找到交互物体到底是哪个了。

所以human-centric branch的任务之二是预测交互物体的位置,首先依赖于人的位置,从 bh b h 提取特征,预测目标物体可能位置的分布。以高斯函数进行建模,其中均值是基于action和human预测得到的。具体地, μah μ h a 表示均值,它是一个4D的向量,表示已知action和human情况下object的平均位置,写成方程式如下:
这里写图片描述

这样我们就可以使用上式来计算一个检测到的object box和预测的目标物体位置 μah μ h a 的相似性了。上式中的 bo|h b o | h 是将object box的位置编码成和human box的位置相关的4D坐标:
这里写图片描述

结合预测的目标物体位置和实际检测到的物体位置,就可以定位到和人交互的那个物体的位置了。

(c) interaction branch

human-centric branch已经给出了如何直接通过人来预测action的方法,那么如何利用人和物体一起来预测action呢?具体地,首先我们已经得到了 sah s h a ,然后我们也知道了交互的具体是哪个object,通过这个object的box( bo b o )我们提取特征然后也计算一个score,将两个score相加再sigmoid,得到最后的一个score—— sah,o s h , o a 。和之前一样,我们的输出层是每个action的二值sigmoid分类器,训练目标是最小化gt action类别和预测的action score之间的交叉熵loss。

实验

实验是在V-COCO (Verbs in COCO)和HICO-DET两个数据集上进行的,具体见原文,这里不介绍了。(我才不会告诉你是因为博主没仔细看呢。。。)

你可能感兴趣的:(论文笔记,物体检测)