读《GaitPart: Temporal Part-based Model for Gait Recognition》

news2024/11/15 4:59:37

2020在CVPR

摘要

人体的不同部分在行走过程中具有明显不同的视觉外观和运动模式。在最新的文献中,使用部分特征进行人体描述已被证实有利于个体识别。综上所述,我们假设人体的每个部分都需要自己的时空表达。然后,我们提出了一种新的基于部分的模型GaitPart,并获得了提高性能的两个方面效应:一方面,提出了一种新的卷积应用Focal Convolution层来增强部分级空间特征的细粒度学习。另一方面,提出了微运动捕获模块(MCM),GaitPart 中有几个并行的 MCM,分别对应于人体的预定义部分。值得一提的是,MCM 是步态任务的时间建模的新方法,它侧重于短程时间特征,而不是用于周期步态的冗余长程特征。

引言

在这里插入图片描述

GaitSet[5]假设轮廓的外观包含位置信息,因此将步态视为提取时间信息的集合

在这里插入图片描述

先前的方法将整个人体形状视为一个单元来提取时空信息以进行最终识别(要么是gei那样压缩成一张图,要么是序列)。然而,我们观察到人体的不同部分在行走过程中具有明显不同的形状和运动模式,如图1(a)所示。[6、15、20、5、12、13、19、28]的更多证据表明,人体描述的部分特征可以提供细粒度的信息,有利于个体识别任务。对于时间变化特征,其中一些最先进的方法没有明确地对时间特征进行建模,这导致时间序列中重要不变特征的损失[23,7,3,26](所有才有后来gaitgl设计的时域池化等操作)。其他一些方法通过深度堆叠 3D 卷积或循环操作 [25,30]来模拟远程依赖来表示步态序列的全局理解。然而,这些方法被认为保留了周期性步态不必要的远程顺序约束,从而失去了步态识别的灵活性[5]。
受上述发现的启发,我们假设人体的每个部分都需要自己的表达,其中局部短程时空特征(微运动模式)是人类步态最具辨别力的特征。因此,我们提出了一种新的基于时间部分的框架GaitPart(也就是说这之前的做法都在使劲憋长程依赖从而专心搞全局,现在gaitpart又开始另一种极端专心搞局部)。如图1(b)所示,GaitPart由两个新颖的设计良好的组件组成,即帧级部分特征提取器(FPFE)和微运动捕获模块(MCM)。
GaitPart的输入是步态轮廓序列。FPFE 是一种特殊但简洁的堆叠 CNN,首先将每一帧作为输入,然后对输出特征图进行预定义的水平划分。这样,我们可以得到图1(b)中彩色的几个部分级空间特征序列,每个序列对应于人体的某个预定义部分,其对应的MCM将捕获其微运动模式。请注意,这些并行MCM中的参数是独立的,这反映了GaitPart是一种独立于部分的方法。最终的步态表示是通过简单地连接这些MCM的所有输出来形成的。(逐帧处理还不共享权重,按说这样时空复杂度都很炸啊)

我们认为局部短程时空特征(微运动模式)是周期性步态最具鉴别性的特征,而长程依赖是冗长和低效的

相关工作

步态的时间变化建模方法一般分为三类:基于3DCNN的[25]、基于lstm的[30,14]和基于Set的[5]。其中,基于3DCNN的方法[2,1,22,25]直接提取时空特征进行步态识别,但这些方法通常很难训练,不能带来相当大的性能。(所以gaitgl相当于把3d卷积和集合思想结合的)基于 LSTM 的方法被认为为周期性步态保留了不必要的顺序约束 [5]。通过假设轮廓的外观包含其位置信息,GaitSet[5]提出将步态视为一个集合,并以时间池化的方式提取时空特征。这样足够简洁有效,但没有明确地对时间变化进行建模。
我们观察到具有相似视觉外观的帧可能在周期性步态中周期性地出现,这表明在完整的步态周期后没有判别信息增益。这种现象意味着远程依赖(例如比完整的步态周期长)对于步态识别可能是多余的和无效的。因此,GaitPart 将注意力转向局部短程时间建模,并提出了微运动捕获模块。

方法

FPFE

由Focal卷积组成,也就是在卷积计算之前先把特征图切条(p个),感受野更聚焦

时间特征聚合器 (TFA)

微运动模板构建器

描述。将帧级部分信息特征向量映射到微运动特征向量中。
动机。假设短程时空表示(微运动特征)是周期步态最具鉴别性的特征,认为任意某一时刻的微运动模式应完全由自身及其相邻帧决定。

MTB就像滑动窗口检测器一样。一方面,窗口内的所有帧级特征向量将被 TempFunc 压缩成微运动矢量。另一方面,引入通道注意机制使模型能够根据窗口内的特征重新加权微运动向量,从而突出更具辨别力的运动表达式以进行最终识别。
在这里插入图片描述
MCM中有两个MTB,使用不同的窗口大小(3和5),如图5所示。每个MTB中Conv1dNet的确切结构如图Tab所示。2.这种设计的目的是在序列维度上融合多尺度信息,从而收集更丰富的微运动特征。

TP

时间聚合其核心思想是周期步态的完整周期后没有判别信息增益

现实世界步态视频的长度是不确定的,mean(·) 的统计函数似乎是一个糟糕的选择。(所以再结合公式最后选择了最大池化)

实现

在训练阶段,对于步态视频的长度是不确定的,采样器应该收集固定长度的片段作为输入:首先截取 30-40 帧长度段,然后随机提取 30 个排序帧进行训练。特别是,如果原始视频的长度小于15帧,它将被丢弃。虽然长度超过 15 帧但少于 30 帧,但它将被重复采样。(30帧采样的开端?)

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

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

相关文章

C++入门04—数组与函数

1. 概述 所谓数组,就是一个集合,里面存放了相同类型的数据元素 特点1:数组中的每个数据元素都是相同的数据类型 特点2:数组是由连续的内存位置组成的 2. 一维数组 2.1 一维数组定义方式 一维数组定义的三种方式: …

全域数据连接器解决运营痛点问题,助力海尔节省200万+

随着电商渠道增多和数字技术发展,商家在全域运营和数字化建设方面的应用系统越来越多,诸如以天猫、京东等电商平台区分的店铺后台,以CRM、ERP、SCM等服务区分的应用软件。 这些系统数据各有侧重,但又独立运行,导致很多…

批量发送邮件时怎么使用蜂邮EDM与Outlook?

批量发送邮件时使用蜂邮EDM和Outlook的方法?群发电子邮件的技巧有哪些? 电子邮件仍然是最常用的沟通工具之一,无论是企业还是个人用户,都希望能够高效地一次性将邮件发送给多个收件人。在本文中,将深入探讨蜂邮EDM和O…

【耗时半年,实地调研!泣血2万字,破除你的人工智能焦虑!《2023最全AI商业落地调研报告》】发现一个不错的视频。

视频地址 学习视频地址: https://www.bilibili.com/video/BV1YB4y1f7GE/ 基金报告生成工具: https://www.anthropic.com/app-unavailable-in-region?utm_sourcecountry 国内不支持。 数据分析师要被淘汰 https://www.bilibili.com/video/BV17N41127P…

21、Python -- 如何定义类

目录 类和对象语法语法说明Python是动态语言类变量实例变量 实例方法 了解类与对象 掌握定义类的语法 理解Python的动态性 实例方法 类和对象 两个重要概念:类(class)和对象(object,也被称为实例,instance…

浅谈安科瑞EMS能源管控平台建设的意义-安科瑞 蒋静

摘 要:能源消耗量大、能源运输供给不足、环境压力日趋增加、能耗双控等一系列问题一直困扰着钢铁冶金行业,制约着企业快速稳定健康发展。本文介绍的安科瑞EMS能源管控平台,采用自动化、信息化技术,实现从能源数据采集、过程监控、…

Spring Web MVC入门

一:了解Spring Web MVC (1)关于Java开发 🌟Java开发大多数场景是业务开发 比如说京东的业务就是电商卖货、今日头条的业务就推送新闻;快手的业务就是短视频推荐 (2)Spring Web MVC的简单理解 💗Spring Web MVC:如何使…

leetCode 76. 最小覆盖子串 + 滑动窗口 + Hash + 图解(详细)

76. 最小覆盖子串 - 力扣(LeetCode) 给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 "" 注意: 对于 t 中重复字符,我们寻…

分布估计算法(Estimation of distribution algorithm,EDA)

概论 分布估计算法(Estimation of distribution algorithm,EDA)是一种新兴的基于统计学原理的随机优化算法。 为什么要叫这个名字呢? 首先,“分布”指的就是概率分布。 其次,“估计”指的是这个概率分布…

2023年【河北省安全员B证】新版试题及河北省安全员B证试题及解析

题库来源:安全生产模拟考试一点通公众号小程序 河北省安全员B证新版试题根据新河北省安全员B证考试大纲要求,安全生产模拟考试一点通将河北省安全员B证模拟考试试题进行汇编,组成一套河北省安全员B证全真模拟考试试题,学员可通过…

C++STL----list的模拟实现

文章目录 list模拟实现的大致框架节点类的模拟实现迭代器类的模拟实现迭代器类存在的意义迭代器类的模板参数说明运算符的重载--运算符的重载!与运算符的重载*运算符的重载->运算符的重载 list的模拟实现默认成员函数迭代器相关函数元素修改相关函数front和backi…

“KeyarchOS:国产Linux新星的崛起与创新之路“

简介 KOS,也就是KeyarchOS,是一款由国内团队开发的服务器操作系统。它因为几个特点而受到我的青睐和一些用户的关注。 首先,KOS注重安全性和稳定性。它有一些防护和隔离功能,来帮助系统稳定运行,而且是中文语言更接地…

从零开始的LINUX(三)

bc:进行浮点数运算 uname:查看当前的操作系统 ctrlc:中止当前正在执行的程序 ctrld:退出xshell shutdown:关机 reboot:重启 shell外壳: 作用:1、命令解释(将输入的程序…

QSS 自定义QLineEdit

QSS 自定义QLineEdit Chapter1 QSS 自定义QLineEdit简述常用属性和伪状态效果图QSS源码参考 Chapter1 QSS 自定义QLineEdit 原文链接:https://blog.csdn.net/Staranywhere/article/details/107306276 简述 本文将通过简单示例介绍QLineEdit样式如何自定义。 常用…

Linux高性能服务器编程——ch9笔记

第9章 I/O复用 同时监听多个文件描述符,但本身是阻塞的。 9.1 select系统调用 在一段指定时间内,监听用户感兴趣的文件描述符上的可读、可写和异常等事件是否就绪。 :::tips int select(int nfds, fd_set* readfds, fd_set* writefds, fd_set* except…

掌握 JavaScript:从初学者到高级开发者的完整指南之JavaScript对象(二)

JavaScript基础知识 1. JavaScript对象1.1.1 基本对象1.1.1.1 Array对象语法格式特点属性和方法 1.1.1.2 String对象语法格式属性和方法 1.1.1.3 JSON对象自定义对象json对象 1. JavaScript对象 可以大体分页3大类: 第一类:基本对象,我们主要学习Array…

Python---小海龟会画画---利用turtle(海龟)模块

1、小海龟模块 在Python3版本中,新增加了一个模块叫做turtle(海龟),专门用于绘制图形图像 2、模块如何使用 ① 导入模块 import turtle② 使用turtle模块中已经定义好的方法 turtle.forward(数值) # 从左向右,绘制一…

docker 部署 若依 Ruoyi springboot+vue分离版 dockerCompose

本篇从已有虚拟机/服务器 安装好dokcer为基础开始讲解 1.部署mysql 创建conf data init三个文件夹 conf目录存放在mysql配置文件 init目录存放着若依数据库sql文件(从navicat导出的并非若依框架自带sql) 创建一个属于本次若依部署的网段(只…

python:使用Scikit-image对遥感影像进行梯度特征提取(gradient)

作者:CSDN @ _养乐多_ 在本博客中,我们将介绍如何使用Scikit-Image来进行梯度特征提取(gradient),并且提供一个示例代码,演示了如何在单波段遥感图像上应用这些方法。 梯度特征是指用于表示图像中亮度或颜色变化的特征。它包括两个关键成分:梯度幅值和梯度方向。梯度幅…