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

智能推荐

oracle 12c 集群安装后的检查_12c查看crs状态-程序员宅基地

文章浏览阅读1.6k次。安装配置gi、安装数据库软件、dbca建库见下:http://blog.csdn.net/kadwf123/article/details/784299611、检查集群节点及状态:[root@rac2 ~]# olsnodes -srac1 Activerac2 Activerac3 Activerac4 Active[root@rac2 ~]_12c查看crs状态

解决jupyter notebook无法找到虚拟环境的问题_jupyter没有pytorch环境-程序员宅基地

文章浏览阅读1.3w次,点赞45次,收藏99次。我个人用的是anaconda3的一个python集成环境,自带jupyter notebook,但在我打开jupyter notebook界面后,却找不到对应的虚拟环境,原来是jupyter notebook只是通用于下载anaconda时自带的环境,其他环境要想使用必须手动下载一些库:1.首先进入到自己创建的虚拟环境(pytorch是虚拟环境的名字)activate pytorch2.在该环境下下载这个库conda install ipykernelconda install nb__jupyter没有pytorch环境

国内安装scoop的保姆教程_scoop-cn-程序员宅基地

文章浏览阅读5.2k次,点赞19次,收藏28次。选择scoop纯属意外,也是无奈,因为电脑用户被锁了管理员权限,所有exe安装程序都无法安装,只可以用绿色软件,最后被我发现scoop,省去了到处下载XXX绿色版的烦恼,当然scoop里需要管理员权限的软件也跟我无缘了(譬如everything)。推荐添加dorado这个bucket镜像,里面很多中文软件,但是部分国外的软件下载地址在github,可能无法下载。以上两个是官方bucket的国内镜像,所有软件建议优先从这里下载。上面可以看到很多bucket以及软件数。如果官网登陆不了可以试一下以下方式。_scoop-cn

Element ui colorpicker在Vue中的使用_vue el-color-picker-程序员宅基地

文章浏览阅读4.5k次,点赞2次,收藏3次。首先要有一个color-picker组件 <el-color-picker v-model="headcolor"></el-color-picker>在data里面data() { return {headcolor: ’ #278add ’ //这里可以选择一个默认的颜色} }然后在你想要改变颜色的地方用v-bind绑定就好了,例如:这里的:sty..._vue el-color-picker

迅为iTOP-4412精英版之烧写内核移植后的镜像_exynos 4412 刷机-程序员宅基地

文章浏览阅读640次。基于芯片日益增长的问题,所以内核开发者们引入了新的方法,就是在内核中只保留函数,而数据则不包含,由用户(应用程序员)自己把数据按照规定的格式编写,并放在约定的地方,为了不占用过多的内存,还要求数据以根精简的方式编写。boot启动时,传参给内核,告诉内核设备树文件和kernel的位置,内核启动时根据地址去找到设备树文件,再利用专用的编译器去反编译dtb文件,将dtb还原成数据结构,以供驱动的函数去调用。firmware是三星的一个固件的设备信息,因为找不到固件,所以内核启动不成功。_exynos 4412 刷机

Linux系统配置jdk_linux配置jdk-程序员宅基地

文章浏览阅读2w次,点赞24次,收藏42次。Linux系统配置jdkLinux学习教程,Linux入门教程(超详细)_linux配置jdk

随便推点

matlab(4):特殊符号的输入_matlab微米怎么输入-程序员宅基地

文章浏览阅读3.3k次,点赞5次,收藏19次。xlabel('\delta');ylabel('AUC');具体符号的对照表参照下图:_matlab微米怎么输入

C语言程序设计-文件(打开与关闭、顺序、二进制读写)-程序员宅基地

文章浏览阅读119次。顺序读写指的是按照文件中数据的顺序进行读取或写入。对于文本文件,可以使用fgets、fputs、fscanf、fprintf等函数进行顺序读写。在C语言中,对文件的操作通常涉及文件的打开、读写以及关闭。文件的打开使用fopen函数,而关闭则使用fclose函数。在C语言中,可以使用fread和fwrite函数进行二进制读写。‍ Biaoge 于2024-03-09 23:51发布 阅读量:7 ️文章类型:【 C语言程序设计 】在C语言中,用于打开文件的函数是____,用于关闭文件的函数是____。

Touchdesigner自学笔记之三_touchdesigner怎么让一个模型跟着鼠标移动-程序员宅基地

文章浏览阅读3.4k次,点赞2次,收藏13次。跟随鼠标移动的粒子以grid(SOP)为partical(SOP)的资源模板,调整后连接【Geo组合+point spirit(MAT)】,在连接【feedback组合】适当调整。影响粒子动态的节点【metaball(SOP)+force(SOP)】添加mouse in(CHOP)鼠标位置到metaball的坐标,实现鼠标影响。..._touchdesigner怎么让一个模型跟着鼠标移动

【附源码】基于java的校园停车场管理系统的设计与实现61m0e9计算机毕设SSM_基于java技术的停车场管理系统实现与设计-程序员宅基地

文章浏览阅读178次。项目运行环境配置:Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。项目技术:Springboot + mybatis + Maven +mysql5.7或8.0+html+css+js等等组成,B/S模式 + Maven管理等等。环境需要1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。_基于java技术的停车场管理系统实现与设计

Android系统播放器MediaPlayer源码分析_android多媒体播放源码分析 时序图-程序员宅基地

文章浏览阅读3.5k次。前言对于MediaPlayer播放器的源码分析内容相对来说比较多,会从Java-&amp;amp;gt;Jni-&amp;amp;gt;C/C++慢慢分析,后面会慢慢更新。另外,博客只作为自己学习记录的一种方式,对于其他的不过多的评论。MediaPlayerDemopublic class MainActivity extends AppCompatActivity implements SurfaceHolder.Cal..._android多媒体播放源码分析 时序图

java 数据结构与算法 ——快速排序法-程序员宅基地

文章浏览阅读2.4k次,点赞41次,收藏13次。java 数据结构与算法 ——快速排序法_快速排序法