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

news2025/1/12 15:57:55

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.coloradmin.cn/o/1618520.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

虚假新闻检测——Adapting Fake News Detection to the Era of Large Language Models

论文地址:https://arxiv.org/abs/2311.04917 1.概论 尽管大量的研究致力于虚假新闻检测,这些研究普遍存在两大局限性:其一,它们往往默认所有新闻文本均出自人类之手,忽略了机器深度改写乃至生成的真实新闻日益增长的现…

stabel-TTS

文章目录 model arch model arch github测试网页 text encoder 换成DiT结构;decoder 用flow结构,text 到mel的时长对齐,使用MAS,和Glow-TTS的结构很像【encoder从transformer变成了diffusion】

初识C++ · 类和对象(中)(2)

前言:上篇文章已经介绍了6个默认成员函数中的3个函数,分别是构造函数,析构函数,拷贝构造函数,本文介绍的是后三个,赋值运算符重载,const成员函数,取地址操纵符重载。 目录​​​​​…

【Mysql】用frm和ibd文件恢复mysql表数据

问题 总是遇到mysql服务意外断开之后导致mysql服务无法正常运行的情况,使用Navicat工具查看能够看到里面的库和表,但是无法获取数据记录,提示数据表不存在。 这里记录一下用frm文件和ibd文件手动恢复数据表的过程。 思路 1、frm文件&…

371D - Vessels

思路&#xff1a;用并查集维护&#xff0c;如果当前容器没有满&#xff0c;就指向自己&#xff0c;否则指向下一个容器。 这样就可以快速 find 到下一个没有满的容器&#xff0c;从而模拟询问 1。 代码&#xff1a; void solve(){int n;cin >> n;vector<int>p(n …

刷题之Leetcode242题(超级详细)

242.有效的字母异位词 力扣题目链接(opens new window)https://leetcode.cn/problems/valid-anagram/ 给定两个字符串 s 和 t &#xff0c;编写一个函数来判断 t 是否是 s 的字母异位词。 示例 1: 输入: s "anagram", t "nagaram" 输出: true 示例 2…

运维想要不背锅,职责与注意事项,你得仔细看看!

在IT领域&#xff0c;运维人员常常面临着“背锅”的情况。当系统出现故障、服务中断或性能下降时&#xff0c;运维人员往往成为首要责任人。然而&#xff0c;真正的问题并不仅仅是“背锅”&#xff0c;而是在问题发生后如何合理应对和解决。在进行IT运维管理时&#xff0c;我们…

(七)小案例银行家应用程序-申请贷款-some方法和every方法

some方法 ● 我们先回顾一下includes方法 console.log(movements.includes(-130));只要数组中存在-130这个值&#xff0c;就会返回true&#xff0c;否则就会返回flase ● 而some方法只要达成某一个条件就会返回true&#xff0c;否则就返回flase const someMethod movement…

4.23学习总结

一.NIO(一) (一).简介: NIO 是 Java SE 1.4 引入的一组新的 I/O 相关的 API&#xff0c;它提供了非阻塞式 I/O、选择器、通道、缓冲区等新的概念和机制。相比与传统的 I/O 多出的 N 不是单纯的 New&#xff0c;更多的是代表了 Non-blocking 非阻塞&#xff0c;NIO具有更高的并…

ABeam×StartUp丨蓝因机器人访问ABeam旗下德硕管理咨询(深圳)新创部门,展开合作交流

近日&#xff0c;深圳蓝因机器人科技有限公司&#xff08;以下简称“蓝因机器人”&#xff09;创始人陈卜铭先生来访ABeam旗下德硕管理咨询&#xff08;深圳&#xff09;有限公司&#xff08;以下简称“ABeam-SZ”&#xff09;&#xff0c;与新创部门展开合作交流。 交流中&am…

测试 mybatis 是否生效【具有增删改查的功能】

一、 1.1按 anl enter 1.2 注意点&#xff1a; test 下 与 上面的名字需保持一致 测试上面的&#xff0c;路径需保持一致&#xff0c;不一致&#xff0c;后期可能会报错。不是相同目录可能会找不到启动类 1.3 写测试 1.4.1 【先】 添加插件 【一键调用一个对象的所有的se…

C++类和对象:赋值重载,const成员,取地址及const取地址操作符重载

文章目录 1.赋值运算符重载1.1运算符重载1.2 赋值运算符重载1.3 前置和后置重载 2.日期类的实现3. const成员函数4 取地址及const取地址操作符重载 上文介绍了前三个默认成员函数&#xff0c;本文会介绍剩下三个&#xff0c; 赋值重载会重点展开。 1.赋值运算符重载 1.1运算符…

双非一战逆天改命,上岸Top3!

这个系列会邀请上岸学长学姐进行经验分享~今天经验分享的同学同样是小马哥上海交大819的全程班学员&#xff0c;双非逆袭上岸&#xff0c;非常厉害&#xff01; 01-前言 个人介绍&#xff1a;本人就读于江苏某双非&#xff0c;绩点3.2&#xff0c;本科期间仅校赛级别奖项。四…

JavaSE内部类

内部类概述 1.内部类的基础 内部类的分类&#xff1a;实例化内部类&#xff0c;静态内部类&#xff0c;局部内部类和匿名内部类 public class OutClass {// 成员位置定义&#xff1a;未被static修饰 --->实例内部类public class InnerClass1{}// 成员位置定义&#xff1a;被…

公园景区伴随音乐系统-公园景区数字IP广播伴随音乐系统建设指南

公园景区伴随音乐系统-公园景区数字IP广播伴随音乐系统建设指南 由北京海特伟业任洪卓发布于2024年4月23日 随着“互联网”被提升为国家战略&#xff0c;传统行业与互联网的深度融合正在如火如荼地展开。在这一大背景下&#xff0c;海特伟业紧跟时代步伐&#xff0c;凭借其深厚…

如何在PostgreSQL中跟踪和分析查询日志,以便于排查性能瓶颈?

文章目录 启用查询日志分析查询日志1. 查找执行时间长的查询2. 分析资源消耗3. 使用pgBadger分析4. 优化查询 示例代码结论 在PostgreSQL中&#xff0c;跟踪和分析查询日志是排查性能瓶颈的重要步骤。通过查看和分析查询日志&#xff0c;我们可以了解哪些查询在执行时遇到了问题…

17.Nacos与Eureka区别

Nacos会将服务的提供者分为临时实例和非临时实例。默认为临时实例。 临时实例跟eureka一样&#xff0c;会向注册中心报告心跳监测自己是否还活着。如果不正常了nacos会剔除临时实例。&#xff08;捡来的孩子&#xff09; 非临时实例&#xff0c;nacos会主动询问服务提供者是否…

232 基于matlab的MIMO雷达模型下一种子空间谱估计方法

基于matlab的MIMO雷达模型下一种子空间谱估计方法&#xff0c;采用过估计的方法&#xff0c;避免了信源数估计的问题&#xff0c;对数据协方差矩阵进行变换&#xff0c;构造信号子空间投影矩阵和噪声子空间投影矩阵&#xff0c;不需要像经典的MUSIC一样对其进行特征分解&#x…

BBS前后端混合项目--03

展示 static/bootstrp # bootstrap.min.css /*!* Bootstrap v3.4.1 (https://getbootstrap.com/)* Copyright 2011-2019 Twitter, Inc.* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)*//*! normalize.css v3.0.3 | MIT License | github.com/n…

Python练习03

题目 解题思路 Demo58 通过字符串切片来进行反转操作 def _reverse():"""这是一个反转整数的函数"""num input("请输入想要反转的整数")print(num[::-1]) 运行结果 Demo61 首先制作一个判断边长的函数&#xff0c;通过三角形两边…