是一篇很精煉的論文,不知道咋總結了,就差全文翻譯了,不過在這里我主要關注3D部分,因為他的pipeline是基于SD的,框圖也比較清晰易懂,非常細節的內容可以回頭看論文,哈哈哈,給作者大佬們點贊
1.abstract
????????由于數據采集不完整和視角改變等多種原因,缺失值仍然是深度數據在廣泛應用中的常見挑戰。 這項工作通過 DepthLab 彌補了這一差距,DepthLab 是一種由圖像擴散先驗支持的基礎深度修復模型。 我們的模型具有兩個顯著的優勢:(1)它表現出對深度不足區域的彈性,為連續區域和孤立點提供可靠的補全,(2)在填充缺失值時,它忠實地保持了與條件已知深度的尺度一致性。 憑借這些優勢,我們的方法在各種下游任務中證明了其價值,包括 3D 場景修復、文本到 3D 場景生成、使用 DUST3R 的稀疏視圖重建以及 LiDAR 深度補全,在數值性能和性能方面都超過了當前的解決方案。
2.Introduction
????????深度修復是重建圖像中丟失或遮擋的深度信息的任務,在許多領域都至關重要,包括 3D 視覺 [25, 34, 91]、機器人 [1, 32] 和AR [53, 61]。 如圖 1 所示,強大的深度修復模型可以實現高質量的 3D 場景完成、編輯、重建和生成。 先前的深度修復研究可分為兩種主要方法。 第一種方法 [12,26,48,65,71,89] 側重于將全局稀疏 LiDAR 深度 [16] 數據完成為密集深度,通常在固定數據集上進行訓練和測試。 然而,這些模型缺乏通用性,并且在不同下游任務中的適用性有限。 第二種方法[15,31,72,75,77]采用單目深度估計器來推斷單個圖像的深度,將修復區域與已知深度對齊。 由于估計深度與現有幾何形狀之間的不對準,這些方法經常會出現嚴重的幾何不一致,特別是沿邊緣。 最近的研究 [41] 將 RGB 圖像合并到 UNet 輸入中,作為訓練深度修復模型的指導,但在復雜場景和修復大的缺失區域時,其性能仍然不理想。
????????為此,我們提出了 DepthLab,一種 RGB 圖像條件深度修復的基礎模型,它引入了雙分支深度修復擴散框架。 具體來說,該框架通過參考 U-Net 處理單個參考圖像,提取 RGB 特征作為條件輸入。 同時,已知深度和需要修復的掩模指示區域被輸入深度估計 U-Net。 提取的 RGB 特征逐漸逐層集成到深度估計 U-Net 中,以指導修復過程。在訓練過程中,我們對已知深度應用隨機尺度歸一化,以減輕已知區域中非全局極值引起的正則化溢出。 與 Marigold [31] 類似,我們的模型僅需要合成 RGBD 數據即可在幾天的 GPU 內進行訓練。 受益于擴散模型強大的先驗,DepthLab在不同場景下展現出強大的泛化能力。
????????如圖1所示,得益于精確的深度修復,DepthLab支持多種下游應用。 (1) 3D場景修復[41]:在3D場景中,我們首先從擺好的參考視圖中修復圖像修復區域的深度,然后將點投影到3D空間中以實現最佳初始化,這顯著提高了質量和速度 3D場景修復。 (2) 文本到場景生成[83]:我們的方法通過消除對齊的需要,極大地改進了從單個圖像生成 3D 場景的過程。這一改進有效地緩解了邊緣分離的問題 之前由于修復和已知深度之間的幾何不一致而產生的問題,從而顯著增強了生成場景的連貫性和質量。(3)基于DUST3R的稀疏視圖重建:InstantSplat[14]利用DUST3R[68]中的點云作為無SfM重建和新視圖合成的初始化。通過將噪聲作為潛在輸入添加到DUST3R深度圖中,我們的方法對缺乏交叉視點對應的區域的深度進行細化,從而產生更精確、幾何一致的深度圖。這些精細化的深度貼圖進一步增強了InstantSplat的初始點云。(4)激光雷達深度完成:傳感器深度完成[89]是與深度估計相關的一項重要任務。與在單個數據集上訓練和測試的現有方法(如NYUv2[46])不同,我們的方法在零鏡頭設置下可以獲得類似的結果,并且可以通過最小的微調提供更好的結果。為了進行更全面的評估,我們通過對需要修復的區域應用不同類型的隨機遮罩來評估其在深度估計基準上的有效性。
????????這里只關注前三塊。
2. Related Work
2.1. Depth Completion
????????深度補全[22,39,42,43,70,74]是計算機視覺中的一項關鍵任務,特別是隨著有源深度傳感器的興起。它的目標是從傳感器提供的稀疏GT測量中估計準確的深度圖。然而,現有的方法[12,26,48,65,70,89,90]往往是在固定的數據集上訓練和評估的,這限制了它們的泛化能力,并且許多方法依賴于繁瑣的處理流水線。
2.2. Monocular Depth Estimation
????????單目深度估計是計算機視覺中的一項關鍵任務,主要通過判別和生成方法來實現。 判別方法通常將深度預測為絕對深度 [2, 3, 29, 36, 44, 86] 或相對深度 [13, 51, 52, 76, 77, 80, 81, 87]。 最近,生成模型 [4,23,88],特別是擴散模型,在深度估計中得到了普及。 DDP [27]、DepthGen [57]、Marigold [31] 和 GeoWizard [15] 等方法利用擴散過程來生成高質量的深度圖,他們通常以緩慢采樣為代價。 基于流匹配的模型 [18] 的出現是為了緩解這些限制,提供更快的采樣。 盡管單目深度估計取得了進步,但將估計深度與已知數據對齊通常會導致幾何不一致。 我們的工作通過為各種任務引入強大的基礎深度修復模型來解決這個問題。
2.3. Downstream Tasks with Known Partial Depth
????????除了傳統的深度完成任務外,許多 3D 視覺任務還涉及部分已知的深度信息:(1)3D 場景修復側重于填充 3D 空間的缺失部分,例如移除對象并為修復區域生成合理的幾何形狀和紋理。 早期的作品主要解決幾何補全[10,11,19,30,49,62,69],而最近的方法側重于聯合修復紋理和幾何[6,24,33,40,45,79]。 可以渲染此類 3D 場景以獲得深度,其中未更改的區域用作已知的部分深度信息。 (2) 3D 場景生成涉及利用強大的生成先驗和深度估計,根據單個圖像或文本提示等輸入創建 3D 內容。 最近的方法[8,20,35,47,83,84,92]改變相機視點,對扭曲的圖像執行RGB修復,然后估計深度,將其與扭曲的深度對齊。 相反,我們的方法將扭曲深度視為已知,將現有的兩步過程表述為以已知比例為條件的深度修復。 (3) DUST3R [68] 提出了一種新穎的 3D 重建管道,該管道在稀疏視圖上運行,無需任何相機校準或姿勢的先驗知識。 最近,一些作品 [38,60,64] 利用 COLMAP [58] 或 DUST3R 中的初始點云進行后續任務,例如 3D 場景重建 [14]、新穎的視圖合成 [85] 和 4D 場景生成 [7]。 然而,DUST3R 很難在沒有視點重疊的區域中進行準確的重建。 我們的方法利用來自具有像素對應關系的區域的深度數據來增強缺乏匹配的區域的深度。
3. Method
????????給定原始(不完整或失真)深度圖,指示修復目標區域的二值掩碼
,以及條件RGB圖像
,我們的目標是使用RGB圖像來預測完整的深度圖
。這就要在保持未掩蔽區域中的深度值的同時準確地估計掩蔽區域中的深度。這一過程自然地將估計深度與現有幾何體對齊,消除了已知修復區域和目標修復區域之間的不一致。
????????為了實現這一目標,我們引入了一種基于雙分支擴散的深度修復框架,包括用于 RGB 特征提取的參考 U-Net 和以原始深度和修復掩模作為輸入的估計 U-Net。 我們沒有使用常用的文本條件,而是利用 CLIP 圖像編碼器的交叉注意力來捕獲豐富的語義信息。 通過參考 U-Net 和估計 U-Net 之間的注意力進行逐層特征融合,實現更細粒度的視覺引導。這種設計使DepthLab能夠取得顯著的效果,即使是對于大的修復區域或復雜的RGB圖像,如圖2。
3.1. Network Design
????????兩個分支都使用 Marigold [31] 作為基礎模型,并根據 Stable Diffusion V2 [56] 進行了微調。 這種設計無需學習從RGB到深度的域轉移過程,提高了訓練效率。Marigold 如下,?是一個利用SD pipeline來估計深度的方法:
? ? ? ?以上是Marigold的簡單介紹
?????????深度編碼器和解碼器:?我們使用VAE編碼器 E 將 RGB 圖像及其相應的深度圖編碼到latent空間中。 編碼深度圖的方式請查看上面的Marigold ,由于編碼器 E 最初是為三通道 RGB 輸入設計的,因此單通道深度圖在三個通道之間復制以匹配 RGB 格式。 值得注意的是,由于 VAE 編碼器適用于非稀疏輸入,因此我們在編碼之前應用最近鄰插值來致密稀疏深度圖。 在推理過程中,使用解碼器 D 對step t = 0 處的去噪深度latent編碼 進行解碼,并將三個通道的平均值用作預測深度圖。 與 Marigold 估計相對深度并使用最小二乘優化來獲得度量深度不同,我們的深度修復旨在根據已知深度區域的值和比例直接估計度量深度圖。?
????????估計Unet:用來估計的去噪Unet的輸入由三個部分組成:噪聲深度latent編碼,masked latent
和encoded?mask
,它們串聯在一起變成12*h*w維度。latent depth representations是具有由VAE編碼產生的4個通道,并且(h,w)是與原始輸入維度(H,W)相比向下采樣8倍的空間維度。為了更準確地保存掩碼信息,而不是像傳統的圖像修復方法[28,93]中那樣簡單地對掩碼進行下采樣,我們使用VAE編碼器E對mask
進行編碼獲得
,有效地保留了稀疏和細粒度的信息。
????????在訓練過程中,通過將初始深度圖d編碼到latent空間,并在步驟t添加噪聲來獲得噪聲潛在深度,通過對GT深度圖進行隨機mask,然后在修復區域中進行最近鄰內插值并通過VAE進行編碼來生成masked depth latent
。由于SD2的VAE[56]擅長重建密集信息,這種方法更好地保留了稀疏點和復雜邊緣邊界上的已知深度值。
參考Unet: InFusion [41] 將單個參考圖像輸入編碼器,隨后連接了image latent with noisy depth latent、masked depth latent、downsampled mask,總共有 13 個通道。但是這種方法可能會丟失區域深度信息或難以生成清晰的深度邊緣,特別是在修復大面積或使用復雜的參考圖像時。 最近的研究 [21, 73] 表明額外的 U-Net 可以從參考圖像中提取更細粒度的特征。 我們采用了類似的架構。 我們首先分別從Reference UNet和Estimation Denoising U-Net獲得兩個特征圖,。 然后我們沿著寬度維度連接這些特征圖,得到
。然后,我們對連接的特征圖應用自注意力操作,并提取結果特征圖的前半部分作為輸出。 這樣能夠在訓練期間利用基礎模型每一層的細粒度語義特征。 此外,由于參考 U-Net 和估計去噪 U-Net 共享相同的架構和初始權重——均在 Marigold [31] 上進行預訓練——估計去噪 U-Net 可以在同一網絡中選擇性地從參考 U-Net 中學習相關特征。 特征空間。
3.2 Training Protocol
????????主要關注一下mask是怎么加的
????????為了最大限度地覆蓋大量下游任務,采用了各種掩蔽策略。最初,我們從筆劃、圓圈、正方形或這些形狀的隨機組合中隨機選擇來創建蒙版。然后,為了增強深度完成任務:從傳感器采集的稀疏深度數據中恢復完整的深度圖,我們使用隨機點mask,其中只有0.1%-2%的點被設置為已知。最后,對于改進的對象級修復,我們利用接地SAM[54]來標注訓練數據,然后根據它們的置信度分數來過濾掩碼。總體而言,多種掩蔽策略的結合應用進一步增強了該方法的穩健性。
4.Experiments
????????主要關注在下游任務中的效果
4.3 Applications
1.3D高斯修復
首先,我們使用Gaussian Grouping[78]來分割和去除部分高斯。然后將SDXL修復模型[50]應用于在參考視圖中渲染的圖像。 修復后的 RGB 圖像隨后用作完成該參考視圖的深度信息的指導。 然后將這些點反投影到三維空間中以實現最佳初始化。 如圖4所示,由于修復和原始高斯之間的幾何一致性以及像素和修復高斯之間的對齊,對修復圖像進行簡單編輯就可以在修復區域中進行紋理修改和對象插入。
????????這里是Gaussian Grouping的介紹,主要是利用SAM來做mask,然后反投影到對應部分的高斯球,再經過訓練這樣的一個pipeline
2.文本到 3D 場景生成
?????????最近的方法 [8,47,92] 首先將單視圖深度估計投影到 3D 場景上,以從給定的視點創建初始點云。 然后旋轉相機以計算扭曲圖像和扭曲深度。 在對扭曲的 RGB 圖像進行修復之后,應用單眼深度估計,并將估計的深度與之前扭曲的深度對齊。 然后,對齊的深度數據不會投影回原始點云。 隨著視角的改變,這個過程會重復進行。 然而,如圖5所示,以LucidDreamer[8]為例,這種方法存在以下問題:在不同尺度的深度對齊過程中出現幾何不一致,對 Inpainted 區域的深度精度產生不利影響。相比之下,我們的模型可以直接將 inpainted 圖像和 warped depth 作為輸入,無需對齊即可生成幾何一致的深度圖。
? ? ? ? 下面這是LucidDreamer,挺好玩的一個工作
3.使用 DUST3R 重建
???????? DUST3R [68] 從稀疏視圖引入了新的 3D 重建流程,無需有關相機校準或姿勢的先驗信息。 該方法可以提供密集的像素到像素和像素到點的對應關系,使其適用于各種 3D 視覺任務,包括深度預測。 然而,我們觀察到 DUST3R 主要在具有像素對應的點上提供高質量的深度預測,同時盡力為不同視圖之間沒有對應的點生成清晰的深度邊緣。
????????為了克服這個限制,我們針對對應關系較弱或不存在引入了一種改進區域深度估計的框架 。 我們的方法開始通過為沒有任何源圖像匹配的像素生成掩模。 然后通過我們的方法對這些不匹配區域進行細化。 我們采用VAE將 DUST3R 的初始深度估計編碼到latent空間中,添加噪聲以產生noisy latents。 匹配點處的深度被編碼為masked depth latents。 把這些輸入到我們的模型中,以生成具有增強的準確性和空間一致性的精細深度圖。 我們在 InstanSplat [14] 上評估我們的方法,InstanSplat 是一種稀疏視圖、SfM-free的GS方法,該方法使用 DUST3R 的預測點云進行新穎的視圖合成。 通過將增強的深度圖投影到 3D 空間中,我們用這個框架refined的數據(想知道這里是怎么根據補充后的深度圖得到DUST3R 稠密點云的?需要看看release的代碼)替換 DUST3R 的原始點云作為 InstanSplat 的輸入。 如圖 6 所示,我們的方法有效地銳化了 DUST3R 的初始深度,顯著提高了GS渲染質量。 我們還在補充材料中提供定量比較。
5.Conclusion
????????在這項工作中,我們引入了 DepthLab,這是一個強大的深度修復框架,旨在通過利用 RGB 圖像和已知深度作為條件輸入來處理復雜的場景。 我們的方法保持幾何一致性,確保估計的深度與現有結構無縫對齊。 通過利用預訓練擴散模型中的先驗知識,DepthLab 展示了跨各種深度修復任務的顯著泛化能力。 其在多個基準測試和應用程序中的卓越性能證明了這一點,包括 3D 場景生成、高斯修復、LiDAR 深度補全和稀疏視圖重建。 我們的實驗展示了我們方法的穩健性,強調了其提高深度精度和下游 3D 場景質量的能力。 我們設想 DepthLab 成為更廣泛任務的基礎模型。