(5)步态识别论文研读——GaitDAN:基于对抗域适应的跨视角步态识别

GaitDAN: Cross-view Gait Recognition via Adversarial Domain Adaptation | IEEE Journals & Magazine | IEEE Xplore

GaitDAN: Cross-view Gait Recognition via Adversarial Domain Adaptation

基于对抗与适应

摘要:视角变化导致步态外观存在显着差异。因此,识别跨视角场景中的步态是非常具有挑战性的。最近的方法要么在进行识别之前将步态从原始视图转换为目标视图,要么通过蛮力学习或解耦学习提取与相机视角无关的步态特征。然而,这些方法有许多约束,例如处理未知相机视角的难度。这项工作将视角变化问题视为域变化问题,并提出通过对抗性域适应来解决这个问题。这样,不同视角的步态信息被视为来自不同子域的数据。该方法侧重于调整这种子域变化引起的步态特征差异,同时在不同人之间保持足够的可辨别性。为此,提出了一种用于判别特征提取的分层特征聚合 (HFA) 策略。通过结合 HFA,特征提取器可以很好地聚合网络不同阶段的时空特征,从而获得全面的步态特征。然后,提出了一种对抗性视图变化消除 (AVE) 模块,该模块配备了一组用于识别不同步态视角的显式模型。通过对抗性学习过程,在给定特征提取器生成的步态特征的情况下,AVE 无法识别最终步态视点。也就是说,对抗性域适应减轻了视图变化因子,并有效地提取了与所有子域兼容的判别步态特征。在CASIA-B、OULP和OUMVLP三个最流行的公共数据集上进行的大量实验有力地证明了我们方法的有效性。

introduction

这项工作提出了一种新的跨视图步态识别方法,该方法被视为域转移问题。不同视图的步态信息被视为来自不同子域的信息。视图变化引起的统计分布差异被视为子域偏移。因此,采用域适应 (DA) 作为所提出方法的管道。成功适应的关键是学习一个判别模型,以最小化源域和目标域之间的分布差异。在这项工作中,DA 不考虑针对一个目标域的一个源域 [20-22],但打算同时对齐多个子域的步态信息。因此,步态识别的步态最终特征表示与视图变化无关。受无监督DA方法[20,23 -25]的启发,我们采用领域对抗神经网络(DANN)[25]主干网络采取Domain-adversarial Neural Network (DANN) 作为解决这一挑战的基本框架。这种选择的基本原理源于 DANN 提供了几个关键优势的事实。首先,DANN 通过修改特征表示本身来匹配特征空间分布,而不考虑不同领域背后的变化因素和复杂的解耦操作,这更适合我们的目的多个子域适应。其次,DANN 在统一的架构中执行特征学习和域适应,并且可以使用简单的反向传播算法来实现。这种工作机制能够充分探索步态中的时空信息,同时消除视图变化的影响。因此,我们提出了一种新的步态域对抗网络(记为GaitDAN),用于跨视图步态识别。GaitDAN能够通过端到端对抗训练学习判别和子域不变的步态特征,使最终的步态表示在所有子域中都可以很好地泛化。图 1 说明了 GaitDAN 的结构,它由一个新颖的特征提取器(HFA)、对抗性视图更改消除 (AVE) 模块和度量学习 (ML) 模块组成。特征提取器是具有专门设计的分层特征聚合 (HFA) 策略的新网络,能够提取浅层局部细节信息和高层语义表示的互补时空特征。因此,在不丢失细微的视觉线索的情况下,可以获得更全面的时空步态特征。AVE模块是GaitDAN中包含多个视图鉴别器的关键适应组件。它试图挑战特征提取器生成的步态特征,并通过对抗性学习过程将它们区分在不同的子域。也就是说,特征提取器旨在生成欺骗AVE的步态表示。同时,AVE以对抗学习的方式反馈给特征提取器,生成更好的子域不变步态特征来欺骗AVE。引入了ML模块,以进一步提高步态表示在特征空间中的可区分性,通过这种方式,保证了步态识别任务的高可辨别性。

随着训练的进行,GaitDAN 可以产生子域不变和有区别的步态特征。更具体地说,我们做出了以下三个主要贡献。

•我们首次将视图变化消除转化为域适应问题,提出了一种新的用于跨视图步态识别的领域对抗网络。与之前基于转换或基于消除的方法形成鲜明对比,这使得充分利用时空信息,同时消除视图变化的影响。更令人印象深刻的是,它提高了模型在完全未知的视角进行跨视图步态识别的性能。

•我们提出了一种新的HFA策略,该策略可以利用网络各个阶段的综合时空信息,并以微妙的注意方式分层聚合它们,有效地提高了所提方法的判别能力,保证了步态序列中时空信息的充分挖掘。•我们提出了一种简单而有效的视图变化消除方法,即AVE模块。通过利用子域对抗对齐的优势,AVE模块可以简单的方式缩小多个视图级子域之间的差异,有利于整个网络的端到端训练,进一步提高步态表示的鲁棒性。本文的其余部分安排如下。第 II 节简要介绍了相关工作。第 III 节详细解释了所提出的 GaitDAN。在第四节中,介绍了GaitDAN的实现细节。同时,给出了GaitDAN的性能评价和详细的烧蚀研究。第 V 节总结了整篇论文。

整体框架

 方法::

对于有监督的跨视图步态识别,我们有一个标记的训练集 XL,它由 V 个视图级子域 Xv = {(xv i , yvi )}Nvi=1 , v ∈ {1, 2, 组成。.., V },使得子域 Xv 中的每个样本 xv i 都有一个对应的身份标签 yvi ∈ {1, 2,..., Pv }。Nv 和 Pv 分别是子域 Xv 中的样本数和身份数。同时,测试集XT = {xT j}NTj=1包含NT步态样本,没有来自V个不同视图的标识标签。我们提出的方法的目标是通过 DA 过程学习与视图变化无关的判别步态特征。所提出的GaitDAN的总体框架如图1所示。首先将来自不同子域的步态轮廓序列输入到一个新的特征提取器GF中,提取细粒度的时空特征FF M。然后,为了获得视图不变的细粒度特征,将视图对抗学习过程合并到网络中。这是一个由特征提取器GF和AVE模块GAV E组成的两人博弈。训练AVE模块来区分输入的细粒度步态特征来自哪个子域,同时对特征提取器GF进行微调,以混淆AVE模块。具体来说,通过最大化AVE模块的损失来学习特征提取器GF的参数WF,而AVE模块的参数WAV E通过最小化AVE模块的损失来学习。同时,应用包括三元组损失和交叉熵损失的 ML 模块来增强特征空间中细粒度步态表示的区分。因此,整个框架的目标可以表示为

 

 目的——获得具有区分性和视点不变性的最终步态表示。

特征提取模块

 如图2所示,具有HFA策略的特征提取器由两个分支和一个特征映射头组成。(两分支结构)上分支是提取一般时空特征的基本分支,可以由任何主干实现。以下分支是 HFA 分支。它以基本分支产生的特定阶段特征作为输入,是通过分层特征聚合逐步捕获全面的全局时空特征的主要分支。这样,提取了更多的整合时空步态特征,更有利于基于鉴别轮廓序列的步态识别。然后,通过特征映射头将提取的全局特征映射到度量空间,得到基于部分的细粒度步态表示。在这一部分中,首先介绍基本分支和HFA分支的具体结构和详细工作机制,然后对特征映射头进行公式描述。

在本文中,一般的 3D 卷积神经网络 (CNN) 被用作基本分支,因为之前的 SOTA 工作 [1, 12-14] 已经证明稳健的时空表示是基于轮廓序列的步态识别的关键,并且 3D CNN 可以带来出色的性能优势。如图2所示,基本分支包含多个网络阶段(“阶段0”、“阶段1”、“阶段2”和“阶段3”),每个阶段由初始层或卷积块组成。“阶段 0”是用于处理输入步态序列的初始阶段。“阶段 1”到“阶段 3”是用于分别提取预处理输入的浅层和高级语义特征的网络的不同阶段。网络阶段的提取结构列于表中

步态轮廓序列的二值化性质,加上视图变化引起的大外观干扰,导致受试者仅在轮廓序列中的特定位置的细微差异。因此,利用从网络的浅层阶段提取的特征进行准确的步态识别变得至关重要,因为它们可以对局部区域进行详细的编码。此外,用低级特征补充高级特征可以专注于更具辨别力的区域,从而提高特征的可辨别性。在此基础上,我们将分层特征聚合(HFA)策略引入到基于基本分支的特征提取器中,以获得更全面的时空步态特征。它由HFA分支实现,如图2所示。HFA的核心思想是同时考虑不同阶段的视觉线索。然而,不同阶段特征之间的分布差异和语义错位。直接聚合[39,40],如连接、求和或使用瓶颈层可能会导致语义混淆,而不是实现积极的补充。为此,我们引入了注意力机制,并在 HFA 分支中提出了一个跨阶段注意力聚合 (CSAA) 块,以合并来自基本分支中不同网络阶段的跨阶段时空特征。CAA块的详细架构如图3所示。它由两个可学习参数σ1、σ2、跨阶段注意推导操作Wm和跨阶段注意聚合操作Wa组成,具体来说,对于来自基本分支中两个相邻阶段的任何子域的输入 x,首先通过可学习参数组合基本分支中的一般时空特征

其中⊕和分别表示逐元素求和和乘法。Wa 包含另一个 3 × 3 × 3 卷积层和 Leaky Relu 层。值得注意的是,CSAA 块考虑了基本分支中不同阶段特征之间的差异,从而生成更准确的注意掩码。在软注意掩码的指导下,可以进一步聚合初始组合特征,提取更具区分性的跨阶段时空特征。通过利用这种两步注意力聚合方法,CSAA 有效地缓解了不同阶段的异构特征的错位。它与常用的直接聚合多阶段全局一般特征的操作有很大的不同。此外,CSAA 通过 Wm 为初始聚合的跨阶段特征在时空域中生成注意掩码,并放弃了通道相互依赖性的显式建模。由于步态识别的输入是简单的二进制轮廓序列,缺乏颜色和纹理信息,通道权重无法准确反映通道的重要性,而是可能会引入噪声并干扰原始特征提取,特别是对于浅层步态特征图。如果引入了通道注意方法,则反过来会导致性能下降[14]。与通道注意方法相比,CSAA考虑了步态序列的时空特性,在这种情况下,CSAA中Wm可以激活关键的时空信息。因此,可以获得更全面的跨阶段时空特征。

3特征映射头:

引入了特征映射头来获得更具区分性的细粒度特征。首先对HFA分支得到的全局特征进行水平切片(HS)。然后使用广义平均池化(GeM)[41]从每个水平条中提取细化特征,如下所示:

C.对抗性视角变化消除模块

基于域适应理论[42],在跨域情况下一个良好表示是使模型无法识别域源信息的对象。AVE模块旨在在不指定任何特定源或目标域的情况下减少子域之间的分布差异。与只涉及两个域的一般域适应问题不同,基于轮廓序列的跨视图步态识别情况复杂,一方面涉及多个不同的子域,另一方面涉及佩戴和携带情况等复杂场景变化。因此,从不同子域到域不变空间的转换并不相同。在这方面,设计了一种逐步细化的域适应方法,该方法允许来自每个子域的样本来学习它们对域不变空间的相应变换。这导致每个子域与其他子域之间的域偏移逐渐减小,最终导致所有子域之间的差异减小。如图4所示,AVE模块由多个具有共享梯度反向层(GRL)的视图鉴别器组成。特别是,二进制(1 vs.其他)鉴别器,是为AVE模块中的每个特定视图设计的。此外,开发了一个对抗性目标,以最小-最大的方式同时训练特征提取器和这些鉴别器。鉴别器损失的最小过程使他们能够区分源自该子域的每个步态输入,而其损失的最大过程旨在混淆这些鉴别器以消除子域差异。因此,AVE 模块中的每个子域都被视为临时目标域,而其他子域被视为源域对抗性学习用于减少源域和目标域之间的差异。通过迭代训练,最终将不同摄像机视图下的步态信息映射到一个公共嵌入空间,在该嵌入空间中,在多个子域之间无法区分步态特征,具体来说,对于具有权重参数 Wv D 的视图鉴别器 Dv,首先将归一化后输入样本 x 的每个基于部分的特征 f h F M ∈ RC′ 分别输入到 Dv 通过 GRL,然后将 Dv 的相应输出馈送到 softmax 层以获得概率输出 z ∈ R2。该过程可以表示为:

这里使用的GRL[25,35]是通过最大化子域区分损失(即公式12)来减少多子域的分布差异。如第 II-B 节所述,它可以在反向传播期间自动将最大化问题转换为最小化负损失,以实现网络优化的一致性。因此,优化GF的最大目标函数可以表示为

AVE模块的前向和后向传播如图4所示。在前向传播过程中,GRL只是一个公共层,没有任何额外的操作。在反向传播过程中,GRL反转优化目标Eq.(12)相对于特征提取器中的参数的梯度,然后用负权重α向后传递。通过GRL,可以以端到端的方式实现子域对抗对齐,而无需单独固定生成器和鉴别器进行迭代训练,如GANs。这大大简化了网络的整体实现,促进了步态序列中时空特征的挖掘。最后,可以提取所有视图鉴别器难以区分的鲁棒特征表示,然后可以有效缓解子域之间的差距。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

刷代码随想录有感(50):路径总和

题干: 代码; class Solution { public:bool traversal(TreeNode* node, int count){if(node NULL)return false;if(!node -> left && !node -> right && count 0)return true;if(!node -> left && !node -> right &&…

一个类实现Mybatis的SQL热更新

引言 平时用SpringBootMybatis开发项目,如果项目比较大启动时间很长的话,每次修改Mybatis在Xml中的SQL就需要重启一次。假设项目重启一次需要5分钟,那修改10次SQL就过去了一个小时,成本有点太高了。关键是每次修改完代码之后再重…

C语言实验-循环结构和选择结构

一&#xff1a; 求和:1(14)(149)(14916)…(14916…n2)? 其中n的值由键盘输入&#xff1b; #define _CRT_SECURE_NO_WARNINGS #include<stdio.h>int main() {int sum 0;int n 0;printf("请输入一个整数");scanf("%d", &n);for (int i 0; i &l…

SpringCloud基础 Consul的引入

前言 首先是为什么引入consul这个组件 我们知道微服务分为很多个模块,这里模块中相互调用,我使用硬编码的模式是不好的 比如微服务模块需要更新的时候,我们使用硬编码的方式可能需要修改很多个地方 但是使用consul之后,就引入了注册中心,我们只需要将对应的服务注册为节点 这样…

力扣---二叉树的右视图

给定一个二叉树的 根节点 root&#xff0c;想象自己站在它的右侧&#xff0c;按照从顶部到底部的顺序&#xff0c;返回从右侧所能看到的节点值。 示例 1: 输入: [1,2,3,null,5,null,4] 输出: [1,3,4]示例 2: 输入: [1,null,3] 输出: [1,3]示例 3: 输入: [] 输出: []实现方法&…

FlaUI

FlaUI是一个基于微软UIAutomation技术&#xff08;简称UIA&#xff09;的.NET库&#xff0c;它主要用于对Windows应用程序&#xff08;如Win32、WinForms、WPF、Store Apps等&#xff09;进行自动化UI测试。FlaUI的前身是TestStack.White&#xff0c;由Roemer开发&#xff0c;旨…

大模型的实践应用22-谷歌Gemma AI大模型的架构原理,以及Gemma模型的部署安装本地教程

大家好,我是微学AI,今天给大家介绍一下大模型的实践应用22-谷歌Gemma AI大模型的架构原理,以及Gemma模型的部署安装本地教程。谷歌Gemma AI大模型是由Google AI团队开发并开源。Gemma模型采用Transformer编码器-解码器架构,并加入了一些改进,例如使用稀疏注意力机制来提高推…

半导体晶圆厂内外网数据单向导出,什么样的方案才安全又便捷?

半导体晶圆厂企业为了隔绝外部⽹络有害攻击、保护⽹络和数据安全&#xff0c;通常采⽤物理隔离的⽅式&#xff0c;将企业内⽹与互联⽹隔离。⽹络隔离后&#xff0c;基于业务开展需求&#xff0c;部分重要数据仍需由内⽹导⼊及导出⾄外部⽹络区域。为保障数据的安全合规性&#…

交互式探索微生物群落与生态功能的关系

微生物群落在生态系统中发挥则重要功能&#xff0c;我们在对微生物群落进行分析时&#xff0c;会将不同分类水平&#xff08;从门到属&#xff09;的微生物类群的相对丰度与测定的某一生态功能进行相关性分析。但由于微生物类群数较多&#xff0c;又有不同的分类水平&#xff0…

一文掌握Vue依赖注入:原理、应用场景以及最佳模块化与单元测试实践,提升代码的可维护性与模块化程度

Vue 中的依赖注入&#xff08;Dependency Injection, DI&#xff09;机制通过 provide 与 inject API&#xff0c;实现了跨组件层级间的数据与服务透明传递&#xff0c;使父组件能够向其任意深度的子孙组件“注入”依赖&#xff0c;而不需要通过层层传递 props 或使用全局状态管…

uniapp 微信小程序 分享海报的实现

主页面 <template><view class="page"><!-- 自定义导航栏--><Navbar title="我的海报"></Navbar><view class="container"><poster ref="poster" :imageUrl="image" :imageWidth=&…

机器学习理论基础—集成学习(1)

机器学习理论基础—集成学习 个体与集成 集成学习通过构建并结合多个学习器来完成学习任务&#xff0c;有时也称为多分类系统等。 分类&#xff1a; 根据集成学习中的个体学习器的不同可以分为同质集成&#xff08;集成的学习器相同例如全部是决策树&#xff09;&#xff0c…

Java核心技术.卷I-上-笔记

目录 面向对象程序设计 使用命令行工具简单的编译源码 数据类型 StringBuilder 数组 对象与类 理解方法调用 继承 代理 异常 断言 日志 面向对象程序设计 面向对象的程序是由对象组成的&#xff0c;每个对象包含对用户公开的特定功能部分和隐藏的实现部分从根本上…

ARCGIS PRO3 三维模型OSGB转SLPK场景数据集

1.前言 因项目工作&#xff0c;需要将三维模型发布到arcgisserver上&#xff0c;但arcgisserver只支持slpk格式的模型&#xff0c;于是我开启了漫长的三维模型格式转换之旅&#xff0c;在这里记录下本人踩过的坑。 2.三维模型数据情况 2.1 模型大小&#xff1a;在20GB以上&a…

解决NetworkManager覆盖/etc/resolv.conf的问题

发布时间&#xff1a;2024.4.27 问题 /etc/resolv.conf是Linux下DNS的配置文件。 但是NetworkManager会用覆盖它&#xff0c;导致我们每次都要重新配置。 解决办法 这是官方推荐的做法。或者你可以用resolveconf工具。 $ nm-connection-editor会调起一个界面&#xff0c;…

若依:Linux Centos 7.9 安装部署RuoYi前后端集成版

目录 1.虚拟机操作系统版本 2.删除旧的jdk 3.下载JDK 17 &#xff1a; 4.下载 mvn 3.9.6&#xff1a; 5.下载mysql:5.7.44版本 6.git下载若依&#xff1a; 7.修改数据库连接&#xff1a; 8.mvn 清理和打包 9.启动若依&#xff1a; 1.虚拟机操作系统版本 2.删除旧的jd…

Android中的屏幕刷新机制(动画视频形象说明机制)

一&#xff0c;刷新率和帧率&#xff0c;60hz和60fps的区别 在Android系统中&#xff0c;刷新率和帧率是两个不同的概念&#xff0c;它们各自在显示过程中扮演着不同的角色。以下是对它们的详细解释&#xff1a; 刷新率&#xff0c;单位是Hz&#xff0c;是指屏幕在一秒内刷新…

螺旋角和导程、转位后的齿轮有什么关系?

最近和小伙伴聊到了一个问题&#xff1a;斜齿轮螺旋角和导程的关系&#xff0c;主要是在遇到在采用转位设计方式的刀具时&#xff0c;更觉得有点迷惑&#xff0c;今天咱们就聊聊这个事儿。 先来说斜齿轮螺旋角和导程的关系&#xff1a; 斜齿轮是有多个螺旋面组成的&#xff0…

图像在神经网络中的预处理与后处理的原理和作用(最详细版本)

1. 问题引出及内容介绍 相信大家在学习与图像任务相关的神经网络时&#xff0c;经常会见到这样一个预处理方式。 self.to_tensor_norm transforms.Compose([transforms.ToTensor(), transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))]) 具体原理及作用稍后解释&…

【国标语音对讲】EasyCVR视频汇聚平台海康/大华/宇视摄像头GB28181语音对讲配置

一、背景分析 近年来&#xff0c;国内视频监控应用发展迅猛&#xff0c;系统接入规模不断扩大&#xff0c;涌现了大量平台提供商&#xff0c;平台提供商的接入协议各不相同&#xff0c;终端制造商需要给每款终端维护提供各种不同平台的软件版本&#xff0c;造成了极大的资源浪…