Learning to Detect Human-Object Interactions 文章解读

news2025/6/18 18:06:34

Learning to Detect Human-Object Interactions,WACV,2018

论文下载
code:http://www.umich.edu/∼ywchao/hico/

摘要

主要研究领域定义了HOI detection任务:在静态图像中检测人-对象交互(HOI)的问题,也就是给定一张图片,预测一个人和一个对象边界框并预测连接他们的交互类别。
主要工作:1)介绍了HICO-DET数据集,一个新的HOI检测基准,是将目前的HICO分类benchmark添加实例标注增强得到的。2)提出了Human-Object Region-based Convolutional Neural Networks (HO-RCNN).这个网络的核心是Interaction Pattern,这个交互模式表征了两个边界框之间的空间关系。

Introduction

目前HOI方法中存在的问题:在有限的HOI类别的小数据集上验证,比如有10个类别的PASCAL VOC数据集和有40个类别的Stanford 40 Actions数据集。并且这些数据集对于每个物体来说只提供有限种类的交互类别。导致没有办法识别一个算法是否真的能够识别交互,或者它是否只是简单地识别当前的物体。这个问题随着HICO(Humans interacting with Common Objects)数据集的提出得到解决,这个数据集是一个大型的数据集包含了600个HOI类别,超过了80个常见的物体类别并且每个对象类别具有不同的交互类别。但是HICO数据集只能用来HOI分类,也就是判断一个HOI类别是不是在图像中出现,并不能准确地定位图像中出现的交互作用及其对象。

定义HOI Detection:正式的,将HOI检测问题定义为预测一对边界框——首先是一个人,第二个是一个对象——并识别交互类别。

contributions:1)介绍了HICO-DET数据集,提供了超过150K个人-对象对的注释实例,跨越了HICO中的600个HOI类别,即每个HOI类别平均有250个实例。2)提出了Human-Object Region-based Convolutional Neural Networks (HO-RCNN).这个网络的核心是Interaction Pattern,这个交互模式表征了两个边界框之间的空间关系。

相关工作

HOI Recognition

Gupta和Malik [11]通过将交互的人和对象连接起来,并标记它们的语义角色,从而得到了增强后的MS-COCO数据集 [22]。Yatskar等人[36]提供了一个用于情况识别的图像数据集,定义为识别活动以及参与的对象及其角色。与HICO不同的是,这两个数据集都没有为每个对象类别提供不同的交互类集。

Object Detection

Sadeghi和Farhadi [31]提出了“视觉短语”,即将每一对相互作用的对象作为一个单元,并利用 object detectors来定位它们。HOI检测进一步扩展了检测中的“视觉短语”来定位每一对对象中的单个对象。

HO-RCNN

HO-RCNN是一个多流网络,它分两步检测HOIs。首先使用最先进的人和对象探测器生成人-物体区域对的proposals。然后,每对人-物体proposal被传递到ConvNet中以生成HOI分类分数。
在这里插入图片描述
整体架构:首先生成人-对象区域对的proposals。多流体系结构由三个流组成,分别为:1)human stream从被检测到的人类中提取局部特征。2)object stream从检测到的对象中提取局部特征。3)pairwise stream提取编码被检测到的人和对象之间的成对空间关系的特征。每个流的最后一层是一个二值分类器,它输出HOI的置信度分数。最终的置信度分数是通过将所有流中的分数相加而获得的。

人和对象分支:给定一个人-物体的proposal,首先使用边界框裁剪完整的输入图像,然后调整大小到固定的大小。然后将这个归一化的图像patch传递到一个卷积网络中提取特征,最后一层是大小为K的全连接层,其中K是感兴趣的HOI类的数量,每个输出对应于一个HOI类的置信度分数。

成对分支:给定一个人-对象proposal,成对流提取编码人和对象之间空间关系的特征,并为每个HOI类生成一个置信分数。在这不是直接将bbox的坐标输入DNN,而是提出了Interaction Patterns来输入DNN。
给定一对边界框,它的Interaction Patterns是一个有两个通道的二值图像:第一个通道中被第一个边界框包围的像素值为1,在其他地方的值为0;第二个通道中被第二个边界框包围的像素值为1,在其他地方的值为0。但有两个细节:1)Interaction Patterns应该具有平移不变性,因此,从交互模式中删除了“attention window注意窗口”之外的所有像素,即包围两个边界框的最紧密的窗口。这使得成对流只关注包含目标边界框的bbox,而忽略全局上下文。2)第二,Interaction Patterns的长宽比可能会随着注意窗口的不同而有所不同。这是有问题的,因为DNN需要固定大小(和长宽比)的输入。因此该文提出resize without/with padding zeros两种,这使得Interaction Patterns的大小标准化,同时保持注意窗口的长宽比。
在这里插入图片描述
训练:HO-RCNN生成HOI置信度分数。正如在[1]中提到的,一个人可以同时出现对目标对象执行不同类型的动作,例如,一个人可以同时“骑着”和“抱着”自行车。因此,HOI识别应该被视为一个多标签的分类问题。因此,该文通过对每个HOI类别的分类输出应用一个sigmod交叉熵损失来训练HO-RCNN。

构建HICO-DET数据集

对于每个图像,注释器都会有一个句子描述,比如“一个骑自行车的人”,并被要求继续进行以下三个步骤:
第一步:在每个人周围画一个边界框:第一步是在所描述的交互中涉及的每个人周围绘制边界框。
步骤2:在每个对象周围绘制一个边界框:第一步是在所描述的交互中涉及的每个对象周围绘制边界框。
步骤3:将每个人链接到对象:第一步是在所描述的交互中涉及的每个对象周围绘制边界框。请注意,如果一个人正在与多个对象交互,那么他可以链接到多个对象;如果一个对象与多个人交互,那么一个对象可以与多个人联系起来。
数据集的数据统计表如下:
在这里插入图片描述

实验

设置:人或者对象的bbox和ground truth之间的最小交并比大于0.5则算作TP样本。指标为mAP。测试了三个不同的HOI类别集的mAP:(a)在HICO中的所有600个HOI类别(完整),(b) 138个训练实例少于10个的HOI类别(Rare),和© 462个HOI类别有10个或更多的训练实例(非罕见)。还考虑了两种不同的评估设置: (1)已知对象Known Object设置:对于每个HOI类别,只在包含目标对象类别的检测上评估,这个时候的挑战就在于定位HoI并对交互进行分类。(2)默认值Default设置:对于每个HOI类别,在完整的测试集上评估检测结果,包括包含和不包含目标对象类别的图像。这是一个更具挑战性的环境还需要区分没有目标的图像。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/411748.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vue路由模式为history的项目部署到Nginx

前言 对于前端工程师而言,多多少少会碰到按需加载的需求。 比如一个系统,需要用户登陆以后才能使用,对于传统的前后端未分离的情况,我们一般的处理方式是,当检测到用户未登录的时候,一般会重定向到登录页面…

JVM运行时数据区的必备知识:Java程序员不容错过

1、JVM运行时数据区概念 JVM运行时数据区是Java虚拟机在执行Java程序时所使用的内存区域。这些区域包括了以下几个部分: 程序计数器(Program Counter Register):程序计数器是一块较小的内存区域,它可以看作是当前线程…

测试1号位的自我修养

作者:京东零售 吴聪 引言 目前京东实行BigBoss机制以及积木型组织,同时现阶段再次强调了“经营”理念,以上均是比较大的组织层面的纲领和引导,核心是为了激发大家owner意识可以更好更快为公司产出价值和贡献。落到具体执行层面&…

国内大模型领域进入乱战时代

国内大模型领域进入乱战时代 2023.4.12版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 什么是大模型 大模型,又称为预训练模型、基础模型等,是指模型参数数量很大,需要大量计算资源才能训练的深度学习…

RHCE-Web服务器

请给openlab搭建web网站​ 网站需求:​ 1.基于域名[www.openlab.com](http://www.openlab.com)可以访问网站内容为 welcome to openlab!!! 首先创建一个名为openlab的网站: (1)在www目录下创建一个openlab文件夹:mk…

Android UI

什么是 UI 用户界面(User Interface,简称 UI,亦称使用者界面)是系统和用户之间进行交互和信息交换的媒介,它实现信息的内部形式与人类可以接受形式之间的转换。软件设计可分为两个部分:编码设计与UI设计。A…

JavaScript编程实现tab选项卡切换的效果+1

之前在“圳品”信息系统使用了tab选项卡来显示信息&#xff0c;详见&#xff1a; JavaScript编程实现tab选项卡切换的效果 在tab选项卡中使用其它<div>来显示信息就出现了问题&#xff0c;乱套了&#xff0c;比如下面的这段代码&#xff1a; <!DOCTYPE html> &l…

c/c++:for循环语句,分号不可省略,表达式可以省略,猜数字游戏,跳转语句continue,break,避免写goto

c/c:for循环语句&#xff0c;分号不可省略&#xff0c;表达式可以省略&#xff0c;猜数字游戏&#xff0c;跳转语句continue&#xff0c;break&#xff0c;避免写goto 2022找工作是学历、能力和运气的超强结合体&#xff0c;遇到寒冬&#xff0c;大厂不招人&#xff0c;此时学…

树莓派 QT项目开机自启动

我自己用qt设置了一个界面&#xff0c;如何让他开机自启动呢&#xff1f; 目录 1.生成qt项目的可执行文件 2. 编写一个自启动脚本 3.重启树莓派 1.生成qt项目的可执行文件 QT项目的可执行文件就是.exe文件。首先在qt中打开&#xff0c;点击红色方框图标&#xff0c;选择Re…

vue+springboot 上传文件、图片、视频,回显到前端。

效果图 预览&#xff1a; 视频&#xff1a; 设计逻辑 数据库表 前端vue html <div class"right-pannel"><div class"data-box"><!--上传的作业--><div style"display: block" id""><div class"tit…

C++编程法则365条一天一条(359)认识各种初始化术语

文章目录Default initialization默认初始化Copy initialization拷贝初始化Aggregate initialization聚合初始化Direct initialization直接初始化list_initialization列表初始化value_initialization值初始化参考&#xff1a; https://en.cppreference.com/w/cpp/language/copy_…

【unity learn】【Ruby 2D】角色发射飞弹

前面制作了敌人的随机运动以及动画控制&#xff0c;接下来就是Ruby和Robot之间的对决了&#xff01; 世界观背景下&#xff0c;小镇上的机器人出了故障&#xff0c;致使全镇陷入了危机&#xff0c;而Ruby肩负着拯救小镇的职责&#xff0c;于是她踏上了修复机器人的旅途。 之前…

同步I/O实现Reactor和Proactor的差异

有两种高效的事件处理模式&#xff1a;Reactor模式和Proactor模式 Reactor模式 主线程只负责监听socket上是否有事件发生&#xff0c;当有事件发生时&#xff0c;主线程就将该事件放进请求队列&#xff0c;通知工作线程进程处理&#xff1b;主线程不做实质性的工作&#xff0c…

使用颜色检测有向图中的循环

给定一个有向图,检查该图是否包含循环。如果给定的图形至少包含一个循环,您的函数应返回 true,否则返回 false。 例子: 输入: n = 4, e = 6 0 -> 1, 0 -> 2, 1 -> 2, 2 -> 0, 2 -> 3, 3 -> 3 输出:是 解释: <

计网之HTTP协议和Fiddler的使用

文章目录一. HTTP概述和fidder的使用1. 什么是HTTP2. 抓包工具fidder的使用2.1 注意事项2.2 fidder的使用二. HTTP协议格式1. HTTP请求格式1.1 基本格式1.2 认识URL1.3 方法2. 请求报头关键字段3. HTTP响应格式3.1 基本格式3.2 状态码一. HTTP概述和fidder的使用 1. 什么是HTT…

VueRouter路由模式解析

VueRouter路由模式解析 前端路由的实现方式主要有两种&#xff1a;hash模式和history模式。 hash模式 在window.location对象中有一个hash字段&#xff0c;可以获取地址栏中#字符及后边的所有字符。 hash也称作锚点&#xff0c;本身是用来做页面定位的&#xff0c;可以使对…

BGP联邦实验

实验目的&#xff1a; 实验拓扑&#xff1a; IP地址规划&#xff1a; AS2内部&#xff1a; 172.16.0.0/16 172.16.0.0/24---P2P网络 172.16.1.0/24----MA网络 172.16.1.0/29 172.16.1.8/29 172.16.1.16/29 172.16.1.24/29 172.16.1.32/29 172.16.1.40/29 172.16.2.0/24--…

Golang每日一练(leetDay0032) 二叉树专题(1)

目录 94. 二叉树的中序遍历 Binary Tree Inorder Traversal &#x1f31f; 95. 不同的二叉搜索树 II Unique Binary Search Trees II &#x1f31f;&#x1f31f; 96. 不同的二叉搜索树 Unique Binary Search Trees &#x1f31f;&#x1f31f; &#x1f31f; 每日一练刷…

基于 FPGA+DSP 的冲击波超压测试系统设计与实现-系统测试(二)

5 系统功能测试及仿真 在完成系统硬件电路板的设计和软件程序的开发后&#xff0c;本章分别对 A/D 采集模块、 DDR3 SDRAM 存储模块的读写波形进行了测试&#xff0c;并对千兆网卡传输模块通过 Wireshark 软件进行抓包测速&#xff0c;调试成功并确认无误后将各模块组装起来对系…

Unity之ASE实现根据ScreenPosition改变渲染效果

前言 我们知道ScreenPosition节点,代表了屏幕空间的坐标,那么它有哪些用处呢?今天我们就来给大家演示一个效果,如下图所示:我们拉远拉进摄像机的位置,任务的渲染会根据不同距离有一定变化。 ScreenPosition介绍 Screen Position 节点输出当前像素的屏幕位置。根据所选…