检测技术再进化:人物交互检测,基于多层次条件网络的方法(ICMR2020)
关注公众号,发现CV技术之美
Human Object Interaction Detection via Multi-level Conditioned Network
基于多层次条件网络的人物交互检测
论文:
https://dl.acm.org/doi/abs/10.1145/3372278.3390671
主要贡献
作为场景理解的核心问题之一,人物交互检测(human object interaction detection, HOID)的目标是识别细粒度的特定对象的人体动作,这要求具有视觉感知和推理能力。
现有的基于卷积神经网络(convolutional neural network, CNN)的HOID方法利用了不同的视觉特征,无法满足复杂的人物交互理解。为了提高CNN的推理能力,本文提出了一种新的多层次条件网络(MLCNet),融合了额外的空间语义知识和视觉特征。
具体来说,本文构建了一个多分支CNN作为多级视觉表示的主干。然后将人体结构和目标上下文等额外知识编码为条件,通过仿射变换和注意机制动态影响CNN的特征提取。最后,融合调制的多模态特征来区分相互作用。
本文提出的方法在两个最常用的基准,HICO-DET和V-COCO上进行了评估。实验结果表明,本文的方法优于现有的方法。
具体实现
图1 MLCNet的概述
,表示图像,表示应用一些现成的视觉感知模型来提取到的额外的空间语义知识,表示一起传入模型MCLNet。其中是为检测到的HOI实例σ,其中和为检测到的人与目标的边界框,σ属于HOI类别集。一个HOI类别σ包含一个动作ωσ和一个对象ασ,它们分别属于相应的动作集和对象类别集。
▊ 1. 额外知识的提取
MLCNet综合利用语义信息、全局空间分布以及身体部位与目标之间的关系进行HOI推理。这些显式知识作为纯视觉特征和复杂语义之间的桥梁,有助于提高深度网络的推理能力和可解释性。
对象检测
对于一幅图像,应用最先进的目标检测模型FPN来获得人和物体的位置和类别。检测到的人类和对象实例分别被表示为和
,α 人和对象实例作为HOI候选对象配对,α。对象类别是用一组在大规模语言数据集上预先训练好的高维词向量表示的。
姿态估计
为了获取人体的结构信息,采用一种现成的多人姿态估计方法RMPE,该方法估计每个人体实例的个关节。每个身体关节表示为一个具有置信度值的坐标。
人体解析
利用预先训练的人类解析方法WSHP生成一个与原始图像宽度和高度相同的多通道概率图,每个通道对应的是特定类型的人体部位。与人体关节相比,该语义分割图提供了更密集的像素级结构信息,包括人体部位的形状和边缘。
▊ 2. 多层次的视觉特征
本文构建了一个多分支CNN作为MLCNet的主干。该网络结构对全局上下文、交互阶段、实体和身体部位的综合视觉信息进行编码,并对应分支进行独立优化,能够在训练阶段有效地学习不同的外观分布。
具体方法
1)首先生成整个图的全局特征,其中包含一系列共享的残差块和特征转换块,如图1所示。BaseBlock和ResBlocks是ResNet的标准模块;FTBlock融合了人体结构信息和全局视觉特征。
2)在此基础上,根据交互短语、人类、目标和身体部位的区域,裁剪,从而提取多层次的视觉特征包括和,并传递到相应的分支中。
3)ROI对齐后的特征和的大小为,这里和表示通道的宽度和数量。
4)为了提取细粒度的人体结构视觉特征,本文通过将每个被检测的人体实例的个身体部位划分为个组。对所有个身体部分应用ROI对齐。由所有裁剪后的身体部分特征以通道方式连接而生成,其形状为。
5)为了突出显示与某个对象相关的信息性主体部分,需要将主体部分的注意力应用于。
6)除了视觉特征和,本文进一步补充了一个整体的上下文特征来编码全局场景,是通过池化整个图像的CNN特征(如)生成的。合并的功能被输入到场景分支中,其结构与前面提到的分支相同。有了全局上下文特征,层次的可视化表示可以更加全面。
7)最后,对所有视觉特征应用全局平均池化,生成特征向量作为分类器的输入。
▊ 3. 多层次调节
本文采用了多级条件作用机制,进一步提高了前述多分支CNN的推理能力。具体来说,该方法将全局图像特征、交互阶段特征和人体部位特征与人体结构和对象上下文的空间语义信息动态交替。
全局作用
利用身体部位分割图作为全局条件来增强整个图像的全局视觉特征。将分割图输入条件网络,生成多级条件特征γ,同时对不同尺度下人体部位的相对位置和形状进行编码。
图1显示了全局条件网络的概述。它由四个连续的卷积块组成,与CNN的主干块数目相同。第一个条件块与CNN主干的BaseBlock结构相同,下面的条件块包含三个使用1×1内核的卷积层,其中存在两个LeakyReLU激活层。
值得注意的是,条件特征始终与相应的视觉特征进行空间对齐。在CNN主干的每一个块之后,通过一个特征变换块来实现全局条件化,如图1所示,它结合了相同尺度的视觉特征和条件特征。
如上图所示,FTBlock的特征变换层λ,β采用仿射变换,将输入的视觉特征和调制参数λ,β动态交替。参数由取人体状态特征γ的映射函数生成:
λβγ
λβλβ
其中通过使用1×1内核和LeakyReLU激活使用双卷积层实现,表示按元素乘法。
特征变换块(FTBlock)被称为γ:将视觉特征和状态特征与残差函数:γ融合。由连续残差和变换块生成的全局特征,用于提取上一节中提到的多级视觉特征。
局部作用
局部交互短语是图像中紧密包围目标的一个信息相对丰富的区域。然而,由于人的对象实例和上下文的多样性,交互阶段的外观多样性是巨大的,单纯的视觉特征是不足以捕捉的。因此,本文构造了一个人-物配置图来指导局部调节下的交互阶段特征提取。
具体,首先将人的实例分成组,身体部分,,用一组具有适当边距的对应体关节组周围的边界框表示。
由于局部条件作用是在全局特征中裁剪出来的局部视觉特征上进行的,因此无法保留形状、边缘等细粒度的空间细节。本文生成一个box级人体-对象空间配置图如下,作为局部条件,编码人-物对的相对位置,所有人体部位拥有个通道。每个通道都是一个二维的二元矩阵,具有相同大小的相互作用短语。包围框内的数字设为1,否则设为0。
将配置图输入局域条件网络生成局域条件特征π。局域条件网络由四个1×1内核的卷积层组成,其中存在三个LeakyReLU激活层。局部条件作用采用局部特征变换模块实现,其结构与相同:
π
与全局条件作用相比,局部条件作用可为特定的HOI候选人提供更具体的空间语义引导。
身体部位的注意力机制
从不同身体部位提取的视觉特征需要给予不同的关注。通过将目标对象类别的单词向量v输入到一个完全连接的网络中,生成注意力权重:
κκ
其中为LeakyReLU激活函数,为项目参数,为偏置项,。
由于在大规模语言数据集上预先训练的词向量对对象的功能进行了编码,因此知识可以在功能相似的不同类别的对象之间传递。将得到的注意权重应用于身体部位的视觉特征:
其中,是包围框根据第i个身体部位从裁剪的特征。
将人体各部位加权和原始特征融合如下:
其中为通道级联。
对象上下文注意可以有效地改善人体部位的视觉特征。
▊ 4. 多通道特征融合
除了多级视觉特性外,本文还进一步增加了一个相对位置特征和一个目标上下文特性。以人-物配置图作为输入,由两个卷积层最大池化后生成。常被HOID方法用来编码交互阶段中围绕人和对象实例的边界框的相对位置;可以捕获不同对象之间的特征相似度。
这些特征都被输入到独立的全连接分类器中,这些分类器的输出被sigmoid函数归一化,以估计所有对象无关的动作的概率。然后采用基于iCAN的后期融合策略,融合所有分支的置信度{δ}和HOI候选对象中被检测到的人与目标的置信度值(ρ和ρα)如下:
δδδδδδδδ
ρσδωσρρασ
其中ˆδ为动作的融合置信向量,δ的上标表示对应的特征类型。ρσ则为HOI类别σ的置信度值。
值得注意的是,考虑到HOI的类别空间可能相当大,要获得足够和平衡的训练数据是不现实的。我们将HOI类别分解为动作和对象,并独立地识别它们。该方法可以处理大规模类别空间和长尾数据(类别数量严重不平衡)分布。此外,交互知识可以在不同对象之间传递,这使得零命中HOID成为可能。
▊ 5. 模型训练
为每一步向模型输入一个Mini批,Y表示与对象无关的动作标签,Ω是动作类别集合,y∈{0,1}。
由于一个人的实例可以对一个目标对象实例施加多种类型的动作,HOI识别被表述为一个多标签分类问题。在训练阶段,使用二元交叉熵损失函数BCE计算所有七个分支的独立损失值:
δ
在这里,小批量损失是一个总和,而不是平均值。它有效地避免了罕见类别中的样本被忽略的情况,并且可以避免模型偏于频繁出现的类别。
▊ 6. 实验结果
成分分析结果
base包括人体分支、对象分支、身体部位分支、短语分支和空间分支;
base -frozen是冻结了base的CNN主干,并在MS-COCO数据集上用预先训练的权值初始化主干,构建的一个比较基线;
其他包括场景分支(SB), 上下文分支 (CB), 全局条件 (GC),局部条件 (LC) 身体部分注意力分支(BPA),Ours=Base+CB+SB+BPA+LC+GC;
1) 通过第1~2行,结果表明,通过独立学习不同层次的视觉模式,基于CNN的HOI识别可以得到很大的提高;
2) 通过第3~4两行,结果表明,场景分支和上下文分支的有效性;
3) 通过第5 ~ 7行,全mAP的逐渐提高分别为0.07%、0.24%和0.17%,可知完整的模型在本次实验中取得了最佳的性能。结果表明,额外的空间语义知识提高了CNN的推理能力。
性能对比
1) 大部分结果都超过现有最好方法 PMFNet,这证实了利用额外知识作为条件可以有效地增强CNN对细粒度人物交互的推理能力;
2) 本文方法map在rare和non-rare上的差异为1.73%,显著低于RPNN的5.93%。这证实了所采用的知识转移策略和损失函数能够有效地抑制长尾训练数据和知识转移的负面影响;
3) 在不调整超参数的情况下,本方法的模型在V-COCO数据集上具有较好的性能,且训练时数较少,证明了该模型的鲁棒性。
讨论
- 为了对多余的空间语义知识进行编码,本文构造了具有多个卷积层的条件网络,从而增加了参数的数量。
- 为了学习不同视觉内容的不同外观分布,多分支结构进一步扩大了网络的规模,这需要大约6GB的GPU内存进行训练。
- 此外,在一些涉及多个个体的复杂情况下,一些检测到的HOI实例的信息量低于其他实例,这可能会给旨在描述图像的主要视觉内容的应用程序带来负面影响。
- 然而,由于之前的工作没有考虑到语义兴趣的HOI标注,现有的方法无法通过监督学习从复杂场景中选择信息最丰富的HOI实例。这一问题值得更多的关注,需要进一步的数据收集和模型设计的探索。
结论
为了弥补图像的低层视觉特征与人物交互的高层语义信息之间的差距,本文提出了一种多层次条件网络,利用额外的空间语义信息作为条件来动态影响CNN的行为。
该方法融合了显性先验知识和隐性视觉特征,实现了复杂、细粒度的视觉内容理解。应用现成的人体解析模型和姿态估计模型,获取图像中人体实例的身体结构信息。本文还利用目标检测模型来获取图像中实体的位置和类别。额外的知识通过条件网络进行编码,用于指导视觉特征提取。
为了评估所提方法的有效性,我们在HICODET和V-COCO两个公共基准上进行了实验。实验结果表明,该方法显著优于现有的多模型特征融合方法,验证了所提出的多级条件机制和多模型特征融合的有效性。
END
欢迎加入「计算机视觉」交流群
检测技术再进化:人物交互检测,基于多层次条件网络的方法(ICMR2020)相关推荐
- 基于深度学习的目标检测技术演进:从目标检测到人脸检测
本篇博客主要转载两篇写得好的分别介绍基于深度学习的目标检测和人脸检测的文章,最近在调研基于深度学习的人脸检测相关的文章,在网上查相关资料时,有幸看到.文末附带基于深度学习的目标检测和人脸检测相关经典文 ...
- 苹果新算法已混进 iOS 14.3!CSAM 检测技术再遭网友争议
整理 | 禾木木.郑丽媛 出品 | AI科技大本营(ID:rgznai100) 苹果宣布即将推出 CSAM 检测系统时,遭到了 4000 多个组织及个人的公开反对,他们质疑苹果会破坏用户隐私和端到端加 ...
- 苹果藏在 iOS 14.3 中的新算法被发现,CSAM 检测技术再遭抗议!
整理 | 郑丽媛 出品 | CSDN(ID:CSDNnews) 还记得上周,苹果宣布即将推出 CSAM 检测系统时,遭到了 4000 多个组织及个人的公开反对,他们质疑苹果此举会破坏用户隐私和端到端加 ...
- 再获国家发明专利 ——《基于动静结合的日志特征识别方法及装置》
专利号202210785895.9!聚铭网络申报的<基于动静结合的日志特征识别方法及装置>发明专利通过国家知识产权局授权. 此专利提供一种基于学习方式的日志类型识别方法及装置,所述方法包括 ...
- 搜狗分身技术再进化,让AI合成主播“动”起来
整理 | 一一 出品 | AI科技大本营 去年 11 月的互联网大会期间,搜狗与新华社联合发布全球首个AI合成主播一经亮相,引起了人们对"AI+媒体"的广泛讨论.如今,搜狗 AI ...
- 基于VMM的Rootkit检测技术及模型分析
Linux通过其特有的虚拟文件系统(Virtual Filesystem)实现对多种文件系统的兼容.虚拟文件系统又称虚拟文件系统转换(Virtual Filesystem Switch vFs),是一 ...
- [系统安全] 三十三.恶意代码检测(3)基于机器学习的恶意代码检测技术
您可能之前看到过我写的类似文章,为什么还要重复撰写呢?只是想更好地帮助初学者了解病毒逆向分析和系统安全,更加成体系且不破坏之前的系列.因此,我重新开设了这个专栏,准备系统整理和深入学习系统安全.逆向分 ...
- 毕业设计-基于深度学习的舰船目标检测技术
目录 前言 课题背景和意义 实现技术思路 一.舰船目标检测技术 二.舰船目标检测数据集 实现效果图样例 最后 前言
- AOI光学自动检测技术 | 基本原理与设备构成
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 一,引言: AOI(automatically optical i ...
最新文章
- C#中的委托和事件(续)
- python terminator_Python turtle.Terminator方法代碼示例
- 程序员需要了解的一点组织行为学知识
- 高级JAVA - 动态代理的实现原理和源码分析
- 国家计算机病毒中心发布违规 APP 和 SDK 名单
- 华为哪个是鸿蒙,华为系统是鸿蒙还是安卓?有什么区别
- python文本文档_Python3 File
- NI.LabVIEW.v8.6.1.FPGA.Module-ISO 2CD(FPGA开发)
- Linux的程序安装和包管理
- 数字电子技术基础第六版阎石王红课后答案
- OC渲染器渐变怎么用?
- 原来安卓手机安装谷歌服务框架这么简单!
- QT5实现职工工资信息管理系统(文件读写)
- 基于Java Web的航空售票管理系统(酒店管理系统,图书管理系统、学生管理系统)
- 【v-on】一个元素绑定多个事件以及一个事件绑定多个函数的两种写法
- 输入远程计算机地址后,不提示输入用户名密码直接进入计算机怎么回事,解决Windows远程桌面连接每次都提示输入密码的问题...
- 斐讯音箱控制扫地机器人_斐讯扫地机器人app
- 物联网的三层概念模型
- 计算机专业助我成长作文600,科技伴随我成长作文
- 深度剖析未来网络服务模式 《云交换白皮书》一文全讲透
热门文章
- OpenFlow网络中处理正常流量的工作流程
- Matlab将多个柱形图放于一个图中
- linux ftp 登录慢,linux中vsftpd登录,上传下载文件慢解决办法linux操作系统 -电脑资料...
- Spring框架 DI
- 计算机视觉基础-图像处理(图像分割/二值化)cpp+python
- A. Second Order Statistics(sort 水题)
- 网页没有横向滚动条_【第四课】网页里的表单
- Linux ubuntu 装openCV,Ubuntu Linux下安装OpenCV2.4.1所需包
- armbian docker Chrome_一起学docker06-docker网络
- c语言能让制表符空9个字符码,C语言编程规范 – 嗨!大佟!