NeurIPS 2023 Spotlight|高質量多視角圖像生成,完美復刻場景材質!SFU等提出MVDiffusion
新智元報道
編輯:LRS 好睏
【新智元導讀】不怕多視角圖像變化大,MVDiffusion整合圖片全局意識,內容一致性更高!
逼真的圖像生成在虛擬現實、增強現實、視頻遊戲和電影製作等領域有廣泛應用。
颐瑞府(颐瑞府)官方网站丨北京通州颐瑞府售楼处欢迎您
隨着擴散模型(Diffusion Models)在近兩年的快速發展,圖像生成取得了很大突破,從Stable Diffusion衍生出的一系列根據文本描述產生圖像的開源或商業模型已經對設計、遊戲等領域產生了巨大影響。
然而,如何根據給定的文本或其他條件,產生高質量的多視角圖像(multiview images)仍然是一個挑戰,已有的方法在多視圖一致性上存在明顯的缺陷。
女子查CT发现肺结节,复查时结节几乎消失,或因她常做4件事
目前常見的方法可以大致分爲兩類。
国产大飞机一飞冲天!这些城市,是最大赢家
第一類方法致力於生成一個場景的圖片以及深度圖,並得到對應的mesh,如Text2Room,SceneScape——首先用Stable Diffusion生成第一張圖片,然後使用圖像扭轉(Image Warping)和圖像補全(image inpainting)的自迴歸方式生成後續的圖片以及深度圖。
但是,這樣的方案容易導致錯誤在多張圖片的生成過程中逐漸累積,並且通常存在閉環問題(比如在相機旋轉一圈回到起始位置附近時,生成的內容與第一張圖片並不完全一致),導致其在場景規模較大或圖片間視角變化較大時的效果欠佳。
第二類方法通過拓展擴散模型的生成算法,並行生成多張圖片以產生比單張圖片更豐富的內容(如產生360度全景圖,或將一張圖片的內容向兩側無限外推),如MultiDiffusion和DiffCollage。但是,由於沒有考慮相機模型,這類方法的生成結果並不是真正的全景圖。
MVDiffusion的目標是產生內容上嚴格符合給定的相機模型,且全局語義統一的多視角圖片。其方法的核心思想是同步去噪(simultaneous denoising)和基於圖片之間對應關係(correspondence)的一致性學習。
論文鏈接:https://arxiv.org/abs/2307.01097
美媒预测2023-24赛季最好的二人组,按实力排名哪组被高估了
項目網站:https://mvdiffusion.github.io/
Demo: https://huggingface.co/spaces/tangshitao/MVDiffusion
代碼:https://github.com/Tangshitao/MVDiffusion
大学生谈高考选专业 学不感兴趣的专业是一种煎熬
發表會議:NeurIPS(spotlight)
MVDiffusion的目標是產生內容高度一致且全局語義統一的多視角圖片,其方法的核心思想是同步去噪(simultaneous denoising)和基於圖片之間對應關係的全局意識(global awareness)。
具體地,研究人員對已有的文本-圖片擴散模型(如Stable Diffusion)進行拓展,首先讓其並行地處理多張圖片,並進一步在原本的UNet中加入額外的「Correspondence-aware Attention」機制來學習多視角間的一致性和全局的統一性。
通過在少量的多視角圖片訓練數據上進行微調,最後得到的模型能夠同步生成內容高度一致的多視角圖片。
MVDiffusion已經在三種不同的應用場景取得了良好的效果:
1. 根據文字生成多視圖以拼接得到全景圖;
2. 將透視圖像外推(outpainting)得到完整的360度全景圖;
3. 爲場景生成材質(texture)。
應用場景展示
應用1:全景圖生成(根據文字)
以生成全景圖(panorama)爲例,輸入一段描述場景的文字(prompt),MVDIffusion能生成一個場景的多視角圖片。
如輸入「This kitchen is a charming blend of rustic and modern, featuring a large reclaimed wood island with marble countertop, a sink surrounded by cabinets. To the left of the island, a stainless-steel refrigerator stands tall. To the right of the sink, built-in wooden cabinets painted in a muted」,能得到以下8張多視角圖片:
楼市要开始下跌了吗?这一次大约要跌10年?恭喜没买房的朋友?
這8張圖片能夠拼接成一張全景圖:
MVDiffusion也支持爲每張圖片提供不同的文字描述,但是這些描述之間需要保持語義上的一致性。
應用2:全景圖生成(根據一張透視圖像)
湖南一名企业家猝死:人到中年,请收起自己的无知
MVDiffusion能夠將一張透視圖像外推(outpainting)成完整的360度全景圖。
比,如輸入下面這張透視圖:
MVDiffusion能進一步生成下面的全景圖:
可以看到,生成的全景圖在語義上對輸入圖片進行了擴展,而且最左和最右的內容是相連的(沒有閉環問題)。
中煤集团欲出清中煤保险股权,底价1.02亿元转让1亿股
應用3:生成場景材質
給定一個無材質的場景mesh,MVDiffusion可以爲其生成材質(texture)。
具體地,我們首先通過渲染mesh得到多視角的深度圖(depth map),通過相機位姿(pose)以及深度圖,我們可以獲得多視角圖片的像素之間的對應關係。
接着,MVDiffusion以多視角depth map作爲條件,同步生成一致的多視角RGB圖片。
因爲生成的多視角圖片能保持內容的高度一致,將它們再投回mesh,即可以得到高質量的帶材質的mesh(textured mesh)。
LOL又被嘲讽了!DOTA选手赛后发言:主场作战,金牌才对得起自己
更多效果示例
全景圖生成
王妃唯墨 小說
值得一提的是,在這個應用場景中,雖然訓練MVDiffusion時用到的多視角圖片數據都是來自室內場景的全景圖,風格單一。
「极短光脉冲」研究获颁诺贝尔物理奖 有助电晶体、3C与CPU研发
但是,由於MVDiffusion沒有改變原本的Stable Diffusion的參數而只是訓練了新加入的Correspondence-aware Attention。
最後,模型依然能根據給定的文本產生各種不同風格的多視角圖片(如室外,卡通等)。
單視圖外推
丰台这村征地!3商业周边公共空间提升有安排!投资1.6亿的大工程也将启动!
場景材質生成
具體方法介紹
我們將先介紹MVDiffusion在三個不同的任務中具體的圖片生成流程,最後再介紹方法的核心,「Correspondence-aware Attention」模塊。
圖1:MVDiffusion概覽
1. 全景圖生成(根據文字)
MVDiffusion同步生成8張帶有重疊的圖片(perspective image),然後再將這8中圖片縫合(stitch)成全景圖。在這8張透視圖中,每兩張圖之間由一個3×3單應矩陣(homographic matrix)確定其像素對應關係。
在具體的生成過程中,MVDiffusion首先通過高斯隨機初始化生成8個視角的圖片。
然後,將這8張圖片輸入到一個具有多分支的Stable Diffusion預訓練Unet網絡中,進行同步去噪(denoising)得到生成結果。
COMPUTEX Showcases AIoT Ecosystem
其中UNet網絡中加入了新的「Correspondence-aware Attention」模塊(上圖中淡藍色部分),用於學習跨視角之間的幾何一致性,使得這8張圖片可以被拼接成一張一致的全景圖。
2. 全景圖生成(根據一張透視圖片)
中国生物制药:采纳总额不超过10亿港元的股份购买计划
MVDiffusion也可以將單張透視圖補全成全景圖。與全景圖生成相同,MVDiffusion將隨機初始化的8個視角圖片(包括透視圖對應的視角)輸入到多分支的Stable Diffusion Inpainting預訓練的UNet網絡中。
成人高考招生专业
不同的是,Stable Diffusion Inpainting模型中的UNet通過額外的輸入掩碼(mask)來區分作爲條件的圖片和將要生成的圖片。
對於透視圖所對應的視角,這個掩碼是1,這個分支的UNet會直接恢復該透視圖。對於其他視角,這個掩碼是0,對應分支的UNet會生成新的透視圖。
同樣地,MVDiffusion使用「Correspondence-aware Attention」模塊來學習生成圖片與條件圖片之間的幾何一致性與語義統一性。
这4个部位的息肉,需及时切除,以免发展成恶性肿瘤
3. 場景材質生成
MVDiffusion首先基於深度圖以及相機位姿生成一條軌跡上的RGB圖片,然後使用TSDF fusion將生成的RGB圖片與給定的深度圖合成mesh。
RGB圖片的像素對應關係可以通過深度圖和相機位姿得到。
與全景圖生成一樣,我們使用多分支UNet,並插入「Correspondence-aware Attention」來學習跨視角之間的幾何一致性。
1-0!世界冠军一夫当关,维拉攻陷蓝桥,切尔西豪阵再成笑话
4. Correspondence-aware Attention機制
「Correspondence-aware Attention」(CAA),是MVDiffusion的核心,用於學習多視圖之間的幾何一致性和語義統一性。
MVDiffusion在Stable Diffusion UNet中的每個UNet block之後插入「Correspondence-aware Attention」block。CAA通過考慮源特徵圖和N個目標特徵圖來工作。
對於源特徵圖中的一個位置,我們基於目標特徵圖中的對應像素及其鄰域來計算注意力輸出。
梦见4种动物要注意 出现这状况是健康警讯
具體來說,對於每個目標像素t^l,MVDiffusion通過在(x/y)座標上添加整數位移(dx/dy)來考慮一個K x K的鄰域,其中|dx|
在實際使用中,MVDiffusion使用K=3,並選擇9點的鄰域來爲全景圖提高質量,而對於受幾何條件限制的多視圖圖像生成,爲了提升運行效率選擇使用K=1。
CAA模塊的計算遵循標準的注意力機制,如上圖的公式所示,其中W_Q、W_K和W_V是query、key和value矩陣的可學習權重;目標特徵不位於整數位置,而是通過雙線性插值獲得的。
關鍵的區別是基於源圖像中的對應位置s^l與s之間的2D位移(全景)或1D深度誤差(幾何)向目標特徵添加了位置編碼。
在全景生成中(應用1和應用2),這個位移提供了本地鄰域中的相對位置。
而在深度到圖像生成中(應用3),視差提供了關於深度不連續或遮擋的線索,這對於高保真圖像生成非常重要。
注意,位移是一個2D(位移)或1D(深度誤差)向量,MVDiffusion將標準頻率編碼應用於x和y座標中的位移。
參考資料:
https://mvdiffusion.github.io/