یه مدل، سه تا خروجی: ویدیو، نقشهی عمق و مسیر دوربین، اون هم برای تکتک فریمها. UGG رو دانشگاههای Harvard و MIT و چند تا دانشگاه دیگه ساختن و هر چی بهش بدی، بقیهش رو خودش کامل میکنه: یه ویدیو بهش بده تا عمق و حرکت دوربینش رو برات دربیاره، یه عکس و مسیر دوربین بده تا ویدیو بسازه، یا فقط یه جمله بنویس و یه صحنهی سهبعدی متحرک تحویل بگیر.
ویدیوی معرفی پروژه.
یه ایده، شش تا کار مختلف
معمولاً برای هر کدوم از این کارها یه مدل جداگانه لازمه: یکی عمق رو حدس میزنه، یکی مسیر دوربین رو درمیاره، یکی دیگه ویدیو میسازه. UGG همهی اینها رو یهجا توی خودش داره. با همین یه مدل میتونی:
از ویدیو، نقشهی عمق و مسیر دوربین رو استخراج کنی.
از یه عکس بهعلاوهی مسیر دوربین، ویدیو و عمق بسازی.
بین عکس اول و آخر با یه مسیر دوربین مشخص، فاصلهی بینشون رو پر کنی.
فقط از روی متن، ویدیو و عمق و حرکت دوربین رو همزمان تولید کنی.
فقط با دادن مسیر دوربین یا فقط نقشهی عمق صحنه بسازی (جالبه که این دو تا رو حتی مستقیم آموزش ندیده).
یه آشپزخونهی ساختهشده فقط از روی متن.

چطور اینقدر منعطفه؟
ترفندش خیلی ساده و باحاله. میاد تصویر، عمق و دوربین رو همشکل و هماندازه میکنه (مسیر دوربین رو بهشکل یه «نقشهی پرتوها» درمیاره که شبیه یه عکسه) و همه رو با هم میده به یه ترنسفورمر. اینجا نویز نقش ماسک رو بازی میکنه: بخشی که خودت به مدل میدی بینویز و تمیز میمونه، و بخشی که میخوای ساخته بشه نویزی میشه تا مدل تمیزش کنه. پس برای عوضکردن کار مدل، فقط الگوی نویز عوض میشه، نه خود مدل.
این مدل از Wan2.2-TI2V-5B شروع شده و روی کلیپهای ۵۰ فریمی آموزش دیده. دادههاش هم ترکیبی از مجموعههای واقعی و مصنوعیه، حتی دیتاستهایی که برچسب عمق یا دوربین ندارن؛ مدل فقط از همون بخشهایی که برچسب دارن یاد میگیره.

یه نکتهی هیجانانگیز دیگه: چون مدل تولیدکنندهست، میتونه چند تا حدس مختلف بزنه و بهترینش رو انتخاب کنه. مثلاً ۱۶ تا صحنهی کاندیدا میسازه و اونی رو برمیداره که با تصویرهای ورودی بیشترین همخوانی رو داره. همین کار دقت عمق و دوربین رو توی همهی بنچمارکهای حالت «فقط دو تصویر» حسابی بالا برده.
نقشهی عمق کنار ویدیوی ورودی.
نتایج روی کاغذ (گزارش خود نویسندهها)
توی تخمین مسیر دوربین، خطاش روی هر پنج مجموعهی آزمون از Geo4D و RayDiffusion و بقیه کمتر بوده. مثلاً روی ScanNet++ خطای مسیر از 0.190 اومده پایین و رسیده به 0.087.
حتی با فقط دو تا عکس (فریم اول و آخر)، کمترین خطای دوربین رو روی هر پنج مجموعه ثبت کرده.
توی ساخت ویدیو با مسیر دوربین مشخص، با ورودی یک تصویر توی هر سه مجموعه بهترین امتیاز PSNR و LPIPS و SSIM رو گرفته.
یادگیری همزمان هم خیلی کمک کرده: وقتی ساختن ویدیو از آموزش حذف شد، خطای عمق روی KITTI بیش از دو برابر شد (از 0.152 رسید به 0.322).
کدش چطوریه؟ چند خط و تمام
وزنهای مدل (حدود ۳۰ گیگ) روی Hugging Face و کدهاش روی گیتهاب با مجوز MIT منتشر شده. استفاده ازش هم اینقدر سرراسته:
from ugg import UGG
model = UGG.from_pretrained()
pred = model.video_to_4d("assets/bonn_balloon2/frames.mp4")
pred.rgb # video frames
pred.depth # depth map per frame
pred.c2w # camera path
pred.save("out/") # saves rgb.mp4, depth.mp4, cameras.mp4 ...برای هر کار یه تابع آماده داره: image_to_4d، first_last_to_4d، text_to_4d، camera_to_4d و depth_to_4d. نمونهی ورودی برای هر کدوم توی پوشهی assets هست و با scripts/run_examples.py میتونی همه رو یهجا اجرا کنی. فقط برای اجراش یه گرافیک با ۸۰ گیگ حافظه لازمه. یه نکتهی کاربردی هم اینکه موقع تولید، چند تا seed مختلف رو تست کن و بهترینش رو بردار؛ یه کپشن دقیق هم کیفیت خروجی رو حسابی بالا میبره.
ساختن نمای جدید از روی مسیر دوربین.
به چه دردی میخوره؟ چند تا ایده
اینها استدلالهای خودمه از روی خروجیهای مدل، نه چیزی که شخصاً تست کرده باشم:
تور مجازی از چند تا عکس: عکس اول و آخر یه اتاق رو بده، مسیر دوربین رو خودت بکش و یه ویدیوی قدمزدن داخلش تحویل بگیر، اون هم با نقشهی عمق کامل.
ابزار VFX و انیمیشن: از یه کلیپ معمولی هم مسیر دوربین (برای نشوندن المانهای سهبعدی توی صحنه) و هم عمق (برای ماسک و افکتها) دربیار، بدون نیاز به ابزارهای جداگونه.
رباتیک و بینایی ماشین: مدلی که هم میبینه، هم عمق رو میفهمه و هم حرکت دوربین رو درک میکنه، شروع خیلی خوبیه برای پژوهشهای رباتیک و رانندگی خودکار (خود مقاله هم انگیزهش رو همین عنوان کرده).
ساخت دادهی آموزشی: از روی متن، سهتاییهای «تصویر، عمق و دوربین» تولید کن تا مدلهای خودت رو باهاشون آموزش بدی.
پیشنمایش بازی و محیط: یه توضیح متنی از یه اتاق یا راهرو بنویس و ببین چطور دیده میشه، قبل از اینکه اصلاً بری سراغ مدلسازی سهبعدی.
اپهای طراحی داخلی و املاک: یه عکس از فضا بگیر و با مسیرهای مختلف دوربین براش ویدیوی معرفی بساز.
مقالهی علمی
مقالهی UGG توی کنفرانس NeurIPS 2026 پذیرفته شده. نویسندهها تولید ویدیو و پیشبینی هندسه رو دو روی یک سکه میبینن و میگن وقتی این دو تا توی یه مدل مشترک کنار هم قرار میگیرن، هر دو بهتر میشن. همهی عددهای بالا هم از خود مقاله برداشته شده.
نظر من
قشنگی این کار به اینه که ایدهی «اگه همهچیز رو کنار هم بذاری، هر بخش بقیه رو بهتر میکنه» رو واقعاً عملی کرده. به نظرم جذابترین راه برای تستکردنش ساخت ویدیو از روی یه عکس و مسیر دوربینه، چون نتیجهش رو همون لحظه میبینی. اگه بخوام شروع کنم، اول میرم سراغ image_to_4d و یکی از نمونههای پوشهی assets، بعد کمکم مسیر دوربین رو تغییر میدم تا ببینم مدل تا کجا پا به پام میاد.
