尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

MMPOSE实验记录26.7.23

MMPOSE实验记录26.7.23 一、配置 SynPose数据集SynPose 是一个基于 GTA V 游戏引擎渲染生成的大规模人体姿态数据集。下载的mini版本是它的一个子集。SynPose_mini 数据集采用的是CrowdPose标准包含14 个关键点(有独立的眼、耳、鼻子点而是用一个Head点来代替并增加了一个Neck点)。使用标准 COCO 格式标注全部在一个文件Data/synpose_mini.json中。图片统一为1920x1080的高清分辨率。由于 SynPose 是合成数据所有点的坐标都是绝对准确的包括那些被遮挡的点。这对于训练你的补全网络是完美的。测试指令python tools/test.py configs/body_2d_keypoint/rtmpose/crowdpose/rtmpose-m_8xb64-210e_crowdpose-256x192.py checkpoints/rtmpose-m_simcc-crowdpose_pt-aic-coco_210e-256x192-e6192cac_20230224.pth --cfg-options test_dataloader.dataset.data_rootdata/SynPose_mini/ test_dataloader.dataset.ann_fileData/synpose_mini.json test_dataloader.dataset.data_prefix.imgFrame/color/ test_dataloader.dataset.bbox_file test_evaluator.ann_filedata/SynPose_mini/Data/synpose_mini.json test_evaluator.iou_typekeypoints test_evaluator.prefixsynpose二、使用真实的课堂数据进行测试这里使用MMPoseInferencer。MMPoseInferencer 是 OpenMMLab 开源姿态估计工具箱 MMPose 中的高层推理接口实现了“输入数据 - 输出骨骼数据与可视化结果”的端到端闭环。其工作流程如下图所示运行指令python demo/inferencer_demo.py ./input/1_1.mp4 --pose2d human --det-model demo/mmdetection_cfg/rtmdet_m_640-8xb32_coco-person.py --vis-out-dir ./output各个参数的含义1.python demo/inferencer_demo.py含义运行 Python 脚本。作用调用 MMPose 项目中的演示脚本。这是程序的入口文件它内部封装了推理流程负责解析你后面输入的参数并执行推理。2../input/1_1.mp4(位置参数)含义指定输入数据路径。作用告诉程序你要处理哪个视频文件。扩展这里是一个.mp4视频文件。如果是图片文件夹路径程序会自动将文件夹内的图片合成视频处理。如果是webcam程序会调用摄像头实时推理。3.--pose2d human含义指定 2D 姿态估计模型核心参数。作用--pose2d参数名表示选择用于提取骨骼点的模型。human模型别名。MMPose 预定义了一系列别名human对应的是RTMPose-m模型基于 COCO 数据集17 个关键点。底层逻辑程序会根据这个别名自动下载并加载对应的模型权重文件.pth。你日志中显示下载的那个rtmpose-m_simcc...pth文件就是由这个参数触发的。4.--det-model demo/mmdetection_cfg/rtmdet_m_640-8xb32_coco-person.py含义指定人体检测模型配置文件解决报错的关键参数。权重文件被下载到/home/administrator/.cache/torch/hub/checkpoints/这个路径是PyTorch Hub的默认行为。作用Top-Down 流程姿态估计通常分两步检测先在画面中找到“人”在哪里画出矩形框。姿态估计根据检测框裁剪图片再识别骨骼点。这个参数就是用来指定第一步检测所用的模型。参数详解rtmdet_m模型架构这是 OpenMMLab 的高性能检测模型。640输入图片尺寸。coco-person表示该模型只在 COCO 数据集的 “person” 类别上训练只检测人不检测车、狗等其他物体这样检测精度更高、速度更快。为什么加这个参数默认情况下MMPoseInferencer会自动尝试加载默认检测器。但你之前的报错显示程序无法在mmdet的注册表中找到默认模型路径。通过手动指定这个相对路径我们直接告诉程序“就用这个配置文件去找检测模型”绕过了自动查找失败的问题。5.--vis-out-dir ./output含义指定可视化结果的输出目录。作用程序处理完视频后会将画好骨骼骨架的视频保存到这个文件夹下。./output表示保存到当前命令行所在目录下的output文件夹中。生成的视频文件名通常会在原文件名后加上_vis后缀。把缓存的权重复制到项目里之后就不用依赖.cache目录了cp ~/.cache/torch/hub/checkpoints/rtmpose-m_simcc-body7_pt-body7_420e-256x192-e48f03d0_20230504.pth \ /home/administrator/mmpose/checkpoints/三、配置文件与权重文件配置文件通常以.py为扩展名是一种采用 Python 语法编写、用于声明模型结构、训练策略、数据与路径配置及运行环境参数的可执行源代码文件。权重文件以.pth为扩展名是 PyTorch 框架中用于持久化存储模型训练所得参数张量Tensors的标准序列化文件格式。是在特定数据集上训练好的参数集合。四、不同骨干网络均加载各自的COCO 17 点预训练权重在课堂测试集上推理并进行评估骨干网络RTMPose-m (CNN)、RTMPose-l (更大CNN)、HRNet-w32 (经典高分辨率网络)、ViTPose-S (小Transformer)、ViTPose-B (大Transformer)
返回列表