3D 生成重建013-ProlificDreamer將SDS拓展到VSD算法進行高質量的3D生成

3D 生成重建013-ProlificDreamer將SDS拓展到VSD算法進行高質量的3D生成


文章目錄

    • 0論文工作
    • 1論文方法
    • 2效果

0論文工作

**分數蒸餾采樣(SDS)**通過提取預先訓練好的大規模文本到圖像擴散模型,在文本到3d生成方面顯示出了巨大的前景,但存在過飽和、過平滑的問題g和低多樣性問題。在這項工作中,作者提出將三維參數建模為一個隨機變量,而不是像SDS中那樣的一個常數,并提出了變分分數蒸餾(VSD),一個有原則的pa基于粒子的變分框架來解釋和解決上述文本到3d生成中的問題。作者表明,SDS是VSD的一種特殊情況,會導致采樣結果較差且CFG系數很大,這和過飽和關聯密切。相比之下,VSD對不同的CFG權重作為擴散模型的祖先采樣效果很好,同時使用共同的CFG權重提高了多樣性和樣本質量。
論文經典的套路,證明某個解法是我們算法的一個特例,我們提出的算法是更一般的更泛化的方案。不過這個論文的效果和對理論的擴展確實很獨到的視角和很深刻的理論拓展。幾乎是這兩年看到對sds解釋最全面的三篇文章了,Dreamfusion和SJC。更加詳細的解釋可以在作者論文中找到更詳細的公式介紹。這是一個提升優化方法生成質量的一個答案,當然還有很多不同的角度去理解并緩解其中存在的問題。當我們從不同視角去看一個問題,得到的結論不同,也會有不統計解決思路。

ProlificDreamer
參考知乎

1論文方法

我們首先從2d圖像生成理解這個問題,文本生成圖像的時候,要在多樣性和生成質量之間有一個權衡,這個開關用CFG系數來控制。CFG在2d的時候一般是10以內。這個系數越小我們對文本的依賴小生成結果會越多。越大的話就是生成結果越確定。通常要有一個權衡。
現在回到3d問題,那么每個視圖怎么和原來文本保持盡可能的一致,就需要一個很大的CFG系數。這也是dreamfusion 過飽和比較嚴重的一個原因。cfg確實能支持整體風格的一致,但是在差不多1000次的優化步驟中,還是無法保證每次的生成結果朝著完全一致的方法,這就導致最終結果是在很多個優化方向中找一個中間狀態,即缺乏細節,因為細節在平均過程中被相互抵消了。
接下來看一看ProlificDreamer作者的分析
? θ L SDS ( ? , x ) = g ( θ ) ? E t , ? [ w ( t ) ( ? ^ ? ( Z t ; y , t ) ? ? ) ? x ? θ ] \nabla_{\theta} \mathcal{L}_{\text{SDS}}(\phi, x) = g(\theta) \triangleq \mathbb{E}_{t,\epsilon} \left[ w(t) \left( \hat{\epsilon}_\phi(Z_t; y, t) - \epsilon \right) \frac{\partial x}{\partial \theta} \right] ?θ?LSDS?(?,x)=g(θ)?Et,??[w(t)(?^??(Zt?;y,t)??)?θ?x?]
對于一個用 θ \theta θ進行參數化的3D表示,給定文本 y ,通過對隨機采樣的視角下渲染的2D圖像,優化SDS loss,就能讓3D越來越逼真。
SDS 的更新方向有兩個來源。首先,預訓練的圖像擴散模型引導渲染出的二維圖像趨向真實。具體來說,擴散模型預測噪聲大小,經線性變換后得到分布的 score,即似然函數的梯度(這部分與 SJC 從得分函數角度解釋 DreamFusion 中 SDS 的方式一致)。此過程旨在最大化渲染圖像的likelihood。而這種持續增大似然函數的行為,也稱為“mode seeking”,本質上是在尋找似然函數的峰值。
SDS 的目標是在概率密度函數中尋找具有高似然度的模式。然而,在生成模型中,高似然度并不總是等同于高質量的生成結果。以高維高斯分布為例。高維高斯分布的典型樣本和似然度最高的樣本存在顯著差異。對于一個 d d d 維的高斯分布 N ( 0 , I d ) N(0, I_d) N(0,Id?),大部分概率密度集中在距離原點半徑為 d \sqrt{d} d ? 的球面上,其樣本類似于“雪花噪聲”。然而,高維高斯分布的似然函數在原點 (全零向量) 處達到最大值,對應的樣本是一張純色圖像,這顯然不符合我們對高斯噪聲樣本的預期。高維高斯分布的典型樣本與似然最大的樣本很不一樣。我們希望采到灰色圓環上的typical sample。
在這里插入圖片描述
如下圖所示,SDS的優化過程會讓樣本都偏離“典型樣本”。并且由于不同的起始點可能都會收斂到同一個mode,所以還會導致多樣性比較差。SDS的優化過程會讓樣本都偏離“典型樣本”,并且還會導致多樣性比較差。
在這里插入圖片描述
為了解決上面提到的SDS的問題,VDS對SDS進行了一些小改動。我們同時優化多個樣本,我們把樣本們視為一個變分分布。如下圖所示,把SDS更新方向的第二項由零均值的高斯換成了變分分布的Score。
在這里插入圖片描述
額外的變分分布的score可以讓樣本收斂到圖中灰色圓環上的典型樣本,同時增大樣本多樣性。
在這里插入圖片描述
這個變分分布在優化過程中會不斷地變化,需要不斷地更新對于變分分布score的建模。在這里作者用了LoRA,可以快速的學習變分分布。同時因為LoRA有一些先驗知識,所以我們能夠用很少量的樣本就學到一個不錯的score。
在這里插入圖片描述

這個是論文結構圖,用lora來學習變分分布。
在這里插入圖片描述

2效果

在這里插入圖片描述

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

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

相關文章

Windows VS2022 C語言使用 sqlite3.dll 訪問 SQLite數據庫

今天接到一個學生C語言訪問SQLite數據庫的的需求: 第一步,SQLite Download Page下載 sqlite3.dll 庫 下載解壓,發現只有兩個文件: 于是使用x64 Native Tools Command Prompt 終端 生成 sqlite3.lib 和 sqlite3.exp文件 LIB -def:sqlite3.def -out:sqlite3.lib -machin…

廣告圈策劃大師課:活動策劃到品牌企劃的深度解析

對于剛接觸營銷策劃的新人來說,在這個知識密集型行業里生存,要學習非常多各種意思相近的概念,常常讓人感到頭疼,難以區分。 這里對這些策劃概念進行深入解析,幫助您輕松理清各自的含義和區別。 1. 活動策劃&#xff…

C++ 字符串處理-將字符串轉成大寫或小寫

1. 關鍵詞2. strutil.h3. strutil.cpp4. 測試代碼5. 運行結果6. 源碼地址 1. 關鍵詞 C 字符串處理 將字符串轉成大寫或小寫 跨平臺 2. strutil.h #include <string> namespace cutl {/*** brief Convert a string to upper case.** param str the string to be conve…

微信小程序自定義頭部

1.在對應界面的json文件&#xff0c;將navigationStyle屬性設置為“custom” "navigationStyle":"custom" 2. 狀態欄的高度可以通過 wx.getSystemInfo() 獲取。 膠囊按鈕的信息可以通過 wx.getMenuButtonBoundingClientRect() 獲取。 導航欄高度狀態欄…

截圖工具PixPin(比Snipaste更強大)

PixPin官網鏈接&#xff1a;https://pixpinapp.com/ 最近新出的一款截圖工具PixPin&#xff0c;比Snipaste功能多一些。在Snipaste功能基礎上&#xff0c;還支持長截圖&#xff0c;截動圖&#xff0c;文本識別。

C++11-獨占指針unique_ptr原理實現

獨占指針&#xff08;unique_ptr&#xff09;是C11標準引入的一種智能指針&#xff0c;用于獨占管理動態分配對象的生命周期。unique_ptr確保對象在同一時間只有一個所有者&#xff0c;防止對象被多個指針共享。下面是unique_ptr的實現原理及其內存管理機制。 unique_ptr 的基…

618好物推薦,省心省力省錢包!

一年一度的“618”購物狂歡節又來啦&#xff01;大家都心動了吧&#xff0c;購物車也早就堆滿了心儀的好物。別急&#xff0c;別急&#xff0c;讓我給你們推薦幾款真正值得入手的寶貝&#xff0c;讓你們省心、省力還省錢包&#xff01;不管是給自己添置點新裝備&#xff0c;還是…

Vue實現一個動態添加行的表格?

在Vue中實現一個動態添加行的表格可以通過以下步驟來完成&#xff0c;如下所示。 步驟 1&#xff1a;設置表格的數據模型 在Vue組件中定義表格的數據模型&#xff0c;通常使用一個數組來存儲表格的數據。每一行數據可以是一個對象&#xff0c;對象的屬性對應表格的列。 data(…

MFC 編程:Windows 桌面應用程序開發框架

目錄 一.概述 二.MFC 與 Win32 的關系 三.CObject 類 1.CObject 類的主要功能 2.CObject 類的派生類 3.CObject 類成員函數 4.內存管理 對象的創建 對象的銷毀 引用計數 復制對象 5.序列化 序列化的概念 CObject 類的序列化功能 序列化示例 6.運行時類型信息 …

uniapp App去除iOS底部安全區域白邊

未設置的情況下&#xff0c;iOS底部安全區域白邊 如圖&#xff1a; 去除方法&#xff1a; 在 mainfest.json 中加入一下代碼&#xff1a; "safearea" : {"bottom" : {"offset" : "none"} }, 去除效果展示&#xff1a;

Git使用筆記

Git使用筆記 介紹Git推送指定的提交 介紹 Git推送指定的提交 在Git中&#xff0c;如果只想推送一個特定的提交&#xff08;commit&#xff09;&#xff0c;而不是整個分支&#xff0c;可以使用以下步驟&#xff1a; 首先&#xff0c;找到你想要推送的提交的哈希值。通過運行g…

開放式耳機2024超值推薦!教你如何選擇藍牙耳機!

開放式耳機的便利性讓它在我們的日常生活中變得越來越重要。它讓我們擺脫了傳統耳機的限制&#xff0c;享受到了更多的自由。不過&#xff0c;市面上的開放式耳機種類繁多&#xff0c;挑選一款既實用又實惠的產品確實需要一些小竅門。作為一位對開放式耳機頗有研究的用戶&#…

SOLC install 中的問題

solc.install 總是卡死&#xff0c;他拉取的網站出問題了 直接把所有的包都下載下來 sudo add-apt-repository ppa:ethereum/ethereum sudo apt-get update sudo apt-get install solc pip install py-solc-x 文檔 https://web3py.readthedocs.io/en/stable/web3.contract.h…

[WUSTCTF2020]funnyre

ida打開 mian 函數 不能反匯編&#xff0c;往下翻有一處報紅&#xff0c;一看是花指令&#xff0c;還怪長&#xff0c;報紅的都nop后&#xff0c;全選按P重新生成函數 三百多個變量&#xff0c;也是不太可能一個個去解了&#xff0c;剛好前兩天簡單練了一下 angr &#xff08;…

C++多生產者,多消費者模型

C11實現多生產者&#xff0c;多消費者模型 在C標準庫中實現多生產者多消費者模型&#xff0c;可以使用std::thread、std::queue、互斥鎖(std::mutex)、條件變量(std::condition_variable)等組件。下面是一個簡單的示例&#xff0c;展示如何創建多生產者和多消費者模型&#xf…

3款錄屏錄制軟件,打造專業級視頻內容

隨著技術的不斷發展&#xff0c;人們在日常工作和學習中經常會遇到記錄電腦屏幕的需求&#xff0c;例如錄制游戲過程、制作教程、保存會議記錄等。為了解決這一需求&#xff0c;許多錄屏錄制軟件應運而生。本文將介紹三款常見的錄屏錄制軟件&#xff0c;通過分析它們的特點和使…

一文帶你搞懂DiT(Diffusion Transformer)

節前&#xff0c;我們組織了一場算法崗技術&面試討論會&#xff0c;邀請了一些互聯網大廠朋友、今年參加社招和校招面試的同學。 針對大模型技術趨勢、大模型落地項目經驗分享、新手如何入門算法崗、該如何準備面試攻略、面試常考點等熱門話題進行了深入的討論。 總結鏈接…

ArcGIS中分割與按屬性分割的區別

1、分割ArcGIS批量導出各個市的縣級行政邊界 視頻教學&#xff1a; ArcGIS批量導出各個市的縣級行政邊界002 2、ArcGIS批量導出全國各省的邊界 視頻教學&#xff1a; ArcGIS導出全國各省的邊界003 推薦學習&#xff1a; ArcGIS全系列實戰視頻教程——9個單一課程組合系列直播回…

[書生·浦語大模型實戰營]——第二節:輕松玩轉書生·浦語大模型趣味 Demo

1. 部署InternLM2-Chat-1.8B 模型進行智能對話 1.1配置環境 創建開發機 Intern Studio 官網網址&#xff1a;https://studio.intern-ai.org.cn/ 進入官網后&#xff0c;選擇創建開發機&#xff0c;填寫 開發機名稱 后&#xff0c;點擊 選擇鏡像 使用 Cuda11.7-conda 鏡像&am…