Recurrent Attention Models for Depth-Based Person Identification
中文翻译
PS:大多来自于谷歌,部分自己修改。
1.介绍
快速,局部地观察人通常足以使人识别个体。但事实证明,这种卓越的能力对于现代计算机视觉系统来说是一项难以捉摸的任务。然而,它有着类似于安全认证,人工跟踪,公共安全和基于角色的活动理解的宝贵任务[34,30,2]。
给定一张输入图像,行人识别旨在为图像中存在的个体分配识别标签。尽管之前的工作[79,80,40]都做出了非常大的努力,但是这个任务仍然在很大程度上没有得到解决。如果没有准确的空间或时间约束,由于类内差异,单独的视觉特征通常本质上不适合于跨时间匹配行人,同时,由于照明,视点和姿态引起的附加差异更是进一步加剧了该问题。
因为生理学和心理学的研究结果表明,每个人的步态都是独特的[57,56,17]。故在此观察的基础上,我们的目标是学习每个人独有的体态轮廓和运动特征(见图1)。受近期深度模态[4,77]的成功所启发,我们的目标是从深度图像或视频输出识别标签。
图1:已经证明步态对每个人都是独特的。我们提出了一个4D循环注意模型来学习时空特征并从深度图像中进行行人识别。
实现这一目标的主要挑战是设计一个模型,该模型不仅需要能够推断运动和体态轮廓,而且对于累内差异也需要有足够的鲁棒性。另一个挑战是行人识别自身由大量的类别所组成,而每个类别却只包含了很少的训练样本(在某些情况下甚至只有单个训练样本)。现有数据集[52,5,54]通常会收集具有恒定外观的前向视图(例如类似的服装)。虽然这样做会使得问题更容易处理,但是我们更希望去释放这些假设以解决具有更广泛受众及一般性的识别任务。
我们的核心思想是,尽管缺乏足够的训练样本,但是我们仍可以利用原始深度视频,通过将任务设定成强化学习来解决上文所说到的挑战。我们的方法涉及到了裁剪高维输入空间,并将注意力放在小的有区别的区域,同时我们排除了视觉和时间的假设。具体而言,我们的贡献是:
在第4节中,我们展示了我们的模型在几个现有数据集上实现了最好的结果。 此外,我们利用我们的循环注意力模型,创建了可解释的2D,3D和4D可视化注意力[71]。 我们的研究结果为个体之间的体积和运动差异提供了新的见解。 为了有助于未来的研究,我们会在发布时公开所有代码,数据和注释。
2.相关工作
基于RGB图的方法。与识别相关的主要挑战是类内差异,这些类内差异包括照明、视点、姿势和遮挡引起的外观变化。许多尝试通过改变特征表示[24,68,22,78,79,37,80]和探索新的相似性度量[40, 49, 60]来解决这些问题。基于轮廓的方法完全忽略颜色,这种方法使用人体测量学或人体各部分之间的测地距离来完成。
基于深度的方法。继基于剪影的方法之后,一些基于深度的研究已经将人体测量学和软生物测量学应用于3D人体骨骼[51,3,55,4,20]。利用深度相机的全部功能,几篇论文研究了用于人物识别的3D点云[77,30]。虽然这些方法是成功的,但它们依赖于手工制作的特征(例如手臂长度,躯干宽度)或低级RGB特征(例如SURF [7],SIFT [42])。
时空表征。 到目前为止所有已描述的方法在很大程度上忽略了时空信息。 最初在[26]中提出,步态能量图像和ifigts变体[16,6,29,66]通过平均视频的所有帧上的轮廓将时间信息嵌入到二维图像上。测试时间预测是用k最邻近算法得来的。
最近,通过使用深度传感器将步态能量图像扩展到3D [28,63]。 空间体积和高维张量用于活动和动作识别[58,67,75,8,32,39]已经被提出来用于活动和动作识别[58,67,75,8,32,39],医学图像分析[62],机器人[47,48]和人体运动分析[38] ,但尚未在行人识别领域进行彻底探索。
基于深度学习的识别。少数研究探索了深度神经网络在行人识别中的适用性。在[73]中,Yi等人。提出了一种用于相似性度量学习的Siamese卷积神经网络。在[41]中,李等人提出了一种相似的方法,他们使用滤波器对来模拟光度和几何变换。继这些研究之后,丁等人将输入表示为包含正确和不正确的参考图像的三元组。在[1]中,Ahmed等人提出了交叉输入领域差异。
我们的工作与上述工作有几个关键的区别:首先,我们关注深度模态,不使用任何RGB信息。其次,上述方法[73,41,19,1]摄取若干图像作为输入并计算这些输入之间的相似性。他们使用从非重叠相机视图捕获的图像将识别问题表示为图像相似性任务。我们的模型使用单个图片[注1]作为输入,不依赖于度量学习。
注意力模型。深度学习模型的可解释性在机器学习和计算机视觉领域中变得越来越重要。通过测量输出变量对输入差异的敏感性,应用于图像分类[76,25,70]、图像字幕[21,71,14]、物体检测[11]和跟踪[18]的注意力模型已经阐明了卷积和循环网络的许多方面。这些方法利用输入的空间结构来理解中间网络的表示。另一方面,顺序数据需要时间关注模型来理解输入数据的顺序依赖性。最近在语音识别[23],视频字幕[72]和自然语言处理[35,43,13]中的论文探讨了时域中的注意概念。
许多深度学习模型对输入施加了约束。 由于图像的高维度(即高像素数),预处理通常包括调整或裁剪原始输入图像的大小[36]。 视频通常被截断为固定长度以进行训练。由于计算上的限制,这种信息丢失对于约束运行时间是必要的。在下一节中,我们将介绍我们的模型,以及我们如何通过采用视觉“瞥见”[50]来平衡这种权衡,该视觉“瞥见”处理具有高保真度的小4D区域,以及具有较低细节的较大区域。
3.我们的模型
我们模型的目标是针对深度图像或视频进行行人识别。模型(图2)计算了用于预测识别标签的Hard attention region。在本节中,我们介绍了我们的4D输入表示,并且讨论了我们的注意力模型。
图2:完整模型。虚线箭头表示跨时间步骤的信息交换。 实线箭头表示时间步骤内的信息交换。从左到右依次展示了两个时间步骤。注意: 注意:RAM时间步长t指的是我们模型的“迭代”,而不是指输入视频时间戳τ。 其他的变量在3.2节中定义。
3.1输入表达
从较高维度空间到较低空间的投影会导致信息丢失。 这可以作为我们使用4D数据的动力:我们希望保留尽可能多的信息,让我们的模型决定相关区域。 四维数据由3D点云(例如,x,y和z 坐标系)和时间τ组成。 为简单起见,图2将输入显示为从深度图像构造的3D点云。
每个训练示例(x,y)由可变大小的4D张量x和对应的标签y组成。 由于视频长度可变,故张量是可变的。 设f表示视频i中的帧数,让x,y和z表示张量的宽度,高度和深度尺寸。
其中C是类的数量。 对于平均包含500帧的视频,展平x会导致2.5×109个元素的特征向量。 相比之下,一个227×227RGB图像(典型的卷积网络)产生1.2×106个元素。 这意味着我们的模型必须在比普通卷积网络大三个数量级的输入空间上运行。 因此,我们的模型必须设计为智能地操纵这些高维空间。
3.2循环注意力模型
鉴于这种高维深度表示,我们希望我们的模型专注于输入空间中较小的,有区别的区域。 Minh等人 [50]最近提出了用于图像分类和强化学习问题的循环注意模型(RAM)。 虽然它们显示出不完美的结果,但它们有几个优点。首先,训练集很丰富。 图像分类已经得到很好的研究,并且存在几个大的基准。 诸如基于控件的视频游戏之类的动态环境可以在玩游戏时即时生成数据。 其次,他们的输入维数相对较小:MNIST为28×28而控制游戏为24×24 [50]。
另一方面,行人识别不具备这些优点。 相反,我们的实验使用的是有限且高维度训练集。 图2展示了我们提出的模型的概述。 它包括对输入进行下采样的“Glimpse”层,作为附加维数减少工具的编码(Encoder)阶段,以及负责时空学习的核心RAM网络。
Glimpse层。 瞥见层的目标有两个:(i)它必须避免(或极大地限制)信息丢失和(ii)它必须避免处理大量输入。 在给定时间步长t内,我们的模型不能完全访问输入x,而是提取部分观察内容或由ρ(x,φt)表示的“Glimpse”。 Glimpse以高分辨率对φt周围的区域进行编码,但对于远离φt的点使用逐渐降低的分辨率。 采用多尺度策略已被证明是一种有效的去噪技术[81]。 另外,这种方法能够让张量具有比原始输入x低得多的维数。 通过关注特定区域,我们可以通过模型减少所需的计算量,减少时空细节的损失,并降低噪声的影响。
如图2所示,一个glimpse是由G超立方体贴片组成的。其中, 第一个贴片的边长为gs,并保持以φ为中心的输入的全分辨率。 第二个贴片的边长为
2g s,以1/2分辨率采样。 随着贴片的大小逐渐增大,分辨率逐渐降低。 具体地说,第k个贴片的边长为kgs,并以原始输入分辨率的1 / k进行采样。 最后一瞥是这些超立方体贴片的串联。
Encoder。瞥见仍然包含大量特征(大约1×106)。 所以在成为我们data-limit行人识别任务的可行解决方案之前,我们必须进一步压缩glimpse。 为此,我们使用编码层来进一步减少特征空间。 在我们的模型中,这是通过4D卷积自动编码器完成的[45,33]。 编码器层离线训练并与RAM分开训练。 在RAM训练和测试时间期间,编码的特征表示为ct。
核心RAM单元。 如前所述,与4D输入相关联的特征的数量大约为1×109。 传统的深度学习方法无法从完整的输入空间中探索和学习。 由此推动,我们使用循环注意力模型。 我们的RAM目标有两个方面:首先,模型可解释性是这项工作的首要主题,给定基于图像的输入,基于注意力的模型允许我们在视觉上理解人体形状和身体动态。 其次,RAM通过关注丰富的判别区域来修剪输入空间,从而为我们提供了计算优势。如图2所示,我们的模型是一个循环网络:它由长短期记忆(LSTM)单元[27]和两个子网组成。 通过参数化θr,我们的LSTM在每个时间步长t内接收编码特征ct和先前隐藏层ht-1并输出隐藏状态ht。
子网络。在我们的RAM的下一次迭代之前,我们的模型必须采取两个动作:(i)它决定下一个一瞥位置和(ii)输出当前时间步长的预测识别标签。我们通过使用两个子网络来计算这些,他们分别是Location和Action网络。
Location网络使用参数化的分布,随机选择下一个Glimpse位置f(ht;θl)(其中θl指的是位置网络的参数)。与[50]类似,Location网络在时间t输出位置策略的平均值(由4-分量高斯定义),并由下式定义:f(ht;θl)= tanh(Linear(ht))其中Linear(`)是线性变换。
Action网络(由θα参数化)在给定当前LSTM隐藏状态ht的情况下输出预测类标签ŷ。由f(ht;θα)参数化,Action网络由f(ht;θα)= exp(Linear(ht))/ Z定义的线性和softmax层组成,其中Z是归一化因子。然后从softmax输出中选择预测的类标签ŷt。
3.3.训练与优化
公式。 深度视频本身就是一个很大的特征空间。 为了避免探索整个输入空间,我们将训练任务作为强化学习问题。当我们的模型决定了标签ŷ和下一个glimpse的位置φ之后,模型就会接收一个值R,当在时间T时刻(T为最大时间步数的阀值)ŷt=y时,R=1.否则R=0. 设Θ={θr,θl,θα}代表RAM的所有参数。
设s1:t=x,φ1,ŷ1......其中,x,φ1,ŷ1分别代表着所有input-action对的历史序列(即输入张量,预测标签和下一个Glimpse)。我们称之为glimpse path.glimpse path显示我们的模型随时间“看”的情况.我们的模型必须学习随机策略.它将glimpse path s1:t映射到当前时间步长的动作分布。策略π由我们的核心RAM单元定义,历史st嵌入在LSTM的隐藏状态ht中。
优化。我们的模型策略形成了可能的glimpse path的分布。我们的目标是在s1:N上最大化奖励函数:
其中p(s1:t;Θ)取决于政策π。然而,计算期望引入了未知的环境参数,这使得问题难以处理。将任务表示为部分可观察的马尔可夫决策过程允许我们计算梯度的样本近似值,称为REINFORCE规则[69]:
其中表示glimpse path,R(i)表示奖励,y(i)表示第i个训练示例的正确标签。另外,是LSTM的梯度。与[50]一致,我们使用交叉熵损失函数训练动作网络,并使用REINFORCE训练位置网络。这个公式允许我们的模型专注于空间和时间的显着3D区域。
优点。这个公式的一个主要好处是有限的训练数据不再是问题。 我们的模型是在瞥见(即输入的子集)而不是整个视频序列上训练的。 因此,我们的模型可用的训练样本的有效数量大约为每个视频1×106到1×109(即可能的一瞥数)。尽管只有一个视频作为输入,我们的模型几乎从未见过两次相同的训练示例。我们的模型仍然受到培训数据数量的限制,但我们的公式使其不再重要。
4.实验
首先,我们描述了我们的数据集和评估指标。 接下来是对实验,超参数和设计的选择的讨论。 然后,我们呈现单次(单幅图像)和多次拍摄(多帧)人物识别任务的结果。 然后,我们将展示2D,3D和4D可视化,然后对我们模型的局限性进行总结。
4.1数据集
我们的目标是根据深度相机拍摄的3D形状和身体动态识别行人。 大多数基于行人的RGB-D数据集都适用于行人活动分析和行为识别[12,10,31]。由于它们通常由少数受试者执行的许多手势组成,故这些数据集不适用于识别问题。因此,我们使用现有的基于深度的识别数据集并收集一个新的数据集以进一步测试我们的模型。
我们在几个现有的基于深度的识别数据集上评估我们的模型:BIWI [52],IIT PAVIS [5]和IAS-Lab [54]。 这些数据集分别包含50,79和11个人。 对于BIWI,我们使用完整的训练集和步行测试集。 对于PAVIS,我们分别使用Walking1和Walking2作为训练和测试集。 对于IAS-Lab,我们使用完整的训练集和两个分割的测试集。
现有数据集施加约束以简化识别问题(例如,每人几套衣服,前向视图或慢步行速度)。 我们收集了一个新的数据集:从顶部进行基于深度的人员识别(DPI-T),这与以前的数据集不同。
我们为每个行人提供了更多的镜头。平均而言,每个人每天会出现在25个视频中。这自然会造成每个人穿着不同的衣服——平均5件不同的衣服。图3揭示了我们数据集中穿着不同服装的三个人。此外,我们数据集中的人员可以再一天或一周的不同时间以不同的速度行走。
有挑战性的顶部视角。在现实世界的应用场景中,例如智能空间或公共空间(例如医院、零售商店),相机通常附着在天花板上,而不是现有数据集中干净的、正面或侧面的图像。这对于行人识别,就引入了一种叫自我遮挡的挑战,并且经常会造成脸部未识别以及不完整的3D电云重建。
人们大都拿着物品。现有数据集大都从在受控环境中行走的简单情况收集数据。 而在我们的数据集中,人们是“在野外”的,他们经常拿着咖啡,笔记本电脑或者食物等等。此外,由于我们的数据集是在很长一段时间内收集的,人们通常会戴帽子,袋子或雨伞(见图3)。 表1展示了了显示现有数据集和新数据集特征的对比的表格。
图三:样本图像来自于我们的基于深度的行人识别(DPI-T)数据集。每行代表着不同的人。为方便起见,左侧三列展示了RGB图像。我们的模型仅使用深度图像,如右栏所示。
表1:数据集的比较。DPI-T是我们新收集的数据集。我们列出了训练集和测试集的人、图像和视频的数量。测试集显示在括号中。外观由穿着独特服装或独特视觉外观的人定义。
4.2.评估指标
可以使用一张图像以“single-shot”的方式完成行人识别并产生标签,或者运用“multi-shot”来完成,multi-shot”拥有多帧、具有时间特征和多帧投票的特点。下面,我们提供single-shot和multi-shot拍摄方法的评估结果。
具体指标包括top-1识别率,累积匹配曲线(CMC),曲线下归一化面积(nAUC)度量。 Top-k识别率表示在top-k预测中包含正确标记标签的测试样本的分数。 将top-k度量推广到更高等级(最多为数据集中的人数),生成累积匹配曲线(CMC)。 对CMC曲线下的面积进行积分并对等级数进行标准化会产生nAUC。
4.3.实验设置
将张量固定为250×100×200的大小并将其转换为对应于x,y和z实际世界坐标的整数索引。x和y单位代表真是世界的厘米,而z单位代表10毫米。Glimpse位置被编码为φ=(x,y,z,τ),其中x,y,z是实数值,而τ是整数值。第一个glimpse patch的边长为8张量单位,我们使用5个glimpse patch。对于3D和4D输入,我们通过将高斯噪声(均值为0 cm和方差为5 cm)应用于点云中的每个点来增加数据。图像和张量在原点附近的所有方向上在0和±5cm之间移动,并随机缩放在0.8x和1.2x之间。我们使用随机梯度下降从零开始训练我们的模型,其中mini-patch为20,学习率为1×10-4,动量为0.9,重量衰减为5×10-4。在RAM训练之前,CNN在增强的训练样例上进行了预训练。所有学习层都采用0.5概率的dropout[65]。
4.4.基线
Single-Shot识别。我们将我们的循环注意力模型与几种基于深度的方法进行比较。表2展示了单次Single-shot识别任务的各种方法和结果:(1)我们使用统一随机猜测策略计算性能。(2)四个人手动执行识别任务。每个人都展示在一个单独的测试输入中,并且可以完全访问训练数据。(3-5)骨架关节之间的距离用作手工制作的特征[5,52,53]。(6)三维CNN在3D点云上运行。 (7)二维RAM对深度图像进行操作。(8)三维RAM在3D点云上运行。虽然我们的论文的重点是基于深度的人识别,但为了完整性,我们包括相关的RGB和RGB-D方法,以提供更全面的视野。(9)使用面部描述符[52]。(10)点-倾斜-变焦相机选择性地放大图像的不同部分[61]。(11)面部描述符与骨架关节之间的距离连接[53]。(12)在3D点云和骨架关节之间的距离上计算相似度得分[52]。
表2:single-shot识别性能。 上面显示的方法仅使用空间信息。 每种方法的摘要可以在第4.4节中找到。 两个指标都是在测试集上计算的。 值越大越好。 破折号表示没有公布的信息。 (*)虽然不公平比较,但为了完整起见,我们列出了RGB和RGB-D方法。
Multi-shot识别。表3列出了几种multi-shot方法。(1-2)我们使用随机和人类表现作为基线。(3-4)我们评估步态能量图像[26]和体积[63]。(5-6)这些方法使用手工制作的骨架特征和帧间投票系统。(7)成对骨架关节距离(与5-6相同)被送入LSTM。(8)随时间推移平均池化[9]的3D CNN [74]。(9)3D LSTM在3D点云上运行。(10)我们的最终RAM模型。(11-12)面部描述符与投票系统一起使用。(13)在一对图像上计算多分量不相似度(MCD)度量。(14)RGB-D点云匹配加上手工制作的特征用于识别。
表3:multi-shot识别性能。 上面显示的方法使用多个测试图像或使用时间信息。 每种方法的摘要可以在第4.4节中找到。 两个指标都是在测试集上计算的。 值越大越好。 破折号表示没有公布的信息。 (*)虽然不公平比较,但为了完整起见,我们列出了RGB和RGB-D方法。
4.5.Single-shot的识别表现
学习编码可提高性能。为了更好地理解我们的性能来源,我们减少了RAM的输入维度,并评估了2D和3D变体。 在单次任务上评估2D和3D模型。 随着输入的维数从2D增加到3D,我们的RAM性能单调增加(见图4)。 将其与表2中的步态能量进行对比。步态能量经历从2D到3D的类似转换(即,图像到体积),但在较高维度的情况下表现出较低的性能。 这表明我们学习的编码器能够保留来自较高维度输入的相关信息,而步态能量体在没有这种编码的情况下失败。
RAM优于深度学习基线。作为我们模型性能的进一步验证,我们评估了一个3D卷积神经网络[33]。两者的输入3D CNN和3D RAM(3D点云)。如表2所示,我们的3D RAM模型优于3D CNN。这证实了我们的假设,即我们的RAM能够利用一瞥来人为地增加训练样本的数量并提高性能。3D CNN不执行此类数据增强,而是在整个点云上运行。
图4:图4:(a-c)各种数据集和模型上测试集性能的累积匹配曲线。 数据集详细信息可以在4.1节中找到。 模型细节可以在4.4节中找到。 y轴表示识别率。 对于x轴,如果正确标签在模型的top-k预测范围内,则rank-k是识别率。
4.6.Multi-shot的识别表现
我们的最终模型(4D RAM)优于人类基线和现有的基于深度的方法。Munaro等人[52]和Barbosa等人[5]使用骨架关节之间的距离作为特征。 我们在表3中列出了这些手工制作功能的性能。结果表明这些功能无法推断出复杂的潜在变量。 我们的4D RAM模型也优于表3中的RGB-D方法(13)。在[52]中提出,方法(13)计算具有上述骨架距离特征的标准化3D点云表示。 虽然(13)利用RGB信息,但它分析整个点云,其可能包括外来噪声。 我们的模型通过选择包含有用信息的Glimpse来避免噪声区域。
4.7.注意力不集中的区域
我们的3D和4D RAM之间有一个关键的区别。在3D情况下,我们的模型必须“注意”每个帧τ的区域。然而,在4D情况下,我们的模型没有这个要求,因为τ是一个自由参数。我们的模型可以自行决定哪些框架“注意”,并且可以根据需要及时向前和向后移动。我们在图5中对此进行了分析。在视频过程中,
p(ŷt= y)不同。我们的模型不仅可以改变每个帧中的glimpse空间位置,还可以改变幅度。虽然我们的模型没有明确的注意力的量的概念,但它可以间接地模仿这个概念。为了减少对帧k的关注程度,我们的模型将glimpse中心移动到远离k的帧。虽然每次瞥见的注意力仍然保持不变,但是对k的关注量已经减少了。
如图5所示,我们的模型从φ1开始,“看着”人的肩膀,跳到另一个框架,继续“盯着”肩膀。对此的一种解释是我们的模型已经学会识别周期性循环。有趣的是,在生物学文献中已经表明,男性在行走时在肩部表现出强烈的旋转位移[46]。我们模型的注意力证实了这一主张。然后模型及时向后跳,并在φ3处看到脚。这表明腿部运动(即步态)可能提供身份的痕迹。我们的模型采取这一特定的glimpse路径很有可能是因为我们的学习策略根本没有探索过其他路径,但是我们的模型训练了很多歌不同初始glimpse位置的周期,所以减少了这一可能性。
然后我们将4D注意力投射到2D图像上。 图6a显示了我们的模型所采用的一瞥路径。 注意它几乎总是访问一个主要的骨架关节。 图6b显示了所有像素的注意热图。 它说明身体的不同区域吸引不同程度的注意力。 我们的模型很容易识别独特的鞋子或发型。 此外,它将左边的女性的臀部识别为辨别区域。 正如生物力学文献[15]所证实的那样,女性在臀部区域表现出强烈的侧向摇摆。 对于一些女性来说,仅此一项就可以成为独特的运动特征。
图6:我们模型的四维注意力的二维投影。 (a)Glimpse路径。 绿色和红色线分别表示正确和不正确的类标签预测。 圆圈表示导致预测的最终Glimpse位置。 (b)Glimpse热图。 红色区域表示我们的模型频繁访问的人体区域。使用高斯滤波器对热图进行平滑处理。
5.总结
我们引入了一种循环注意力模型,该模型从深度视频中识别出行人识别问题的判别时空区域。 我们的模型从高维4D输入空间学习独特的体积特征。 通过Glimpse和编码器减少维数,我们可以使用LSTM模块训练循环网络。 评估我们的模型在二维,三维和四维输入上的表现表明我们的注意力模型在几个行人识别数据集上实现了最先进的性能。 我们模型注意力的可视化为计算机视觉,生物力学和生理学的未来研究提供了新的见解。