步态识别论文(6)GaitDAN: Cross-view Gait Recognition via Adversarial Domain Adaptation

摘要:

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

引言:

步态是一种描述人类行走模式的物理和行为生物特征。与其他生物特征(如人脸、指纹和虹膜)不同,步态可以很容易地在距离捕捉,而不需要被试的合作,很难伪装,这使得它在各种监视应用中具有很高的潜力[1,2]。作为视觉中的识别任务,步态识别的基本目标是从步态序列中学习独特且不变的表示。然而,在现实场景中,步态序列受到携带、服装条件和相机视点切换等外部因素的影响。它对步态识别提出了重大挑战,特别是给跨视图步态识别带来的强烈的外观差异

为了解决上述挑战,现有的基于外观的跨视图步态识别方法主要分为两类:i)基于转换的方法和ii)基于消除的方法。第一类方法通常学习不同视图之间的转换关系[6-8],或者将不同视图的步态投射到一个共同的视图[4,9 - 11]。在训练数据中包含视图之间的转换的情况下,它们往往会很好地工作。然而,这种转换通常是在两个视图之间执行的,不能很好地扩展以处理不同的视图转换。第二类方法旨在消除视图变化干扰,可以进一步分为两个子类别:1)蛮力学习[1 - 3,12 - 15];2)解耦学习[16-19]。前者专门用于提取与视图变化无关的判别步态表示。为此,通常首先混合不同摄像机视图下的不同训练数据。然后,无论视图差异如何,模型都根据给定的人员 ID 进行训练,并支持不同的损失函数。解耦学习旨在将视图信息从步态特征的其余部分中分离出来,以消除其干扰。它要么故意安排不同视图下的训练数据,要么明确地将视图特征与步态特征的其余部分解耦。这样,模型可以最好地学习与相机视图无关的特征。与基于变换的方法相比,基于消除的方法更加灵活,可以很好地推广到不同的视图。然而,在蛮力学习中,视图本身,即显式视图估计或视图特定建模,在一定程度上被忽略和低估。在解耦学习中,解耦过程涉及使用生成对抗网络或自动编码器的特征分解和合成[16,18],这在某种程度上损害了步态序列中的时空特征。

这项工作提出了一种新的跨视图步态识别方法,该方法被视为域转移问题。不同视图的步态信息被视为来自不同子域的信息视图变化引起的统计分布差异被视为子域偏移。因此,采用域适应 (DA) 作为所提出方法的管道。成功适应的关键是学习一个判别模型,以最小化源域和目标域之间的分布差异。在这项工作中,DA 不考虑针对一个目标域的一个源域 [20-22],但打算同时对齐多个子域的步态信息。因此,步态识别的步态最终特征表示与视图变化无关。受无监督DA方法[20,23 -25]的启发,我们采用域对抗神经网络(DANN)[25]作为解决这一挑战的基本框架。这种选择的基本原理源于 DANN 提供了几个关键优势的事实。首先,DANN 通过修改特征表示本身来匹配特征空间分布,而不考虑不同领域背后的变化因素和复杂的解耦操作,这更适合我们的目的多个子域适应。其次,DANN 在统一的架构中执行特征学习和域适应,并且可以使用简单的反向传播算法来实现。这种工作机制能够充分探索步态中的时空信息,同时消除视图变化的影响

因此,我们提出了一种新的步态域对抗网络(记为GaitDAN),用于跨视图步态识别。GaitDAN能够通过端到端对抗训练学习判别和子域不变的步态特征,使最终的步态表示在所有子域中都可以很好地泛化。图 1 说明了 GaitDAN 的结构,它由一个新颖的特征提取器、对抗性视图更改消除 (AVE) 模块和度量学习 (ML) 模块组成。特征提取器是具有专门设计的分层特征聚合 (HFA) 策略的新网络,能够提取浅层局部细节信息和高层语义表示的互补时空特征。因此,在不丢失细微的视觉线索的情况下,可以获得更全面的时空步态特征。AVE模块是GaitDAN中包含多个视图鉴别器的关键适应组件。它试图挑战特征提取器生成的步态特征,并通过对抗性学习过程将它们区分在不同的子域。也就是说,特征提取器旨在生成欺骗AVE的步态表示。同时,AVE以对抗学习的方式反馈给特征提取器,生成更好的子域不变步态特征来欺骗AVE。引入了ML模块,以进一步提高步态表示在特征空间中的可区分性。通过这种方式,保证了步态识别任务的高可辨别性。

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

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

•我们提出了一种新的HFA策略,该策略可以利用网络各个阶段的综合时空信息,并以微妙的注意方式分层聚合它们,有效地提高了所提方法的判别能力,保证了步态序列中时空信息的充分挖掘。•我们提出了一种简单而有效的视图变化消除方法,即AVE模块。通过利用子域对抗对齐的优势,AVE模块可以简单的方式缩小多个视图级子域之间的差异,有利于整个网络的端到端训练,进一步提高步态表示的鲁棒性。

提出方法

A.概述

首先将来自不同子域的步态轮廓序列输入到一个新的特征提取器GF(HFA)中,提取细粒度的时空特征FFM。然后,为了获得视图不变的细粒度特征,将视图对抗学习过程合并到网络中。这是一个由特征提取器GF和AVE模块GAVE组成的两人博弈。训练AVE模块来区分输入的细粒度步态特征来自哪个子域,同时对特征提取器GF进行微调,以混淆AVE模块。具体来说,通过最大化AVE模块的损失来学习特征提取器GF的参数WF,而AVE模块的参数WAV E通过最小化AVE模块的损失来学习。同时,应用包括三元组损失和交叉熵损失的 ML 模块来增强特征空间中细粒度步态表示的区分

将训练数据输入进特征提取器HFA 得到输出特征

featurebn, feature, fea_grl,#[N,128,bin_all]\[N,bin_all,74]\[N,bin_all,11]

其中 fea_grl特征 输入进 AVE 模块进行

featurebn, feature输入进ML模块

B.HFA策略的特征提取器

主干分支

HFA 分支

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

C.基于域适应理论的对抗性视图变化消除模块

跨域情况下主体的良好表示是模型无法识别域源信息的模型。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。这大大简化了网络的整体实现,促进了步态序列中时空特征的挖掘。最后,可以提取所有视图鉴别器难以区分的鲁棒特征表示,然后可以有效缓解子域之间的差距。

D.度量学习模块

作为度量学习问题,具有高可辨别性的特征对于跨视图步态识别至关重要。基于 Triplet 的损失函数直接旨在学习判别特征,这些特征更直接、更合适。此外,基于三元组的损失函数通常能够通过在训练期间设置边距来更有效地学习细微特征,这特别适用于基于轮廓序列的跨视图步态识别。与其他基于距离的损失函数方法相比,如DrLim方法[43],其约束相对松散,更合适。DrLim使用对比度损失,将同一类所有样本之间的距离均匀收敛到0,而不同类别的样本之间的距离收敛到一个固定阈值。这是跨视图步态识别的一个极其严格的约束,同一类的样本与DrLim的使用之间存在很大的外观差异,可能会混淆原始度量学习。因此,在ML模块中采用了由单独的批全三元组损失[44]和交叉熵损失组成的组合损失以确保学习到的步态特征分散且具有高度区分性。按照[44]中概述的设置,对每个受试者的P个受试者和U个轮廓序列进行采样,以组成大小为P×U的小批次。对于小批量中的每个序列(锚点),选择相应的正例(pos.)和负例(neg.)来构建样本三元组。具体来说,锚和正例具有相同的身份标签,但与负例不同,PU (U − 1) (PU − U ) 样本三元组在每个小批量中构成。为了充分利用细粒度特征,分别对ML模块中的水平切片特征分别施加batch-all三元组约束。完整的三元组损失定义为:

 

 E.联合损失函数

最后,由单独的批全三元组损失Eq.(14)和交叉熵损失Eq.(16)组成的总体目标,以及第III-C节介绍的损失来优化所提出的GaitDAN。提出的GaitDAN的函数式(2)可以改写为:

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【管理篇】如何处理团队里的老资格员工和高能力员工?

目录标题 两类员工对比🤺老资格员工高能力员工 作为领导你应该怎么做? 在管理团队时,处理老资格员工和高能力员工是一项至关重要的任务。这两类员工在团队中扮演着不同的角色和有着不同的需求,因此需要针对性的管理和激励。下面将…

程序设计——前后端分离实现简单表白墙

文章目录 一、前端页面样式代码二、前后端衔接1. 后端创建 maven 项目2. 针对前后端交互的解释以及后端代码的实现针对 post 请求解释前后端衔接针对 Get 请求解释前后端衔接 3.后端与数据库的联系以及对数据的存取单独封装数据库连接代码解释后端存储 save 数据的代码解释后端…

神经网络中的算法优化(皮毛讲解)

抛砖引玉 在深度学习中,优化算法是训练神经网络时至关重要的一部分。 优化算法的目标是最小化(或最大化)一个损失函数,通常通过调整神经网络的参数来实现。 这个过程可以通过梯度下降法来完成,其中梯度指的是损失函数…

【Unity】位图字体制作工具:蒲公英

一般来讲,如果需要制作位图字体,一般是使用 BMFont 这种第三方工具:BMFont - AngelCode.comhttp://www.angelcode.com/products/bmfont/ 然而这个工具对于非程序员来说,操作起来较为繁琐困难。每次美术修改了字体之后&…

【短剧在线表格搜索-附模板】

短剧在线表格搜索-附模板 介绍电脑界面手机界面送附加功能:反馈缺失短剧送:资源更新源头获取 介绍 你好! 这是你第一次使用 金山在线文档 所生成的短剧搜索表格,支持批量导入自己转存的短剧名字和链接,实现在线搜索&a…

【AI】openai-quickstart 运行Jupyter Lab

openai-quickstart/openai_api /README-CN.md 【AI】指定python3.10安装Jupyter Lab 可以安装3.10版本的jupyter lab 但是直接输入命令无法启动 突然发现自己电脑2023年安装过anaconda3 C:\ProgramData\anaconda3\python.exe C:\ProgramData\anaconda3\cwp.py C:\ProgramData…

一款开源的原神工具箱,专为现代化 Windows 平台设计,旨在改善桌面端玩家的游戏体验

Snap.Hutao 胡桃工具箱是一款以 MIT 协议开源的原神工具箱,专为现代化 Windows 平台设计,旨在改善桌面端玩家的游戏体验。通过将既有的官方资源与开发团队设计的全新功能相结合,提供了一套完整且实用的工具集,且无需依赖任何移动设…

WordPress MasterStudy LMS插件 SQL注入漏洞复现(CVE-2024-1512)

0x01 产品简介 WordPress和WordPress plugin都是WordPress基金会的产品。WordPress是一套使用PHP语言开发的博客平台。该平台支持在PHP和MySQL的服务器上架设个人博客网站。WordPress plugin是一个应用插件。 0x02 漏洞概述 WordPress Plugin MasterStudy LMS 3.2.5 版本及之…

SpringCloudAlibaba:4.1云原生网关higress的搭建

概述 简介 Higress是基于阿里内部的Envoy Gateway实践沉淀、以开源Istio Envoy为核心构建的下一代云原生网关, 实现了流量网关 微服务网关 安全网关三合一的高集成能力,深度集成Dubbo、Nacos、Sentinel等微服务技术栈 定位 在虚拟化时期的微服务架构…

STM32 PWM波定时溢出中断

打开定时器和中断 主函数初始化开启PWM和中断 HAL_TIM_PWM_Start(&htim2,TIM_CHANNEL_1); __HAL_TIM_SET_COMPARE(&htim2, TIM_CHANNEL_1, Pwm_data); HAL_TIM_Base_Start_IT(&htim2); 回调函数中判断是否为tim2 void HAL_TIM_PeriodElapsedCallback(TIM_Han…

【ARM】ARM寄存器和异常处理

1.指令的执行过程 (1)一条指令的执行分为三个阶段 1.取址: CPU将PC寄存器中的地址发送给内存,内存将其地址中对应的指令返回 到CPU中的指令寄存器(IR) 2.译码: 译码器对IR中的指令…

51单片机入门:DS1302时钟

51单片机内部含有晶振,可以实现定时/计数功能。但是其缺点有:精度往往不高、不能掉电使用等。 我们可以通过DS1302时钟芯片来解决以上的缺点。 DS1302时钟芯片 功能:DS1302是一种低功耗实时时钟芯片,内部有自动的计时功能&#x…

裸金属服务器,云用户的新体验

定义 裸金属服务器(Bare Metal Server),是一台既具有传统物理服务器特点的硬件设备,又具备云计算技术的虚拟化服务功能,是硬件和软件优势结合的产物。可以为企业提供专属的云上物理服务器,为核心数据库、关…

15_Scala面向对象编程_访问权限

文章目录 Scala访问权限1.同类中访问2.同包不同类访问3.不同包访问4.子类权限小结 Scala访问权限 知识点概念 private --同类访问private[包名] --包私有; 同类同包下访问protected --同类,或子类 //同包不能访问(default)(public)默认public --公…

学习大数据,所需要的shell基础(1)

文章目录 Shell概述shell脚本入门变量系统预定义变量自定义变量特殊变量$n$#\$*、$$? 运算符条件判断流程控制(重点)if判断case语句for循环while循环 Shell概述 shell是一个命令解释器,他接受应用程序/用户命令,然后调…

【Python项目】基于opencv的的【疲劳检测系统】

技术简介:使用Python技术、OpenCV图像处理库、MYSQL数据库等实现。 系统简介:用户可以通过登录系统平台实现实时的人脸照片的拍摄和上传,结合上传图像的内容进行后台的图像预处理和运算分析,用户可以通过照片分析界面查看到当前检…

【iOS】KVO

文章目录 前言一、KVO使用1.基本使用2.context使用3.移除KVO通知的必要性4.KVO观察可变数组 二、代码调试探索1.KVO对属性观察2.中间类3.中间类的方法3.dealloc中移除观察者后,isa指向是谁,以及中间类是否会销毁?总结 三、KVO本质GNUStep窥探…

虚拟化技术 使用Vsphere Client管理ESXi服务器系统

使用Vsphere Client管理ESXi服务器系统 一、实验目的与要求 1.掌握使用vSphere Client管理ESXi主机 2.掌握将CentOS的安装介质ISO上传到ESXi存储 3.掌握在VMware ESXi中创建虚拟机 4.掌握在所创建的虚拟机中安装CentOS6.5操作系统 5.掌握给CentOS6.5安装VMware Tools 6.掌…

HCIP的学习(11)

OSPF的LSA详解 LSA头部信息 ​ [r2]display ospf lsdb router 1.1.1.1----查看OSPF某一条LSA的详细信息,类型以及LS ID参数。 链路状态老化时间 指一条LSA的老化时间,即存在了多长时间。当一条LSA被始发路由器产生时,该参数值被设定为0之后…

RK3568 学习笔记 : u-boot 千兆网络无法 ping 通PC问题的解决方法二

参考 RK3568 学习笔记 : u-boot 千兆网络无法 ping 通PC问题的解决 前言 rk3568 rockchip 提供的 u-boot,默认的设备树需要读取 单独分区 resouce.img 镜像中的 设备树文件,也就是 Linux 内核的设备树 dtb 文件,gmac 网络才能正常的 ping 通…