步态是一种可以从较远距离进行采集, 且不需要被采集对象配合的一种生物特征[1], 能够被用来识别个体. 因此, 步态识别技术在犯罪预防, 法医鉴定和社会安全[2,3]等方面有着较大的应用价值. 然而, 步态识别仍然受到在现实场景中很常见的视角转换, 携带背包和衣物穿着这些外界因素的影响[4,5].
现有步态识别方法按输入类型划分为基于外形的步态识别方法, 和基于关键点的步态识别方法. 基于外形的步态识别方法目前更为主流, 它采用二值轮廓图作为模型输入, 也取得了较好的性能, 但二值轮廓图会引入一些非必要的特征, 如发型, 穿着的衣物等, 这会给模型带来干扰. 而基于关键点的步态识别方法采用的是人体关键点作为模型输入, 从而忽略了如穿着等外形带来的干扰, 由关键点序列组成的信息可以被视作是真正的步态表征. 因此, 基于关键点的步态识别有着更大的潜力. 而现有的步态识别方法要么忽视了人体结构这一先验知识, 要么倾向于提取局部信息而忽略了各结点之间的联系. 针对上述问题, 本文提出了一种基于关键点的步态识别方法GaitBody, 来提高步态识别的准确性. 本方法利用带有较大尺寸卷积核的时序多尺度卷积模块来提取多粒度的时序特征, 并在此基础上生成最有代表性时序信息, 在空间自注意力模块中引入了人体拓扑结构信息来充分利用人体结构的先验知识和提取全局性的步态特征.
2 相关工作(1)基于外形的步态识别算法
根据模型输入信息的使用方式, 还可以继续细分为以下3类: 基于步态能量图的步态识别[6,7], 基于集合的步态识别[8]和基于序列的步态识别[9–15]. 步态能量图(gait energy image, GEI)[6]是通过将二值轮廓图在时序尺度上进行平均池化操作, 将一个步态序列信息压缩到一帧图片中而产生的. 这些方法在简化模型处理过程的同时, 也会使模型损失一部分具有分辨性的时序特征. 而在基于集合的步态识别方法中, Chao等人提出了GaitSet[8], 将步态序列看成是一个无序的集合, 因此该方法专注于建模空间特征, 而忽略时序特征之间的依赖. 基于序列的步态识别方法将步态序列按帧输入, 并按顺序逐帧进行处理, 提取各帧之间的潜在联系, 在提取步态空间特征的同时, 更加注重于捕捉步态序列的时序特征. Fan等人提出GaitPart[9], 通过捕捉输入外形的局部特征, 并利用微动作捕捉模块来建模时序依赖来提取步态特征. 而Lin等人提出了GaitGL[10], 认为全局步态表征忽略了局部细节, 而局部特征不能捕捉相邻区域之间的关系, 因此设计全局局部卷积层来提取步态特征; Huang等人提出CSTL[11], 注重于通过多尺度时序卷积来提取时序上下文信息. Ma等人提出DANet[12], 利用动态自注意力机制来选择具有代表性的局部运动特征, 从而进一步学习鲁棒的全局运动特征.
(2)基于关键点的步态识别算法
Liao等人提出PoseGait[16], 根据输入关键点, 计算一些手工特征作为模型的先验知识, 如关节角度, 骨骼长度和关节运动信息来克服穿着上变化带来的影响. 但是手动设置的特征在模型迭代中灵活性较差, 且在实际生活运用中, 可能会因为摄像头角度变化带来的影响从而降低识别精度. Teepe等人提出GaitGraph[17], 在步态识别领域第1次提出利用图卷积网络(graph convolutional network, GCN)来建模人体关节点的结构信息, 采取将人体拓扑结构[18]随模型迭代而更新的策略来建模潜在的人体结构模型[17–19], 取得了较好的性能. 但是利用图卷积操作会使模型更倾向于提取局部关键点特征, 从而忽略了全局特征建模. 针对这个问题, Pinyoanuntapong等人提出GaitMixer[20], 利用自注意力机制来提取各关键点之间的潜在联系, 并利用大尺度的时序卷积提取时序特征, 进一步提高了识别的精度, 但是忽视了人体结构模型的建模, 并且采用单一尺度时序卷积提取步态特征, 对较为复杂的步态特征提取有不利影响. Huang等人提出了CAG[21], 设计了一种条件自适应图卷积网络来动态适应各种行走方式和视角变化来提取步态特征, 但是模型在大数据集上的泛化能力较弱. 综上所述, 本研究旨在设计一个基于关键点的步态识别算法, 能够自适应提取步态关键点之间潜在的空间联系, 建模人体拓扑结构, 同时能建模多尺度时序特征, 且具有较好的模型泛化能力.
3 基于关键点的步态识别算法 3.1 网络结构本文提出的步态识别方法的整体框架如图1所示. GaitBody将有
3.2 时序多尺度卷积模块
为了捕捉多粒度的时序特征, 本文提出了一个由4个并行的卷积核尺寸大小不同的卷积分支组成的多尺度卷积模块, 其中4个卷积分支的卷积核大小为
$ {T_f} = {{\rm{Conv}}_{1 \times 1}} \left( {E_i^0} \right) $ | (1) |
$ {T_s} = {{\rm{Conv}}_{11 \times 1}}\left( {E_i^0} \right) + {T_f} $ | (2) |
$ {T_m} = {{\rm{Conv}}_{21 \times 1}}\left( {E_i^0} \right) + {T_s} $ | (3) |
$ {T_l} = {{\rm{Conv}}_{31 \times 1}}\left( {E_i^0} \right) + {T_m} $ | (4) |
$ E_i^1 = {\rm{Concat}}\left( {{T_f} + {T_s} + {T_m} + {T_l}} \right) + {\rm{Residual}}\left( {E_i^0} \right) $ | (5) |
$ E_i^{{\rm{Salient}}} = {\rm{Pool}}\left( {E_i^1} \right) $ | (6) |
其中,
本文采用自注意力机制来捕捉人体步态的全局信息. 然而, 相较于图片, 步态关键点损失了人体的结构化信息. 为了充分利用人体结构化信息, 我们引入了人体拓扑结构[18]来建模人体空间结构. 人体拓扑结构[18]即采用邻接图的方式来保存人体各个结点之间的位置信息, 可以保存结点之间空间位置关系. 在利用拓扑信息前, 本文先利用线性映射层将拓扑信息映射到高维空间, 这样拓扑信息可以随模型的学习而不断迭代, 从而建模隐性的人体结构模型. 与GaitGraph[17]和GaitGraph2[19]使用图卷积的方式来利用人体拓扑结构不同, 本文将映射后的人体拓扑结构作为自注意力模块的query, 从而避免了让模型局限于捕捉局部性特征, 与此同时, 将人体拓扑结构作为query能够有效引导模型捕捉潜在的人体结构. 本文将映射后的人体结构拓扑信息作为自注意力模块的query, 最有代表性的时序表征
为了得到模型识别结果, 我们将最后一个时序多尺度卷积模块的输出
本文采取将triplet loss和cross entropy loss组合的方式来训练模型. 本文将模型输出
$ {L_{{\rm{combined}}}} = {L_{{\rm{tri}}}} + {L_{{\rm{cse}}}} $ | (7) |
其中,
(1) CASIA-B
CASIA-B数据集[5]是由中国科学院自动化研究所提出的开源步态数据集. 数据集中包含124个个体, 每个个体都有11个不同的视角(0, 18°, …, 180°), 3种不同的行走状态, 如正常行走(NM), 背包行走(BG)和穿大衣行走(CL), 其中正常行走状态下步态序列共有6条(NM01, …, NM06), 背包行走状态共有2条(BG01, BG02), 穿大衣行走共有2条(CL01, CL02), 即每个个体共110条步态序列.
(2) OUMVLP 和OUMVLP-Pose
OUMVLP[4]是由大阪大学提供的大型开源步态识别数据集, 其中包含10307个个体, 每个个体包括14个不同的视角(0, 15°, …, 90°; 180°, …, 270°). OUMVLP-Pose[22]是从大型数据集OUMVLP中提取而来, 并且与OUMVLP有相同的个体数和帧数. OUMVLP-Pose[22]包含两个数据集, 它们分别是由两个预训练的姿态估计模型, OpenPose[23]和AlphaPose[24]提取而来.
4.2 实验设计(1)数据划分
针对CASIA-B数据集[5], 因为没有官方的数据划分策略, 我们采用与Wu等人提出的[25]中一致的划分方式. 本文将前74个个体作为训练集, 剩下的50个个体作为测试集. 在测试阶段, 将正常行走状态下的前4条步态序列作为注册集(Gallery set), 剩下的6条步态序列作为验证集(Probe set). 针对OUMVLP-Pose[22]数据集, 本文将数据集中前5153个个体作为训练集, 剩下的5154个个体作为测试集. 在测试阶段, 索引为#01的步态序列被视作是注册集, 索引为#00的步态序列被视作是验证集.
(2)训练
针对在CASIA-B[5]上的训练, 本文采用与GaitGraph[17]相同的数据增强策略, 针对OUMVLP-Pose[22], 本文采用与GaitGraph2[19]中相同的数据增强策略. 针对CASIA-B, 本文将迭代次数设置为300次, 针对OUMVLP-Pose, 本文将迭代次数设置为1000次. 本文将学习率设置为5E–3, 采用1-cycle学习率调度器, 将权重消失设置为1E–5, 并采用与GaitMixer[20]中相同的数据采样策略. 本文将CASIA-B的批大小设置为74×4, 其中74是个体数, 4是单个个体的步态序列数量, 将OUMVLP-Pose的批大小设置为200×4.
(3)测试
本文将传递到triplet loss中的特征作为模型的最终输出, 并采用余弦相似度来衡量注册集和验证集之间的距离来进行步态匹配.
4.3 与现有方法的对比实验(1) CASIA-B
1)如表1所示, 本方法在所有状态下都比其他基于关键点方法的性能要高, 这证明了本方法的有效性. 2)相较于基于外形的方法, 本方法展现了一定的竞争力, 在平均精度上, 本方法比GaitSet和GaitPart分别高了5.9%和1.9%, 并进一步缩短了与GaitGL之间的差距. 特别的, 在穿外套(CL)条件下, 本方法性能大幅度超越了基于外形的方法, 比GaitSet, GaitPart和GaitGL分别高了 16.8%, 8.5%和3.6%, 这证明了在外形轮廓受到干扰时, 基于关键点步态识别算法的潜力. 3)本方法在状态发生变化时, 模型性能更加鲁棒. 如表2所示, 在模型保持较高性能的同时, 本方法在行走状态变化时的标准差是最小的. 这能在真实场景中保持良好的模型稳定性.
(2) OUMVLP 和OUMVLP-Pose
如表3所示, 本文将提出的GaitBody与GaitGraph2[19], CAG[21]和基于外形的GaitGL[10]进行比较. 其中, GaitBody, GaitGraph和CAG是基于关键点的方法, 在OUMVLP-Pose数据集上测试, GaitGL是基于外形的方法, 在OUMVLP数据集上进行测试, 但是因为CAG没有在OpenPose[23]提取的数据集上测试, 所以只在AlphaPose[24]提取的数据集上与其比较. 从结果可以得知, 在基于关键点的方法中, 本方法在准确度上有着较大提升, 这也显示了本方法在大型数据集上的泛化能力. 与基于外形的方法相比, 虽然本方法精度比基于外形的步态识别方法低, 但是相较于以往的基于关键点的步态识别方法, 本方法进一步缩小了与基于外形的步态识别方法之间的差距.
4.4 消融实验
(1)空间自注意力模块
为了证明提出的空间自注意力模块的有效性, 本文对比了不同配置下的模型性能, 性能结果如表4所示. 根据前3组实验, 我们可以知道引入拓扑信息或者引入最有代表性的时序信息能够有效提高模型的性能, 同时引入两部分信息, 并且即将拓扑信息作为自注意力机制的query, 将最有代表性的时序信息作为key能够最大提高模型性能. 这证明了人体拓扑结构和最有代表性时序特征有助于模型的特征提取.
(2)时序多尺度卷积模块
为了验证多尺度时序卷积模块中卷积分支数量以及卷积核大小设置的合理性, 本文针对模块在不同设置下的模型性能设计实验, 实验结果如表5所示. 根据前4组实验可知, 卷积核尺寸设置为31时, 模型精度最高, 这可能是因为步态特征是一种全局性的表征, 而随着卷积核尺寸增大, 模型更加倾向于注重全局信息, 从而提高模型的识别精度. 当卷积核设置为41时, 模型精度大幅度下降, 这可能是因为卷积核设置过大从而使模型无法有效提取时序特征. 根据前11组实验, 我们发现采用两个并行卷积分支的性能比采用卷积核大小为31的单分支卷积性能差. 这可能是因为两个分支信息差距较大, 信息融合时会互相干扰. 并且当双分支模型中一个分支卷积核大小为41时, 随着另一个分支卷积核的增大, 模型的识别精度大幅下降, 这也从另一方面证明了局部特征的必要性. 根据最后3组实验, 我们发现当采用4个并行卷积分支时, 模型性能都好于单分支或双分支结构. 这可能是因为采取4个并行卷积能够包含更多时序粒度, 同时通过采取较短时序特征加上较长时序特征的融合方式能够减小特征之间的差距, 减小特征之间的相互干扰. 最后验证结果是, 当设置4个卷积分支, 并将卷积核分别设置为1, 11, 21和31时, 模型取得最高性能.
(3)可视化
为了证明将人体结构的先验知识引入模型的重要性, 我们对模型的特征图进行了可视化操作. 特征图选自自适应平均池化层前的输出, 并将该输出在通道维度进行池化操作得到用来可视化的特征图. 如图2所示, 当引入了拓扑信息后, 模型更加倾向于注重人体的关键节点, 如手腕, 膝盖, 脚踝等, 这些节点是最能体现人体步态信息的. 而没有引入拓扑信息的模型更倾向于平均地关注各个节点, 如图3所示, 相较于前者, 这显然是次优的. 根据可视化结果, 我们推断出引入拓扑结构后, 模型能够更好地建模人体结点之间的隐性关联.
5 结论与展望
本文提出了一个基于关键点的步态识别框架, GaitBody, 来提取步态序列中的关键步态表征. 为了充分利用人体结构的先验知识, 本文将人体结构的拓扑信息引入到自注意力机制中, 并作为query. 除此之外, 为了利用每帧中最有代表性的关键点, 本文从时序特征中沿时序维度提取最有代表性的时序信息, 并作为自注意力机制中的key来提取步态信息的空间特征. 因为步态运动的复杂性, 本文采用带有较大卷积核的时序多尺度卷积模块来提取多粒度的时序特征. 在CASIA-B和OUMVLP-Pose数据集上的实验结果也证明了所提出框架的有效性.
[1] |
Wang L, Tan TN, Ning HZ, et al. Silhouette analysis-based gait recognition for human identification. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2003, 25(12): 1505-1518. DOI:10.1109/TPAMI.2003.1251144 |
[2] |
Bouchrika I, Goffredo M, Carter J, et al. On using gait in forensic biometrics. Journal of Forensic Sciences, 2011, 56(4): 882-889. DOI:10.1111/j.1556-4029.2011.01793.x |
[3] |
Macoveciuc I, Rando CJ, Borrion H. Forensic gait analysis and recognition: Standards of evidence admissibility. Journal of Forensic Sciences, 2019, 64(5): 1294-1303. DOI:10.1111/1556-4029.14036 |
[4] |
Takemura N, Makihara Y, Muramatsu D, et al. Multi-view large population gait dataset and its performance evaluation for cross-view gait recognition. IPSJ Transactions on Computer Vision and Applications, 2018, 10(1): 4. DOI:10.1186/s41074-018-0039-6 |
[5] |
Yu SQ, Tan DL, Tan TN. A framework for evaluating the effect of view angle, clothing and carrying condition on gait recognition. Proceedings of the 18th International Conference on Pattern Recognition. Hong Kong: IEEE, 2006. 441–444.
|
[6] |
Han J, Bhanu B. Individual recognition using gait energy image. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2006, 28(2): 316-322. DOI:10.1109/TPAMI.2006.38 |
[7] |
Shiraga K, Makihara Y, Muramatsu D, et al. GEINet: View-invariant gait recognition using a convolutional neural network. Proceedings of the 2016 International Conference on Biometrics. Halmstad: IEEE, 2016. 1–8.
|
[8] |
Chao HQ, Wang K, He YW, et al. GaitSet: Cross-view gait recognition through utilizing gait as a deep set. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2022, 44(7): 3467-3478. |
[9] |
Fan C, Peng YJ, Cao CS, et al. GaitPart: Temporal part-based model for gait recognition. Proceedings of the 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Seattle: IEEE, 2020. 14225–14233.
|
[10] |
Lin BB, Zhang SL, Yu X. Gait recognition via effective global-local feature representation and local temporal aggregation. Proceedings of the 2021 IEEE/CVF International Conference on Computer Vision. Montreal: IEEE, 2021. 14648–14656.
|
[11] |
Huang XH, Zhu DW, Wang H, et al. Context-sensitive temporal feature learning for gait recognition. Proceedings of the 2021 IEEE/CVF International Conference on Computer Vision. Montreal: IEEE, 2021. 12909–12918.
|
[12] |
Ma K, Fu Y, Zheng DZ, et al. Dynamic aggregated network for gait recognition. Proceedings of the 2023 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Vancouver: IEEE, 2023. 22076–22085.
|
[13] |
Wu HQ, Tian J, Fu YJ, et al. Condition-aware comparison scheme for gait recognition. IEEE Transactions on Image Processing, 2021, 30: 2734-2744. DOI:10.1109/TIP.2020.3039888 |
[14] |
Huang Z, Xue DX, Shen X, et al. 3D local convolutional neural networks for gait recognition. Proceedings of the 2021 IEEE/CVF International Conference on Computer Vision. Montreal: IEEE, 2021. 14920–14929.
|
[15] |
Zhang ZY, Tran L, Yin X, et al. Gait recognition via disentangled representation learning. Proceedings of the 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Long Beach: IEEE, 2019. 4710–4719.
|
[16] |
Liao RJ, Yu SQ, An WZ, et al. A model-based gait recognition method with body pose and human prior knowledge. Pattern Recognition, 2020, 98: 107069. DOI:10.1016/j.patcog.2019.107069 |
[17] |
Teepe T, Khan A, Gilg J, et al. GaitGraph: Graph convolutional network for skeleton-based gait recognition. Proceedings of the 2021 IEEE International Conference on Image Processing. Anchorage: IEEE, 2021. 2314–2318.
|
[18] |
Yan SJ, Xiong YJ, Lin DH. Spatial temporal graph convolutional networks for skeleton-based action recognition. Proceedings of the 32nd AAAI Conference on Artificial Intelligence. New Orleans: AAAI Press, 2018. 912.
|
[19] |
Teepe T, Gilg J, Herzog F, et al. Towards a deeper understanding of skeleton-based gait recognition. Proceedings of the 2022 IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops. New Orleans: IEEE, 2022. 1569–1577.
|
[20] |
Pinyoanuntapong E, Ali A, Wang P, et al. GaitMixer: Skeleton-based gait representation learning via wide-spectrum multi-axial mixer. Proceedings of the 2023 IEEE International Conference on Acoustics, Speech and Signal Processing. Rhodes Island: IEEE, 2023. 1–5.
|
[21] |
Huang XH, Wang XG, Jin ZDQ, et al. Condition-adaptive graph convolution learning for skeleton-based gait recognition. IEEE Transactions on Image Processing, 2023, 32: 4773-4784. DOI:10.1109/TIP.2023.3305822 |
[22] |
An WZ, Yu SQ, Makihara Y, et al. Performance evaluation of model-based gait on multi-view very large population database with pose sequences. IEEE Transactions on Biometrics, Behavior, and Identity Science, 2020, 2(4): 421-430. DOI:10.1109/TBIOM.2020.3008862 |
[23] |
Cao Z, Simon T, Wei SE, et al. Realtime multi-person 2D pose estimation using part affinity fields. Proceedings of the 2017 IEEE Conference on Computer Vision and Pattern Recognition. Honolulu: IEEE, 2017. 7291–7299.
|
[24] |
Fang HS, Xie SQ, Tai YW, et al. RMPE: Regional multi-person pose estimation. Proceedings of the 2017 IEEE International Conference on Computer Vision. Venice: IEEE, 2017. 2334–2343.
|
[25] |
Wu ZF, Huang YZ, Wang L, et al. A comprehensive study on cross-view gait based human identification with deep CNNs. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(2): 209-226. DOI:10.1109/TPAMI.2016.2545669 |