爱意满满的作品展示区。
bugyaluwang

[开源] 从生图到骨骼动画全自动:用 Blender 合成数据微调 DINOv2,把视频动作还原到非人形 3D 模型上

  •  1
     
  •   bugyaluwang · 9h 42m ago · 397 views

    从粗糙的 Astra 建模踩坑开始,我就一直在琢磨:到底怎么才能让整套 3D 资产与动画生成流程真正自动化起来?

    一路从 OpenAI 产出概念效果图,到 Tripo3D 生成 3D 模型,再到非人形怪物的自动绑骨蒙皮;更进一步,用 MiniMax H3 生成想要的动作视频,并基于 Meta 的 DINOv2 训练专属小模型来识别骨骼与关节位置,最终把视频动作还原到 3D 骨骼上(这里必须感谢 @CanItCode,核心思路正是从他的视频中学到的),才终于跑通并达到了视频里这种勉强可用的效果。


    核心实现思路

    1. 模型生成:通过 Tripo3D 生成基础 3D 模型。
    2. 自动绑骨:使用 TokenRig 完成非人形结构的自动绑骨与蒙皮。
    3. **合成训练集(imoportant)**:在 Blender 中采用双视角与随机姿势,自动摆出并渲染默认的 3,000 个动作样本。
    4. 训练视觉小模型:基于 DINOv2 进行微调训练,输入渲染图片与对应的关节坐标等标注信息。
    5. 生成动作参考:使用 MiniMax H3 生成目标模型的动作视频。
    6. 逐帧特征提取:用训练好的小模型逐帧推理视频,提取关节坐标与深度信息。
    7. **动画重建(important)**:将提取出的空间数据解算并映射回模型,成功把 2D 视频重建为 3D 骨骼动画。

    开源仓库:后半部分最折腾的小模型训练与推理代码已经开源,感兴趣的可以直接看源码自己琢磨: GrinZero/open-game-studio (monster package)


    算力致谢与下一步计划

    不得不再次感谢谷歌大善人,感谢 Gemini Ultra 附赠的 Colab 算力额度支撑了整套训练与渲染流程。

    下一步优化:目前动作大形已经没有问题,接下来打算接入量大管饱的 DeepSeek 4.1 Flash 1017,配合同坐标叠图与逐帧评分工具进行逐帧修正去抖,期待最终效果能完全达到预期。

    5 replies  •  2026-10-22 09:38:12 +08:00
    panghu960
        1
    panghu960  
       3h 45m ago
    这套管线设计思路非常赞!尤其是用 Blender 合成特定视角与姿势渲染数据去微调 DINOv2 做关节回归,避开了现实中非人形结构动作标注极其匮乏的硬伤。平时我也在折腾 AI 辅助影视分镜与动态资产管线(做过 SpaceSkills ,声明我是开发者),结合你提到的下一步接入 DeepSeek 4.1 Flash 做逐帧修正去抖,聊聊我们在实际管线里踩过的一些坑与落地建议:

    1. 逐帧时序连贯性与抖动( Jittering )问题:
    视频动作提取还原到骨骼时,最棘手的是帧间微小位移累计导致的“关节高频抖颤”。如果单纯依赖视觉模型逐帧预测,即使小模型单帧指标很高,映射到 FK/IK 骨骼链上依然会有明显抖动。建议在小模型推理关节坐标和最终解算映射之间,先过一层轻量的滤波算法(例如 1Euro Filter 或卡尔曼滤波,对不同关节点设置不同的截止频率与速度灵敏度);高动态关节点保响应,慢速移动关节点强平滑,效果往往比单纯依靠多模态/大模型逐帧 prompt 纠错更轻量且更稳定。

    2. 接入 Flash 大模型做逐帧修正的工程取舍:
    用多模态大模型做逐帧视觉评估和叠图评分是非常好的思路,但在长镜头下 token 消耗和上下文开销会迅速累加。实操中可以考虑“关键帧( Keyframe )+ 异常阈值触发”机制:只对时序变化率超出阈值、或者骨骼几何约束出现自穿插/极端角度的帧切出来送大模型做修正判断,其余常规过渡帧直接线性或样条插值,这样整体自动化渲染/处理管线的吞吐量会高很多。

    非常扎实且有想象力的工作,给楼主点赞,已去 GitHub 支持!
    GPLer
        2
    GPLer  
       1h 23m ago via Android
    GPLer
        3
    GPLer  
       1h 22m ago via Android
    @panghu960 @Livid 2L 疑似 AI 回复,历史回复也是类似风格
    GPLer
        4
    GPLer  
       1h 21m ago via Android
    @GPLer 呃,也许是 1L ,反正是楼上那位,2L 地铁上手抖发出去了
    ideaforceai
        5
    ideaforceai  
       11 mins ago
    不错哦,有没有能做 2d spine 动画的方案?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5811 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 01:49 · PVG 09:49 · LAX 18:49 · JFK 21:49
    ♥ Do have faith in what you're doing.