资讯详情

从verts到.obj:WiLoR输出数据格式全解读,AR手部交互与3D资产开发实战

📅 2026/10/31 1:38:54 | 华诺云谱 👁 阅读
从verts到.obj:WiLoR输出数据格式全解读,AR手部交互与3D资产开发实战
【免费下载链接】WiLoRWiLoR: End-to-end 3D hand localization and reconstruction in-the-wild项目地址https://gitcode.com/gh_mirrors/wi/WiLoR点击查看免费下载WiLoR 是一个端到端的 3D 手部定位与重建模型CVPR 2025它能从一张普通照片里直接算出一只手的 3D 网格。对开发者来说最有价值的就是它的输出数据verts网格顶点、joints3D 关键点、cam_t相机参数和pred_mano_paramsMANO 姿态参数。本文带你逐字段读懂这些输出并亲手把它们变成可在 Unity、Blender、three.js 中使用的.obj3D 资产为 AR 手部交互铺好路。WiLoR 能做什么WiLoR 的思路是定位 重建二合一先用检测器在画面中框出手部再由一个 ViT 网络直接回归出 MANO 手部模型参数最终生成带皮肤网格的 3D 手。它面向in-the-wild真实场景图像无论是篮球比赛、办公桌面还是多人合影都能稳定输出 3D 手。运行 WiLoR 拿到输出数据想拿到原始输出数据最简单的入口是仓库自带的demo.py。加上--save_mesh参数它会自动把每只手导出成.obj文件python demo.py --img_folder demo_img --out_folder demo_out --save_mesh --fast--fast开启半精度 层裁剪推理速度最高提升 1.6 倍精度损失极小Δ-MPJPE ≈ 0.05mm。运行后输出目录里会出现两类文件{图片名}.jpg3D 网格叠加回原图的可视化结果{图片名}_{n}.obj第n只手的 3D 网格模型文件如果你只想要交互式体验也可以跑 gradio_demo.py 启动本地网页版。逐字段解读 4 类核心输出模型前向传播见 wilor/models/wilor.py会返回一个字典out这是所有下游开发的起点输出键形状含义典型用途pred_vertices(778, 3)手部网格顶点单位米生成.obj、做 AR 渲染pred_keypoints_3d(40, 3)40 个 3D 关键点15 骨骼 25 顶点手势识别、手部追踪pred_cam(3,)弱透视相机(s, tx, ty)裁剪坐标恢复pred_cam_t(3,)相机平移t米世界系定位pred_mano_paramsdictglobal_orient/hand_pose/betas驱动参数化手、重姿态verts —— 778 个 3D 顶点pred_vertices是最核心的一份数据形状(778, 3)对应 MANO 手部模型的标准顶点布局坐标以米为单位原点在手腕附近。它和固定的面片faces一起就构成了一个完整的封闭手网格。小技巧左手网格需要沿 x 轴镜像。demo.py里用verts[:,0] (2*is_right-1)*verts[:,0]一行就完成了左右手的对称处理。joints —— 40 个 3D 关键点pred_keypoints_3d包含 40 个点15 个 MANO 骨骼关节手腕 各指关节 25 个从顶点索引采样的点指尖、掌面等。做手势识别或逐帧手部追踪时用这份稀疏关键点比整网格更轻量、更好用。cam_t —— 弱透视相机参数pred_cam_t把网格从手部局部系平移到相机系单位同样是米。拿到verts cam_t你就拥有了在 3D 空间里摆放这只手的全部信息——这正是 AR 场景需要的。pred_mano_params —— 可驱动的参数这是 WiLoR 的隐藏福利它输出的不止是网格还是一套可参数化驱动的 MANO 参数global_orient手腕朝向3×3 旋转矩阵hand_pose15 个手指关节的姿态betas10 维形状 PCA 系数控制手的大小胖瘦有了它你不仅能看这只手还能换姿势——把参数喂回 MANO 模型即可生成新的手形适合做动画与交互。从 verts 到 .obj网格导出全链路导出逻辑集中在 demo.py 的两行tmesh renderer.vertices_to_trimesh(verts, cam_t, LIGHT_PURPLE, is_rightis_right) tmesh.export(os.path.join(out_folder, f{img_fn}_{n}.obj))其中vertices_to_trimesh见 wilor/utils/renderer.py做了 4 件关键的事决定了.obj能否被引擎正确读取平移verts cam_t把网格放进相机/世界空间左手翻面左手使用faces_left顶点序反转保证法线朝外、不被看穿旋转 180°绕 x 轴把 MANO 模型转成引擎常见的正向显示姿态着色给顶点赋上淡紫色导出后一眼就能认出。最终生成的.obj结构非常标准v 0.012 0.034 0.021 # 顶点共 778 行单位米 f 93 39 235 # 三角面共 1523 行因为 MANO 本身就是 778 顶点 1509 面WiLoR 额外补了 14 个面让手掌水密见 renderer.py所以导出的.obj是可直接渲染的封闭网格导入 Blender / Unity / three.js 都不会破面。实战AR 手部交互与 3D 资产开发① 导出 .obj 作为 3D 资产verts导出成.obj后就是一个标准的低模 3D 资产Blender直接File Import Wavefront (.obj)即可做雕刻、贴图、批量建模Unity / Unreal导入后作为手部预制体用于角色动捕重定向Web (three.js)用OBJLoader加载即可在浏览器里做 3D 手展示。注意单位是米导入引擎后记得检查缩放避免手穿模或巨大化。② 用 verts cam_t 做 AR 手部交互在 AR 应用里典型闭环是跑 WiLoR 得到verts和cam_t用相机内参默认FOCAL_LENGTH5000见 model_config.yaml把verts投影回屏幕做虚实对齐用pred_cam_t把网格放进真实世界坐标系实现手长在你手的位置。仓库里的project_full_imgdemo.py就是一个现成的 3D→2D 投影实现可直接参考。③ 用 MANO 参数驱动手势与动画若你的 AR 应用需要持续追踪 换姿势优先使用pred_mano_params逐帧取hand_pose变化可做手势状态机如握拳/张开把参数喂回 MANO 封装生成平滑过渡的中间手形减少抖动。常见问题 FAQQ为什么导出的左手网格是反的 / 法线朝内A左手必须沿 x 镜像并翻转面片朝向。WiLoR 已在demo.py与vertices_to_trimesh中处理自己扩展时别漏掉这两步。Q.obj里的坐标是什么单位A米。MANO 标准布局原点约在手腕。导入引擎后注意缩放。Q只想要 2D 关键点怎么办A用project_full_img(verts, cam_t, focal, img_size)把 3D 顶点投影到 2D 即可无需再跑 2D 检测。Q多只手怎么区分Ademo.py会按检测框逐只手输出文件名带_0、_1后缀分别对应画面中不同手。小结WiLoR 的输出是一份开箱即用的 3D 手部数据verts决定网格、cam_t决定位置、joints决定手势、mano_params决定驱动。理解了这 4 类字段你就能用 demo.py 一键导出.obj快速接入 AR 手部交互与 3D 资产管线。想深入细节可对照 wilor/models/wilor.py 的前向传播与 wilor/utils/renderer.py 的网格导出实现。赞分享【免费下载链接】WiLoRWiLoR: End-to-end 3D hand localization and reconstruction in-the-wild项目地址https://gitcode.com/gh_mirrors/wi/WiLoR点击查看免费下载相关推荐从秒级监控到数据资产Netdata多格式数据导出全攻略从秒级监控到数据资产Netdata多格式数据导出全攻略 你是否还在为监控数据的碎片化存储而困扰是否尝试过将实时监控指标与历史趋势分析结合却受制于格式不兼容可观测性指标监控告警异常检测运维超简单Iced表格开发从数据展示到交互实战超简单Iced表格开发从数据展示到交互实战 你还在为Rust GUI开发中的表格组件头疼吗跨平台适配复杂、数据交互繁琐、样式定制困难本文将带你用Iced表桌面应用跨平台UI组件Rope 免费人脸交换工具4 步产出第一条换脸视频Rope 免费人脸交换工具4 步产出第一条换脸视频 Rope 是一款免费的人脸交换工具基于 insightface 的 inswapper_128 模型。你上一篇QMCDecode3步解锁QQ音乐加密音频的终极macOS工具下一篇H2O-3 Quantiles 分位数函数详解参数、用法与源码级实现原理创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。

↑