清华开源OpenMise:视频生成改为先搭三维草稿再渲染
新智元报道 目前最强的视频生成大模型,例如seedance 2.5在根据用户意图生成视频的时候有一些明显的缺点。以seedance 2.5创作两个指定角色对弈国际象棋作为例子,可以发现sota视频生成模型在细节的一致性上仍然有很多不足。提示词:生成两个人面对面下国际象棋的写实视频,完整展示西班牙开局,并严格依次执行 e
新智元报道
新智元报道
眼下能力最强的视频生成大模型,比如 seedance 2.5,在按用户意图出片时存在几个明显短板。拿它做两个指定角色对弈国际象棋的尝试就能看出来,这类 SOTA 模型在细节一致性上仍差得不少。
按他的提示词,任务是这样下达的:做一段写实视频,画面里两个人面对面下国际象棋,全程走完西班牙开局,棋步按 e4 e5、Nf3 Nc6、Bb5 a6 的顺序严格执行,再往后接王车易位、双方走子与应手。棋步得合法,棋盘状态不能断,多出来的棋子、落错的位置、忽然消失的棋子都不允许出现。
seedance 2.5 把人物和落子动作都做对了,可视频越往后生成,棋子位置就越乱:前一帧还在原位的棋子,下一帧换了格子,甚至会平白多出一枚棋子。人物、布景、光影都渲染无误,错的偏偏是棋局细节。类似的偏差还有不少。
这种毛病,做视频的人并不陌生,就是「抽卡」:人物从哪儿走到哪儿、镜头怎么调,创作者都写明白了,结果还是穿墙或者跑偏。赶上运气好一遍就成了;运气差就得整段重来,时间精力搭进去不说,算力开销也小不了。
一旦内容涉及精确动作和空间关系,用户的要求就变了:从画面好不好看,转向内容有没有按计划发生、前后细节对不对得上。
症结不在模型画不出棋盘,而在于它得在连续镜头里记住每枚棋子上一刻在哪、这一步要移到哪、移完之后其余棋子该是什么状态;同时它还得生成人物拿棋的手部动作、镜头调度和光影。既要细节精准,又要画面渲染质量高,眼下几乎所有视频生成模型都很难两头兼顾。
清华大学开源了 OpenMise,这是一套面向 Agent 的空间场景编辑工具,定位是 Agent 连接空间场景的桥梁。它的做法是把「困难的视频生成任务」切成「两个简单阶段」,以此把控细节一致性。
项目地址:https://github.com/Rath-Team/OpenMise
第一步,由 Agent 调用 Blender,把场景、人物、动作、摄影机和灯光放进同一个三维世界,产出一份方便修改的草稿;第二步,创作者把这份草稿交给现有视频生成模型,渲染成写实画面或指定风格。
说白了,就是把「直接生成视频」改成「Builder + Render」两阶段生成。
OpenMise先用Coding Agent设计出精确的移动草稿再渲染细节
清华团队判断,核心问题是创作者一次性对视频生成模型提了太多要求,他们的办法就是把一个复杂任务拆成两个简单任务。
在一致性和物理规律方面,OpenMise 团队认为,让 SOTA 级别的 Coding Agent(例如 Deepseek V4.1 Flash)直接编写具体动作,白模就能符合物理规律。
至于把白模渲染成真实视频,对 seedance 2.5 这类视频生成模型来说反而更轻松——它不必再精确维护前后一致的棋盘状态,只要把 Coding Agent 编排好的精确白模状态渲染成清晰、真实的画面即可。
这样一拆,两个阶段的任务各自交到了最合适的 AI 工具手里。
继续沿用下
下面是 OpenMise 生成的棋局白模草稿:视频|OpenMise 第一步生成的国际象棋白模草稿(保证完全精确棋子轨迹)
接着看以这份草稿为参考生成的写实棋局。
视频|参考 OpenMise草稿生成的国际象棋对决画面
两阶段生成下来,OpenMise产出的视频一致性提升肉眼可见。
换成seedance 2.5,同一段视频反复生成、再挑出符合物理规律的那条,可能要抽几十次才够得上OpenMise的水平,甚至抽多少次都达不到。
这个例子摆出来,AI视频创作里那个业界难题,OpenMise算是解决得相当到位。
国际象棋只是个好懂的例子。眼下视频创作中的人物行走、室内运镜,其实属于同一类问题。
创作者会提需求:「从A到B」、「穿过这扇门」、「始终跟拍主角背影」。模型这时得守住稳定的空间状态——门在哪儿、人物有多宽、镜头能不能后退、下一秒谁该移动……这些问题直接用视频生成模型办不到,OpenMise正好能大显身手。
OpenMise的核心思路,是把一个复杂问题拆成两个简单问题。要做出细节一致的视频,靠的是Builder和Render两个阶段。
Builder只管把物理规律和动作细节设计成清楚的草稿,Render只管把草稿渲染成真实成片。
OpenMise两阶段生成视频的系统架构
视频 | OpenMise控制Agent使用Blender并进行自动化创建资产、管理资产
Builder让Agent把自然语言剧本拆成可执行的三维制作计划。什么时候校准场景、怎样安排跟拍或环绕、渲染完检查什么,都由Skill规定。
导入资产、计算路径、创建骨骼动作与摄影机关键帧、配置灯光、启动渲染,这些交给Tool。
Agent通过Blender MCP调用这些工具,把人物、镜头和灯光纳入同一套坐标与时间轴,再输出草稿画面。
Builder交出来的是可编辑的Blender工程和结构化参数,问题因此能定位到具体环节:路线要改就调路径;人物走对了但镜头穿墙,就改摄影机;动作和镜头都合适、只是光线不对,那就只动灯光。
跟整段重新生成相比,这种中间过程给创作者留出了检查和局部修改的余地。
技术细节上,Builder有几处创新:
让Agent能够真正的理解视频生成场景中创作者的三维资产
Builder支持Blender原生场景,也能接入3DGS扫描,以及GLB、glTF、FBX、OBJ、Blend、PMX等三维资产。不过OpenMise团队在视频生成创作实验中发现,场景能显示出来,和系统真正理解场景之间差得很远。拿3DGS来说,它主要保存空间中的高斯分布与外观信息,房间名称、门的位置、真实尺度、可行走地面、碰撞边界这些东西,它并不会天然给出。
视频 | 使用自然语言命令OpenMise导入三维资产,并符合语言命令在指定位置完成导入的动作
所以场景接进来之后,还得做坐标校准、尺度校准和空间标注。Agent要把地面方向对齐Blender水平面,建立场景单位与人物身高的对应关系,再记下起点、终点、门口、床边、可通行区域、障碍区域和摄影机活动范围。走完这几步,一个「看得见的房间」才变成能规划路径和机位的空间表示。
实现人物运动中整体位移和骨骼动作的分开处理
有人物出镜的视频生成,人物来源有两条路。一条是系统用简化几何加骨骼程序化生成,适合快速拉白模草稿,人物的尺寸和骨骼结构都在系统掌握之中;另一条是导入外部角色资产,这时得另行核对坐标方向、比例、骨骼、蒙皮与动画兼容性。
光能导进来还不够,Agent 还得对这些内容做更细的处理。
Builder 把人物位置和动作细节都纳入了视频监督。路径控制管的是角色在场景里站哪、朝哪,动作控制管迈步、抬脚、落脚和身体姿态。路径校验不只看中心线,还算上人物占用的空间,免得出现「路线穿过门、肩膀却撞上门框」这种事。
骨骼动画和脚部约束则负责让步态跟上整体位移,同时检查脚和地面之间的关系。
让摄影机与灯光共享同一条时间轴
「背后跟拍」「缓慢推进」「进入卧室后环绕」,这些镜头语言在视频生成场景里很常见。到了视频生成模型里,它们会被翻译成摄影机的位置、朝向、焦距、观察目标和关键帧。
空间一窄,相机可以顺着人物先前走过的路径跟上去,再调距离和观察方向,转弯时穿墙的风险就压下来了。
人物动作、摄影机运动、灯光变化挂在同一条时间轴上,所以「人物进入卧室—镜头开始环绕—轮廓光渐入」能落到明确的帧位置上。
灯光也是参数化控制的。类型、位置、朝向、颜色、功率、发光尺寸都可以单独设,还能随时间变。
针对 3DGS 场景,Builder 还接入了 KIRI 的近似重打光设置,扫描出来的墙面和地板能呈现新的受光变化,草稿阶段调氛围就有余地了。
执行前提供干净的中间文件供创作者检查
场景、人物、动作、镜头、灯光都备齐后,Builder 会在独立的 Blender 进程里搭场景、生成动画并渲染,再把图像序列编码成视频。
动手之前,Tool 会查参数范围、对象引用、时间轴和关键帧、空间路径、地板支撑以及实际动画数据。跑完之后,工程文件、结构化计划、运行日志和检查报告都会留下来,出了问题好定位,也好改。
Render借助现有视频模型完成视觉呈现
其实 Builder 自己就能在 Blender 里出草稿渲染,给出可查看的白模视频和可继续编辑的场景文件,不靠云端视频模型。要写实质感了,才进 Render:白模视频连同人物形象参考、剧本提示词一起交给现有视频生成模型。
国际象棋那个案例里,团队把这些素材喂给了 Seedance 2.5。草稿管连续的棋子移动和拍摄结构,视频模型补人物外观、材质和画面风格。
两阶段走下来,第一阶段结束时就已经有能用的东西了。验证路径、机位和构图,白模本身就够用;要做面向观众的成片,它也能为后续生成提供人物运动、镜头节奏和场景结构的参考。
OpenMise团队展示的室内案例,起点是一份3DGS房间扫描。原始输入保留了走廊、门口和卧室的视觉外观,Builder随后完成地面方向与尺度校准,并把人物起点、卧室终点、可通行区域和摄影机活动范围写入空间表示。
于是,「从走廊走进卧室」成为了一条可以计算、验证并继续修改的三维路线。
室内案例使用的 3DGS 场景如下:
OpenMise 导入的室内 3DGS 场景
房间局部的快照见下:
3DGS 房间局部及行走路线示意
从走廊走到卧室,Builder 得同时处理两件事。路径控制管的是人物整体落在哪里、面朝哪边,还要按可通行区域核对路线。校验看的是路径中心线,人物实际宽度也得算进去;不然「中心穿过门」就会变成肩膀撞门框。
动作控制这块,靠骨骼动画和脚部约束来安排迈步、落脚与站立,让身体动作跟整体位移对得上,同时检查脚和地面的关系。导入外部角色的话,骨骼、蒙皮、动画的兼容性还得另外核对。
人物、镜头、灯光共用一条时间线
摄影机在三维世界里也是个对象。「背后跟拍」要拆成机位、观察目标、焦距、跟随距离和时间段,再转成摄影机关键帧;要是只把相机钉在人物身后,人物在窄走廊转弯时,相机照样可能切进墙里。Builder 可以让相机沿着人物先前走过的路径跟进,再调朝向和距离。到了卧室,人物环视房间,镜头也要在同一时间轴上换观察目标。路线、动作和运镜因此不是三段各管各的动画,而是一份互相对齐的拍摄安排。
灯光同样由结构化参数控制:类型、位置、朝向、颜色、功率、发光尺寸都能分开设置,并在时间轴上安排变化。尺寸主要影响光影的柔和程度,功率决定照明强弱;「灯更大」和「灯更亮」不是同一个操作。团队展示了保留人物路线与镜头、只改灯光的版本。
面对 3DGS 扫描房间,OpenMise 还接入了 KIRI 的近似重打光设置,让墙面和地板呈现新的受光变化;扫描场景的视觉基础保留下来,布光调整也留出了空间。
路线和镜头固定之后,灯光还能单独调:
视频|OpenMise 灯光修改演示
白模草稿到最终成片
团队展示的室内案例里,用户导入一处 3DGS 房间,要求人物从走廊走到卧室,摄影机一路跟拍背影;人物进卧室后环视四周,镜头也跟着变。Builder 据此安排场景校准、人物路线、动作和摄影机轨迹,输出一版草稿视频。
这一版画面最主要的用途是检查:人物和房间的比例合不合适,门能不能过,镜头有没有交代从走廊进卧室的过程,进卧室后的观察动作有没有拍出来。拍摄结构确认后,再拿草稿视频当参考生成写实版本。从白模到成片,视觉外观变化最大;人物从哪走、摄影机怎么跟,基础已经更明确了。
视频|OpenMise 3DGS 房间行走白模草稿
今天的视频模型,生成逼真的人物、材质和光影已经越来越拿手。复杂视频创作的新标准,已经提高成对空间、动作和拍摄过程的持续控制。人物要沿指定路线移动,物体要保持稳定状态,镜头要在复杂场景里准确完成调度……OpenMise 的技术探索,就是给生成模型补上这样一个可计算的中间层。自然语言里的创作意图,先转成三维坐标、对象关系、运动路径、摄影机关键帧和统一时间轴。这个 idea 彻底解决了视频生成不符合物理规律这一业界难题。经过验证的白模草稿,再成为视频模型的生成依据。
这样一来,空间一致性就不再完全靠模型从像素里「猜测」,而是落在一套能执行、能检查、能修改的先验资产上。
OpenMise正在改变创作者与生成系统打交道的方式。以前,毛病往往要等到成片才暴露,想改就得把整段视频重新生成一遍。
接入OpenMise之后,问题能落到具体对象和参数上。路线不对,就改路径;人物和地面的关系不对,就调动作约束;运镜不合预期,就重设摄影机关键帧;视觉风格则交给Render阶段继续处理。
OpenMise把复杂任务拆成两个简单任务,这个思路简单也管用。放到眼下正火的视频生成业务里,比如高质量短剧的生成,它既能大幅提质量,也能把创作者从抽卡里解放出来,生产成本会降很多。
过去的视频生成主要解决「把一句话变成画面」,下一阶段要解决的,是让画面里的一切「按照计划发生」。
从像素层面的视觉生成,到对空间、时间和对象关系的联合建模,OpenMise想让AIGC视频从一次性的结果生成,走向真正可修改、可复用的内容生产:成片之前,人物要去哪里、镜头要看到什么,已经可以先在三维空间里讨论清楚。
参考资料:
https://github.com/Rath-Team/OpenMise