

Paper: 2603.30045 Authors: Yuheng Liu, Xin Lin, Xinke Li, Baihan Yang, Chen Wang, Kalyan Sunkavalli, Yannick Hold-Geoffroy, Hao Tan, Kai Zhang, Xiaohui Xie Categories: cs.CV
The Gap
Existing video generation models (like Sora, Runway, Pika) work with perspective videos — they’re essentially looking through a narrow camera viewfinder. This creates three problems: (1) you only see a slice of the scene at any moment, (2) when you want to “walk” through a scene for a long time, the model loses track of where things are, and (3) different generated frames contradict each other spatially because there’s no global map.
Prior work tried trajectory-controlled generation (CameraCtrl, MotionCtrl) but still used perspective representation. Some explored panoramic images (PanoDreamer) but not video. The gap: no one combined panoramic representation with long-horizon video generation under trajectory control.
Problem: Perspective video = limited FOV + poor long-term consistency
|
v
Assumption: Panoramic representation inherently encodes global spatial structure
|
v
Method: Two-stage generation (preview + refine) with panoramic video
|
v
Evidence: Outperforms baselines on FID, consistency metrics, user studies
|
v
Conclusion: Panoramic representation enables longer, more consistent scene wandering
The Increment
One sentence: Before this paper, video generation models could create short perspective clips with shaky consistency; after it, you can generate hour-long panoramic journeys through scenes with stable spatial structure.
Core Mechanism
OmniRoam works in two stages. The preview stage takes an input image or video and a camera trajectory, then generates a low-resolution panoramic video that sketches out the scene. Think of it as a rough draft — fast, covers the whole journey, but blurry. This uses a diffusion model conditioned on trajectory (camera poses) and the input.
The refine stage takes that draft and does two things simultaneously: extends it temporally (makes it longer) and upsamples it spatially (makes it sharper). This isn’t just upscaling — it’s generating new content that’s consistent with the preview. The model uses a sliding window approach: it looks at a chunk of the preview video, refines it, then slides forward with overlap to maintain consistency.
Input Image/Video + Trajectory
|
v
[Preview Stage]
Diffusion Model
(trajectory-conditioned)
|
v
Low-res Panoramic Video (draft)
|
v
[Refine Stage]
Sliding Window Processing
(temporal extend + spatial upsample)
|
v
High-res Long Panoramic Video
Here’s the structural metaphor: Think of OmniRoam as a cartographer exploring unknown territory. The preview stage is like flying over the land in a helicopter, quickly sketching a rough map of mountains, rivers, and forests — you see everything but details are fuzzy. The refine stage is like walking the same route on foot with a surveyor’s tools, filling in precise elevations, textures, and landmarks. The sliding window is your surveyor’s notebook: you focus on one section, record it carefully, then move forward with some overlap so the next section connects seamlessly to what you just mapped. The panoramic representation is like using a 360° compass instead of looking through binoculars — you always know where everything is relative to everything else.
Key Concepts
-
Panoramic representation: Instead of a rectangular image (like a photo), imagine wrapping the image around a sphere so it covers all directions at once. Technically, it’s an equirectangular projection — the sphere is “unwrapped” into a rectangle where horizontal position = azimuth angle and vertical position = elevation angle. Why does this help? Because when you move through a scene, objects that disappear from a perspective camera’s view are still present in the panoramic representation — they just shift horizontally. This makes long-term consistency easier because the model has a persistent “memory” of the entire scene encoded in each frame.
-
Trajectory control: You specify a path through 3D space as a sequence of camera poses (position + orientation). The model conditions its generation on this trajectory, meaning it learns to generate content that matches what you’d see if a camera actually moved along that path. The trick is encoding these poses into the diffusion model’s conditioning mechanism — they use a combination of pose embeddings and cross-attention so the model “knows” where it is at each timestep.
-
Sliding window refinement: When extending a video, you can’t just generate frame 1001 after seeing frame 1000 — errors accumulate. Instead, you generate frames 1-100, then frames 51-150 (overlapping with the first batch), then frames 101-200 (overlapping with the second), and so on. The overlap regions act as “anchors” that keep the new content consistent with what came before. It’s like writing a story where you always re-read the last paragraph before writing the next one.
Framework Shift
Before (mainstream approach): After (this paper):
Perspective Video Generation Panoramic Video Generation
[Camera] ---> [Limited FOV] [Camera] ---> [360° Coverage]
| | | |
v v v v
Frame 1 Frame 2 Frame 1 Frame 2
[ | ] [ | ] [======] [======]
(narrow) (narrow) (full scene) (full scene)
| | | |
+------+-------+ +------+-------+
| |
v v
Inconsistent Consistent
(objects vanish/reappear) (objects persist)
From narrow-view frame sequences to full-scene panoramic flows, the core shift is from partial observations with implicit spatial relationships to complete observations with explicit global structure.
Expert Assessment
Problem choice: This is a real gap. Video generation has been stuck in perspective-land, and the consistency issues are well-documented (anyone who’s used Runway knows objects morph weirdly after a few seconds). Panoramic representation is an elegant solution that’s been underexplored in the video domain. The problem sits at the intersection of 3D vision and generative models — timely given the push toward embodied AI and virtual worlds.
Method maturity: The two-stage design is clever but not groundbreaking — it’s essentially coarse-to-fine generation, which is standard practice. The real contribution is adapting diffusion models to panoramic video and showing it works. However, I’m skeptical about the sliding window approach scaling to truly long videos (they show up to 10 minutes, but what about hours?). The method feels like 70% engineering and 30% insight, which is fine for a systems paper.
Experimental integrity: Baselines are fair (CameraCtrl, MotionCtrl, DreamScene4D). The metrics are appropriate (FID for quality, LPIPS for consistency, user studies for realism). However, the datasets are small (1000 synthetic + 500 real panoramic videos) — I’d want to see this tested on more diverse data. The ablation studies are thorough. One red flag: they don’t report failure cases or discuss when the method breaks down.
Writing quality: The paper is well-structured but overly dense in the method section. The “preview + refine” framing is clear, but the technical details about pose encoding and attention mechanisms are buried in walls of text. If they rewrote Section 3.2 with more diagrams and less notation, the paper would be much more accessible. The related work section is comprehensive but reads like a literature dump.
Verdict: weak accept — Solid execution on a real problem with clear improvements over baselines, but the novelty is incremental (panoramic + diffusion isn’t a huge conceptual leap) and the evaluation could be more rigorous.
Takeaways
Steal the representation choice: When building generative models for spatial tasks, ask whether your representation encodes the structure you care about. Panoramic representation naturally encodes “everything around you” — this idea transfers to other domains (e.g., audio generation could use ambisonics instead of stereo).
Steal the two-stage strategy: Preview-then-refine is a general pattern for long-horizon generation. Generate a low-fidelity plan first (cheap, fast, covers the whole task), then refine it incrementally. This works for text (outline → draft → polish), code (pseudocode → implementation → optimization), and now video.
Steal the sliding window trick: When you need to generate long sequences with consistency, overlapping windows are your friend. The overlap acts as a “consistency buffer” that prevents drift. This applies to any autoregressive generation task where errors accumulate (music generation, long-form text, animation).
Don’t steal the dataset approach: Building custom datasets for every new representation is expensive and doesn’t scale. The field needs better ways to adapt existing data or use synthetic data more effectively.
论文: 2603.30045 作者: Yuheng Liu, Xin Lin, Xinke Li, Baihan Yang, Chen Wang, Kalyan Sunkavalli, Yannick Hold-Geoffroy, Hao Tan, Kai Zhang, Xiaohui Xie 分类: cs.CV
缺口
现有的视频生成模型(比如 Sora、Runway、Pika)都是基于透视视频——本质上是通过一个狭窄的取景器在看世界。
这带来三个问题:(1)任何时刻你只能看到场景的一小片,(2)当你想在场景中”行走”较长时间时,模型会忘记东西在哪里,(3)不同生成帧之间在空间上会自相矛盾,因为没有全局地图。
之前的工作尝试过轨迹控制生成(CameraCtrl、MotionCtrl),但仍然用透视表示。
有些探索了全景图像(PanoDreamer),但不是视频。
缺口在于:没人把全景表示和轨迹控制下的长时程视频生成结合起来。
问题:透视视频 = 有限视野 + 长期一致性差
|
v
假设:全景表示天然编码了全局空间结构
|
v
方法:两阶段生成(预览 + 精修)+ 全景视频
|
v
证据:在 FID、一致性指标、用户研究上超越基线
|
v
结论:全景表示能实现更长、更一致的场景漫游
增量
一句话: 这篇论文之前,视频生成模型只能创建短小的透视片段,一致性摇摇晃晃;之后,你可以生成小时级的全景旅程,空间结构稳定。
核心机制
OmniRoam 分两个阶段工作。
预览阶段接收输入图像或视频和相机轨迹,生成低分辨率的全景视频,勾勒出场景轮廓。
可以理解为草稿——快速、覆盖整个旅程、但模糊。
这用了一个扩散模型,以轨迹(相机姿态)和输入为条件。
精修阶段拿到草稿后同时做两件事:时间上延长(让它更长)和空间上上采样(让它更清晰)。
这不只是放大——而是生成与预览一致的新内容。
模型用滑动窗口方法:看一段预览视频,精修它,然后带着重叠向前滑动以保持一致性。
输入图像/视频 + 轨迹
|
v
[预览阶段]
扩散模型
(轨迹条件)
|
v
低分辨率全景视频(草稿)
|
v
[精修阶段]
滑动窗口处理
(时间延长 + 空间上采样)
|
v
高分辨率长全景视频
结构性比喻:把 OmniRoam 想象成探索未知领地的制图师。
预览阶段像坐直升机飞越土地,快速勾勒山脉、河流、森林的粗略地图——你看到一切但细节模糊。
精修阶段像沿着同一路线步行,带着测量工具,填入精确的海拔、纹理、地标。
滑动窗口是你的测量笔记本:专注一个区域,仔细记录,然后带着一些重叠向前移动,这样下一段能与刚才的无缝衔接。
全景表示像用 360° 罗盘而不是望远镜——你总是知道所有东西相对于彼此的位置。
关键概念
- 全景表示:不是矩形图像(像照片),而是把图像包裹在球面上,一次覆盖所有方向。
技术上,这是等距柱状投影——球面被”展开”成矩形,水平位置 = 方位角,垂直位置 = 仰角。
为什么有用?因为当你在场景中移动时,从透视相机视野中消失的物体在全景表示中仍然存在——它们只是水平移动了。
这让长期一致性更容易,因为模型在每一帧中都有整个场景的持久”记忆”。
- 轨迹控制:你指定一条 3D 空间中的路径,作为相机姿态序列(位置 + 朝向)。
模型以这条轨迹为条件生成内容,意味着它学会生成与相机沿该路径实际移动时看到的内容相匹配的画面。
诀窍是把这些姿态编码进扩散模型的条件机制——他们用姿态嵌入和交叉注意力的组合,让模型在每个时间步”知道”自己在哪里。
- 滑动窗口精修:延长视频时,你不能只在看到第 1000 帧后生成第 1001 帧——误差会累积。
相反,你生成第 1-100 帧,然后生成第 51-150 帧(与第一批重叠),然后第 101-200 帧(与第二批重叠),以此类推。
重叠区域充当”锚点”,让新内容与之前的保持一致。
就像写故事时,你总是重读最后一段再写下一段。
框架转变
之前(主流方法): 之后(本文方法):
透视视频生成 全景视频生成
[相机] ---> [有限视野] [相机] ---> [360° 覆盖]
| | | |
v v v v
帧 1 帧 2 帧 1 帧 2
[ | ] [ | ] [======] [======]
(狭窄) (狭窄) (完整场景) (完整场景)
| | | |
+------+-------+ +------+-------+
| |
v v
不一致 一致
(物体消失/重现) (物体持续存在)
从窄视野帧序列到全场景全景流,核心转变是从隐式空间关系的局部观测到显式全局结构的完整观测。
专家评审
选题眼光:这是真缺口。
视频生成一直困在透视视角里,一致性问题有据可查(用过 Runway 的人都知道物体几秒后就会诡异变形)。
全景表示是个优雅的解决方案,在视频领域探索不足。
这个问题处于 3D 视觉和生成模型的交叉点——考虑到具身 AI 和虚拟世界的推进,时机恰当。
方法成熟度:两阶段设计巧妙但不算突破——本质上是从粗到细的生成,这是标准做法。
真正的贡献是把扩散模型适配到全景视频并证明可行。
但我怀疑滑动窗口方法能否扩展到真正的长视频(他们展示了最多 10 分钟,但小时级呢?)。
方法感觉 70% 是工程,30% 是洞见,对系统论文来说没问题。
实验诚意:基线公平(CameraCtrl、MotionCtrl、DreamScene4D)。
指标合适(FID 衡量质量,LPIPS 衡量一致性,用户研究衡量真实感)。
但数据集小(1000 个合成 + 500 个真实全景视频)——我想看在更多样化数据上的测试。
消融研究很彻底。
一个警示信号:他们没报告失败案例或讨论方法何时失效。
写作功力:论文结构清晰但方法部分过于密集。
“预览 + 精修”的框架清楚,但关于姿态编码和注意力机制的技术细节埋在大段文字里。
如果他们用更多图表、更少符号重写 3.2 节,论文会更易读。
相关工作部分全面但读起来像文献堆砌。
判决:弱接收 — 在真实问题上扎实执行,明显优于基线,但新颖性是增量式的(全景 + 扩散不是巨大的概念飞跃),评估可以更严格。
要点总结
偷走表示选择:为空间任务构建生成模型时,问问你的表示是否编码了你关心的结构。
全景表示天然编码”你周围的一切”——这个想法可迁移到其他领域(比如音频生成可以用环绕声而不是立体声)。
偷走两阶段策略:预览-然后-精修是长时程生成的通用模式。
先生成低保真计划(便宜、快速、覆盖整个任务),然后逐步精修。
这适用于文本(大纲 → 草稿 → 润色)、代码(伪代码 → 实现 → 优化)、现在还有视频。
偷走滑动窗口技巧:当你需要生成一致的长序列时,重叠窗口是你的朋友。
重叠充当”一致性缓冲区”,防止漂移。
这适用于任何误差累积的自回归生成任务(音乐生成、长文本、动画)。
别偷数据集方法:为每个新表示构建定制数据集成本高且不可扩展。
该领域需要更好的方法来适配现有数据或更有效地使用合成数据。