读《Gaitset: Regarding gait as a set for cross-view gait recognition》

news2024/11/15 19:33:03

2019在AAAI(还有一版叫GaitSet: Regarding Gait as a Set for Cross-View Gait Recognition,大体上一样)

摘要

现有的步态识别方法要么利用步态模板,难以保存时间信息,要么利用保持不必要的顺序约束的步态序列,从而失去步态识别的灵活性。在本文中,我们提出了一种新的视角,利用步态作为深度集,这意味着一组步态帧由全局局部融合深度网络集成,其灵感来自于我们的左右半球处理信息来学习可用于识别的信息。基于这个深度集视角,我们的方法不受帧排列的影响,可以自然地整合在不同场景下获得的不同视频的帧,如不同的视角、不同的衣服或不同的物品承载条件

引言

GEI模式方法尽可能丰富地编码信息,但压缩过程忽略了时间信息和细粒度空间信息等重要特征

直接从原始步态轮廓序列中提取特征。这些方法保留了更多的时间信息,但当输入包含不连续的帧或具有与训练数据集不同的帧速率时,会出现显著的退化(这些古早算法还那么依赖帧率什么的啊)

因为步态是一个周期性的运动,所以它可以用一个周期来表示。同时,在一个包含多个步态周期的剪影序列中,可以观察到每个位置的轮廓都有一个唯一的姿势,如图1所示。给定任何人的步态轮廓,我们可以通过观察它们的外观轻松地将它们重新排列成正确的顺序。这表明步态周期内姿势的顺序不是将一个人与其他人区分开来的关键信息(啊?输入的帧序列是无序的?总得保证步态的运动顺序吧),因为顺序的模式是通用的。基于这样的假设,我们可以直接将步态视为一组图像,并提取时间信息,而无需像视频那样对每一帧进行排序。
gaitset中CNN 用于独立从每个轮廓(本地信息)中提取帧级特征。其次,一种称为 Set Pooling 的操作用于将帧级特征聚合为单个集合级特征(全局信息)。因为此操作是使用高级特征图而不是原始轮廓进行的,所以它比步态模板更好地保留了空间和时间信息(所以一开始不是用的3d卷积,而是每一帧作为单独的图像来处理然后再池化,本质都是下采样,但固定的池化确实没有自适应的卷积好 | 但是后面相关工作里提到已经有用3d卷积的了呀)

(优越性提到说“快速:我们的模型直接学习步态的深度集步态表示,而不是测量一对步态模板或序列之间的相似性”,那也就是说过去的方法中还有类似孪生网络输入一对样本拟合相似度的做法吗?那复杂度有点吓人吧)

模型

集合池化

结合基本统计函数(最大、平均、中值)和求和、拼接的联合函数,以及注意力机制(公式符号看得头大,之后结合代码理解吧)
在这里插入图片描述

水平金字塔池化

参考自reid的条带分隔和金字塔多尺度
组合最大池化和平均池化
在这里插入图片描述

MGP

在这里插入图片描述
为了收集不同的水平集信息,提出了一种多层全局管道(MGP),它与主管道中的卷积网络具有相似的结构,但是独立的参数不共享,保留步态细节

训练

Batch All (BA+) triplet loss

在标准三元损失中,只有最难的负例(即具有最大距离的负例)被考虑,而其他负例被忽略。而在BA+三元损失中,每个负例都被考虑,因此不再忽略其他负例。这意味着对于每个锚样本,都会考虑到每个负例的损失,而不仅仅是最难的那个。
这种方法的优点是能够更全面地利用负例样本,从而更好地推动嵌入空间的学习。然而,这也使得BA+三元损失的计算更复杂,因为需要计算所有正例-负例对之间的距离。这可能会导致训练时间较长,但通常可以获得更好的性能,尤其在面对大规模数据集时。
——ChatGPT
(好像gaitgl论文里也提到过这个,看来之后还得扣一下损失的细节)

实验

数据集

CASIA的大中小划分:
在ST中,前24 名受试者(001-024)用于训练,其余 100 名受试者用于测试。
在 MT 中,前 62 个(001-062)用于训练,其余 62 个用于测试。
在 LT 中,前 74 个(001-074)用于训练,其余 50 个主题用于测试。(代码里的基线设置是这个)
对于所有三个设置中的测试集,将 NM 条件的前 4 个序列(即 NM #1-4)保留在图库中,其余 6 个序列分为 3 个探针子集,即 NM 子集 #5-6、包含 BG #1-2 的 BG 子集和包含 CL #1-2 的 CL 子集。

对比实验

依然是垂直视角好一些,正对着摄像头的0或180不好
换装效果有限,主要还是因为衣服会对四肢、体型造成干扰,并且训练过程中也很少学到换装(讲道理也不该学,毕竟应用场景中一个人可能会换任何未知的衣服,又不是reid)

消融

集合化比GEI效果好,因为时空信息被保留,并且训练时随机从序列中抽帧相当于数据增强了

集合池化

具有像素级注意力的 SP 在 NM 和 BG 子集上的准确率最高,当使用 max(·) 时,它在 CL 子集上的准确率最高。考虑到 max(·) 的 SP 在 NM 和 BG 子集上也实现了第二好的性能,并且具有最简洁的结构;因此,我们选择它作为 GaitSet最终版本中的 SP 策略。(只能选型了,没啥可解释分析的)

MGP

从主管道的不同层中提取的集合级特征包含不同的判别信息(那其实相当于有个跳跃连接聚合了深层和浅层的层次化信息吧,)

HPM

这里设计独立FC有利于准确率和训练效率(所以后续的代码中都有了separate FC吗)

训练策略

需要关注dropout和bn

维度

使用两种方法进行降维。一种是通过缩小 HPM 全连接层的输出维度来将特征维度设置为较低级别。另一种方法是在引入新的全连接层后执行测试任务,实现了原始 15, 872 维的大压缩。

如果 HPM 输出维度太低(低至 32)或太高(高达 1024),仍然会对性能产生负面影响。这种性能下降的原因是:1)输出维度太高的全连接层很容易过拟合,因为它们包含的参数太多,2)太小的输出维度会显着限制全连接层的学习能力。特别是,使用 CE 损失训练的模型在具有高维 HMP 输出的 CL 子集上的鲁棒性较差,而具有预训练策略的模型在 CL 子集上具有稳定的性能。通过减少 HMP 输出维度,我们可以将最终特征维度从 15, 872 压缩到其中四分之一。虽然这种压缩与微妙的性能损失有关,但 BG 和 CL 子集上识别性能的退化不能被忽略。

最终的特征维度可以压缩到 1024,同时在 NM 子集上保持 95% 的识别精度;这只是原始 15, 872 维的 6.5%。与改变 HPM 的输出维度类似,太小的特征维度会导致性能下降。尽管它与端到端设计的思想背道而驰,但引入这种后处理有效地压缩了学习到的特征表示,使得该方法在实际应用中更加实用。

更丰富的实验

更少的轮廓帧

1)随着轮廓数量的增加,准确率单调上升,2)当样本包含超过 25 个轮廓时,准确率接近最佳性能。这个数字与一个步态周期包含的帧数量一致。

输入不同视角的数据

有效地聚合来自不同视图的信息并提高了最终性能。这一结果可以用第4.4节中讨论的视图和精度之间的模式来解释。在输入集中包含多个视图允许模型收集并行和垂直信息,从而提高性能

将背包、换装纳入图库,并组合输入

BG 和 CL 的轮廓组合有助于模型提高准确性。相比之下,NM的轮廓几乎没有噪声。因此,将其他两个条件的轮廓替换为其中一些不提供额外的有用信息,但只会引入噪声,导致性能下降。

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

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

相关文章

面试题解答:Spring Lifecycle 和 SmartLifecycle 有何区别?

当我们想在 Spring 容器启动或者关闭的时候,做一些初始化操作或者对象销毁操作,我们可以怎么做? 注意我这里说的是容器启动或者关闭的时候,不是某一个 Bean 初始化或者销毁的时候~ 1. Lifecycle 对于上面提到的问题…

加密行业焦点:本周五,关注灰度GBTC转型是否有解?

密切关注比特币交易所交易基金(ETF)进展的投资者,正在将目光聚集到本周五。由于众多比特币现货ETF都被推迟到明年的一月中,市场现在最关注的就是灰度GBTC转型是否有解。 据报道,华盛顿特区的法院将在本周五发布一项命令…

10月19日星期四今日早报简报微语报早读

10月19日星期四,农历九月初五,早报微语早读分享。 1、浙江发现3000年前的夏商宫殿级遗址; 2、江苏省消保委:“萝卜刀”玩具广告应去除暴力等不良暗示; 3、广东个体工商户数量突破1000万户; 4、国家统计…

MT3520B 丝印AS20B 2A电流 2.3V-6V输入、1.5MHz同步降压转换器

MT3520B是一个1.5MH的恒定频率电流模式降压转换器。它非常适合需要单节离子电池提供高达2A电流的便携式设备,同时在峰值负载条件下仍能实现90%以上的效率。该MT3520B也可以运行在100%的低压差操作占空比,延长便携式系统的电池寿命,而轻载操作…

【高危安全通告】Oracle 10月月度安全漏洞预警

近日,安全狗应急响应中心关注到Oracle官方发布安全公告,共披露出在Oracle Weblogic中存在的6个高危漏洞。 漏洞描述 CVE-2023-22069:Oracle Weblogic 远程代码执行漏洞 Oracle WebLogic Server存在远程代码执行漏洞,该漏洞的CVS…

审批流程设计

审批流程界面的设计有多种多样。本文介绍其中一种形式。如下图所示: 做好审批流程需注意2个点,定制审批流程与审批环节介绍。定制审批流程,可以根据单据种类(或其他因素)定制不同的审批流环节,从而适应多种…

Kali Linux 安装搭建 hadoop 平台 详细教程

1)前期环境准备:(虚拟机、jdk、ssh) 2)SSH相关配置 安装SSH Server服务器:apt-get install openssh-server 更改默认的SSH密钥 cd /etc/ssh mkdir ssh_key_backup mv ssh_host_* ssh_key_backup 创建新…

idgen导入Android11源码

文章目录 配置下载AS编译源码依赖导入玩一下andorid.iml 注意: 有些时候发现为啥自己编译就这么难呢?不是卡死就无数次重启虚拟机,一切的原罪在配置过低,换句话说就是穷。关于导入源码的下载参考 Android Studio for Platform (AS…

day09_面向对象_多态_static

今日内容 1.作业 2.访问修饰符 3.static 4.多态 零、复习 私有化的单词: private 继承的关键词: extends 属性的封装 将属性私有,private提供一对儿set,get 继承的特性:(自己的话说明) 继承目的是减少重复代码,父类代码子类自己使用A extends B关于属性: 子类可以使用父类非私有…

软考(高级)是否需要报班,大家有什么建议?

对于报考高级专业领域还不确定。根据我的个人经验,我强烈建议不要犹豫,直接报班。时间非常紧张,务必抓紧学习重点,不要漫无目的地自学。免费的学习方式往往会付出更多的时间成本。请考虑自身经济情况。 尽管自学考试自由度高&…

vue之使用箭头函数导致表格无法刷新数据

vue之使用箭头函数导致表格无法刷新数据 1.产生背景2. 产生原因3. 解决措施 1.产生背景 在使用初始化方法查询默认表单后,有使用选择器进行条件查询的需求。 但在使用监听器监听选择器绑定的value值时使用了箭头函数,请求响应后发现数据更新了但表格为…

C语言指针用法大全

1. 指针的基础概念: 什么是指针? 如何声明和初始化指针? 指针和变量的关系。 2. 内存和地址: 计算机内存的基本概念。 如何获取变量的地址? 如何通过指针访问变量的地址? 3. 指针运算符: * 运算…

蓝蜂物联网水肥一体化MQTT应用案例

水肥一体化MQTT应用案例 一、客户介绍 目前我国农业用水面临资源短缺的问题,同时农业用水浪费现象非常严重,造成我们不可能通过单纯增加新水源来缓解农业用水的紧缺状况。 通过水肥一体化物联网远程精准控制技术,可以根据检测土壤水分、作物…

Stable Diffusion之novel Ai教程,小白必经之路

一、介绍是Stable Diffusion(简称SD) 1.SD是什么 Stable diffusion是一个基于Latent Diffusion Models(潜在扩散模型,LDMs)的文图生成(text-to-image)模型。简单的来说SD是可以通过提示词生成图片的应用。目前已经发…

LeetCode算法栈—验证图书取出顺序

验证图书取出顺序 目录 验证图书取出顺序 题解: 代码: 运行结果: 验证图书取出顺序 现在图书馆有一堆图书需要放入书架,并且图书馆的书架是一种特殊的数据结构,只能按照 一定 的顺序 放入 和 拿取 书籍。 给定一个…

MIKE水动力笔记17_MIKE文件转shp、统计每个单元格的面积

本文目录 前言Step 1 MIKE文件转shpStep 2 在ArcGIS中打开shp统计相应指标 前言 MIKE的工具箱中自带一个转shp的工具,然后可以拖进ArcGIS中很方便的统计每个单元格的面积和每个网格点的水深。 Step 1 MIKE文件转shp MIKE允许转shp的文件类型包括dfs2文件、dfsu文…

EDU实战-SQL注入漏洞

对于edu来说,是新人挖洞较好的平台,本次记录一次走运的捡漏0x01 前景 在进行fofa盲打站点的时候,来到了一个后台管理处看到集市二字,应该是edu站点 确认目标身份(使用的quake进行然后去ipc备案查询) 网…

Redis 之 SessionCallback RedisCallback 使用

📢📢📢📣📣📣 哈喽!大家好,我是「奇点」,江湖人称 singularity。刚工作几年,想和大家一同进步🤝🤝 一位上进心十足的【Java ToB端大厂…

前端 vue 实现区域地图-并在地图上标注柱状图

效果图 西藏的区域规划以及柱状图 一、下载区域地图的js文件 区域地图可以在中国的区域地图 这里下载 二、实现代码 一个普通的html可以参考 实现广东省的区域地图并标注柱状图 三、vue里具体实现代码 1.做一个有具体宽高的dom <template><div class"box&…

小程序之自定义组件 结合案例(会议OA的会议/投票管理及个人中心的搭建)详解 (4)

⭐⭐ 小程序专栏&#xff1a;小程序开发专栏 ⭐⭐ 个人主页&#xff1a;个人主页 目录 一.前言 二.小程序自定义组件及其使用 2.1 自定义组件的使用 三.使用自定义组件完成会议功能界面的实现 3.1 导航栏的实现 3.2 会议界面内容的实现 四.投票管理界面 五.个人中心 今天…