End-to-End Human Object Interaction Detection with HOI Transformer(CVPR2021)

2023-10-31

基于HOI transformer进行端到端的人与物体的交互检测

介绍

这是CVPR2021年的一篇论文,主要是作者提出了一种端到端的HOI检测方法,基于Transformer结构。

作者总结了以前的研究工作以及方法,基本上目前的HOI研究主要有三种:两阶段、一阶段、端到端。如图所示:

在这里插入图片描述

两阶段方法:先进行目标检测,找到人和物体的框以及类标签,然后再通过使用multi-stream架构来预测人和物体的交互对。由于顺序和分离的两级架构,这些方法复杂度高且效率低。

一阶段方法:引入了交互点的概念,同时对交互点以及边界框进行预测,然后再通过算法将交互点和对象对进行匹配。一阶段方法仍然需要复杂的后处理来对对象检测结果和交互预测进行分组。

端到端方法:输入一张图像,直接进行所有预测,输出结果。之前有基于LSTM的端到端HOI检测,作者这里用Transformer做端到端HOI检测。但是端到端也需要进行匹配,然后算法用的是Hungarian matching算法。

HOITransformer模型架构

作者的方法与之前不同,主要由两部分组成:一个端到端的Transformer编码器解码器结构、一个五元组的HOI实例匹配损失。整体网络结构图如下所示:
在这里插入图片描述

该网络结构由三个主要部分组成:

  • 一个卷积网络用来从图像中提取特征
  • 一个Transformer编码器解码器结构用来接收特征输出嵌入
  • 一些多层感知机来通过输出嵌入去预测HOI实例

首先是主干网络,这里用的是CNN。首先将彩色图像输入然后生成HxWxC的特征图,然后通过1x1的卷积层将通道维度从C减少到d,最后再将其展平,将空间维度折叠到一维。因为Transformer需要用序列作为输入,所以这里需要进行展平(至于他这里Flatten的具体操作,或许是将每一列或行拼起来?)。因此特征图可以是解释为长度为H*W的序列,每个时间步的值是大小为d的向量。使用ResNet作为主干,并将特征conv-5的维度从C=2048减少到d=256。

接下来是编码器,它具有多头自注意力模块和前馈网络FFN,为了区分序列中的相对位置,所以在输入的时候引入了位置嵌入,展平特征和位置编码的总和被馈送到变换器编码器中以总结全局信息。编码器的输出在整个网络结构中表示为全局存储器,即Global Memory。

然后是解码器,与编码器不同,它包含一个额外的多头交叉注意层。解码器将N个学习的位置嵌入(在图中表示为HOI Queries)转换为N个输出嵌入。然后,它们通过MLP层得到预测的结果。一般来说,解码器有三个输入,一个是来自编码器的Global Memory,一个是 HOI Queries,一个是位置编码。对于多头交叉注意层,值直接来自Global Memory。Key是Global Memory和输入位置编码的总和。Queries是输入位置编码和输入 HOI Queries的总和。对于自注意力层,所有的 Query、Key、Value 都来自 HOI Queries或前一个解码器层的输出。

最后是MLP层,这里将每个 HOI 实例定义为(人类类、交互类、物体类、人类框、物体框)的五元组。每个 HOI 查询的输出嵌入通过多个多层感知 (MLP) 分支解码为一个 HOI 实例。具体来说,有三个单层 MLP 分支分别预测人体置信度、物体置信度和交互置信度,以及两个三层 MLP 分支来预测人体框和物体框。用于预测置信度的所有单层 MLP 分支都使用 Softmax 函数。

HOI实例匹配和损失函数

HOI实例是(ch, cr, co, bh, bo)的五元组,其中(ch, cr, co)表示人类、交互和物体类置信度,(bh, bo)是人类和物体的边界框。

两阶段 HOI 检测器首先使用对象检测器预测对象提议 (ch, bh)、(co, bo),然后枚举检测到的(人、对象)对以通过交互分类来预测 cr。换句话说,这种方法是在尝试做一个近似概率。

在这里插入图片描述

其中 p(h) 和 p(o) 分别表示人和物体边界框的置信度。 p(r|h, o) 表示给定人类框 h 和物体框 o 的交互 r 的概率,通常由multi-stream交互识别模型实现。在该方法中,对象检测器和交互分类器分别进行优化。

但是作者他们将HOI 检测视为预测与真实值之间二分匹配的集合预测问题。我们的方法直接预测 HOI 集中的元素,并以统一的方式优化所提出的 HOI 匹配损失。具体如下:

在这里插入图片描述

在图中,GT是黑色的,黄色不仅关系分类正确而且位置更靠近GT,且IOU交并比也大,为了最小化匹配代价损失,模型会将预测的黄色与GT匹配。

在这里插入图片描述

公式2匹配代价函数的第一部分是计算人、物、关系类别,使用标准的softmax交叉熵损失。第二部分是人和物的边界框的回归损失,使用GIoU损失和L1损失的加权和,α和β是损失权重的超参数。算法的话使用的是Hungarian算法。

在这里插入图片描述

其中σ所属的那个符号(我也不知道怎么读)表示一对一匹配解空间。经匈牙利算法确定GT set和预测set对应的最优匹配对后,就可以计算模型的loss,loss的函数和公式2一样,理论上说模型loss函数的两个超参和匹配代价函数的不同,但是考虑到超参较多等原因,论文同DETR一样,将两个函数的超参设置一样。

实验结果

作者在V-COCO和HICO-DET数据集上和当前的SOTA做了数据对比。

HICO-DET:由47,776张图像组成,其中包含超过150K人类对象对(训练集中有38,118张图像,测试集中有9,658张图像)。它有600个HOI类别,超过117个交互和80个对象。此外,根据训练实例的数量,600个HOI类别被分为138个稀有类别和462个非稀有类别。

V -COCO:是MSCOCO的子集,由trainval数据集中的5,400个图像和测试集中的4946个图像组成。每个人都用29个不同动作类别的二进制标签进行注释(其中5不涉及关联对象)。

数据增强:作者以0.5的概率调整图像的亮度和对比度;尺度增强,短边范围480-800,长边最大1333像素;以0.5的概率做随机翻转;随机裁剪,将图像以0.5的概率裁剪到一个随机的矩形patch,然后再进行一次比例缩放以确保shape,如果给定的gt人-物对的任何一个框都位于裁剪patch之外, 其标签将被删除。实验中证实:多尺度训练可在完全类别中获得4.29%点数收益,随机crop上获得5.08%的收益,两者的结合可以获得更好的结果。

在这里插入图片描述
在这里插入图片描述

作者对超参做了实验

在这里插入图片描述
在这里插入图片描述

参考资料:https://zhuanlan.zhihu.com/p/372028485

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

End-to-End Human Object Interaction Detection with HOI Transformer(CVPR2021) 的相关文章

随机推荐

  • ubuntu安装docker

    sudo apt get remove docker docker engine docker io containerd runc sudo apt get update sudo apt get install apt transpor
  • 强化学习中累积奖赏公式的推导

    转载于 强化学习中累积奖赏公式的推导 qingtian11112的博客 CSDN博客 强化学习累计奖励 1 一些符号解释 P C D 表示条件概率 在D发生的条件下 C发生的概率 E C D 表示在D发生的条件下 求C的期望 即有 X 表示
  • 二叉树面试题

    将二叉查找树变为有序双向链表 考虑 二叉查找树的特点是左子树比根节点小 根节点又比右子树小 所以要把二叉查找树变为有序的双向链表 就要把左子树连接到它的前一个结点 右子树作为后一个结点 递归的进行下去 如图所示 问题解决 按照中序遍历二叉树
  • leetcode1798. 你能构造出连续值的最大数目(前缀和,贪心)

    题面 程序 class Solution public int getMaximumConsecutive vector
  • DM6446的视频前端VPFE的驱动大框架解析

    本文均属自己阅读源码的点滴总结 转账请注明出处谢谢 欢迎和大家交流 qq 1037701636 email 200803090209 zjut com gzzaigcn2012 gmail com dm6446是基于Davinci架构设计的
  • 什么是NFT?

    什么是NFT Not Fungible Token 非同质化代币 NFT是啥 内啡肽吗 很苦很苦的那个 术语说明 NFT Non Fungible Token 非同质化代币 FT Fungible Token 同质化代币 UTXO Unsp
  • python 模块 — logging模块、smtplib和email模块

    python 模块 日志 什么时候需要日志记录 排错 程序调试 用户行为分析 logging模块 日志等级 数值表示 描述 DEBUG 10 最详细的日志 常用于调试 INFO 20 仅次于debug的详细日志 记录关键节点 WARNING
  • std::string用法详解

    前言 string 的角色 1 string 使用 1 1 充分使用string 操作符 1 2 眼花缭乱的string find 函数 1 3 string insert replace erase 2 string 和 C风格字符串 3
  • centos8启动docker-mysql8容器

    README 本文记录了 centos8 安装 启动mysql8的docker容器的步骤 1 安装mysql8 docker容器 步骤1 查看mysql8 docker镜像版本 最简单的方式是上 Docker Hubhttps hub do
  • plsql因事务未提交造成的锁表的解决办法

    针对自己经常plsql锁表情况做个备忘录 方便下次操作 原文链接 https blog csdn net nmjuzi article details 80353670 1 执行以下语句可查询被锁的表 select b owner b ob
  • 敏捷测试团队管理的挑战与机会

    敏捷团队的管理其实的确面临着很多的挑战 蔡老师分别从敏捷管理的挑战 接受敏捷 敏捷下面的组织结构 敏捷架构下的沟通 敏捷下的KPI考核 以及机会和发展几个方面进行深入的讨论 其实我觉得各个公司施行敏捷的时候都会遇见这次讲师所分享的一些问题
  • Hive jdbc运行方式

    1 在服务器端启动hiveserver2 metastore服务所在的服务器 hive service hiveserver2 2 代码和访问mysql数据库的一样 package com bjsxt hive import java sq
  • [币严区块链]数字货币交易所之以太坊(ETH)钱包对接(一) 以太坊Geth客户端安装...

    以太坊Geth客户端安装 geth是以太坊的官方客户端 它是一个命令行工具 提供很多命令和选项 可以运行以太坊节点 创建和管理账户 发送交易 挖矿 部署智能合约等 下面介绍geth的三种安装方法 直接下载可执行文件 在线安装 从源码编译安装
  • 特征选择-包裹式选择

    包裹式选择与过滤式选择不考虑后续学习器不同 直接把最终使用的学习器的性能作为特征子集的评价准则 换言之 包裹式选择的目的就是为给定学习器选择最有利于其性能 量身定做 的特征子集 与过滤式选择的区别 包裹式选择方法直接针对给定学习器进行优化
  • OSI七层作用及常见协议

    OSI 模型 Open Systems Interconnection Model 由国际化标准组织ISO The International Organization for Standardization 收录在ISO 7489标准中并
  • 设有一个线性表E = { e1, e2, … , en - 1, en },设计一个算法,将线性表逆置,即使元素排列次序颠倒过来,成为逆线性表E'={ en , en-1 , … , e2 , e1

    设有一个线性表E e1 e2 en 1 en 设计一个算法 将线性表逆置 即使元素排列次序颠倒过来 成为逆线性表E en en 1 e2 e1 要求逆线性表占用原线性表空间 并且用顺序表和单链表两种方法表示 分别用两个程序来完成 将链表倒置
  • 使用R语言使用梯度提升算法进行预测建模

    目录 1 什么是梯度提升算法 2 梯度提升算法的步骤 3 在R中实现梯度提升算法进行预测建模
  • uniapp实现底部导航栏

    首先在pages json中找到 globalStyle 在它下面建立 tabBar 如下 tabBar color 7A7E83 selectedColor 3cc51f borderStyle black backgroundColor
  • statsmodels 无法安装

    statsmodels 安装报错 使用 whl 包也无法安装 error subprocess exited with error Getting requirements to build wheel did not run succes
  • End-to-End Human Object Interaction Detection with HOI Transformer(CVPR2021)

    基于HOI transformer进行端到端的人与物体的交互检测 介绍 这是CVPR2021年的一篇论文 主要是作者提出了一种端到端的HOI检测方法 基于Transformer结构 作者总结了以前的研究工作以及方法 基本上目前的HOI研究主