摘要

问题一:
以前的方法关注轮廓,但一些直接考察RGB的端到端方法表现更好
问题二:
端到端方法有噪声干扰,即低级纹理和彩色信息

本文关注跨域评估(cross-domain evaluation)

引言

老方法两步走,1.从RGB中提取中间模态,例如轮廓蒙版或骨架关键点,2.将它们放入下游步态识别网络
不足体现在效率和有效性方面

GaitEdge的中间模式是一个新的合成剪影,而它的边缘则由一个新的合成剪影组成,是由可训练的浮动掩码组成的,其他区域是经典的二进制剪影。
RGB信息的噪音主要分布在非边缘区域,例如人体和背景之间。因此,将这些区域作为二元剪影处理可以有效地防止步态不相关噪声的泄漏。
边缘区域在描述人体的形状方面起着至关重要的作用。
尺寸归一化对齐[9]对于剪影预处理是必要的。在剪影预处理中必须保持身体的长宽比。但这种操作是离线的,所以没有可区分性,不能直接应用于合成剪影的对齐。为了解决这个问题,受RoIAlign[6]的启发,提出GaitAlign模块来完成GaitEdge的框架。它可以被看作是一个由[9]提出的对齐方法的可微调版本。

本文的主要贡献:

  1. 指出对步态无关的噪声混入最终步态表征这一问题,引入跨域测试来验证RGB噪声的泄漏。此外,由于缺乏提供RGB视频的步态数据集,本文收集了Ten Thousand Gaits (TTG-200),其规模大约等于 流行的CASIA-B[26]。
  2. 提出GaitEdge,一个端到端步态识别框架。用CASIA-B和TTG-200实验,证明可以有效防止不相关的RGB信息噪音
  3. 为基于剪影的端到端步态识别提出了一个名为GaitAlign的模块,它可以被认为是尺寸归一化的一个可区分版本[9]。

相关工作

2.1 步态识别

步态[23]定义为某人可重复和有特征的行走模式。另一项类似的任务,即行人重识别[31],目的是在另一个地方通过另一个摄像头找到同一个人。
尽管有相似之处,但它们仍然有本质上的不同:第一个任务侧重于行走模式,而第二项任务主要使用服装进行识别。因此,不能让步态识别网络获取步态模式以外的信息,如基于RGB信息的纹理和颜色。(ReID信息干扰gait,所以从定义上到实现上都要区别开这俩)

主流方法

  1. 基于模型的方法[15,2,14,22]通常先提取人体的底层结构,如二维或三维骨架关键点,然后对人的行走模式进行建模。一般来说,这些方法可以更好地减轻衣服的影响,更准确地描述身体的姿态。尽管如此,由于视频质量不高,所有这些方法都难以在实际监控场景下对人体结构进行建模。(类似于指静脉细节点的不确定性吧)
  2. 基于外观的步态识别方法[24,28,4,29,5,7,16]。GaitSet[4]将一连串的剪影作为输入并取得了很大的进展。随后,Fan等人[5]提出了一个焦点卷积层来学习部分级别的特征,并利用微动捕捉模块来模拟短距离的时间模式。此外,Lin等人[16]提出了一个基于3D CNN的全局和局部特征Ex tractor模块,从帧中提取可判别的全局和局部表征,其性能明显优于其他方法。

2.2 端到端

端到端理念[30,14,20]应用于步态识别。Zhang等人[30]提出了一个自动编码器,在没有明确的外观和步态标签监督的情况下,将外观和步态信息分离出来(自监督啊)。Li等人[14,13]使用新开发的三维人体网格模型[17]作为中间模式,使神经三维网格渲染器[12]生成的剪影与从RGB图像中分割出来的剪影一致。由于三维网状模型提供了比剪影更多的有用信息,这种方法取得了最先进的结果(也是一种GAN的实现思路啊)。然而,使用三维网状模型需要对输入的RGB图像进行更高的分辨率,这在实际的监控场景中是不可行的(依然是对初始像素清晰度有依赖,和细节点殊途同归)。与前两者不同,Song等人[20]提出了另一种类型的端到端步态识别框架。它是通过直接连接行人分割和步态识别网络形成的,它由联合损失,即分割损失和识别损失监督(真正意义上的端到端)。这种方法看起来更适用,但由于没有明确的限制,它也可能导致步态无关的噪声渗入识别网络(莫须有)。本文的GaitEdge主要提出并解决两个关键问题:跨域评估剪影错位

3 跨领域

现有的端到端方法[30,20,14,13]大大提高了准确率,怀疑RGB信息的引入是改进的原因。为了验证这猜想,引入了两种步态识别范式并进行了实验比较。
首先,采用性能最好的两步步态识别方法之一,即GaitGL[16]作为基线。此外,还引入了一个简单而直接的端到端模型,名为GaitGL-E2E,提供了一个公平的比较。如图2(a)和(b)所示,除了GaitGL-E2E通过一个可训练的分割网络,即U-Net[18],用浮动编码剪影取代二进制掩码外,两种方法使用相同的模块。实验将单域评估定义为在CASIA-B5[26]上进行训练和测试。相应地,跨域评估被定义为在另一个数据集上进行训练,即TTG-200,但在CASIA-B上测试训练后的模型。更多的实施细节将在第5节详述。如图2(d)的单域部分所示,GaitGL-E2E很容易胜过GaitGL,因为它有更多的可训练参数,而且浮点掩码中包含的信息比二进制掩码多。然而,不可避免的是,流入识别网络的浮点数字带来了RGB图像的纹理和颜色,这使得识别网络学习了与步态无关的信息,导致了跨域性能的下降。另一方面,图2(d)的跨域部分显示,GaitGL-E2E没有取得与单域相同的优势,在最具挑战性的情况下,即CL(换衣服),甚至比GaitGL低很多。这一现象表明,端到端模型更容易学习容易识别的粗粒度的RGB信息,而不是细粒度的不可感知的步态模式。上述两个实验表明,GaitGL-E2E确实吸收了RGB噪音,因此它对于具有实际跨域要求的步态识别不再可靠。因此GaitEdge由步态合成模块和可区分的GaitAlign模块组成,如图2(c)所示。GaitEdge和GaitGL-E2E之间最重要的区别是,通过手动剪影合成来控制RGB信息的传输。

4 方法

4.1 步态合成

边缘(剪影的轮廓)包含剪影图像中最有鉴别力的信息[25]。剪影的内部可以被视为信息量较小的低频内容,而如果去掉内部,信息将过于紧凑,无法训练识别网络。因此,所设计的模块,名为 “步态合成”,主要是通过掩码操作将可训练的边缘与固定的内部结合起来。它只训练剪影图像的边缘部分,而边缘以外的区域则由冻结的分割网络提取出来。

M s = M e × P + M i M_s=M_e \times P + M_i Ms​=Me​×P+Mi​这样屏蔽噪声

预处理

设计了一个不可训练的预处理操作来获得Me和Mi。首先,用训练好的分割模型分割输入的RGB图像,得到剪影M。然后,在第二步,用经典的形态学算法得到具有3×3平面结构元素的扩张和侵蚀剪影(Mi)。最后,通过元素的排他性或⊻得到Me。
M i = e r o d e ( M ) M_i=erode(M) Mi​=erode(M)
M e = M i ⊻ d i l a t e ( M ) M_e=M_i ⊻ dilate(M) Me​=Mi​⊻dilate(M)
通过限制可调整的区域来保留最有价值的剪影特征,同时消除大部分低级别的RGB信息噪音。值得一提的是,由于设计的简单性,Gait Syn论文可以可拆卸地集成到以前基于剪影的端到端方法中。

4.2 步态对齐

对齐是所有基于剪影的步态识别方法的关键。由于剪影的尺寸归一化首次用于OU ISIR步态数据库[9],几乎所有基于剪影的方法都通过尺寸归一化对剪影输入进行了预处理,这消除了噪音,有利于识别。然而,以前的端到端方法,即GaitNet[20],将分割后的剪影直接送入识别网络很难处理上述情况。因此提出了一个名为GaitAlign的可区分的步态对齐模块,使身体成为图像的中心,并在垂直方向上填充整个图像。首先回顾一下尺寸归一化[9],因为GaitAlign可以被看作是一个可区分的版本。在尺寸归一化中,通过找出身体的顶部、底部和水平中心,可以将身体按长宽比缩放到目标高度,然后在X轴上填充零,以达到目标宽度。
算法1中的伪代码描述了GaitAlign的程序。首先需要在左右两边垫上一半的宽度zeros,这样可以保证裁剪操作不会超出边界。根据长宽比和目标尺寸,然后计算出四个有规律的采样点的精确值。最后,将RoIAlign[6]应用于上一步所给的位置。结果得到了标准尺寸、充满图像的剪影,其长宽比保持不变(参考图3中GaitAl ign的输出)。另一个值得注意的地方是,GaitAlign模块仍然是可分的,使端到端训练是可行的。

算法1 GaitAlign伪代码。
# s_in : 来自分割输出的剪影,(n,1,h,w)
# size:目标尺寸,(H,W)
# r:人体的长宽比,(n)
# s_out:对齐的剪影,(nx1xHxW)
# 沿着X轴填充,以便不超过边界
s_in = ZeroPad2d((w/2, w/2), 0, 0)) # (n,1,h,2w)
binary_mask = round(s_in) # 二进制轮廓
# 计算坐标并恢复长宽比 r
left, top, right, bottom = bbox(binary_mask, r, size)
# 通过可微调的roi_align得到新的剪影
s_out = roi_align(s_in, (left, top, right, bottom), size)
bbox: 在保持长宽比的情况下,获得边界框的四个固定位置。
roi align: 在不损失空间对齐的情况下,裁剪和调整感兴趣的区域的大小。

5 实验

5.1 数据集

理想的步态数据集拥有几个重要的属性: 可用的RGB视频,丰富的相机视角,以及多种行走条件。

数据集。有一些可用的步态识别数据集,例如,CASIA B[26]、OUMVLP[21]、Outdoor-Gait[20]、FVG[30]、GREW[32]等。然而,并不是所有的都对基于端到端的步态识别方法有用。例如,拟议的工作不能应用两个全球最庞大的步态数据集,OUMVLP[21]和GREW[32],因为它们都不提供RGB视频。

CASIA-B[26]

有124个科目在室内行走。它可能是最受欢迎的数据集,包括11个视图([0◦-180◦])和三种行走条件,即正常行走(NM#01-06),带包行走(BG#01-02),和换衣服行走(CL#01-02)。严格遵循以往的研究,将前74名受试者归入训练集,其他受试者归入测试集。此外,对于测试阶段,前4个序列(NM#01-04)被视为画廊集,而剩下的6个序列被分组为3个探测子集,即NM#05-06、BG#01-02、CL#01-02。此外,由于CASIA-B的剪影是通过过时的背景减法得到的,存在许多由背景和被试者衣服引起的噪声。因此对CASIA-B的剪影进行了重新标注,并将其命名为CASIA-B*。所有的实验都是在这个新注解的基础上进行的。

TTG-200

这个数据集包含了200个在野外行走的主体,每个主体需要在6种不同的条件下行走,即携带、穿着、接听电话等等。在每个行走过程中,受试者将被位于不同视点周围的12个摄像机拍摄(未标记),这意味着每个受试者最好拥有6×12=72个步态序列。实验取前120名受试者进行训练,取最后80名受试者进行测试。此外,第一个序列(#1)被认为是画廊集,其余5个序列(#2-6)被认为是探测集。
与CASIA-B相比,TTG-200有三个主要区别: (1) TTG-200的背景更加复杂多样(在多个不同的户外场景中收集);(2) TTG-200的数据多为鸟瞰图,而CASIA-B的数据多为水平图;(3) TTG 200的图像质量更好。因此可以将这两个数据集视为不同的领域。

实现

数据预处理

首先采用ByteTrack[27]从CASIA-B[26]和TTG-200的原始RGB视频中检测和跟踪行人,然后进行人体分割和剪影对齐[9]以提取步态序列。获得的剪影被调整为64×44,可以作为这些两阶段步态识别方法的输入,或者作为这些端到端方法中行人分割网络的基础事实。

行人分割

使用流行的U-Net[18]作为分割网络,它由二元交叉熵[10]损失Lseg监督。设定输入大小为128×128×3,U-Net的通道为{3, 16, 32, 64, 128, 64, 32, 16, 1},并通过SGD[19]进行训练(批次大小=960,动力=0.9,初始学习率=0.1,权重衰减=5×10-4)。对于每个数据集,在每10000次迭代中以1/10的学习率训练网络,直到收敛。

步态识别

使用最新的GaitGL[16]作为识别网络,并严格遵循原论文的设置。

联合训练细节

在这一步中,训练数据的采样器和批次大小与步态识别网络类似。用联合损失Ljoint = λLseg + Lrec来联合微调分割和识别网络,其中Lrec表示识别网络的损失。λ代表分割网络的损失权重,设置为10。此外,为了使联合训练过程更快地收敛,使用训练好的分割网络和识别网络的参数来初始化端到端模型,相应地,它们的初始学习率分别被设置为10-5和10-4。此外固定了分割网络的前半部分,即U-Net,以保持分割结果为人类形状。联合训练端到端网络共20,000次迭代,并在第10,000次迭代时将学习率降低1/10。

5.2 性能比较

单域评估

传统的两步步态识别方法的性能远远低于两个端到端的方法。
GaitEdge的准确率略低于GaitGL-E2E
但是GaitGL-E2E在步态不相关的噪声中拥有较高的过拟合风险,因为它直接将分割网络工作产生的浮动掩码作为识别网络的输入。因此进一步进行跨域评估以支持这一概念的实验。

跨域评估

如果一些不相关的噪音主导了用于人体识别的步态代表,即纹理和颜色,那么在跨域设置的情况下,识别准确率将急剧下降,因为提取的特征不能代表相对稳健的步态模式。
所有这些方法与单域相比都有明显的性能下降。尽管GaitGL-E2E在单域中具有最高的准确性,但它在从CASIA-B*/到TTG-200的跨域中实现了最差的性能。相比之下,GaitEdge在跨域评估中达到了比任何其他发布的方法都要好的性能,尽管它比GaitGL-E2E在单域中低2%左右。因此,这种跨域评估不仅表明Gait Edge的鲁棒性远远优于GaitGL-E2E,而且还声称GaitEdge是一个用于端到端步态识别任务的实用而先进的框架。

与其他端到端方法的比较

GaitEdge与之前的三种端到端步态识别方法在CASIA-B*上的不同观点进行了比较。表3显示,GaitEdge在各种行走条件下几乎达到了最高的准确率,尤其是CL(比MvModelGait+5.7%),这表明GaitEdge对颜色和纹理(衣服的变化)具有明显的鲁棒性。

5.3 消融研究

边缘的影响

通过几种尺寸的结构化元素提取边缘——结构化元素越大,边缘面积越大。根据表4所示的结果,随着结构化元素大小的增加,单域的性能相应增加,但跨域的性能几乎同时下降。这一结果宣称,占据中间合成轮廓的浮动掩模的面积与GaitEdge的跨域性能呈负相关。因此GaitGL E2E在跨域评估中失败的原因是,在无限结构元素的情况下,它与GaitEdge等效。此外,那些非边缘区域的轮廓,即人体和背景,在浮动编码中不适合端到端步态识别框架。

GaitAlign的影响

自然场景下的行人检测(上游任务)的结果往往比受控环境(即CASIA-B*/和TTG-200)下的结果差很多。为了模拟这种复杂的情况,首先对CASIA-B*的视频进行物体检测,然后以0.5的概率进行随机像素偏移,同时进行垂直和水平协凋。如图6(a)所示,底部图像受到干扰,目的是模拟自然情况。图6(b)显示,对齐后的平均准确度明显提高。此外正常行走(NM)的准确率下降了一点,即-0.38%。然而这是因为NM的准确率已经接近上限了。

5.4 可视化

为了更好地理解GaitGL-E2E的性能下降和GaitEdge的有效性,可视化GaitGL E2E和GaitEdge分别产生的中间结果,以及对应于同一帧的地面真实。具体来说,对于GaitGL-E2E,(a)、(b)、©和(d)中的中间结果捕获了更多的背景和纹理信息,一些身体部位被消除了,如(e)和(f)中的腿。而对于GaitEdge来说,中间结果更加稳定和合理,使其更加稳健。

6 结论

本文提出了一种新型的端到端步态识别框架,即Gait Edge,它可以解决跨域情况下的性能下降问题。具体设计了一个步态合成模块,用通过形态学操作获得的可调整边缘来掩盖固定的身体。此外,还提出了一个名为GaitAlign的可调整模块,以解决由上游行人检测任务引起的身体位置抖动问题。还在两个数据集上进行了广泛而全面的实验,包括CASIA-B*和新建立的TTG-200。实验结果表明,GaitEdge明显优于以前的方法,表明GaitEdge是一种更实用的端到端范式,可以有效地阻断RGB噪声。此外,这项工作暴露了以前的研究所忽视的跨领域问题,这为未来的研究提供了一个新的视角。

读《GaitEdge: Beyond Plain End-to-end Gait Recognition for Better Practicality》相关推荐

  1. 读《Android 安全架构深究》

    Android 安全架构深究 安全是一个非常立体而丰富得概念.在不同的场景下,安全有着不同的含义. 比如对于网络传输,安全指的是传输的数据不会被其他人看到.篡改.伪造及仿冒,传输的数据不会遭到破坏,数 ...

  2. 《最强Android书 架构大剖析》读书笔记

    文章目录 第一章 Android 体系结构的变革之路 1.2 Android系统源码目录 与Linux的异同 Android的框架 原生二进制可执行文件 Android 的原生库 核心(core)库 ...

  3. Android Jetpack架构组件之 Room(使用、源码篇)

    2019独角兽企业重金招聘Python工程师标准>>> 1.前言 最近简单看了下google推出的框架Jetpack,感觉此框架的内容可以对平时的开发有很大的帮助,也可以解决很多开发 ...

  4. 抖音、美团等大厂千万级用户的Android客户端架构演进之路—

    在移动开发中,对开发者来说不同的人具有不同的能力.就像读一本书一样,一千个读者,有一千个哈姆雷特.但不管怎样,只要你是个软件开发者你就必须学习windows或Linux等操作系统的运行原理.Andro ...

  5. Android 图形架构之一 ——概述

    前言 本系列的文章,可以让你明白,一个View最终是如何显示到屏幕上的,从应用层到硬件抽象层.对分析app的卡顿,掉帧等 有很大帮助. 由于图形架构的涉及到的代码量很大,所以本篇先来个总体的概述,有个 ...

  6. Android display架构分析-SW架构分析(1-8)

    参考: Android display架构分析二-SW架构分析 Android display架构分析三-Kernel Space Display架构介绍 Android display架构分析四-m ...

  7. 高通Android display架构分析

    目录(?)[-] Kernel Space Display架构介绍 函数和数据结构介绍 函数和数据结构介绍 函数和数据结构介绍 数据流分析 初始化过程分析 User Space display接口 K ...

  8. [Android] Android MVP 架构下 最简单的 代码实现

    Android  MVP 架构下  最简单的 代码实现 首先看图: 上图是MVP,下图是MVC MVP和MVC的区别,在于以前的View层不仅要和model层交互,还要和controller层交互.而 ...

  9. Android系统架构-[Android取经之路]

    摘要:本节主要来讲解Android的系统架构 阅读本文大约需要花费10分钟. 文章首发微信公众号:IngresGe 专注于Android系统级源码分析,Android的平台设计,欢迎关注我,谢谢! 欢 ...

  10. Android系统架构图及简单的系统架构介绍

    2019独角兽企业重金招聘Python工程师标准>>> ndroid的系统架构和其操作系统一样,采用了分层的架构.从架构图看,android分为四个层,从高层到低层分别是应用程序层. ...

最新文章

  1. R语言glm拟合logistic回归模型:模型评估(模型预测概率的分组密度图、混淆矩阵、准确率、精确度、召回率、ROC、AUC)、PRTPlot函数获取logistic模型最优阈值(改变阈值以优化)
  2. BZOJ2815: [ZJOI2012]灾难
  3. java RSA加密解密--转载
  4. java dbcp_Java dbcp连接池基本使用方法详解
  5. 排序箭头,升序,降序简单实现
  6. 10投屏后没有声音_手机投屏到电视没有声音?
  7. java操作word文档,深度解析,值得收藏
  8. spring mvc使用html页面,Spring MVC静态页面
  9. AI 端侧落地+图像语义分割,百度 AI 快车道揭秘工业质检不再靠“人眼”的秘诀...
  10. Linux安装教程4,pfSense-2.4.4安装教程
  11. C++之=deleted
  12. linux下安装Telnet服务器
  13. 关于mssql的学习体会,仅供参考!
  14. Vue.js对数组对象的序号字段初始化重新生成序号
  15. 强网杯2021——wp
  16. Spread 16.0 for WinForms Crack
  17. k8s.gcr.io、gcr.io仓库的镜像下载
  18. app按钮没反应android,求助,uni-app按钮点击没反应
  19. CUIT-2017 Re150 攻防世界
  20. vue.js以及vue_devtools的网盘

热门文章

  1. Git配置SSH 免密登录
  2. 有些程序员,本质是一群羊!
  3. 股票模拟交易日志(二)
  4. 解决IOS橡皮筋效果
  5. Oauth2Sso-vue axios转发/oauth/authorize未设置cookies问题
  6. html显示未定义,未定义的引用怎么解决
  7. 页面图片加载慢解决方案
  8. 基于java记账管理系统(论文+PPT+源码)
  9. Android 气泡动画(自定义View类)
  10. 谷歌浏览器如何开启全黑模式