【三維生成】FlashDreamer:基于擴散模型的單目圖像到3D場景


標題:<Enhancing Monocular 3D Scene Completion with Diffusion Model>
代碼:https://github.com/CharlieSong1999/FlashDreamer
來源:澳大利亞國立大學

文章目錄

  • 摘要
  • 一、前言
  • 二、相關工作
    • 2.1 場景重建
    • 2.2 擴散模型
    • 2.3 Vision language model (視覺語言模型)
  • 三、問題定義
  • 四、FlashDreamer
  • 五、Flash3D
  • 六、3DGS: Merge and align
  • 實驗


摘要

??三維場景重建對于虛擬現實、機器人技術和自動駕駛等應用至關重要,它使機器能夠理解復雜環境并與之互動。傳統的三維高斯潑濺技術依賴從多視角拍攝的圖像以獲得最佳性能,但這種依賴性限制了其在僅能獲取單張圖像場景中的應用。本研究提出了FlashDreamer這一創新方法,通過單張圖像實現完整三維場景重建,大幅減少了對多視角輸入的需求。該方法利用預訓練的視覺-語言模型生成場景描述性提示,引導擴散模型生成多視角圖像,繼而融合形成連貫的三維重建。大量實驗表明,我們的方法能高效穩健地將單張圖像輸入擴展為完整三維場景,無需額外訓練即可擴展單目三維重建能力。

一、前言

??三維場景重建通過多幅輸入圖像生成場景的三維表征。這項計算機視覺領域的基礎任務為自動駕駛[31]、機器人技術[25]、游戲開發[27]以及虛擬/增強現實(VR/AR)[35]等應用提供空間表征基礎。近年來,三維高斯潑濺(3DGS)技術憑借其能以極少輸入實現高質量實時渲染的特性,已成為三維表征的熱門方法[3,8,14–16,21]。但3DGS通常需要多視角圖像才能達到最佳效果[3,30,32],這限制了其在單圖像場景中的適應性[17]。Flash3D[28]通過單圖像三維重建技術解決了這一問題,然而當從其他角度觀察此類重建結果時,原始圖像信息不足常導致偽影產生。例如旋轉視角時,初始輸入范圍外的區域常會出現空白或邊界偽影。

??為突破這些限制,可采用擴散模型[23]等生成式模型合成新視角圖像。然而擴散模型在生成同一場景的多幅圖像時往往存在一致性問題[1]——例如生成圖像間的重疊區域可能出現偏差,導致內容不一致。為此我們提出FlashDreamer:該方法通過預定義角度生成視圖,在Flash3D初始化的基礎上完成場景的三維高斯濺射建模。FlashDreamer利用中間3DGS表征對三維空間中的重疊區域進行對齊,從而解決一致性問題。此外,視覺語言模型(VLM)提供的輔助指導能增強擴散過程。本研究的主要貢獻包括:

  • FlashDreamer Pipeline:我們推出FlashDreamer流程,該流程利用預訓練的Flash3D、擴散模型和視覺語言模型(VLMs),從輸入圖像及周邊視角構建完整3D場景。
  • Alternative Configurations(可選配置):FlashDreamer的多種變體方案,包括采用不同擴散模型、旋轉角度以及為擴散模型選擇不同提示詞。
  • 實驗驗證:定性與定量評估表明,FlashDreamer無需額外訓練即可實現高效的3D場景補全。

??

??

二、相關工作

2.1 場景重建

??場景重建指從一個或多個圖像創建真實環境三維表征的過程。在多重視角(圖像)重建領域已有諸多重要成果,從多視角立體視覺[24]、神經輻射場(NeRF)到三維高斯潑濺(3DGS)]。另一些方法專注于少樣本圖像重建[pixelsplat, latentsplat],展示了通過少量視角構建場景的能力。這些方法在多視角設置下能提供精確的實時渲染性能,但要么需要大量輸入圖像,要么要求輸入圖像間存在特定關聯[Gaussianobject],限制了其在少視角或單視角重建中的表現。為突破這一局限,最新研究提出了雙視角[Dust3R]和單視角重建器[Large spatial model:End-to-end unposed images to semantic 3d],利用Transformer在訓練期間捕捉跨視角關系。Flash3D[28]通過采用輕量級卷積層實現單圖像單目場景重建,以簡潔高效的方法推動了該領域發展。

??盡管如此,這些少視角重建方法僅能復原輸入圖像中的內容,使得場景缺失內容的補全成為難題。部分研究[15,16]采用全景圖像進行重建,得益于360度全覆蓋特性,這類方法能實現良好的場景閉環且不存在內容缺失。以PixelSynth[21]、Text2Room[11]和LucidDreamer[4]為代表的迭代式場景生成方法,則通過從局部視角或文本描述自回歸生成場景提供了新思路。

2.2 擴散模型

??計算機視覺中的擴散模型[5]旨在學習從受高斯噪聲干擾的圖像中去噪的過程,進而生成高質量且多樣化的圖像。作為深度生成方法之一,基于擴散的模型被廣泛應用于圖像合成[23]、視頻生成[10]和密集視覺預測[13]等現實場景中。以潛在擴散模型(LDMs)形式呈現的Stable Diffusion[19,23]在高分辨率圖像合成任務中取得了巨大成功。除圖像生成外,擴散模型在圖像修復領域同樣成果斐然——這項圖像編輯技術能根據用戶以文本描述、遮罩或布局[12]等形式提出的需求,對給定圖像進行編輯或補全。Ledits++[2]允許用戶通過提供標注待編輯目標區域的遮罩,結合描述該區域預期生成內容的文本來實現編輯。這種編輯流程與我們補全特定圖像區域的目標高度契合。

2.3 Vision language model (視覺語言模型)

??視覺語言模型(VLM)能夠捕捉圖像與文本之間的關聯性,無需微調即可應用于下游視覺語言任務[34]。開創性模型CLIP[20]采用文本嵌入與圖像嵌入的對比學習方法,二者分別通過獨立的編碼器提取。其核心目標是最大化匹配文本-圖像對的相似度,同時最小化非匹配對的相似度。盡管CLIP在圖文匹配方面表現卓越,但并未解決圖像到文本的生成問題。CoCa[33]通過提出解耦編碼器與解碼器的圖像描述生成框架解決了這一局限,實現了從圖像生成文本的功能。該模型中,圖像和文本先經過獨立編碼,隨后在多模態解碼器中進行交叉注意力處理以生成描述文本。本項工作中,我們采用當前最先進的開源視覺語言模型LLama3[6],基于輸入圖像為我們的處理流程生成文本描述。

??

三、問題定義

??給定單張圖像I0∈RH×W×3I_0∈R^{H×W×3}I0?RH×W×3,生成完整的三維場景表征RNR_NRN?,流程如圖1。定義一組三維場景集合{Ri′R'_iRi?}i=0N^N_{i=0}i=0N?,在每一步中通過Flash3D[28]從單一視角生成,而{RiR_iRi?}i=0N^N_{i=0}i=0N?表示每一步經過合并對齊后獲取的多視角累積三維場景。此外,我們還定義了一組渲染變換{TiT_iTi?}i=0N^N_{i=0}i=0N?和幾何變換角度{gig_igi?}i=0N^N_{i=0}i=0N?,用于從多視角渲染場景。其中Ii′∈RH×W×3I'_i∈R^{H×W×3}Ii?RH×W×3代表擴散模型修復前的圖像,Ii∈RH×W×3I_i∈R^{H×W×3}Ii?RH×W×3表示經過擴散模型修復后的圖像。

在這里插入圖片描述

四、FlashDreamer

在這里插入圖片描述

??如圖2所示,包含兩個主要步驟:(i) 修復(inpaint)新視角的圖像;(ii) 三維高斯潑濺(3DGS)的合并與對齊過程。首先,輸入圖像I0I_0I0?將被輸入Flash3D 主干網絡,通過以下方程生成場景的初始三維表示R0′R'_0R0?

在這里插入圖片描述

??R0′R'_0R0?因未被觀測到的部分而包含遮擋或不完整區域。隨后,我們通過預定義的幾何變換 g1g_1g1?(即第一步旋轉的特定角度)從原始重建的三維場景R0R_0R0?渲染出新視角圖像I1′I'_1I1? (對于 i=0i=0i=0R0=R0′R_0 = R'_0R0?=R0?i=0i=0i=0 時,使用 RiR_iRi? 進行渲染)。

在這里插入圖片描述

??I1′I'_1I1?中的黑色mask區域表示需要通過擴散模型進行修復的區域。隨后,Stable Diffusion模型[23]對I1′I'_1I1?進行擴展,生成擴展后的新視角圖像I1I_1I1?。這一優化過程由原始圖像I0I_0I0?的文本描述t0t_0t0?引導——該描述由視覺語言模型VLM生成(具體采用LLaMA-3-1-8B模型)。需注意的是,為確保每個生成視角的一致性,我們在每一步都始終使用描述t0t_0t0?作為擴散提示。

在這里插入圖片描述

??當我們獲得修復后的場景圖像I1I_1I1?時,會重新應用公式1來渲染R1′R'_1R1?,該渲染是基于幾何變換角度g1g_1g1?的視點重建的。R1′R'_1R1?將與R0′R'_0R0?進行合并和對齊,從而獲得更完整的三維表示R1R_1R1?(見圖2中的紅色方框)

在這里插入圖片描述

??該序列化流程通過應用預定義的幾何變換 {gig_igi?}i=0N^N_{i=0}i=0N?繼續執行,并生成 {RiR_iRi?}i=0N^N_{i=0}i=0N?集合。最終,RNR_NRN? 是流程的輸出場景表征,既包含原始輸入圖像 I0I_0I0?,也包含擴散模型生成的新視角圖像{IiI_iIi?}i=1N^N_{i=1}i=1N?

五、Flash3D

??場景補全過程采用增量式處理,未觀測場景會逐步填充由Flash3D[28]模型生成的3D高斯體素。這些高斯體的三維坐標首先根據數據集相機內參進行重縮放以確保尺度一致性。重縮放后,坐標將從相機坐標系轉換至世界坐標系。圖3展示了Flash3D示意圖,對應方程式簡化為公式(1)。

在這里插入圖片描述
??

??

在這里插入圖片描述

六、3DGS: Merge and align

??新渲染的圖像可能包含兩個部分:已見區域和未見區域。只需補全未觀測部分,因此基于現有3DGS創建一個mask,定義為:

在這里插入圖片描述

??MMM作為擴散模型的過濾器,基于現有RGB信息完成圖像補全。新圖像生成后再次輸入Flash3D,使用相同msdk來保留與先前未觀測區域像素相對應的輸出3DGS:
在這里插入圖片描述

??其中 Ri′R'_iRi? 表示由 Flash3D 從圖像 IiI_iIi? 生成的 3D 高斯集合,Ri~\tilde{R_i}Ri?~? 表示我們需要保留的 3DGS。將先前和新增的3D高斯模型合并為完整的場景重建 (Ri=Ri?1+Ri′~)(R_i = R_{i?1} + \tilde{R'_i})(Ri?=Ri?1?+Ri?~?),并通過優化3D高斯參數使渲染圖像更接近Flash3D輸入數據。渲染圖像與Flash3D輸入圖像的對比采用RGB損失函數,定義為:

在這里插入圖片描述

實驗

?? 定性分析 主要考量三個維度:(i)旋轉角度(ii)擴散模型選擇(iii)提示詞多樣性 定量評估 方面,我們采用弗雷謝特初始距離(FID)[9]和CLIP分數[20]兩項指標,對不同旋轉角度下的生成質量進行系統測量,旨在明確驅動高質量場景生成的核心參數。

??實驗設置Flash3D結合預訓練的Stable Diffusion-v2模型,實現多視角場景圖像擴展。為提升擴散模型的生成精度,向LLaMA-3.1-8B輸入引導提示詞"請簡要描述該場景",通過視覺語言模型(VLM)生成的描述文本作為擴散模型的提示輸入。最終采用標準3DGS流程完成三維場景重建。實驗在Replica數據集的子集,包含18個高真的室內三維場景的圖像幀,隨機選取的20張圖像,每張圖像以10°為旋轉單位、在-30°至30°范圍內選取6個新視角,即子集共含20張輸入圖像和120張groundtruth圖像。所有實驗均在NVIDIA Tesla V100 GPU上完成。

??Baseline。PixelSynth [2021CVF] 單目場景補全模型,通過訓練生成對抗網絡(GAN)[9]來生成像素內容,補全輸入圖像之外的內容,作為對比基準。該研究未利用場景的三維表征。

??旋轉角度。如圖4首行,展示了從多視角渲染原始圖像的過程,其中黑色mak區域表示擴散模型需要修復的區域。通過組合不同角度的修復圖像,我們構建出最終的三維場景,這使得旋轉角度增量的選擇對模型性能至關重要。本研究探討了5°和10°兩種旋轉增量對擴散模型生成質量的影響,角度范圍設定在-30°至30°之間,如圖4中間行與底行所示。結果表明:較小的增量雖然能提供更精細的調整,但會導致跨視角的邊緣重疊,從而引入更多可能影響修復質量的偽影。

在這里插入圖片描述

??擴散模型比較。Stable Diffusion-v2能實現更具攝影質感的生成效果。這種品質優勢對于需要多視角真實感的應用場景尤為重要。相反,Stable Diffusion-xl雖然在生成多樣化藝術視覺風格方面更具靈活性,但可能會引入與源圖像風格偏離的元素。Stable Diffusion-xl增強的藝術表現力對創意應用大有裨益,但在需要風格統一性的場景中,可能導致生成結果與原始圖像存在風格不一致的問題。

在這里插入圖片描述

??提示詞對比。視覺語言模型(VLMs)能夠描述場景特征[34]:(i)擴散模型可輸入的token長度有限;(ii)好的描述提示詞未必能生成高質量場景。為此在Stable Diffusionv2[22]上開展實驗,采用兩種擴散提示詞——綠色框標注的"短提示詞"與"長提示詞"。長提示詞詳細描述房間內的具體物品、相對位置及附加場景元素,為模型提供更豐富的上下文信息;而短提示詞則簡要概述場景中的物品。

在這里插入圖片描述

??定量結果:表1比較了PixelSynth與本方法FlashDreamer在不同旋轉角度下的弗雷謝特起始距離(FID)和CLIP分數。 FID指標用于評估生成圖像質量,數值越低代表圖像保真度越高;CLIP分數則衡量文本提示對齊程度,數值越高越好。隨著旋轉角度絕對值減小,兩種方法的FID分數均呈現逐步下降趨勢,表明圖像質量持續提升。同樣在較小角度下,CLIP分數呈現上升態勢,提示對齊效果更佳。總體而言,這些數據證明較小旋轉角度有助于生成更高質量的圖像。

在這里插入圖片描述

??圖7呈現了Replica數據集的修復后房間圖像,生成的圖像展示了多樣化的視角與場景配置,涵蓋了辦公室、客廳和會議室等不同環境。圖8展示了我們的三維重建示例,這些成果通過展現結構完整性與空間縱深感,清晰地闡釋了房間的幾何特征。這些結果凸顯了在捕捉精細細節與保持跨視角紋理一致性方面所面臨的挑戰。

在這里插入圖片描述

??

??

??

??

#pic_center =80%x80%







d\sqrt{d}d? 18\frac {1}{8}81? xˉ\bar{x}xˉ D^\hat{D}D^ I~\tilde{I}I~ ?\epsilon?
?\phi? ∏\prod abc\sqrt{abc}abc? ∑abc\sum{abc}abc
/ $$

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/88376.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/88376.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/88376.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

CANFD記錄儀設備在無人駕駛快遞車的應用

隨著物流行業的快速發展&#xff0c;無人駕駛快遞車因其高效、低成本的優勢&#xff0c;逐漸成為“最后一公里”配送的重要解決方案。然而&#xff0c;無人駕駛系統的穩定性和安全性高度依賴車輛總線數據的精準采集與分析。南金研CANFDlog4 4路記錄儀憑借其多通道、高帶寬、高可…

Kubernetes存儲入門

目錄 前言 一、Volume 的概念 二、Volume 的類型 常見的卷類型 Kubernetes 獨有的卷類型 三、通過 emptyDir 共享數據 1. 編寫 emptyDir 的 Deployment 文件 2. 部署該 Deployment 3. 查看部署結果 4. 登錄 Pod 中的第一個容器 5. 登錄 Pod 中的第二個容器查看/mnt下…

10.Docker安裝mysql

(1)docker pull mysql:版本號eg&#xff1a;docker pull mysql(默認安裝最新版本)docker pull mysql:5.7(2)啟動并設置mysql鏡像docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD123456 --name mysql1 mysql其他參數都不多講&#xff0c;下面這個參數指的是設置數據庫用戶ro…

Debian-10編譯安裝Mysql-5.7.44 筆記250706

Debian-10編譯安裝Mysql-5.7.44 筆記250706 單一腳本安裝 ### 1. 安裝編譯依賴 sudo apt install -y cmake gcc g build-essential libncurses5-dev libssl-dev \ pkg-config libreadline-dev zlib1g-dev bison curl wget libaio-dev \ libjson-perl libnuma-dev libsystemd-d…

HarmonyOS 中狀態管理 V2和 V1 的區別

鴻蒙ArkUI框架中的ComponentV2與V1在狀態管理、組件開發模式、性能優化等方面存在顯著差異。以下是兩者的核心區別及技術解析&#xff1a;一、狀態管理機制V1的局限性V1的Observed裝飾器只能觀察對象的第一層屬性變化&#xff0c;需配合ObjectLink手動拆解嵌套對象。例如&#…

centos7 安裝jenkins

文章目錄前言一、pandas是什么&#xff1f;二、安裝依賴環境1.前提準備2.安裝git3.安裝jdk&#xff0c;以及jdk版本選擇4.安裝maven5.安裝NodeJS6.驗證三、安裝Jenkins四、驗證Jenkins總結前言 正在學習jenkinsdocker部署前后端分離項目&#xff0c;安裝jenkins的時候遇到了一…

Leetcode刷題營第二十題:刪除鏈表中的重復節點

面試題 02.01. 移除重復節點 編寫代碼&#xff0c;移除未排序鏈表中的重復節點。保留最開始出現的節點。 示例1&#xff1a; 輸入&#xff1a;[1, 2, 3, 3, 2, 1]輸出&#xff1a;[1, 2, 3]示例2&#xff1a; 輸入&#xff1a;[1, 1, 1, 1, 2]輸出&#xff1a;[1, 2]提示&…

關于市場主流自動化測試工具和框架的簡要介紹

下面我會分別講解 Selenium、Appium、Playwright 等主流自動化框架的區別、聯系、適用場景和歸屬范疇&#xff0c;幫助你更系統地理解它們。&#x1f527; 一、它們都屬于哪一類工具&#xff1f;Selenium、Appium、Playwright、Cypress 等都屬于&#xff1a;?? 自動化測試框架…

基于cornerstone3D的dicom影像瀏覽器 第三十二章 文件夾做pacs服務端,fake-pacs-server

文章目錄 前言一、實現思路二、項目與代碼三、dicom瀏覽器調用1. view2d.vue前言 本系列最后一章,提供一個模擬pacs服務,供訪問dicom圖像測試。 修改nodejs本地目錄做為http服務根目錄,提供一個根目錄,其中的每個子目錄代表一個檢查。在dicom瀏覽器url中帶入參數studyId=目…

【Python 核心概念】深入理解可變與不可變類型

文章目錄一、故事從變量賦值說起二、不可變類型 (Immutable Types)三、可變類型 (Mutable Types)四、一個常見的陷阱&#xff1a;當元組遇到列表五、為什么這個區別如此重要&#xff1f;1. 函數參數的傳遞2. 字典的鍵 (Dictionary Keys)3. 函數的默認參數陷阱六、進階話題與擴展…

wpf使用webview2顯示網頁內容(最低兼容.net framework4.5.2)

wpf使用webview2顯示網頁內容(最低兼容.net framework4.5.2 一、核心功能與架構混合開發支持?進程隔離模型?通信機制?二、核心優勢性能與兼容性?跨平臺部署?開發效率?安全機制?三、適用場景四、開發部署要點WebView2 是微軟推出的現代瀏覽器控件,基于 Chromium 內核的 …

MySQL斷開連接后無法正常啟動解決記錄

問題現象 夜里23點MySQL在還原備份的時候斷開連接&#xff0c;嘗試重啟&#xff0c;表面上是運行中實際上無法通過命令端連接&#xff0c;無法正常啟動。 問題檢查 可以使用 systemctl start mysql 但是沒有監聽 3306端口 mysql -ucosmic -p 提示無法找到socket文件 刪除原先的…

隧道安全監測系統的應用意義

隨著我國交通基礎設施建設的快速發展&#xff0c;公路、鐵路及城市地鐵隧道數量不斷增加&#xff0c;隧道安全問題日益凸顯。隧道作為地下封閉空間&#xff0c;受地質條件、施工質量、運營環境等多因素影響&#xff0c;易出現結構變形、滲漏水、襯砌開裂等安全隱患。一旦發生事…

前端UI邏輯復雜可以用什么設計模式

中介者模式 當UI組件間存在復雜交互或多個組件需共享狀態時&#xff0c;中介者模式能集中管理事件分發和狀態更新&#xff0c;減少組件間的直接依賴&#xff0c;提升解耦性。 vue實現中介者模式 在Vue中實現中介者模式&#xff0c;你可以通過創建一個全局的事件中心&#xff08…

WIFI協議全解析05:WiFi的安全機制:IoT設備如何實現安全連接?

&#x1f510; WiFi的安全機制&#xff1a;IoT設備如何實現安全連接&#xff1f;“我的設備明明連上WiFi了&#xff0c;為什么還是能被‘蹭網’&#xff1f;” “WPA3 是什么&#xff1f;ESP32 支持嗎&#xff1f;” “我做了MQTT加密就算安全了嗎&#xff1f;”IoT設備連接WiF…

HTTP 請求體類型詳解:選擇最適合的數據提交格式

HTTP 請求體類型詳解&#xff1a;選擇最適合的數據提交格式 &#x1f680; 本文全面解析 HTTP 請求中不同 Content-Type 的適用場景、數據結構與優劣勢&#xff0c;幫助開發者高效選擇數據傳輸方案。 &#x1f4cc; 目錄 核心請求體類型對比詳細類型解析最佳實踐指南總結 &am…

C語言 | 函數核心機制深度解構:從底層架構到工程化實踐

個人主頁-愛因斯晨 文章專欄-C語言 引言 最近偷懶了&#xff0c;迷上了三國和李賀。給大家分享一下最喜歡的一句詩&#xff1a;吾不識青天高黃地厚&#xff0c;唯見月寒日暖來煎人壽。我還不是很理解27歲的李賀&#xff0c;如何寫出如此絕筆。 正文開始&#xff0c;今天我們…

uniapp真機調試“沒有檢測到設備,請插入設備或啟動模擬器后點擊刷新再試”

當真機調試&#xff0c;運行到安卓 APP基座 時&#xff0c;有時會檢測不到設備&#xff0c;顯示下面的問題&#xff1a;此時&#xff0c;可以通過下面的幾種方法進行排查&#xff1a;1.在手機中找到“開發者選項”選項&#xff08;可在設置中搜索&#xff0c;如搜索不到&#x…

使用langchain連接llama.cpp部署的本地deepseek大模型開發簡單的LLM應用

langchain是一個基于python實現的開源LLM開發框架&#xff0c;llama.cpp是一個基于C框架可以在本地部署大模型并開放服務端接口開放給外部應用使用。 本文結合langchain和llama.cpp&#xff0c;在本地部署輕量級的deepseek大模型&#xff0c;并構建一個簡單的鏈式LLM應用&…

Serverless 數據庫來了?無服務器數據庫 vs 傳統數據庫有何不同?

隨著云計算技術的迅猛發展&#xff0c;無服務器&#xff08;Serverless&#xff09;架構逐漸成為一種主流趨勢。其中&#xff0c;Serverless 數據庫作為云原生應用的重要組成部分&#xff0c;為開發者提供了前所未有的靈活性和成本效益。相比傳統的數據庫管理方式&#xff0c;S…