Token导航 LogoToken导航

Puffin-World:可理解相机并生成三维世界的AI模型

更新时间 2026-09-25来源 科技行者正文 5401字阅读约 17分钟

你有没有想过,一张照片能告诉你多少关于"物理世界"的信息?

不只是照片里画了什么,而是拍这张照片的相机,它到底是歪着拍的还是端正拍的,是俯视还是仰视,广角还是长焦。这些信息看起来无关紧要,但对于一个想要真正理解三维世界的AI来说,它们是地基。地基没打好,上面盖的楼再漂亮也会歪。

2026年初,来自南洋理工大学S-Lab等机构的研究者们发布了一篇论文,介绍了一个叫做Puffin-World的模型。它做的事情听起来简单,但拆开看会发现每一步都不容易:让一个AI同时具备三种能力,看懂照片里相机的物理状态、按照你的要求生成新视角的画面、以及把这些画面串成一个连贯的三维世界并重建出几何结构。而且这三件事是在同一个模型里完成的,不是拼凑三个独立系统。

这篇论文最打动我的地方,是它把一个常被忽略的问题重新摆到了台面上:现有的生成式世界模型,几乎都只在"外观"这一层做文章。你给它一张图,它生成下一帧、下一帧、再下一帧,画面很漂亮,但它并不知道重力方向在哪里,也不知道地平线在哪里。这就好比一个演员在没有布景参照的绿幕前表演,动作可以很流畅,但一旦要求他准确指出"哪边是天花板",他就懵了。

三维世界不是一堆像素,它有"物理状态"

论文提出了一个核心概念,叫做原生三维世界状态。

原生三维世界状态:论文将物理世界拆解为三个层次,物理层(重力场和纬度,也就是相机相对于重力的朝向)、几何层(深度信息,也就是场景的三维结构)、外观层(也就是我们平时看到的RGB图像)。

这个拆分乍一看有点学院派,但背后的逻辑其实很朴素。你闭着眼睛也能感觉到自己是站着还是躺着,这就是身体对重力方向的感知,属于物理层。你伸手摸黑走路时能大致判断前面有多远有障碍物,这是几何层。而你睁开眼睛看到的画面,才是外观层。三者缺一不可,但过去的AI世界模型基本上只练了"睁眼看"这一项本事,物理感知和几何理解都是缺失的,或者靠外部模块硬凑。

Puffin-World要做的,是让这三层信息在一个模型里同时被感知、被传递、被生成,而不是各管一段。

一个相机表达式,同时装下"绝对方向"和"相对位置"

要让AI理解相机,首先得有一套描述相机的语言。这里论文提出了Omni-Camera表示。

Omni-Camera表示:一种把每个像素点的相机信息压缩成9个数值的表达方式,其中3个数值描述这个像素相对于重力的绝对方向(上向量和纬度角),另外6个数值描述这个像素对应的光线在三维空间里的起点和方向(相对射线)。

为什么要把"绝对"和"相对"这两种信息硬凑在一起?

因为它们各有各的短板。相对相机表示,比如业内常用的Plücker射线嵌入,非常适合描述多视角之间的几何关系,比如从A视角挪到B视角,相机是怎么平移旋转的。但它没有一个固定的参照系,就像你只知道自己往左走了三步,却不知道"左"到底是地图上的哪个方向。绝对相机表示正好相反,它能告诉你天空在哪、地面在哪,但很难连续地描述多视角之间的过渡。

论文把这两者拼在一起,就是想让模型既知道"我现在朝哪个绝对方向看",又知道"我从上一帧移动到这一帧发生了什么相对变化"。

这就像开车时同时看导航地图和车内的指南针。指南针告诉你车头朝向的是绝对方位,东南西北,不会因为你怎么打方向盘而改变参照系;导航路线则是相对信息,告诉你接下来要左转还是直行。如果只有指南针没有导航,你知道朝向却不知道该怎么走到目的地;如果只有导航没有指南针,遇到复杂立交桥容易转晕方向,因为导航给的是相对指令,一旦累积误差,你可能已经在原地绕了三圈都不自知。Omni-Camera就是把这两种信息焊在一起,让模型既不会迷失方向,也能顺畅地移动视角。

物理传播:让重力感知不在长途旅行中"失忆"

光有一个好的相机表示还不够。当模型需要生成一长串连续视角,比如模拟一个人在房间里转了好几圈,问题就来了:绝对方向信息只能从看到的第一帧图像里推断出来,后面生成的每一帧,模型压根没见过,怎么知道重力在哪?

论文给出的解法叫物理传播。

物理传播:模型先用自己的相机理解能力,从参考视角(也就是最初那张已知图像)估计出重力方向,然后利用已知的相机相对旋转关系,把这个重力方向数学地"传递"到后续每一个待生成的视角上,从而让整条轨迹共享同一个物理参照系。

这个设计其实回应了一个非常现实的问题:如果不做物理传播会怎样?

论文的消融实验给出了答案。在测试各种旋转轨迹(横滚、俯仰、偏航)时,去掉物理传播后,画面质量下降,重力角度误差也明显变大。比如在横滚旋转任务上,加上物理传播后PSNR从22.97提升到24.02,角度误差从2.35度降到2.04度。数字看起来不大,但放到实际场景里,2度的误差意味着水平线开始轻微倾斜,长时间生成后这种倾斜会累积,最终整个场景像喝醉了一样歪向一边。

这就像你蒙着眼睛在陌生房间里转圈走路。如果每走一步都能重新确认"哪边是门",你大概率能走到目的地。但如果只凭第一步的方向感一路推算,中间不做任何校准,走个十几步后,你的方向感会开始漂移,最后可能撞到墙上而不自知。物理传播做的,就是让模型在"走"很长一段路的过程中,始终记得最初那个重力锚点,不会因为累积误差而逐渐"失忆"。

外观和几何一起生成,而不是先后两步走

Puffin-World另一个值得说的设计,是它让外观(图像)和几何(深度)在同一个生成过程里被同时预测出来。

具体做法是把深度图用一种可逆的颜色映射方式编码成类似RGB图像的三通道形式,这样就能复用同一个预训练好的图像编码器,不需要单独训练一个深度专用的编码解码器。

联合外观几何建模:模型在生成每一帧画面的同时,也生成对应的深度信息,两者共享同一套视觉词汇表和注意力机制,只在极少数细节上有区分,比如用非对称注意力让外观和文本查询看不到几何token,但几何token可以看到一切信息,避免深度信息"泄露"污染外观生成质量。

这里有个细节我觉得很聪明。团队没有直接把外观和几何的训练损失简单相加,而是用了一个随训练步数逐渐增大的权重,让几何分支从零开始慢慢介入,不会一上来就打乱已经收敛好的图像生成能力。

这就好比一个已经练得很熟练的厨师,突然被要求同时做两道菜。如果让他从第一天起就同时兼顾两道菜的火候,很可能两道都做砸。更合理的做法是先让他专心做好第一道菜到炉火纯青,再逐渐加入第二道菜的训练,一开始少量参与,慢慢加大比重,直到两道菜都能兼顾。Puffin-World对几何分支的引入正是这个思路,先让外观生成能力扎实,再慢慢"教"它顺带把深度也画出来。

用四个阶段的训练,把能力一点点垒起来

Puffin-World不是一次训练就学会所有本事的,它经历了四个训练阶段。

第一阶段做跨模态对齐,把视觉编码器和语言模型的输出对上号;第二阶段解冻更多模块进行全面微调,同时用较小的学习率保护视觉编码器已经学到的东西;第三阶段是从单视角生成扩展到多视角三维世界建模,这时候模型要学会处理各种复杂的相机运动,比如大幅度平移、原地旋转、360度环视;第四阶段则激活几何分支,让模型学会同时预测深度。

这种循序渐进的训练策略,本质上是在控制风险。如果一开始就把所有任务混在一起训练,模型很容易学得"四不像",什么都会一点,但哪个都不够精。

数据集:Puffin-16M,一次给够1500万组数据

一个模型再聪明,没有足够的数据喂养也施展不开。论文构建了Puffin-16M数据集,包含两个部分。

Puffin-16M数据集:由Puffin-Cam-15M(1500万组视觉-语言-相机三元组,覆盖从室内到室外、合成到真实、自动驾驶到旅游拍摄等多种场景,图像分辨率和长宽比也更加多样)和Puffin-Traj-1M(100万条轨迹,专门覆盖大幅度旋转和挑战性相机运动)两部分组成。

为什么要专门造一个包含极端旋转的数据集?

因为团队发现,现有的三维数据集,比如ScanNet、DL3DV,普遍存在一个问题:横滚角度基本被限制在负5度到正5度之间,俯仰角度也只有负10度到正10度。这是因为这些数据大多是手持相机拍的,正常人走路拍视频不会大幅度歪头或者仰头。这导致模型在训练时几乎没见过极端旋转的场景,一旦真实测试中出现大角度转动,模型就抓瞎了。

这就像一个只在平坦公路上学过开车的司机,突然被要求在山路连续急转弯的赛道上比赛。平时练的都是直线加减速,遇到真正需要大幅度转向的场景,反应必然生疏。Puffin-Traj-1M存在的意义,就是专门给模型补上这门"急转弯"的课,让它面对长距离探索、极端旋转、复合运动的场景时不至于翻车。

值得一提的是,团队还顺手给28个公开数据集补充了绝对相机标注,覆盖大约4450万张图片。这相当于给整个研究社区留下了一份公共财富,其他研究者不用再重复造轮子去标注这些基础的相机物理信息了。

实验结果:多项任务都拿下最好成绩

论文在三大类任务上做了系统评测。

在相机到世界理解任务上(也就是给一张图,判断相机的横滚、俯仰、视场角),Puffin-World在MegaDepth、TartanAir、LaMAR、Stanford2D3D四个公开数据集上,中位数误差指标全面超过此前最强方法,包括专门做相机标定的GeoCalib,以及同源的前代模型Puffin。比如在Stanford2D3D数据集上,横滚角的中位误差从GeoCalib的0.40度降到了0.29度,俯仰角AUC@5度指标从52.3提升到73.3。

在自由视角空间模拟任务上,团队专门造了一个包含600组文本-相机参数配对的评测基准Puffin-Cam-Bench,用来对比Puffin-World和一众通用生成模型,包括GPT Image2、Nano Banana 2、Qwen-Image2-Pro、FLUX.2-dev、Z-Image。结果相当悬殊:这些通用模型生成的图像虽然好看,但相机控制的重力角度误差普遍在20多度,而Puffin-World把这个误差压到了1度左右。

| 方法 | 上向量平均误差 | 重力平均误差 | FID |

|---|---|---|---|

| GPT Image2 | 24.13° | 28.83° | 99.36 |

| Nano Banana2 | 24.01° | 28.00° | 90.11 |

| PreciseCam | 13.37° | 17.07° | 90.89 |

| Puffin | 3.86° | 4.92° | 80.29 |

| **Puffin-World** | **0.96°** | **1.32°** | **75.93** |

这个差距意味着什么?意味着通用大模型虽然能画出漂亮的照片,但你如果要求它"用45度俯角拍摄",它给你的很可能是随便一个角度的图,压根没听懂你要的精确控制。这在需要严谨相机控制的场景,比如虚拟拍摄、建筑可视化里几乎是不可用的。

在三维世界建模任务上,团队在RealEstate10K和自建的Puffin-Traj-Bench上,对比了MotionCtrl、CameraCtrl、ViewCrafter、SEVA、MVGenMaster等方法。在更具挑战性的Puffin-Traj-Bench上(因为包含更大幅度的旋转和内参变化),Puffin-World的相机控制精度全面领先,横滚角AUC@1度达到0.57,是所有对比方法中最高的。

意想不到的加分项:闭环应用

除了单独完成理解、生成、重建这三件事,论文还展示了两个组合应用,我觉得挺值得单独说一说。

第一个是模仿式世界探索:给定一段相机轨迹,模型可以从同一个初始视角出发,按照这条轨迹生成一整套三维世界演化过程,相当于复现某个探索路径。

第二个是自校准式世界探索:模型自己判断当前观测的重力是否对齐,如果发现偏了,自己推算出需要的校正动作,然后想象出校正后应该看到的画面,形成一个闭环。论文里提到这有点像世界-动作模型的交互范式,模型先感知,再决策,再想象结果,然后循环。

这两个能力都没有依赖任何外部模块,全部由同一个多模态模型完成。这说明当理解、生成、几何这三种能力被真正统一进一个模型里之后,会自然涌现出一些单独训练某个能力时不会出现的组合玩法。这大概是这类"大一统"模型最有意思的地方,你不是在拼凑积木,而是在给一个大脑同时装上不同的感官,然后看它自己怎么把这些感官协调起来用。

Q&A

Q1:Puffin-World具体能做哪些事情?

A:Puffin-World能同时完成三类任务,一是从单张图片理解相机的绝对物理状态(横滚、俯仰、视场角),二是根据文字描述和指定相机参数生成新视角图像,三是从一张参考图出发按相机轨迹生成连贯的三维世界并同步重建深度几何。

Q2:Omni-Camera表示和普通的相机表示有什么区别?

A:普通相机表示要么只有相对位置信息(不知道绝对方向),要么只有绝对方向信息(难以描述连续视角变化)。Omni-Camera把两者结合成9通道的信息,既包含相对于重力的绝对朝向,又包含视角间的相对射线关系,因此能同时支持单视角控制和多视角连续生成。

Q3:为什么要专门构建Puffin-Traj-1M这个数据集?

A:因为现有的三维数据集大多是手持相机拍摄的,横滚和俯仰角度变化很小,模型很少见过大幅度旋转场景。Puffin-Traj-1M专门收集了100万条包含大幅度旋转、长距离探索、复合运动的轨迹,让模型学会应对更具挑战性的相机运动。

文章标签大模型
资讯来源:由AI资讯编辑整理自互联网公开内容,版权归原作者所有,未经许可,不得转载。

继续浏览更多资讯

返回资讯目录

相关资讯

更多