OpenGait:首个开源步态识别框架


导言


行人步态作为一种远距离的生物识别特征,在识别时,无需受试者配合。相比于掌纹虹膜人脸识别,步态这个生物特征更具健壮性,不易被伪装。而步态这个生物特征,在识别时也会有许多挑战,比如:遮挡角度变化穿戴条件变化光照变化等。由此,激发了许多研究者的研究兴趣。


背景


为了解决上述挑战,近几年,以基于外观的结合深度学习的网络在流行的两个步态数据集CASIA-B和OU-MVLP上取得了不错的准确率。著名的方法有,2019年AAAI的GaitSet,该方法以Set作为输入,取得了突破性的进展;2020年CVPR的GaitPart采用将特征图分块的方法,以提取局部的细粒度特征;2020年ECCV的GLN也是通过将特征图水平分块的方式,获取部分级特征;2021年ICCV的GaitGL通过3D CNN提取时空特征来获得更丰富更具判别性的特征。


痛点


有如此多的好idea,不能一窥其全貌,不能从代码中了解其本质的想法,实乃科研途中的一大憾事。俗话说,代码之下没有秘密,顶会论文说的天花乱坠,不如直接看代码来的实在。而对于idea很多,代码能力略差的同学来说,复现顶会论文相当痛苦,通常你要先搭建深度学习环境,手撸代码,调试代码bug。


福音


为了解决步态科研者的痛点,南方科技大学于仕琪老师团队开源了OpenGait这个步态识别框架,我们只用专注于网络的设计就可以了,大大减少了重复性的工作,毕竟在这个内卷的时代,效率也很重要。


OpenGait优点


  1. 支持分布式多卡训练,在大数据吞吐量的情况下提速20%以上;分布式多卡测试,跑完CASIA-B仅需15秒!(5485个序列,BaseLine,2 1080ti gpus),跑完OUMVLP仅需不到两分钟!(133780个序列,Baseline,8 1080ti gpus)
  2. 支持混合精度训练,当gpu支持半精度时显存直接砍半,并提速20%~50%(视具体GPU型号而定)。
  3. 友好的可视化训练过程,支持Tensorboard可视化及日志记录,可自定义添加可视化内容。
  4. 支持多阶段训练及边训边测。
  5. 模块化设计,常规模型可以仅通过配置文件定义,主流的操作也可以通过配置文件客制化加载。
  6. 自定义网络模型便于扩展
  7. 自定义损失函数便于扩展
  8. 支持联合损失函数
  9. OpenGait复现了4篇顶会的SOTA算法,取得相近甚至更高的结果。
  10. 1.0版本支持OU-MVLP数据集

模型训练和测试流程


注:此外OpenGait的配置文件有详细的文档说明


复现方法的性能结果


CASIA-B

ModelNMBGCLConfigurationInput SizeInference TimeModel Size
Baseline96.392.277.6baseline.yaml64x4412s3.78M
GaitSet(AAAI2019)95.8(95.0)90.0(87.2)75.4(70.4)gaitset.yaml64x4413s2.59M
GaitPart(CVPR2020)96.1(96.2)90.7(91.5)78.7(78.7)gaitpart.yaml64x4456s1.20M
GLN*(ECCV2020)96.4(95.6)93.1(92.0)81.0(77.2)gln_phase1.yaml, gln_phase2.yaml128x8847s/46s8.54M / 14.70M
GaitGL(ICCV2021)97.4(97.4)94.5(94.5)83.8(83.6)gaitgl.yaml64x4438s3.10M

OUMVLP

ModelRank@1ConfigurationInput SizeInference TimeModel Size
Baseline86.7baseline.yaml64x441m13s44.11M
GaitSet(AAAI2019)87.2(87.1)gaitset.yaml64x441m26s6.31M
GaitPart(CVPR2020)88.6(88.7)gaitpart.yaml64x448m04s3.78M
GaitGL(ICCV2021)89.9(89.7)gaitgl.yaml64x445m23s95.62M

项目地址


链接

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐