暂无菜单项

一张图生成不穿模驾驶视频:Motion Forcing 如何把物理约束放到前面

发布于 更新于
9

导读:Motion Forcing 用一张图和车辆轨迹生成驾驶视频,将位置轨迹、深度结构与最终外观拆开处理。文章展示了车辆加塞、制动、遮挡、物理交互等案例,并解释为什么自动驾驶仿真更在意“开得对”而不只是“画得像”。

旁边车道的车突然加塞,自车赶紧减速避让。

相关导航:Motion Forcing 的论文、项目主页、代码、模型、使用范围与复现建议已整理在:
https://www.zuoshipin.com/link/66952.html

这段行车画面,不是行车记录仪拍的,而是AI生成的。

Motion Forcing 生成的自动驾驶场景示例
Motion Forcing 生成的自动驾驶场景示例

对自动驾驶来说,最难补齐的,是那些平时不常见、一旦发生却可能直接造成危险的瞬间。

现在,生成这类视频只需要一张照片,加上几条车辆轨迹就够了。前车怎么切进来、自车怎么减速避让,整个过程都符合物理规律,车和车之间不会互相“穿模”。

两辆车辆依次加塞时自车减速避让的生成结果
两辆车辆依次加塞时自车减速避让的生成结果

这就是来自港科大(广州)团队的新工作Motion Forcing。

多米诺骨牌与机械臂等物理交互生成示例
多米诺骨牌与机械臂等物理交互生成示例

它的思路简单来说,就是先想清楚东西怎么动,再去画东西长什么样。

在Waymo真实驾驶数据上,它的动作连贯性和物理合理性两项指标都排第一,超过了Seedance 2.0和Wan 2.6这两款头部视频模型。

除了驾驶场景,它还能生成多米诺骨牌连环倒下、机械臂推动物体的视频,同样符合物理规律。模型代码和交互Demo均已开源。

Motion Forcing 的点、形、貌分层生成框架
Motion Forcing 的点、形、貌分层生成框架

将车辆轨迹转为圆点运动表示的控制方式
将车辆轨迹转为圆点运动表示的控制方式

△机械臂推动物体

画得像,还得开得对、控得准

现在的视频模型,画面越来越精致,可一到复杂场景就容易“露馅”:车开着开着穿过了另一辆车,被挡住的车凭空消失,碰撞之后的反应也不对劲。

问题出在哪?

团队认为,是因为模型要同时操心两件事:东西怎么动(车开到哪、开多快、谁让着谁),东西长什么样(车身颜色、光影、路面纹理)。

对模型来说,把画面细节画好,比把物理规律搞对容易得多。两件事搅在一起,它自然会优先顾画面,把物理放到一边。还有一层容易混淆,摄像头装在自车上,画面里一辆车动了,可能是它自己在转向,也可能是他车和自车都在动。

已有的一些方法尝试先给一个粗略的运动方向,再让模型照着画。但几条稀疏的轨迹线和一整段高清视频之间差得太远,场景一复杂,模型要么不听指挥,要么物理出错。

Motion Forcing的做法,是从两个维度解耦:先把“怎么动”和”长什么样”拆开,再把自车与他车控制分开,把生成拆成三层:点、形、貌。

就像画画:先打几个点定好位置,再勾出轮廓和前后关系,最后才上色。

放到Motion Forcing里,“点”就是用户画的轨迹,“形”是一段只有远近、没有颜色的深度视频,“貌”才是最终的彩色视频。

这是生成的主线。主线之外,团队还加了两个关键设计:一个用在训练上,逼模型真正学会物理;一个用在输入上,告诉模型自车怎么开。下面一个个看。

Waymo 驾驶场景上的运动连贯性与物理合理性对比结果
Waymo 驾驶场景上的运动连贯性与物理合理性对比结果

点:每辆车就是一个圆

每辆车被简化成一个圆:圆心代表它在哪,圆的大小代表它离镜头多远,越近越大。用户画的轨迹,就是这些圆怎么移动。

这样控制起来非常灵活:手画箭头、写一句指令,甚至直接调整某一时刻的速度,都能转成点的轨迹。

形:先理清谁在前、谁在后

接下来,模型先不画彩色画面,而是生成一段深度视频(一种灰度画面,每个像素表示离镜头有多远)。

深度视频里没有颜色和纹理,只有空间结构:谁在前、谁在后、谁挡住了谁、两车之间还有多远。碰撞、遮挡这些物理关系,在这一步就要先理顺。

貌:最后再上颜色

空间结构定下来之后,模型再以它为蓝本,补上颜色、光影和纹理,生成最终的视频。

值得一提的是,这两步用的是同一个模型。训练时,模型随机在“推结构”和“上颜色”两种任务之间切换,相当于一个模型同时学会了当“物理引擎”和“渲染器”。

中间多了一层深度视频,还有个额外的好处:用户可以在上色之前先检查一遍,车的位置不对就挪一挪,再决定渲染。

盖住答案,逼它学物理

主线讲完,先看训练上的设计。光会照着轨迹画还不够。现实中,用户往往只画了开头几步,或者只画了其中几辆车。

于是团队在训练时故意“盖住答案”:有时把轨迹的后半段遮掉,有时把某辆车的轨迹整条拿掉,但仍然要求模型生成完整、正确的深度视频。

想答对,模型就得自己学会惯性、遮挡这些物理规律:比如轨迹只画了前半段,模型就要根据车之前开多快,自己推出它后面会开到哪;被挡住的车,也不能凭空消失,等它重新露出来时,位置得对得上。

把镜头怎么动,直接“画”给模型看

再看输入上的设计。前面说的都是周围的车怎么动。可自车也在开,摄像头装在车上,整个画面会跟着转弯、前进。画面里一辆车位置变了,可能是它自己在动,也可能两辆车都动,所以除了周围车辆的轨迹,还得告诉模型自车要怎么开。

常见做法是把“转多少度、走多少米”这样一串数字喂给模型,但模型很难把这串数字准确对应到画面上。

Motion Forcing换了个方式:先把第一帧的深度图,按照自车要走的路线“挪一挪”,做成一段镜头运动的预览,再交给模型。

模型看到的不再是抽象的数字,而是每个像素该往哪移,转弯、加速、减速都控制得更准。这样,周围的车和自车就能各调各的。模型生成的视频就能做到,同一次加塞,自车可以换种方式减速;同一段自车行驶,前车也可以在不同的时机或角度切入。

画面不是最精致,但最讲物理

团队在Waymo的100段真实驾驶视频上做了测试,用了三把尺子:画面像不像真视频、动作连不连贯,以及符不符合物理。

结果很有意思。

Seedance 2.0和Wan 2.6靠着海量数据预训练,画面这一项确实更好。

但一到动作和物理,局面就反过来了:Motion Forcing的动作连贯性得分205.2,明显好于Wan 2.6的316.2和Seedance 2.0的345.6(越低越好);物理合理性得分33.2,也高于两者的31.2和30.5。

换句话说,大模型画得更漂亮,Motion Forcing开得更“对”。而对自动驾驶仿真来说,后者往往更要紧。

Motion Forcing 项目开源后的交互演示界面
Motion Forcing 项目开源后的交互演示界面

不过团队也坦言,Motion Forcing还有短板:行人、自行车特别密集的场景里,几个圆点很难描述那么多小目标的动作;多辆车严重重叠时,深度也可能分不清前后顺序。如果用户画的轨迹太离谱、不符合真实情况,生成结果同样会出错。

团队介绍

本论文的第一作者为许添硕,现于香港科技大学(广州)攻读博士学位。

通讯作者为Ying-Cong Chen(陈颖聪)教授,来自香港科技大学(广州)/香港科技大学,是港科大(广州)人工智能学域助理教授,兼任计算机科学与工程系联署助理教授,此前曾在麻省理工学院担任博士后研究员。

目前,团队已开源代码、模型和交互Demo:上传一张图,点选画面里的车,画出轨迹,就能生成视频。




扩展阅读

Motion Forcing 项目导航:
https://www.zuoshipin.com/link/66952.html

常见问题(FAQ)

Motion Forcing 的输入和输出分别是什么?
原文介绍它以一张图和用户给定的车辆或对象轨迹为输入,先处理深度与空间结构,再生成彩色视频。自车运动也可以作为单独条件参与控制。
为什么自动驾驶视频生成需要关注物理一致性?
自动驾驶仿真需要覆盖加塞、紧急制动、遮挡等高风险但低频场景。如果车辆互相穿模、被遮挡对象无故消失或运动不连续,生成视频就难以作为可信的测试参考。
原文中的 Waymo 对比结果如何理解?
文章给出的结果来自 Waymo 真实驾驶视频上的特定评价设置,其中运动连贯性分数越低越好,物理合理性分数越高越好。它们说明该方法在对应基准条件下的表现,不代表所有数据、所有模型或真实道路安全结论。
Motion Forcing 能否直接用于真实车辆控制?
不能据此得出可以直接用于真实车辆控制的结论。它是生成与仿真研究工具,真实车辆系统还需要感知、预测、规划、控制、功能安全与大量道路验证等完整链路。
项目已经开源了哪些资料?
文章说明团队已提供代码、模型和交互演示,项目资料还包括论文与项目主页。实际可下载内容、运行条件和许可证应以对应官方页面的最新版本为准。
0 点赞
0 收藏
分享
0 讨论
反馈
热门资讯
相关素材

暂无数据