FreeMocap 动作捕捉系统部署教程:3 步装好,跑通第一次多相机捕捉
【免费下载链接】freemocapFree Motion Capture for Everyone 💀✨项目地址: https://gitcode.com/GitHub_Trending/fr/freemocap
FreeMocap 是一套免费开源的无标记点动作捕捉系统,让你用普通相机就能采集研究级人体运动数据,省去昂贵硬件和商用软件。适合研究者、老师和想低成本入门动作捕捉(motion capture / mocap)的你。跟着本文操作,大约 15 分钟完成部署并看到图形界面。
先认识一下它:FreeMocap 能做什么
FreeMocap 用多台普通相机从不同角度同时拍摄,再在软件里把画面里的关键点"三角测量"成三维骨架——相当于给身体免费贴上了看不见的标记点。
它的核心能力:
- 多相机实时视频流同步显示、录制
- 相机标定(CharUco 棋盘格),把像素换算成真实空间坐标
- 无标记点人体骨架追踪与三维重建
- 录制回放,多相机逐帧锁定同步
- 导出到 Blender 做动画
标定前,你需要打印这样一块 CharUco 棋盘格给相机"看"。
安装前环境自查表:一张表确认你的机器够不够
动手前先对照下表,缺了再补,能省掉后面大部分报错:
| 项目 | 要求 | 级别 |
|---|---|---|
| 操作系统 | Windows、macOS 或 Linux | 必须 |
| Python | 3.11 及以上(仓库锁定 3.12) | 必须 |
| Node.js | 任意较新版本(前端 GUI 需要) | 必须 |
| NVIDIA 显卡 | 有则走 CUDA 加速版;没有则走 CPU 版 | 推荐 |
| 网络 | 能访问 PyPI 包索引和 git 仓库(部分依赖从 git 拉取) | 必须 |
一条命令查看你当前的环境:
python --version && node --version执行成功后应该看到类似Python 3.11.x和v20.x.x的两行版本号。如果提示node不存在,先安装 Node.js 再继续。
三步完成部署:克隆仓库、建环境、装依赖
本仓库依赖部分组件通过uv从 git 仓库拉取,官方明确建议用uv管理环境(conda+pip install -e .在这里不适用)。请先确认机器上已安装 uv 工具(安装方式见其文档,这里不展开)。
第 1 步:克隆代码
git clone https://gitcode.com/GitHub_Trending/fr/freemocap cd freemocap执行成功后应该看到本地出现一个freemocap文件夹,里面有pyproject.toml、freemocap/、freemocap-ui/等目录。
第 2 步:创建并激活虚拟环境
uv venvWindows 上激活:
.venv\Scripts\activatemacOS / Linux 上激活:
source .venv/bin/activate执行成功后应该看到终端命令行提示符前面多了一个(.venv)前缀,表示环境已激活。
第 3 步:安装依赖
uv sync这一步会按平台自动选择:Windows/Linux 装 CUDA 加速版追踪器,macOS 装 CPU 版,可能需要几分钟。执行成功后应该看到依赖解析完成、最后停在激活状态的命令行提示符,无红色报错。
如果你没有受支持的 NVIDIA 显卡,改用强制 CPU 版:
uv sync --no-default-groups --group cpu第一次运行与验证:两条命令拉起动作捕捉界面
FreeMocap 分两个进程:Python 后端(负责相机、标定、计算)+ React/Electron 前端(负责界面)。开两个终端分别启动。
终端 1:启动 Python 后端
uv run python freemocap/__main__.py执行成功后应该看到终端打印出FREEMOCAP_PORT=53117一行端口信息(定义见 freemocap/api/server_constants.py),表示服务已在本机 53117 端口运行,这个窗口保持不要关。
终端 2:启动图形界面
cd freemocap-ui npm install npm run dev执行成功后应该看到一个 Electron 桌面窗口弹出,里面就是 FreeMocap 的图形界面,可以配置相机、开始录制。看到界面即代表部署成功 🎉。
常见报错及一行式解法:
| 报错现象 | 一行式解法 |
|---|---|
| 无 NVIDIA 显卡导致 GPU 版依赖装不上 | 回到依赖步骤执行uv sync --no-default-groups --group cpu |
opencv文件冲突(opencv-python与opencv-contrib-python装了两份) | 卸载其中一份,仓库固定使用opencv-contrib-python |
| 53117 端口被占用 | 服务会自动向上尝试下一个可用端口,终端 2 的界面会跟随发现的端口,无需手动处理 |
界面上做相机标定时,棋盘格的实际尺寸是必须确认的参数,别跳过。
想更进一步:文档、核心源码与社区资源
- 架构与使用指南:freemocap-docs/docs/(含 backend-overview.mdx、相机设置指南)
- Python 后端核心源码:freemocap/(管线在 freemocap/core/pipeline/)
- 前端界面源码:freemocap-ui/
- 可打印的高清 CharUco 标定板图片:shared/charuco/
- 参与贡献:CONTRIBUTING.md
三步装好、两条命令启动,FreeMocap 就已经在你机器上跑起来了。接下来打印一块标定板、架起两台相机,你的第一套低成本研究级动作捕捉系统就正式开工了。
【免费下载链接】freemocapFree Motion Capture for Everyone 💀✨项目地址: https://gitcode.com/GitHub_Trending/fr/freemocap
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考