2 台普通摄像头搞定 3D 动捕:FreeMoCap 完整入门指南 2 台普通摄像头搞定 3D 动捕FreeMoCap 完整入门指南【免费下载链接】freemocapFree Motion Capture for Everyone ✨项目地址: https://gitcode.com/GitHub_Trending/fr/freemocap想做 3D 人体动作数据你大概第一时间想到的是价格不菲的动捕服和基站。FreeMoCap 是另一条路一个免费开源的无标记点动捕系统用 2 台及以上普通 USB 摄像头拍摄在软件里完成标定、2D 关键点检测、多视角三角化重建直接产出带骨骼的 3D 动作数据。项目速览它靠什么工作FreeMoCap 以 AGPL 协议开源定位是研究级但零硬件门槛的动捕工具核心事实如下摄像头任何能被 OpenCV 识别的 USB 摄像头都可以2 台可用适合单平面动作3~4 台适合大多数全身动作关键点内置 MediaPipe 与 RTMPose 两套姿态检测器MediaPipe 输出 33 个人体关键点两种工作模式实时采集边拍边算WebSocket 推送骨骼与离线处理对已录好的视频做事后重建产出.npy、.csv、.parquet三种格式的 3D 坐标、标注过的 2D 视频以及可直接打开的 Blender 场景文件架构Python 后端FastAPI React/Electron 桌面界面跨 Windows、macOS、Linux15 分钟装好两条命令起步正式使用推荐走 pip 安装要求 Python 3.11 及以上。有 NVIDIA 显卡时装 CUDA 版macOS 或无独显机器装 CPU 版pip install freemocap[cuda] # macOS 或无独显改为 freemocap[cpu]安装完成后在终端输入freemocap桌面窗口就会弹出标定、采集、回放、处理都在界面里完成。如果你想从源码跑开发版本需要先装uv和 Node.js然后git clone https://gitcode.com/GitHub_Trending/fr/freemocap cd freemocap uv venv uv sync接着分别在两个终端启动 Python 服务端和freemocap-ui里的前端即可得到完整的开发版应用。第一次采集布相机与标定硬件上只需相机和一块标定板。相机摆放有三点建议环向分布相机围绕拍摄区域均匀排开略微高于头顶、以 15~30 度角向下看避免全挤在一侧参数锁死曝光、对焦、白平衡全部手动固定——自动曝光在录制中变化会让标定特征点位置漂移精度跟着掉USB 带宽多台相机尽量走不同的 USB 控制器出现掉帧或断连时优先怀疑这里标定用 ChArUco 板棋盘格 ArUco 编码块的组合板打印在硬纸板上即可。仓库 shared/charuco/ 目录里有高分辨率的板子文件打印尺寸要和界面里的标定配置一致。标定的本质是让系统解算出每台相机的内外参和相对空间位置这些结果存成 TOML 文件之后只要相机不动就可以反复复用。数据是怎么变成 3D 的关键模块导读一次离线处理的顺序是标定 → 逐相机 2D 关键点检测 → 多视角三角化 → 平滑与刚体约束 → 输出。对应的代码入口都很直接标定任务包含 Anipose 标定、ChArUco 角点提取与地面平面对齐三角化模块把各相机看到的同一关键点融合成 3D 坐标内置离群点剔除Blender 导出脚本调用 Blender 的--background模式把.npy数据读进场景并保存想深入实时链路可以再看freemocap/core/pipeline/realtime/下的采集节点与聚合节点离线链路在freemocap/core/pipeline/posthoc/。动捕数据导入 Blender 的两种方式方式一一键导出 .blend。处理完动捕数据后在界面开启 Blender 导出系统会自动检测本机 Blender、注入导出插件、生成带骨骼网格、手部/面部网格、相机视锥和地面平面的完整场景。目前该导出只支持 MediaPipe 检测器的结果RTMPose 的数据暂时只能走方式二。方式二自行解析数据文件。output_data/目录下的.npy是逐帧 3D 坐标数组.csv、.parquet适合在 Python 里用 pandas 直接读做重心分析、步态统计或喂给 Unity、Unreal 的导入管线都够用。常见坑点与排错清单相机挪动过就重新标定标定文件只在相机位置与朝向不变时有效CUDA 版装不上或检测不到 GPU说明环境装错版本macOS 请用freemocap[cpu]Windows/Linux 无独显同理多相机丢帧、断连换用独立 USB 控制器或降一档分辨率RTMPose 结果导不了 Blender当前限制先切换回 MediaPipe处理结果想换检测器重跑重跑会覆盖部分输出文件旧版标注视频可能带.prev后缀重要结果先备份如果你跑通了或遇到了文档没覆盖的问题CONTRIBUTING.md 列出的贡献流程就是下一步——报 bug、补文档、改代码都可以从这里开始。【免费下载链接】freemocapFree Motion Capture for Everyone ✨项目地址: https://gitcode.com/GitHub_Trending/fr/freemocap创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考