论文笔记之PPDM(Parallel Point Detection and Matching for Real-time Human-Object Interaction Detection)

2023-05-16

分为两分支,一个用于点(人、物、交互三个点)检测,一个用于点匹配,达到了实时的效果。
CVPR2020接收
论文地址:https://arxiv.org/pdf/1912.12898v1.pdf

1. 摘要

本文提出了一种一阶段人物交互(HOI)检测方法,该方法在单个Titan XP GPU上以37 fps的速度在HICO-DET数据集上优于现有的所有方法。这是第一种实时检测HOI的方法。

传统的HOI检测方法分为两个阶段,即人体目标proposal生成和proposal分类。它们的有效性和效率受到了体系结构的限制。本文提出了一种并行点检测与点匹配(PPDM)的HOI检测框架。在PPDM中,HOI被定义为一个点三元组<人的点,交互点,物体点>。人与物体点是检测box的中心,交互点是人与物体点的中心点。PPDM包含两个并行分支,即点检测分支和点匹配分支。点检测分支预测三个点。同时,点匹配分支预测从交互点到对应的人和物体点的两个位移。将来自同一交互点的人体点和物体点视为匹配对。在并行体系结构中,交互点隐含地为人体和物体检测提供上下文和正则化,抑制了无意义的HOI三个的孤立的检测框,提高了HOI检测的精度。

此外,人与物体检测框之间的匹配只适用于有限数量的过滤候选交互点,这样节省了大量的计算成本。

另外,作者建立了一个新的面向应用程序的数据库HOI-A,作为对现有数据集的一个很好的补充。
在这里插入图片描述

2. 相关工作

常规的HOI检测方法主要包括两个阶段:

  • 第一阶段是人和物体proposal的生成。 预训练的检测器用于定位人和物体。然后,通过将过滤后的M个人体box和N个物体box成对地组合,生成M × N个人-物proposal。
  • 第二阶段是proposal分类,它可以预测每个人-物proposal的交互类别。

当前的工作更加注重探索如何改善第二阶段。 最近的工作旨在通过捕获上下文信息或人类结构消息来了解HOI。一些方法将第二阶段表述为图推理问题,并使用图卷积网络来预测HOI。

两阶段方法的有效性和效率的局限性主要是因为它们的两个阶段是顺序的和分离的。 proposal生成阶段完全基于目标检测的置信度。人-物proposal是独立生成的, 没有考虑在第二阶段合并两个proposal以形成有意义的HOI三元组的可能性。因此,所生成的人-物proposal可能具有相对较低的质量。

此外,在第二阶段,所有的人-物proposal都需要进行线性扫描,而其中只有少数有效。 额外的计算成本很大。 因此,需要非顺序和高度耦合的框架。

3. 本文方法

3.1 总体结构

在这里插入图片描述
首先应用关键点热图预测网络,例如 Hourglass-104或DLA-34,以从图像中提取外观特征。

a)点检测分支:基于提取的视觉特征,利用三个卷积模块来预测交互点,人体中心点和物体中心点的热图。 另外,要生成最终框,所以对二维尺寸和局部偏移量进行回归。

b)点匹配分支:该分支的第一步是将位移从交互点分别回归到人点和物体点。 根据预测的点和位移,第二步是将每个交互点与人点和物体点进行匹配,以生成一组三元组。

3.2 点检测

(1)公式化表示:

点检测分支估计人体box,物体box和交互点。 人体box表示为它的中心点在这里插入图片描述,相应的大小(宽度和高度)在这里插入图片描述以及局部点偏移在这里插入图片描述,以恢复由以下各项引起的离散化误差。 物体框的表示方式与此类似。

此外,将交互点在这里插入图片描述定义为配对的人类点和物体点的中点。考虑到交互点的接受场足够大以包含人和物体,因此可以基于在这里插入图片描述的特征来估计人的动作a。

实际上,当数据集中有M个人时,每个人框都表示为在这里插入图片描述。 为了描述方便,在不引起混淆的情况下,省略下标i。 类似的省略也适用于在这里插入图片描述
在图3中,将输入图像在这里插入图片描述馈入特征提取器以生成特征在这里插入图片描述,其中W和H是输入图像的宽度和高度,d是输出步幅。 点的热图是低分辨率的,因此还计算了低分辨率的中心点。 给定GT人体的点(xh; yh),相应的低分辨率点为在这里插入图片描述。 可以用相同的方法计算低分辨率的GT物体的点在这里插入图片描述。基于低分辨率的人和物体点,可以将地GT相互作用点定义为在这里插入图片描述在这里插入图片描述

(2)Point location loss

直接检测点很困难,因此作者采用关键点估计方法将点映射到具有高斯核的热图中。从而将点检测转换为热图估计任务。 将三个GT的低分辨率点(xh; yh),(xo; yo)和(xa; ya)映射到三个高斯热图中,包括人点热图在这里插入图片描述在这里插入图片描述,物体点热图在这里插入图片描述和相互作用点热图在这里插入图片描述 ,其中T是物体类别的数量,K是交互类别的数量。 请注意,在〜Co和〜Ca中,仅对应于特定物体类别和人类动作的通道为非零。 通过在特征图V上添加三个相应的卷积块来生成三个热图,每个卷积块由具有ReLU的3 × 3卷积层,随后的1 × 1卷积层和Sigmoid组成。

对于这三个热图,都应用了逐元素的focal loss。 例如,给定一个估计的交互点热图^ C a和相应的地热图〜C a,损失函数为:
在这里插入图片描述
其中N等于图像中的交互点数(HOI三重态),^ Ca kxy是预测的热图中^ Ca中类别k在位置(x; y)的分数。 遵循[Cornernet: Detecting objects as
paired keypoints,Objects as points]中的默认设置,分别设置α为2,β为4。 人体点和物体点的损失Lp和Lo可以类似地计算。

(3)Size and offset loss

除了中心点,还需要box大小和中心点的局部偏移量,以形成人-物box。 将四个卷积块添加到特征图V中,以分别估计2D大小以及人和物体框的局部偏移。 每个块包含具有ReLU的3 × 3卷积层和1 × 1卷积层。

在训练期间,仅计算GT人点(〜xh;〜yh)和物体点(〜xo;〜yo)的每个位置的L1 loss,而忽略所有其他位置。 以局部偏移的损失函数为例,尺寸回归损失Lwh的定义与此类似。 定位于(〜xh;〜yh)的人类点的地面真实局部偏移量定义为在这里插入图片描述
因此,损失函数Loff是人box loss: Lh off和物体box loss :Looff的总和:
在这里插入图片描述
其中〜Sh(〜So)表示训练集中的GT人(物)点集。 M = |〜Sh|和D = |〜So|是人体点和物体点的数量。 M不一定等于D。例如,一个人可能对应于多个动作和物体。 Lo off与 Lh off相似地定义。

3.3 点匹配

(1)公式化

点匹配分支通过使用交互点作为桥梁将人box与其对应的物体box配对。更具体地说,将交互点视为anchor, 估计了两个位移dah =(dah x; dah y)和dao =(dao x; dao y),即,交互点与人/物点之间的位移。 粗略的人类点和物体点分别是(xa; ya)加上dah和dao。

位移分支由两个卷积模块组成。 每个模块由带ReLU的3 × 3卷积层和1 × 1卷积层组成。主体和客体位移图的大小均为在这里插入图片描述
(2)Displacement loss

为了训练位移分支,对每个相互作用点应用L1 loss。 从位于(〜xa;〜ya)的交互点到相应人类点的GT位移可通过在这里插入图片描述计算得到。 (〜xa;〜ya)位置的预测位移为在这里插入图片描述

位移损失定义为:
在这里插入图片描述
其中〜Sa表示训练集中的GT交互点集。 N = |〜Sa|是交互点的数量。 从交互点到物体点的位移损失函数具有相同的形式。

(3)Triplet matching

考虑两个方面来判断人/物体点是否可以与交互点匹配。 人/物体需要:
1)接近由交互点加上位移生成的粗略的人/物体点;
2)具有较高的置信度。

在此基础上,对于检测到的交互点(^ xa; ^ ya),通过下面等式对检测到的人类点集^ Sh中的点进行排序,并选择最佳点:
在这里插入图片描述
其中Ch(^ xh; ^ yh)表示人类点(^ xh; ^ yh)的置信度得分。 最佳物体框(^ xo opt; ^ yo opt)的计算方法类似。

3.4 损失函数及推理

最终损失可以通过对上述损失进行加权求和而得出:
在这里插入图片描述
将λ设为0.1。 La,Lh和Lo是点位置损失,Lah和Loh是位移损失,而Lwh和Loff是尺寸和偏移损失。

推理过程中:

  • 首先对预测的人,物体和交互点热图进行步幅为1的3 × 3 max-pooling操作,其作用与NMS类似。
  • 其次,通过所有类别中相应的置信度得分^ Ch,^ Co和^ Ca选择前K个人类点^ Sh,物体中心点^ So和交互点^Sa。
  • 然后,通过3.3中(3)中的等式找到每个选定交互点的主体点和客体点。对于每个匹配的人类点(^ xh opt; ^ yh opt),得到最后一个框为:在这里插入图片描述,其中:在这里插入图片描述在这里插入图片描述是人类中心点的精确位置。在这里插入图片描述是相应位置的框的大小。 最终的HOI检测结果是一组三元组,三元组的置信度得分为在这里插入图片描述

3.5 HOI-A数据集

现有的数据集,例如HICO-Det和VCOCO,极大地促进了相关研究的发展。 但是,在实际应用中,需要特别注意的有限的频繁HOI类别在以前的数据集中并未强调。因此作者引入了一个新的数据集,称为HOI-A。

在这里插入图片描述
在这里插入图片描述如表1所示,作者选择实际应用中驱动的动词类别。 HOI-A数据集中的每种动词都有其相应的应用场景。

4. 实验

4.1 HICO-DET test set上的结果

在这里插入图片描述
“ A”,“ P”,“ S”,“ L”分别代表外观特征,人体姿势信息,空间特征和语言特征。

4.2 与SOTA相比

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

4.3 消融实验

在这里插入图片描述

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

论文笔记之PPDM(Parallel Point Detection and Matching for Real-time Human-Object Interaction Detection) 的相关文章

  • jQuery - 如何向图像添加标记

    我正在考虑如何向图像添加一些标记 我的意思是像谷歌地图中的东西 地点标记 我有一个图像 如果用户单击该图像 我想在用户单击的那个地方添加一些其他图像 例如 如果用户单击图像中的 3 个位置 我想在这 3 个位置上添加我的图像 我知道 如何获
  • 多边形内的点到多边形边的距离

    我正在使用 NLCD 数据研究大片区域 7 个森林和非森林州 在一些森林地区有一个地块 这是我正在研究的硕士论文 我用这个庞大的数据集难倒了我问过的每个人 但我们确信有一个解决方案 森林 非森林区域是有符号的离散栅格 我能够通过对森林区域进
  • MS Office 2007 文件的 PHP 5.3.5 fileinfo() MIME 类型 - magic.mime 更新?

    在 PHP 上传中 我尝试验证正在上传的文件的 MIME 类型 以匹配应用程序的一组有效的 MIME 类型 当尝试使用 fileinfo 确定 Office 2007 文件的 MIME 类型时 它没有检测到相应的 MIME 类型 相反 MI
  • Dialogflow,从音频中检测意图

    我正在尝试将音频文件发送到对话流 API 进行意图检测 我已经有一个工作得很好的代理 但只能处理文本 我正在尝试添加音频功能 但没有成功 我正在使用此页面中提供的示例 Java https cloud google com dialogfl
  • 确定点是否位于 3D 网格内部的算法

    用于确定点是否位于 3D 网格内部的快速算法是什么 为简单起见 您可以假设网格都是三角形并且没有孔 到目前为止我所知道的是 确定光线是否穿过网格的一种流行方法是计算光线 三角形相交的数量 它必须很快 因为我正在使用它进行触觉医学模拟 所以我
  • 检测复制或相似的文本块

    我有很多关于 Markdown 格式编程的文本 有一个构建过程能够将这些文本转换为 Word HTML 并执行简单的验证规则 例如拼写检查或检查文档是否具有所需的标题结构 我想扩展该构建代码以检查所有文本中的复制粘贴或类似块 是否有任何现有
  • 如何在OpenCV中检测已知物体?

    我尝试在窗口中实时绘制形状 屏幕上的形状如缠结 矩形 圆形 半圆形和 Z 使用黄色 尺寸和形状可能与原始图像不同 但程序知道所有原始形状 因为它们是预定义的 我想知道如何识别正确的形状 举个例子 有可能做到这一点的方法吗 我可以为此使用模板
  • 使用 PointToScreen 在 wpf 中查找控件的位置

    我正在尝试在主窗口内找到用户控件的相对坐标 我尝试使用 Control PointToScreen 方法 但没有成功 每次我这样做时 我都会收到一个异常 System InvalidOperationException 此视觉对象未连接到P
  • 如何检测 Android 设备麦克风中的打击

    如何检测用户何时向设备麦克风吹气 然后 这将用于触发应用程序的某些操作 检测用户何时向麦克风吹气的工作可分为两部分 1 从麦克风获取输入 2 监听吹气声音 向麦克风吹气的噪音 声音由低频声音组成 我们将使用低通滤波器来减少进入麦克风的高频声
  • Apache代理负载均衡后端服务器故障检测

    这是我的场景 由我的前任设计 两台 Apache 服务器为多个混合后端 Web 服务器 Apache IIS Tomcat 等 提供反向代理服务 有些网站我们有多个后端 Web 服务器 在这些情况下 我们会执行以下操作
  • 使用 GeoPandas 将点几何图形转换为线串

    我有一个地理数据框gdf看起来像这样 longitude latitude geometry 8628 4 890683 52 372383 POINT 4 89068 52 37238 8629 4 890500 52 371433 PO
  • 如何从 silverlight 应用程序检测操作系统?

    我有一个 Silverlight3 应用程序 旨在在 Windows 和 Mac OS 环境上运行 我想在运行时知道我的应用程序是在 Windows 还是 Mac 上运行 这样我就可以根据用户在他们选择的操作系统中习惯的方式进行一些调整 例
  • OpenGL 点精灵可以在 Android 中使用吗?

    我正在 Droid 版本 2 1 update1 上进行开发 我支持的 GL 扩展包括 GL OES point sprite 和 GL OES point size array 我无法获取要渲染的点精灵 下面的代码在 glTexEnvi
  • 如何识别“hw.machine”标识符可靠?

    我正在寻找最官方的来源来完成 维护此方法 NSString platformString NSString platform self platform if platform isEqualToString iPhone1 1 retur
  • 为什么 java.awt.Point 提供了设置和获取双精度数的方法,但将 x 和 y 存储为 int?

    正如您在 Oracle 文档中看到的java awt Point http docs oracle com javase 6 docs api java awt Point html x 和 y 存储为int 然而 getX and get
  • 维奥拉-琼斯算法 - “像素之和”?

    我看过很多关于 Viola Jones 算法如何真正工作的文章和问题的答案 我不断找到答案 说某个区域中的 像素总和 减去相邻区域中的 像素总和 我对 像素总和 的含义感到困惑 其价值依据是什么 是该区域的像素数吗 颜色的强度 提前致谢 这
  • 如何生成圆形分布中的随机点

    我想知道如何生成出现在圆形分布中的随机数 我能够在矩形分布中生成随机点 以便这些点在 0 我将如何继续生成圆内的点 以便 x 500 2 y 500 2 import random import math radius of the cir
  • 星系模拟:更改点的颜色并在鼠标悬停时显示文本

    我正在尝试创建模拟 https riteshsingh github io galaxies 4673 个最近星系的位置 星系是点 我想为鼠标悬停时的点着色并加载星系的名称 我花了很多天试图实现它 我可以更改颜色以及进行基本的光线投射 但是
  • 二维几何:如何检查点是否在角度内

    我有以下二维几何问题 我有一个点 从该点投射一个无限角度 2D 锥体 该角度由方向和角度给出 该点和方向形成一个向量 并且角度的每一侧一半形成 2D 锥体 现在我想检查 2D 中的另一个点是在这个圆锥体内部还是外部 如何才能实现这一目标 谢
  • 如何使用mb_detect_encoding检测编码是否正确?

    我想检测编码是否正确 但我发现 mb detect encoding 总是得到错误结果 并且我添加了很多encoding list UTF8 ISO 8859 你试图做的事情只是有时作品 编码检测并不是一门精确的 科学 因此您能做的最好的事

随机推荐

  • 7.使用码云

    使用GitHub时 xff0c 国内的用户经常遇到的问题是访问速度太慢 xff0c 有时候还会出现无法连接的情况 xff08 原因你懂的 xff09 如果我们希望体验Git飞一般的速度 xff0c 可以使用国内的Git托管服务 码云 xff
  • git diff命令之后,如何退出

    git diff命令是对比两次文件修改了什么 但如何退出呢 xff1f 输入q 按enter键盘
  • Float类型出现舍入误差的原因

    首先是float累加产生误差的原因 xff0c 该部分转自 xff1a http blog csdn net zhrh0096 article details 38589067 1 浮点数IEEE 754表示方法 要搞清楚float累加为什
  • React之antd Form回显数据

    转自 xff1a https blog csdn net welkin qing article details 110004969 文章目录 一 antd4如何回显数据 1 定义变量2 保存接口数据到form变量中3 form显示数据4
  • equals()方法和hashCode()方法

    1 hashCode 简介 该方法主要是利用一定的规则生成对象的哈希码 xff0c 也称散列码 它是是由对象导出的一个整数值 xff0c 是没有规律的 关于hashCode 使用的哈希算法 xff0c 越糟糕的哈希算法越容易产生哈希碰撞 产
  • 手把手教你基于STM32的BootLoader的OTA远程升级

    本文系21ic论坛蓝V作者小叶三千原创撰写 上次发过SD卡的Bootloader离线升级后 xff0c 应大家的要求 xff0c 这次就讲一下STM32的OTA远程升级 OTA又叫空中下载技术 xff0c 是通过移动通信的空中接口实现对移动
  • 转知乎,感觉非常棒,适合普通人c++学习路线图

    作者 xff1a 刘凯新 链接 xff1a https www zhihu com question 23447320 answer 39322848 来源 xff1a 知乎 著作权归作者所有 商业转载请联系作者获得授权 xff0c 非商业
  • InfluxDB和IotDB介绍与性能对比

    InfluxDB简介 InfluxDB 是用Go语言编写的一个开源分布式时序 事件和指标数据库 xff0c 无需外部依赖 用于存储和分析时间序列数据的开源数据库 适合存储设备性能 日志 物联网传感器等带时间戳的数据 其设计目标是实现分布式和
  • CVSNT SERVER Configuration

    title CVSNT SERVER Configuration 64 author H819 64 version 0 5 Copyright free reference note author name and the article
  • JavaScript高级使用(对象、BOM、封装)

    JavaScript高级 今天给大家介绍以下几个内容 xff1a JavaScript 面向对象JavaScript 内置对象JavaScript BOMJavaScript 封装 JavaScript面向对象 其实JavaScript中的
  • Python函数(函数定义、函数调用)用法详解

    Python 中 xff0c 函数的应用非常广泛 xff0c 前面章节中我们已经接触过多个函数 xff0c 比如 input print range len 函数等等 xff0c 这些都是 Python 的内置函数 xff0c 可以直接使用
  • zsh配置

    原本用WindTerm 43 bash xff0c WindTerm提供了高亮 自动记忆补全等功能 xff0c 基本上也够用 WindTerm还是比较早期阶段 xff0c 功能细节上还有待完善 xff0c 稳定性方面也有些小问题 比如用vi
  • Android CHRE (Context Hub Runtime Environment)简介

    当前的ARM处理的多个核心 xff0c Android系统运行在速度最快的大核上 xff0c 通常叫AP xff08 Application Processor xff09 AP主要为性能 体验优化 xff0c 相对来说能耗高 处理器中还有
  • Docker pull 命令

    Docker pull 命令 Docker 命令大全 docker pull 从镜像仓库中拉取或者更新指定镜像 语法 docker pull OPTIONS NAME TAG 64 DIGEST OPTIONS说明 xff1a a 拉取所有
  • strrchr函数的实现

    lt span style 61 34 font size 18px 34 gt include lt stdio h gt include lt string h gt char strrchr char const s1 int ch
  • UCOSIII概述

    又给自己挖了一个小坑 xff0c 今天开始学习UCOS xff0c 本篇文章只是作为学习笔记 xff0c 并不是什么教程 文章目录 序言源码概览配置文件UCOSIII与移植相关代码文件UCOS与CPU相关代码文件UCOSIII库文件UCOS
  • UCOSIII中的消息传递

    文章目录 序言什么是消息队列消息队列相关函数OSQCreate OSQPend OSQPost 消息队列实验总结 序言 前面我们介绍了信号量 xff0c 通过信号量我们能够解决优先级反转 xff0c 资源共享冲突等问题 xff0c 但是我们
  • Qt之可视化QSS生成器(初探)

    简述 QSS是Qt的样式表 xff0c 类似于CSS xff0c 目前主要支持CSS2 写代码调样式非常不直观 xff0c 因此需要一个所见即所得的可视化样式生成器 xff0c 网上有很多CSS样式生成器 xff0c 最适合网页开发人员的1
  • 【秒懂音视频开发】26_RTMP服务器搭建

    流媒体 基本概念 流媒体 xff08 Streaming media xff09 xff0c 也叫做 xff1a 流式媒体 是指将一连串的多媒体数据压缩后 xff0c 经过互联网分段发送数据 xff0c 在互联网上即时传输影音以供观赏的一种
  • 论文笔记之PPDM(Parallel Point Detection and Matching for Real-time Human-Object Interaction Detection)

    分为两分支 xff0c 一个用于点 xff08 人 物 交互三个点 xff09 检测 xff0c 一个用于点匹配 xff0c 达到了实时的效果 CVPR2020接收 论文地址 xff1a https arxiv org pdf 1912 1