mmMesh 使用手册
mmMesh 项目地址: https://gitcode.com/gh_mirrors/mm/mmMesh
1. 目录结构及介绍
mmMesh 是一个基于毫米波技术的实时三维人体网格构建系统。此项目的核心在于利用商业便携式毫米波雷达(如TI AWR1843BOOST)捕捉并构造出动态的人体3D模型。以下是该项目在GitHub上的基本目录结构及其内容概览:
.
├── 0_preliminary # 初步设置模块,包括提取SMPL模型的脚本。
│ └── extract_SMPL_model.py
├── 1_mmWave_data_capture # 实时毫米波数据捕获代码。
│ ├── capture.py
│ ├── streaming.py
│ └── DataCaptureDemo_1843new.lua
├── 2_point_cloud_generation # 从二进制文件生成点云的代码。
│ ├── configuration.py
│ └── pc_generation.py
├── 3_deep_model # 深度学习模型实现,用于人体网格估计。
│ ├── data.py
│ ├── infer_model.py
│ ├── network.py
│ ├── smpl_utils_extend.py
│ └── train_model.py
├── HISTORY.md # 项目历史版本记录。
├── LICENSE # 许可证文件。
├── README.md # 项目简介和使用说明。
└── .gitignore # Git忽略文件列表。
0_preliminary
: 提供了一个Python脚本用于处理SMPL模型文件,你需要先下载SMPL模型,并通过extract_SMPL_model.py
脚本准备训练所需的模型文件。1_mmWave_data_capture
: 包含了启动毫米波雷达数据采集的代码,主要文件是capture.py
用于数据收集,配合Lua脚本在Windows端使用。2_point_cloud_generation
: 转换毫米波雷达数据成点云,关键脚本是pc_generation.py
。3_deep_model
: 深度模型的实现部分,其中train_model.py
用于训练模型,infer_model.py
用于推理。README.md
和LICENSE
: 分别包含了快速入门指南和软件许可信息。
2. 项目的启动文件介绍
数据捕获启动
- 主文件:
1_mmWave_data_capture/capture.py
- 用法: 使用前需先通过毫米波雷达配套的mmWave Studio软件加载
DataCaptureDemo_1843new.lua
以开始数据流传输。随后,在Ubuntu环境下运行此脚本进行数据捕获。例如,要捕获5分钟的数据,命令为:python capture.py 5
点云生成
- 主文件:
2_point_cloud_generation/pc_generation.py
- 用法: 将二进制雷达数据转换为点云。例如,处理名为
test.bin
的文件中的10帧数据,命令为:python pc_generation.py test.bin 10
模型训练与预测
- 训练:
3_deep_model/train_model.py
- 预测:
3_deep_model/infer_model.py
- 用法: 在进行模型训练或预测之前,确保已将从初步步骤中生成的
smpl_f.pkl
和smpl_m.pkl
移至当前工作目录。执行训练:
执行预测:python train_model.py
python infer_model.py
3. 项目的配置文件介绍
mmMesh项目中的配置主要体现在运行各个阶段所涉及的参数设定上,而非传统的单一配置文件形式。具体配置分布在不同的脚本内部,例如:
- 数据捕获: 可能需要调整Lua脚本(
DataCaptureDemo_1843new.lua
)来设置雷达的工作模式。 - 点云生成:
2_point_cloud_generation/configuration.py
或是在调用pc_generation.py
时通过参数指定相关设置。 - 深度模型: 配置主要在训练和数据处理脚本中硬编码,比如网络超参数、数据路径等,可根据需求修改脚本内的对应变量。
请注意,虽然没有明确的外部配置文件,但在实际操作中,开发者需根据不同的环境和实验要求,在相应的代码文件内进行适当的配置调整。