FreeMoCap 无标记动作捕捉系统:免费 5 分钟快速安装与上手完整教程
【免费下载链接】freemocapFree Motion Capture for Everyone 💀✨项目地址: https://gitcode.com/GitHub_Trending/fr/freemocap
FreeMoCap 是一套免费开源的无标记动作捕捉系统——不用反光标记、不用昂贵设备,用 2 台以上普通 USB 摄像头就能重建出人体的 3D 骨架数据。它跑在 Windows、macOS 或 Ubuntu 上,普通硬件即可,装好模型后还能离线使用。本教程带你从下载、安装到第一次跑通,全程只需要基础终端操作。
📋 动手前先看这里:FreeMoCap 安装前置检查
装之前花 1 分钟对照下面这张表,能少走很多弯路。
| 项目 | 最低标准 | 推荐标准 |
|---|---|---|
| 操作系统 | Windows 10/11、macOS、Ubuntu 18.04+ | Windows 11 / macOS 14+ / Ubuntu 22.04 |
| Python | 3.11 | 3.11(官方推荐版本) |
| 摄像头 | 2 台 USB 摄像头 | 3~4 台,720p / 30fps 起步 |
| 显卡 | 无(纯 CPU 也能跑) | NVIDIA 显卡(启用 GPU 加速) |
| 存储 | 能存视频 | 预留数十 GB 放录像和 3D 结果 |
关于摄像头数量:2 台只能做平面运动,3~4 台才能覆盖大多数全身动作,台数越多三角化越准、越能扛住遮挡。
准备校准板:FreeMoCap 用 ChArUco 板做相机标定,它是一类棋盘格加 ArUco 标记的校准板。打印文件在仓库的 shared/charuco/ 里,建议打印在硬纸板上保持平整。
⚡ 跑起来:5 分钟装好 FreeMoCap
三步装完,每一步只跑一两条命令,装完直接启动。
第 1 步:创建独立 Python 环境
先建一个干净的虚拟环境,避免和你系统里已有的 Python 库打架。
python -m venv freemocap-env source freemocap-env/bin/activateWindows 把第二行换成freemocap-env\Scripts\activate。看到提示符前面多出了(freemocap-env),说明环境已激活。
第 2 步:安装 FreeMoCap
它依赖一个姿态跟踪器,分 CUDA 和 CPU 两种构建且不能共存,按你的显卡二选一:有 NVIDIA 显卡装 CUDA 版,其余装 CPU 版。
pip install freemocap[cpu]有 NVIDIA 显卡请改用pip install freemocap[cuda]。看到Successfully installed freemocap即说明装好。
第 3 步:启动图形界面
freemocap是安装时注册的启动命令,直接运行即可。
freemocap正常会看到服务启动的日志,随后弹出 FreeMoCap 主界面窗口;若迟迟不弹,多半是上一个实例还占着端口,关掉旧窗口再跑一次即可。
🎬 首次体验:从启动界面到第一次跑通
界面起来后先别急着录,按下面 4 步走,第一次就能拿到 3D 骨架。
1. 设置数据存放路径
在界面上选择录像与数据的存放目录,后续所有录像、标定和 3D 结果都存在这里。应用后界面上应显示该路径已被识别、状态就绪。
2. 连接摄像头
插上 2 台以上 USB 摄像头,它们会出现在相机配置列表里。如果某台相机没出现,多半是被别的软件占用,或换到不同的 USB 控制器上再试。
3. 用 ChArUco 板完成校准
拿尺量出板上单个方格的边长,填进标定设置界面,然后举着板子在每台相机前变换角度、位置采集几帧。
采集够后界面会显示标定成功;若一直报找不到标记,说明板子太远或光线太暗,把板子拉近、补光再采一次。
4. 试录一段并处理
点录制,做几个完整动作,然后触发 mocap 处理。处理完成时,录像文件夹里会出现output_data/(含.npy三维数据)和带标注的视频,重进回放页就能看到重建好的 3D 骨架。
🛠️ 踩坑速查:FreeMoCap 安装常见问题
只列最高频的四个,按「现象 → 原因 → 解决」排查。
| 现象 | 原因 | 解决 |
|---|---|---|
| 装不上 / 跟踪器报 onnxruntime 冲突 | CPU 版与 CUDA 版不能共存;或误用 conda +pip install -e .(本仓库依赖来自 git 源,不支持该装法) | 删掉环境重装;NVIDIA 用[cuda]、否则[cpu];从源码跑改用uv |
| 相机没被识别 / 录制掉帧 | USB 带宽不足,多台相机挤在同一控制器或 hub | 分散到不同 USB 控制器、换 USB 3.0 口、适当降分辨率 |
| 重建骨架变形 / 位置不对 | 标定后移动过相机、选错标定文件、或标定没覆盖到动作范围 | 保持相机不动、选对标定、扩大采集范围后重做标定 |
| Blender 没检测到 / 导出缺文件 | 还没跑 mocap 处理、Blender 路径没指定;RTMPose 暂不支持 Blender 导出 | 先处理 mocap 生成.npy、手动指定 Blender 路径、导出改用 MediaPipe |
📚 跑起来之后(选读)
下面这些帮你把 FreeMoCap 用得更深,不读也不影响正常使用。
从源码运行:想跑本仓库的开发版,用uv装依赖即可(仓库依赖来自 git 源,pip install -e .不可用)。
git clone https://gitcode.com/GitHub_Trending/fr/freemocap cd freemocap uv venv && uv sync装好后用uv run python freemocap/__main__.py起 Python 后端,再另开终端npm install && npm run dev起界面(需 Node.js)。
Blender 导出:处理完可一键把 3D 骨架、相机视锥和灯光导出成.blend场景,相关代码在 freemocap/core/blender/。
文档与架构:相机摆放、标定与后处理流程在 freemocap-docs/docs/guides/,后端架构说明在 freemocap-docs/docs/architecture/。
装到这里,你已经能自己完成一套完整的动作捕捉。找一个光线均匀、背景干净的角落,先录 10 秒试试,3D 骨架会比你想象的更快跑起来。
【免费下载链接】freemocapFree Motion Capture for Everyone 💀✨项目地址: https://gitcode.com/GitHub_Trending/fr/freemocap
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考