Denoising Gait 基于人体步态识别的操作记录
本文提供了基于OpenGait代码库复现步态识别论文的详细指南。核心流程包括:环境配置(需匹配CUDA/PyTorch版本)、数据准备(按规范组织CASIA-B等数据集)、配置文件调整(模型参数/优化器设置)、训练测试执行(使用train.sh/test.sh脚本)。关键注意事项:优先阅读README文档,验证环境可用性,确保数据格式正确,监控训练日志。若精度不达标,需检查数据预处理、超参数配置和
·
要复现基于 OpenGait 代码库的步态识别论文,需遵循环境配置→代码 / 数据准备→训练 / 测试执行的核心流程,结合文件夹结构和步态识别领域通用规范,以下是分步指南:
一、核心前提:先读关键文档
代码库中存在 README.md(根目录 + opengait 子目录),第一步必须优先阅读:
- 论文对应的核心配置、数据集要求、训练 / 测试关键参数会在 README.md 中明确;
- 作者通常会标注环境依赖、已知问题、复现精度的关键 trick(比如数据增强、学习率调度)。
二、环境配置(通用 + OpenGait 专属)
仓库克隆
git clone https://github.com/ShiqiYu/OpenGait.git
cd OpenGait
1. 基础环境要求(步态识别领域通用)
| 组件 | 推荐版本 | 说明 |
|---|---|---|
| 操作系统 | Ubuntu 18.04/20.04 | 避免 Windows(多进程 / 路径兼容问题) |
| Python | 3.7~3.9 | 过新(3.10+)可能导致依赖兼容问题 |
| CUDA | 10.2/11.3/11.6 | 需与 PyTorch 版本匹配 |
| CuDNN | 7.6+/8.2+ | 配合 CUDA 版本 |
| GPU | ≥1 张 NVIDIA 显卡(≥12G 显存) | 步态模型(如 GaitSet/GaitPart)训练耗显存 |
2. 依赖安装步骤
(1)创建虚拟环境
# conda创建环境(推荐)
conda create -n opengait python=3.8
conda activate opengait
(2)安装核心依赖
OpenGait 依赖 PyTorch、torchvision、OpenCV、NumPy 等,优先按 README 指定版本安装,通用命令:
# 安装PyTorch(匹配CUDA版本,示例为CUDA11.3)
pip install torch==1.10.1+cu113 torchvision==0.11.2+cu113 torchaudio==0.10.1 -f https://download.pytorch.org/whl/cu113/torch_stable.html
# 安装通用依赖
pip install opencv-python numpy scipy tqdm tensorboard einops pyyaml easydict scikit-learn pandas
# 可选:如果有编译型模块(如datasets下的自定义数据处理)
pip install cython
(3)验证环境
import torch
import cv2
print(f"CUDA可用: {torch.cuda.is_available()}")
print(f"OpenCV版本: {cv2.__version__}")
三、数据准备(关键步骤)
- 数据集选择:OpenGait 支持 CASIA-B、OUMVLP、GREW 等主流步态数据集,先确认论文使用的数据集;
- 数据格式:
- 参考
datasets/目录下的 README 或配置文件,将原始数据集转换为 OpenGait 要求的格式(通常为按 ID / 视角 / 序列组织的图片 / 视频); - 部分数据集需要预处理(如剪影提取、对齐),可使用
misc/目录下的预处理脚本;
- 参考
- 配置数据集路径:修改
configs/目录下的 yaml 配置文件,指定数据集的根路径、训练 / 测试划分等。
四、代码与配置调整
- 配置文件:
configs/目录下包含训练 / 测试的核心配置(模型结构、学习率、批次大小、训练轮数、数据增强等),需根据论文调整:- 模型分支、注意力机制等需与论文一致;
- 优化器(SGD/Adam)、学习率衰减策略需匹配论文;
- 代码对齐:
- 如果论文基于 OpenGait 做了改进(如新增模块、修改损失函数),需在
opengait/目录下的对应文件(模型定义、损失函数、训练逻辑)中修改; - 检查
misc/目录下的辅助脚本(如日志、评估指标)是否匹配论文的评估方式(如 Rank-1、mAP)。
- 如果论文基于 OpenGait 做了改进(如新增模块、修改损失函数),需在
五、训练与测试执行
1. 训练
根目录和 opengait/ 目录下均有 train.sh,优先使用根目录的脚本:
# 执行训练脚本(需先修改train.sh中的配置文件路径)
bash train.sh
- 关键注意事项:
- 查看脚本中的 CUDA 设备指定(如
CUDA_VISIBLE_DEVICES=0),确保 GPU 可用; - 训练过程中监控日志(tensorboard 或 txt 日志),检查损失曲线、精度是否符合论文趋势;
- 查看脚本中的 CUDA 设备指定(如
2. 测试
同理,使用 test.sh 执行测试:
# 执行测试脚本(指定训练好的模型权重路径)
bash test.sh
- 测试前需在脚本中指定训练好的模型权重路径、测试集配置;
- 验证测试结果(Rank-1、mAP 等)是否与论文一致,若差距较大,需回溯配置 / 数据 / 模型代码。
六、复现验证与问题排查
- 精度对齐:
- 先复现 OpenGait 官方基线(如 CASIA-B 上的 GaitSet),确认环境和数据无问题后,再复现论文改进版本;
- 若精度不达标,优先检查:数据预处理是否正确、配置文件的超参数是否完全匹配、模型代码是否与论文一致;
- 常见问题:
- 显存不足:减小批次大小(batch size)、使用梯度累积、单卡改多卡;
- 数据加载错误:检查数据集路径、格式是否符合
datasets/下的要求; - 依赖报错:降级 / 升级对应包版本,参考 README 的 requirements;
七、额外建议
- 先运行
misc/目录下的 demo 或示例脚本,验证环境和数据流程是否通畅; - 参考
docs/目录下的文档(如 API 说明、常见问题),解决复现中的细节问题; - 若论文有开源权重,可直接下载权重执行测试,快速验证数据和配置是否正确。
总结复现流程
读README →
配置环境 →
准备数据(格式+路径) →
调整configs/配置 →
执行train.sh训练 →
执行test.sh测试 →
对比论文结果 →
调优参数/代码
核心原则:先复现 OpenGait 官方基线,再对齐论文的改进点,每一步都验证(环境→数据→配置→训练→测试),逐步定位问题。
更多推荐



所有评论(0)