ICCV 2023|PViC:构建交互谓词视觉上下文,高效提升HOI Transformer检测性能_predicate visual context-程序员宅基地

技术标签: HOI  计算机视觉  transformer  上下文学习  技术文章  ICCV  

da458493de324238ad995c4518f2d1f0.png

文章链接:https://arxiv.org/abs/2308.06202
代码仓库:https://github.com/fredzzhang/pvic

在今年的计算机视觉顶会上,基于视觉Transformer(ViT)的工作仍然占有非常重要的地位。目前最受研究者青睐的,莫过于最初用于目标检测任务的DETR框架,DETR引入了基于查询向量的目标定位功能,可以轻松的转换到其他更加复杂的视觉理解任务中。例如本文介绍一篇发表在顶级会议ICCV 2023上的工作,研究团队来自于澳大利亚国立大学和微软亚洲研究院,提出了一种基于DETR框架的谓词视觉上下文方法(predicate visual context,PViC)来解决人物交互检测任务(HOI)

作者认为先前用于HOI的两阶段Transformer方法虽然有很高的训练效率,但是其通常将HOI分类限制在缺乏细粒度上下文信息的对象特征上,忽略了画面中目标的姿态和方向信息,这自然会影响模型对于复杂动作的识别性能。因此本文探索图像中的谓词动词来作为视觉上下文,并重新设计Transformer内部的交叉注意力,通过改进后的查询向量设计和空间信息引导的位置编码,PViC方法可以在多个标准HOI基准上达到SOTA性能,同时保持较低的训练代价。

01. 引言

人物交互检测任务需要同时定位和识别发生动作的人和物体,同时要精确的识别他们之间的关系。基于Transformer的HOI检测方法基本上遵循了DETR引入的编码器-解码器风格,其中的可学习查询向量使用高斯噪声随机初始化,并逐步解码为人、谓词、对象三元组。目前效果最好的两阶段检测器UPT[1]是在DETR的基础上微调而来,其可以对单个对象token和成对(人-对象)token进行自注意力计算,作者在下图(a)和(b)中分别对人和自行车的特征(当前动作为清洗自行车)进行可视化,可以看到,注意力区域聚集在人的头部以及自行车检测框的边界区域,其缺乏识别具体HOI谓词动作所需的关键特征

1d9ff25405214fea9ab72cc8cdde7afd.png

通过上述可视化分析后,本文作者认为单纯微调DETR模型并不能满足HOI检测的需要,必须对Transformer编解码器进行调整以产生判别性特征,本文通过深入探索图像中的谓词上下文实现了高效的HOI定位,上图(d)展示了本文方法的特征可视化效果,注意力区域显著定位于人与自行车接触处。

18a7c241a9644c89a985125bfafc58c7.png

如上图所示,作者还对比了本文方法与UPT在对复杂HOI谓词检测时的分数对比,可以观察出,UPT在四种谓词情况中(Feeding、Typing、Washing和Cutting)均识别失败,这表明其需要更加丰富的视觉上下文,作者认为其主要缺乏与谓词主体相关的细粒度信息,例如人体姿态以及和对象的空间位置。为此,本文提出了PViC方法从Transformer内部运行机制出发进行重新设计查询键值向量和位置编码,以提升模型整体的检测性能。

02. 本文方法

在先前的HOI Transformer中,通常遵循DETR中原始的查询向量构建方法来进行自注意力计算,即使用高斯噪声进行随机初始化,并随着训练的进行来学习空间表示(框中心位置、宽度和高度等),作者将此类查询称为隐式查询构建,如下图(a)。为了更加明确的针对图像中的人-物进行注意力计算,本文提出了一种称为显示查询的构建方式,如下图(b),提前注入空间和内容先验信息来提高后续检测的性能

fd47b2df829649b0ba7f29a9426fea29.png

2.1 显式查询构建

d502c0c7f9364c209ed717145340eb92.png

2.2 重新设计位置编码引导HOI检测​​​​​​​

03. 实验效果

本文的实验在两个标准的HOI检测数据集HICO-DET和V-COCO上进行,前者是一个大规模数据集,包含了37633张训练图像和9546张测试图像,包含了80个对象类、117个动作类和600 个交互类,后者则相对规模较小,只有24个动作类别。

作者首先将PViC与其他baseline方法进行对比,当模型对人和相应目标的预测框与ground-truth框的IoU值大于0.5时,才认为当前检测有效。为了同时证明本文方法的可扩展性,作者同时列出了本文方法在两个视觉backbone(ResNet50和Swin-L)上的性能,从上表中可以看出,本文方法在ResNet50上的效果已经超过UPT方法2.5mAP,UPT使用了参数量更大的ResNet101。当加大视觉backbone和前置目标检测框架的参数时(H-DETR+Swin-L),PViC获得了更加显著的性能提升

a698127940dd4101a632ebe7d08b5e3f.png

随后作者对PViC的HOI检测效果进行可视化展示,并选取了数据集中训练样本较少的几个样例(类似于few-shot设置),例如舔叉子(六个训练样本,下图a)、骑长颈鹿(两个训练样本,下图b)和检查停车计时器(36个训练样本,下图c)。可以看到,PViC在数据量较少的情况下,仍然能够精确的检测到图像中的人、目标以及他们之间的交互关系,而无需通过大量数据笨重的学习语义上下文。

为了深入研究本文所改进各个操作对整体性能的影响,作者对其进行了消融实验,如上表所示,首先将最原始的Transformer作为baseline模型(A),随后进行渐进式的构建,例如直接加入本文提出的显示查询构建方法(B)。从表中可以观察到,只引入交叉注意力和编码器来对键和查询向量计算只能带来很小的提升,这说明直接使用DETR的特征可以与目标特征形成过拟合,不利于进行HOI检测,这侧面印证了本文重新设计查询向量构建和位置编码的有效性和重要性

04. 总结

在本文中,作者首先分析了现有基于DETR框架的两阶段HOI检测器中的视觉特征建模效果,并得出结论,它们的主要弱点是缺乏与当前谓词动作相关的上下文信息,因为它们原来是专门针对定位任务设计和训练的。因此本文提出了一种改进的设计,通过交叉注意力将图像特征重新引入人-物体对表示中,为此,本文作者对注意力计算中的键和查询向量的构建进行了重新设计,并引入边界框的位置编码作为空间引导,来实现更加明确的计算人-物交互的交叉注意力。与之前的两阶段方法相比,本文方法极大的简化了架构,仅保留了Transformer的基础运算模块,而无需其他冗余的自定义单元。在HOI检测范畴之外,本文方法也为与其他类似的高级视觉任务引入了一种新型的细粒度视觉上下文建模方法

参考

[1] Fredierc Z. Zhang, Dylan Campbell, and Stephen Gould. Efficient two-stage detection of human–object interactions with a novel unary–pairwise transformer. In Proceedings of IEEE Conference on Computer Vision and Pattern Recognition, 2022.


  关于TechBeat人工智能社区

TechBeat(www.techbeat.net)隶属于将门创投,是一个荟聚全球华人AI精英的成长社区。

我们希望为AI人才打造更专业的服务和体验,加速并陪伴其学习成长。

期待这里可以成为你学习AI前沿知识的高地,分享自己最新工作的沃土,在AI进阶之路上的升级打怪的根据地!

更多详细介绍>>TechBeat,一个荟聚全球华人AI精英的学习成长社区 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/hanseywho/article/details/134286077

智能推荐

c# 调用c++ lib静态库_c#调用lib-程序员宅基地

文章浏览阅读2w次,点赞7次,收藏51次。四个步骤1.创建C++ Win32项目动态库dll 2.在Win32项目动态库中添加 外部依赖项 lib头文件和lib库3.导出C接口4.c#调用c++动态库开始你的表演...①创建一个空白的解决方案,在解决方案中添加 Visual C++ , Win32 项目空白解决方案的创建:添加Visual C++ , Win32 项目这......_c#调用lib

deepin/ubuntu安装苹方字体-程序员宅基地

文章浏览阅读4.6k次。苹方字体是苹果系统上的黑体,挺好看的。注重颜值的网站都会使用,例如知乎:font-family: -apple-system, BlinkMacSystemFont, Helvetica Neue, PingFang SC, Microsoft YaHei, Source Han Sans SC, Noto Sans CJK SC, W..._ubuntu pingfang

html表单常见操作汇总_html表单的处理程序有那些-程序员宅基地

文章浏览阅读159次。表单表单概述表单标签表单域按钮控件demo表单标签表单标签基本语法结构<form action="处理数据程序的url地址“ method=”get|post“ name="表单名称”></form><!--action,当提交表单时,向何处发送表单中的数据,地址可以是相对地址也可以是绝对地址--><!--method将表单中的数据传送给服务器处理,get方式直接显示在url地址中,数据可以被缓存,且长度有限制;而post方式数据隐藏传输,_html表单的处理程序有那些

PHP设置谷歌验证器(Google Authenticator)实现操作二步验证_php otp 验证器-程序员宅基地

文章浏览阅读1.2k次。使用说明:开启Google的登陆二步验证(即Google Authenticator服务)后用户登陆时需要输入额外由手机客户端生成的一次性密码。实现Google Authenticator功能需要服务器端和客户端的支持。服务器端负责密钥的生成、验证一次性密码是否正确。客户端记录密钥后生成一次性密码。下载谷歌验证类库文件放到项目合适位置(我这边放在项目Vender下面)https://github.com/PHPGangsta/GoogleAuthenticatorPHP代码示例://引入谷_php otp 验证器

【Python】matplotlib.plot画图横坐标混乱及间隔处理_matplotlib更改横轴间距-程序员宅基地

文章浏览阅读4.3k次,点赞5次,收藏11次。matplotlib.plot画图横坐标混乱及间隔处理_matplotlib更改横轴间距

docker — 容器存储_docker 保存容器-程序员宅基地

文章浏览阅读2.2k次。①Storage driver 处理各镜像层及容器层的处理细节,实现了多层数据的堆叠,为用户 提供了多层数据合并后的统一视图②所有 Storage driver 都使用可堆叠图像层和写时复制(CoW)策略③docker info 命令可查看当系统上的 storage driver主要用于测试目的,不建议用于生成环境。_docker 保存容器

随便推点

网络拓扑结构_网络拓扑csdn-程序员宅基地

文章浏览阅读834次,点赞27次,收藏13次。网络拓扑结构是指计算机网络中各组件(如计算机、服务器、打印机、路由器、交换机等设备)及其连接线路在物理布局或逻辑构型上的排列形式。这种布局不仅描述了设备间的实际物理连接方式,也决定了数据在网络中流动的路径和方式。不同的网络拓扑结构影响着网络的性能、可靠性、可扩展性及管理维护的难易程度。_网络拓扑csdn

JS重写Date函数,兼容IOS系统_date.prototype 将所有 ios-程序员宅基地

文章浏览阅读1.8k次,点赞5次,收藏8次。IOS系统Date的坑要创建一个指定时间的new Date对象时,通常的做法是:new Date("2020-09-21 11:11:00")这行代码在 PC 端和安卓端都是正常的,而在 iOS 端则会提示 Invalid Date 无效日期。在IOS年月日中间的横岗许换成斜杠,也就是new Date("2020/09/21 11:11:00")通常为了兼容IOS的这个坑,需要做一些额外的特殊处理,笔者在开发的时候经常会忘了兼容IOS系统。所以就想试着重写Date函数,一劳永逸,避免每次ne_date.prototype 将所有 ios

如何将EXCEL表导入plsql数据库中-程序员宅基地

文章浏览阅读5.3k次。方法一:用PLSQL Developer工具。 1 在PLSQL Developer的sql window里输入select * from test for update; 2 按F8执行 3 打开锁, 再按一下加号. 鼠标点到第一列的列头,使全列成选中状态,然后粘贴,最后commit提交即可。(前提..._excel导入pl/sql

Git常用命令速查手册-程序员宅基地

文章浏览阅读83次。Git常用命令速查手册1、初始化仓库git init2、将文件添加到仓库git add 文件名 # 将工作区的某个文件添加到暂存区 git add -u # 添加所有被tracked文件中被修改或删除的文件信息到暂存区,不处理untracked的文件git add -A # 添加所有被tracked文件中被修改或删除的文件信息到暂存区,包括untracked的文件...

分享119个ASP.NET源码总有一个是你想要的_千博二手车源码v2023 build 1120-程序员宅基地

文章浏览阅读202次。分享119个ASP.NET源码总有一个是你想要的_千博二手车源码v2023 build 1120

【C++缺省函数】 空类默认产生的6个类成员函数_空类默认产生哪些类成员函数-程序员宅基地

文章浏览阅读1.8k次。版权声明:转载请注明出处 http://blog.csdn.net/irean_lau。目录(?)[+]1、缺省构造函数。2、缺省拷贝构造函数。3、 缺省析构函数。4、缺省赋值运算符。5、缺省取址运算符。6、 缺省取址运算符 const。[cpp] view plain copy_空类默认产生哪些类成员函数

推荐文章

热门文章

相关标签