论文阅读】 ICCV-2021-3D Local Convolutional Neural Networks for Gait Recognition

motivation :现有方法方法无法准确定位身体部位,不同的身体部位可以出现在同一个条纹(如手臂和躯干),一个部分可以出现在不同帧(如手)的不同条纹上。其次,不同的身体部位具有不同的尺度,即使是不同帧中的同一部分也可以出现在不同的位置和尺度上。第三,不同的部分也表现出不同的运动模式

核心思想:

意义作用与优势:可以作为作为 3D 步态识别主干的通用家族构建块,在实践中,现有 3D 主干 CNN 的任何构建块都可以被视为全局路径,并且所提出的局部路径可以很容易地插入到这些块中,而不会改变训练方案。此外,局部操作中每个组件的架构对于不同的配置非常灵活。

代码 

https://github。com/Huangtownhz/3DLocalCNN

摘要

步态识别的目标是从人体形状的时间变化特征中学习独特的时空模式。由于不同的身体部位在行走过程中表现不同,因此分别对每个部分的时空模式进行建模是直观的。然而,现有的基于部分的方法将每一帧的特征图平均划分为固定的水平条纹stripes(HP操作),得到局部部分。很明显,这些基于条纹分区的方法无法准确定位身体部位。首先,不同的身体部位可以出现在同一个条纹(如手臂和躯干),一个部分可以出现在不同帧(如手)的不同条纹上。其次,不同的身体部位具有不同的尺度,即使是不同帧中的同一部分也可以出现在不同的位置和尺度上。第三,不同的部分也表现出不同的运动模式(例如,运动开始的帧、位置变化频率、持续时间)。为了克服这些问题,我们提出了一种新的 3D 局部操作作为 3D 步态识别主干的通用家族构建块。所提出的 3D 局部操作支持在具有自适应空间和时间尺度、位置和长度的序列中提取身体部位的局部 3D 体积。通过这种方式,身体部位的时空模式是从特定部分尺度、位置、频率和长度的 3D 局部邻域中很好地学习的。实验表明,我们的 3D 局部卷积神经网络在流行的步态数据集上实现了最先进的性能。、

1. Introduction

Gait是最重要和有效的生物特征模式之一,因为它可以在一定距离的距离上进行身份验证而无需受试者配合,步态识别在预防犯罪、法医鉴定和社会安全保险方面有着广泛的应用[2,14]。在现实世界的场景中,除了行走运动引起的体型变化外,携带袋、外衣和相机视点切换等变化也会导致身体外观的巨大变化,导致步态识别面临重大挑战。步态识别的基本目标是从人体形状的时间变化特征中学习独特且不变的表示。步态识别的早期工作集中于使用卷积神经网络(CNNs)提取全局特征[35,20,29,19]。GaitNet[41,40]提出了一种自动编码器框架,从原始RGB图像中提取步态相关特征,然后使用LSTMs对步态序列的时间变化进行建模。Thomas等人[33]直接应用3DCNN使用在自然图像分类任务上预训练的模型提取顺序信息。然而,全局特征没有考虑空间结构和局部细节,因此,在面对视点变化时没有足够的辨别力。一个自然的选择是学习与全局特征互补的详细的基于部分的局部特征,或者学习两者的特征嵌入。

由于人体由定义明确的部位组成,即头部、手臂、腿和躯干,因此基于部位的模型有可能解决步态识别中的变化。以前的基于零件的模型通过将特征映射均匀地划分为固定的水平条纹来提取零件特征。在GaitPart[7]中,首先对每个输入帧的输出CNN特征图进行预定义的水平分割,提取二维外观特征。然后,通过局部近程二维部分特征的时序拼接,聚合所有帧中同一条纹对应的特征;在GaitSet[3]和GLN[11]中,首先将最后一个二维卷积的帧级特征映射分割成均匀的条纹,然后沿集合维数对其进行max-pooling提取集合级部分特征。在MT3D[18]中,使用多个时间尺度的3D cnn来探索序列中的时间关系。然后,将输出的特征映射也划分为多个条纹。然而,这些基于分割的步态识别方法忽略了两个问题。首先,人体的不同部位出现在不同的尺度上,甚至同一部位在不同的帧中出现在不同的位置和尺度上[3]。其次,不同的部分表现出不同的运动模式,例如,运动从哪一帧开始,位置变化的频率,以及持续的时间。因此,在步态周期中,视觉外观和时间运动变化是相互依赖的,并且人体不同自然部位的特征是彼此不同的。这表明步态识别模型应该支持对人体各个特定部位的自适应三维局部体积的提取和处理

为了克服上述步态识别问题,我们提出了一种新的 3D 局部操作作为 3D 步态识别主干的通用构建块家族。我们的 3D 局部操作支持在具有自适应空间和时间尺度、位置和长度的序列中提取局部 3D 体积。这样,不同身体部位的三维局部邻域在特定的部位尺度、位置和运动位置、频率、长度进行处理,如图1所示。二维局部操作已被证明在图像识别中是有效的[10,36],Local Convolutional Neural Networks for Person Re-Identification其中利用可微二维注意机制生成平滑变化位置和尺度的二维图像/特征块。然而,由于时间注视[21]的机制不同,将这一思想应用于3D局部操作是非常具有挑战性的。原因有两个。1)像素的空间采样遵循人眼的焦点,而帧的时间采样在光流分布。2)空间采样处理二维patch,时间采样处理一维序列,时空采样处理3D视频卷积。因此,需要一种新的 2D 和 1D 联合采样策略。

  我们的本地操作由四个模块组成:定位、采样、特征提取和融合

定位模块旨在学习六个身体部位(头部、躯干、左臂、右臂、左腿和右腿)的自适应空间和时间尺度、位置和时间长度

采样模块对平滑变化的位置、尺度和时间长度的局部体积进行采样

特征提取模块由几个卷积和 ReLU [22] 层组成,就像在一般卷积块中一样。

融合模块形成全局和局部输出的连接层,然后是1×1卷积层。

在实践中,现有 3D 主干 CNN 的任何构建块都可以被视为全局路径,并且所提出的局部路径可以很容易地插入到这些块中,而不会改变训练方案。此外,局部操作中每个组件的架构对于不同的配置非常灵活。

这项工作的主要贡献总结如下:

• 与 C3D [30]、P3D [24] 和非本地网络 [31] 相比,我们为主干 3D CNN 设计了一个新的构建块,它结合了特定于部分的顺序信息,称为 3D 局部卷积神经网络。

• 我们实现了一种简单而有效的 3D 局部 CNN 形式用于步态识别。该模型在CASIA-B和OU-MVLP两个最流行的数据集CASIA-B和OU-MVLP上优于最先进的步态识别方法。

•据我们所知,我们是第一个提出一个框架,该框架能够在3D cnn的任何层中交互/增强全局和局部3D体积信息。

2. Related Works

Local-based模型

基于部分的模型已在许多视觉任务中得到利用。在细粒度图像分类中,许多作品 [37, 26, 5, 42, 8, 32] 自动定位信息区域以捕获微妙的判别细节,使从属类彼此不同。Sun等人[26]利用多通道注意来学习几个相关区域。Wang等人[32]使用一组卷积滤波器来捕获特征图中的判别区域。Zheng等人[42]提出了三线性注意采样网络,从不同细节学习特征。在Person Reid中,Li等人。[15]将第一卷积层的输出特征映射水平平均划分为m个局部区域,并分别学习局部/全局。程等人。 [6] 将低级特征图水平分为四个相等的部分,并在最后一个全连接层之前将它们与全局流连接。Yang等人[36]提出了一组操作来定位静态图像中人体的关键位置。所有这些以前的基于局部的模型都旨在提取静态图像中空间局部区域的模式。对于步态识别,很自然地将这种见解扩展到步态序列的时空维度,并在提取特定时间间隔内特定人体部位的时空运动模式。

骨干cnn。通常使用的主干 CNN [13, 30, 24, 31] 表明,从局部邻域中提取局部特征有助于提高视觉模型。如图1所示,C2D[13]和C3D[30]捕获局部邻域内的短程依赖关系。它们的局部邻域是一个固定的2D补丁(k × k)或3D体积(k × k × k)。P3D[24]在空间域上将3 × 3 × 3卷积分割成1×3×3卷积滤波器,在时域上分割3×1×1卷积。在非局部神经网络[31]中,其中整个输入可以看作是一个固定的全局邻域。我们的3D局部CNN针对不同的局部路径定位一个自适应的3D局部体积,而不是固定的局部邻域。

3. Method

三维局部卷积可以看作是神经网络中一般卷积运算的一种特殊形式。

考虑一个三维输入x∈R H×W ×T,对应输出y的卷积块,其三维局部卷积定义为:

 这个公式和non_local 神经网络类似 只是j 的取值范围不同

这里i是要计算响应的输出位置(在RH×W ×T中)的索引,j是x附近一个可能位置Ω(x)的索引。f 是计算xi和xj之间的相关系数。g计算输入信号在位置j的表示形式。响应通过因子C归一化。

神经网络中不同形式的卷积运算在于邻域Ω ( x )的定义。如图 1 所示,2D 卷积和 3D 卷积聚合来自固定局部邻域切片或体积的特征在非局部神经网络中,邻域被定义为所有的特征图。与这些操作不同的是,3D 局部卷积将邻域定义为具有自适应空间和时间尺度、位置和时间长度的 3D 局部体积

论文分享[cvpr2018]Non-local Neural Networks非局部神经网络-CSDN博客其中V为特定局部部件的自适应3D局部体积。我们的3D局部卷积操作的基本目标是从给定的输入x中采样自适应3D体积V,并从这些体积中提取相应的局部特征。论文分享[cvpr2018]Non-local Neural Networks非局部神经网络-CSDN博客

3.2. 实例化

如图2展示了3D Local cnn中的构建块实例。

该块由一个全局路径(与其他3D骨干构建块一样)和几个局部路径组成。我们的局部操作有四个组成部分:定位模块(L)、采样模块(S)、特征提取模块(FE)和融合模块(FS)。定位模块根据全局特征生成对应局部部件的局部体的位置/尺度。然后,采样模块对给定位置/尺度的特定局部3D体进行采样。特征提取模块用于从采样的局部体中提取特征。特征融合模块用于合成生成的全局特征和局部特征

图 2.3D局部CNN的构建块。有四个组成部分:定位模块、采样模块、特征提取模块和融合模块。定位模块旨在定位每个身体部位的位置。采样模块被公式化为应用于输入的特定滤波器(高斯或三线性或混合)。特征提取模块由几个卷积层和ReLU层组成。融合模块由全局和局部输出的级联层形成,后跟1 × 1 × 1 卷积层。为简单起见,这里仅说明三个局部路径(头部、左手和右腿)

 3.2.1定位

可微分注意机制的启发,我们通过七个独立参数(∆x,∆y,∆t, δx, δy, δt, σ2, γ)来指定我们的定位模块。它们是为每一帧动态确定的。(∆x,∆y)为采样网格中心到每帧对应部分的预定义中心的实值高度和宽度偏移量,∆t为整个序列的帧偏移量。(δx, δy)为采样网格的实值空间步幅,δt为时间步幅。σ2为高斯滤波器的各向同性方差。δ和σ2的组合控制了局部的“变焦”。γ作为与滤波器响应相乘的置信度分数。理想情况下,γ表示聚焦部分的存在,即当面对遮挡时,它应该接近于0。给定H ×W ×T输出全局路径的特征映射,我们利用卷积块,ReLU,批处理归一化,最大池化和全连接层来推断以下参数:

其中G为全局模块,I为输入模块,L为局部模块,σ(γ) = 11 +exp(−γ)。(∆x,∆y,∆t)归一化并缩放为(- 1,1),以确保网格中心在采样输入内。方差和步幅以对数尺度发出,以确保正性。置信度分数γ被缩放到(0,1)。我们的定位模块的架构在补充细节的表1中详细说明。在输入和每个卷积层后采用批处理归一化和ReLU非线性。值得注意的是,为了确保全局路径只关注表示,该模块的梯度不会传播到全局路径。

3.2.2采样

为了从给定的输入中采样局部三维体积,我们考虑一个明确的三维形式的注意力。一组3D滤波器应用于输入序列,产生一系列具有平滑变化位置和缩放的局部补丁。给定期望的局部输出大小M ×N ×L,根据网格中心的坐标和相邻滤波器之间的步距,对输入应用采样滤波器的M ×N ×L网格。步幅越大,注意体积中可见的输入区域越大,但注意体积的有效分辨率越低。各向同性方差越大,输出的体积越平滑,但局部体积的细节越不清晰。根据定位模块提供的归一化先验体中心位置(cx, cy, ct)、体中心偏移量(∆x,∆y,∆t)和步长(δx, δy, δt)(均为实值),得到体在第i行,第j列,第k帧处的网格位置(μX, μY, μT)为:

空间滤波。受[36,10,9]中模仿人眼注视焦点的可微分注意技术[10]的启发,我们采用高斯滤波器进行空间滤波。对于高斯滤波器,采样网格的坐标也是滤波器的平均位置。给定定位模块输出的各向同性方差σ2,水平和垂直滤波器组权重矩阵GX和gy(维度分别为M × W和N × H)定义如下:

式中(i, j)为注意三维体中某点的空间索引,(p, q)为输入中某点的空间索引。ZX和ZY是保证∑p GX [i, p] = 1和∑k GY [j, k] = 1的归一化常数。

时间过滤。受cnn[12]和视频插值[21]中的可微运动层技术的启发,对体积进行时间采样的自然选择是三线插值。与高斯滤波器类似,这里我们将时间三线性插值函数表述为权重矩阵TT(维度L×T)。目标位置的插值值被计算为天花板和地板整数位置值的线性组合:

其中b·c是底函数,d·e是顶函数。k为注意三维体积中的帧索引,r为输入中的帧索引。最后,将整体混合采样操作表述为三个一维采样,其中结合了模拟人眼注视点的空间高斯滤波器[10]和假设连续帧之间的光流局部线性的时间线性滤波器。基于(GX, GY, TT)和定位模块提供的置信度分数γ,从输入I输出的3D局部体积V被采样为:

)有趣的是,我们将通过实验(表4)表明,我们的3D局部模型对采样滤波器的选择并不敏感。只有使用高斯滤波器或线性滤波器才能显示与上述组合滤波器相当的性能。这一结果表明,一般的局部行为是观察到的改进的主要原因。

3.2.3特征提取

如图2所示,特征提取模块用于提取局部路径的特征。所有类型的卷积块,如C3D[30], P3D[24]和MT3D[18],都是候选的。本文的特征提取模块目前的体现仅限于过滤器大小3×3×3的一个卷积层,然后是ReLU,并且这种设计更多地是基于方便而不是必要性。特征提取模块中更复杂的架构可能会带来更大的性能提升,但这不是本文的重点。该模块的输出特征映射的数量被设置为全局路径的一半。特征提取模块的输出和输入具有相同的高度、宽度和长度。3.2.4特征融合特征融合模块旨在通过综合给定的全局和局部输出来产生更鲁棒和有区别的表示。在本文中,特征融合模块形成了一个沿通道维度的全局和局部输出的拼接层,然后是一个带有ReLU的a1 × 1 × 1卷积层,基于局部和全局信息的综合对表示进行细化,并保证基数不变。像注意力这样更复杂的机制可能会带来更多的性能提升,但这不是本文的重点。将该模块的输出特征映射的数量设置为与全局路径相同

3.3.3D Local CNN for Gait Recognition

为了将我们的3D局部CNN块插入骨干CNN,我们需要基于先验知识定义以下设置:1)局部路径的数量,2)每条路径的采样网格中心的先验位置(cx, cy, ct),以及3)每条路径的局部采样输出的期望维数(M, N, L)。对于步态识别的特征学习,定义头部、左臂、右臂、躯干、左腿和右腿对应的6条局部路径是很自然的。(如图3所示)。根据[1]和常识,人体的头部、左臂、右臂、躯干、左腿、右腿的一般比例(身高、宽度、长度)(pH、pW、pL)汇总在附录的表3中

为了验证三维局部cnn的有效性,我们在骨干网络的每两层之后插入提出的局部操作。如[7,3,11]所示,骨干网由三个构建块组成。每个块由两个卷积层组成,然后是ReLU层。我们采用了来自GaitPart[7]的空间池化和时间池化,以及来自GLN[11]的紧凑块和线性模块。

实验结果

(ICCV-2021)用于步态识别的3D局部卷积神经网络(一)_3d卷积网络,用于ct分类-CSDN博客

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

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

相关文章

O2O:Uni-O4

ICLR 2024 paper Intro 以往O2O方式普遍将离线与在线过程分开看待,为了避免过渡时容易出现performance drop,引入了各式正则化或者保守价值估计。本文启发于BPPO,提出on-policy的算法Uni-O4将离线与在线阶段的策略优化目标统一,…

制造业为什么需要质量管理系统

质量管理是一个企业最重要的核心竞争力之一。为了确保产品和服务的高质量,企业需要建立一个完善的质量管理体系。而质量管理系统(QMS)正是指导企业如何规范、组织和管理质量相关活动的框架和流程。 在智能制造时代,广大企业如何结…

react状态管理之state

第三章 - 状态管理 随着你的应用不断变大,更有意识的去关注应用状态如何组织,以及数据如何在组件之间流动会对你很有帮助。冗余或重复的状态往往是缺陷的根源。在本节中,你将学习如何组织好状态,如何保持状态更新逻辑的可维护性&…

《编译原理》阅读笔记:p1-p3

《编译原理》学习第 1 天,p1-p3总结,总计 3 页。 一、技术总结 1.compiler(编译器) p1, But, before a program can be run, it first must be translated into a form in which it can be executed by a computer. The software systems that do thi…

2023年谷歌拒了228万应用,禁了33.3万账号,开发者们应如何应对2024的挑战?

谷歌在上周一公布了去年如何应对恶意应用和恶意行为。 报告指出,去年谷歌在Google Play平台上,通过不断升级安全系统、更新政策规定、运用先进的机器学习技术,以及严格把关应用审核流程,成功阻止了高达228万个不合规的应用程序上架…

力扣41. 缺失的第一个正数

Problem: 41. 缺失的第一个正数 文章目录 题目描述思路复杂度Code 题目描述 思路 1.将nums看作为一个哈希表,每次我们将数字n移动到nums[n - 1]的位置(例如数字1应该存在nums[0]处…),则在实际的代码操作中应该判断nums[i]与nums[nums[i] - 1]是否相等,若…

【管理咨询宝藏96】企业数字化转型的中台战略培训方案

本报告首发于公号“管理咨询宝藏”,如需阅读完整版报告内容,请查阅公号“管理咨询宝藏”。 【管理咨询宝藏96】企业数字化转型的中台战略培训方案 【格式】PDF版本 【关键词】SRM采购、制造型企业转型、数字化转型 【核心观点】 - 数字化转型是指&…

Web3 ETF软件开发

开发Web3 ETF软件涉及到金融、法律和技术等多个领域的专业知识,因此存在以下技术难点,开发Web3 ETF软件是一项复杂的技术挑战,需要综合考虑各种因素。开发人员需要具备较强的技术能力和跨学科知识才能成功开发Web3 ETF软件。北京木奇移动技术…

WEB基础--JDBC基础

JDBC简介 JDBC概述 数据库持久化介绍 jdbc是java做数据库持久化的规范,持久化(persistence):把数据保存到可掉电式存储设备(断电之后,数据还在,比如硬盘,U盘)中以供之后使用。大多数情况下,特别是企业级…

Jsoncpp介绍

1.简介 Jsoncpp 是一个 C 库,用于解析和生成 JSON 数据。它提供了一个易于使用的 DOM(Document Object Model)风格的 API,允许开发者以树形结构的方式操作 JSON 数据。 Jsoncpp 是一个C库,允许操作JSON值,…

AI Agent智能应用从0到1定制开发(wanjie)

AI Agent(人工智能体)是一种能够感知环境、进行决策和执行动作的智能实体。不同于传统的人工智能,AI Agent 具备通过独立思考、调用工具去逐步完成给定目标的能力。 「完结12章」AI Agent智能应用从0到1定制开发 AI Agent 和大模型的区别在…

【管理咨询宝藏95】SRM采购平台建设内部培训方案

本报告首发于公号“管理咨询宝藏”,如需阅读完整版报告内容,请查阅公号“管理咨询宝藏”。 【管理咨询宝藏95】SRM采购平台建设内部培训方案 【格式】PDF版本 【关键词】SRM采购、制造型企业转型、数字化转型 【核心观点】 - 重点是建设一个适应战略采…

PDF转word转ppt软件

下载地址:PDF转word转ppt软件.zip 平时工作生活经常要用到PDF转word转ppt软件,电脑自带的又要开会员啥的很麻烦,现在分享这款软件直接激活就可以免费使用了,超级好用,喜欢的可以下载

C++类和对象(基础篇)

前言: 其实任何东西,只要你想学,没人能挡得住你,而且其实学的也很快。那么本篇开始学习类和对象(C的,由于作者有Java基础,可能有些东西过得很快)。 struct在C中的含义: …

PyTorch模型的保存加载

一、引言 我们今天来看一下模型的保存与加载~ 我们平时在神经网络的训练时间可能会很长,为了在每次使用模型时避免高代价的重复训练,我们就需要将模型序列化到磁盘中,使用的时候反序列化到内存中。 PyTorch提供了两种主要的方法来保存和加…

缓存雪崩、击穿、击穿

缓存雪崩: 就是大量数据在同一时间过期或者redis宕机时,这时候有大量的用户请求无法在redis中进行处理,而去直接访问数据库,从而导致数据库压力剧增,甚至有可能导致数据库宕机,从而引发的一些列连锁反应&a…

MATLAB 基于规则格网的点云抽稀方法(自定义实现)(65)

MATLAB 基于规则格网的点云抽稀方法(自定义实现)(65) 一、算法介绍二、算法实现1.代码2.结果一、算法介绍 海量点云的处理,需要提前进行抽稀预处理,相比MATLAB预先给出的抽稀方法,这里提供一种基于规则格网的自定义抽稀方法,步骤清晰,便于理解抽稀内涵, 主要涉及到使…

springboot整合rabbitmq的不同工作模式详解

前提是已经安装并启动了rabbitmq,并且项目已经引入rabbitmq,完成了配置。 不同模式所需参数不同,生产者可以根据参数不同使用重载的convertAndSend方法。而消费者均是直接监听某个队列。 不同的交换机是实现不同工作模式的关键组件.每种交换…

三层交换机与防火墙连通上网实验

防火墙是一种网络安全设备,用于监控和控制网络流量。它可以帮助防止未经授权的访问,保护网络免受攻击和恶意软件感染。防火墙可以根据预定义的规则过滤流量,例如允许或阻止特定IP地址或端口的流量。它也可以检测和阻止恶意软件、病毒和其他威…

SlowFast报错:ValueError: too many values to unpack (expected 4)

SlowFast报错:ValueError: too many values to unpack (expected 4) 报错细节 File "/home/user/yuanjinmin/SlowFast/tools/visualization.py", line 81, in run_visualizationfor inputs, labels, _, meta in tqdm.tqdm(vis_loader): ValueError: too …