【論文閱讀+復現】High-fidelity Person-centric Subject-to-Image Synthesis

以人物為中心的主體到圖像的高保真合成,CVPR2024

code:CodeGoat24/Face-diffuser: [CVPR2024] Official implementation of High-fidelity Person-centric Subject-to-Image Synthesis.

paper:2311.10329?

背景

  1. 研究問題:這篇文章要解決的問題是當前以人物為中心的圖像生成方法在生成高保真人物圖像時遇到的挑戰。具體來說,這些方法在微調預訓練的擴散模型時,會導致語義場景的先驗知識丟失,并且在聯合學習場景和人物生成時,會犧牲生成質量。

  2. 研究難點:該問題的研究難點包括:生成高質量的人物圖像需要充分微調預訓練模型,但這會導致模型忘記豐富的語義場景先驗;此外,聯合學習場景和人物生成也會導致生成質量下降。

  3. 相關工作:現有的以人物為中心的圖像生成方法,如Fastcomposer和Subject-diffusion,雖然能夠生成個性化圖像,但在長時間訓練后,模型會過擬合文本描述,忘記豐富的語義場景先驗,導致生成質量下降。

方法

這篇論文提出了Face-diffuser,一種有效的協作生成管道,用于解決現有方法中的訓練不平衡和質量妥協問題。具體來說,

  1. 預訓練模型:首先,獨立微調兩個基于Stable Diffusion的預訓練擴散模型,分別用于場景生成(TDM)和人物生成(SDM)。

    ?

  2. 采樣過程:采樣過程分為三個階段:語義場景構建、人物-場景融合和人物增強。

  • 語義場景構建:使用TDM構建初始語義場景。
  • 人物-場景融合:通過一個新的高效機制——顯著性自適應噪聲融合(SNF),實現TDM和SDM的協作。SNF利用無分類器指導(CFG)響應,自動在顯著性感知的方式下融合兩個模型的預測噪聲。
  • 人物增強:使用SDM進一步細化生成的人物質量。
  1. 顯著性自適應噪聲融合(SNF):SNF的關鍵在于觀察到無分類器指導響應與生成圖像的顯著性之間存在穩健的聯系。具體公式如下:

其中,?表示空條件,s表示指導權重,RT?和RS?分別表示語義場景條件和參考圖像條件的噪聲差異。

實驗

  1. 數據集:使用FFHQ-face數據集進行訓練,該數據集包含70,000個樣本,其中60,000個用于訓練,10,000個用于測試。另一個數據集是Single-benchmark數據集,包含15個主題,每個主題有30個文本提示。
  2. 訓練配置:基于預訓練的Stable Diffusion v1-5模型進行訓練。SDM的圖像編碼器使用OpenAI的clip-vit-large-patch14視覺模型。對SDM進行450k步訓練,對TDM進行250k步訓練,使用4個NVIDIA A100 GPU,設置恒定學習率為1e-5,批量大小為8。
  3. 評估:使用身份保留(IP)和提示一致性(PC)兩個指標評估單主題和多主題生成質量。IP通過MTCNN進行面部檢測,并使用FaceNet計算面部相似度。PC通過CLIP-L/14圖像-文本相似度進行評估。

結果

  1. 定量結果:Face-diffuser在單主題和多主題圖像生成方面均表現出顯著優勢。與現有的最先進模型Fastcomposer相比,Face-diffuser在多主題生成方面的身份保留提高了0.132,提示一致性提高了0.084。

  2. 定性結果:Face-diffuser在生成與給定參考圖像和語義場景一致的人物圖像方面優于其他基線方法。例如,在生成一個男孩拿著紙的場景時,Fastcomposer和CustomDiffusion未能成功生成該場景。

    ?

  3. 對比分析:與Fastcomposer和Subject-diffusion的樣本進行對比,Face-diffuser在高保真圖像生成方面表現更優。

    ?

結論

本文提出的Face-diffuser有效地解決了現有以人物為中心的圖像生成方法中的訓練不平衡和質量妥協問題。通過獨立微調兩個預訓練擴散模型,并利用顯著性自適應噪聲融合機制,Face-diffuser能夠在不同場景中生成高保真的人物圖像。廣泛的實驗驗證了Face-diffuser在生成高質量圖像方面的有效性和魯棒性。

  1. 打破訓練不平衡和質量妥協:Face-diffuser提出了一種有效的協作生成管道,解決了現有以人為中心的圖像生成方法中存在的訓練不平衡和質量妥協問題。
  2. 獨立模型和協作機制:開發了兩個獨立的預訓練擴散模型(TDM和SDM),分別用于場景和人物生成,并提出了一種高效的協作機制——基于顯著性的自適應噪聲融合(SNF)。
  3. 三階段采樣過程:將采樣過程分為三個階段:語義場景構建、人物-場景融合和人物增強,確保每個階段的任務明確且高效。
  4. 顯著性自適應噪聲融合:通過分類器自由指導(CFG)響應,自動在每一步中按顯著性進行噪聲空間的空間混合,充分利用每個模型的優勢。
  5. 高質量圖像生成:廣泛的實驗驗證了Face-diffuser在生成描繪多個未見人物的多樣場景的高保真圖像方面的顯著有效性和魯棒性。

關鍵問題

問題1:Face-diffuser在生成高保真人物圖像時,如何解決現有方法中的訓練不平衡和質量妥協問題?

Face-diffuser通過獨立微調兩個預訓練擴散模型來解決訓練不平衡和質量妥協問題。具體來說,它開發了兩個專門的預訓練擴散模型:文本驅動擴散模型(TDM)和主體增強擴散模型(SDM)。TDM用于場景生成,而SDM用于人物生成。通過將采樣過程分為三個階段——語義場景構建、人物-場景融合和人物增強,Face-diffuser能夠在不同階段充分利用每個模型的優勢。特別是,通過顯著性自適應噪聲融合(SNF)機制,Face-diffuser在人物-場景融合階段實現了TDM和SDM的無縫協作,從而生成高保真的人物圖像。

問題2:顯著性自適應噪聲融合(SNF)機制是如何實現TDM和SDM的有效協作的?

顯著性自適應噪聲融合(SNF)機制通過無分類器指導(CFG)響應來實現TDM和SDM的有效協作。具體步驟如下:

  1. 計算顯著性圖:首先,根據TDM和SDM的CFG響應計算兩個顯著性圖ΩT和ΩS。這兩個圖分別表示語義場景條件和參考圖像條件對每個像素的影響。
  2. 生成融合掩碼:然后,通過比較這兩個顯著性圖生成一個融合掩碼M,該掩碼決定了每個像素由哪個模型負責生成。
  3. 融合噪聲:最后,根據融合掩碼M,將TDM和SDM的預測噪聲進行融合,得到最終的噪聲ε^。公式如下:

其中,⊙表示Hadamard積。

問題3:Face-diffuser在實驗中如何評估其生成的高質量圖像?

Face-diffuser通過身份保留(IP)和提示一致性(PC)兩個指標來評估其生成的高質量圖像。具體評估方法如下:

  1. 身份保留(IP):通過MTCNN進行面部檢測,并使用FaceNet計算參考圖像和生成圖像之間的面部相似度,從而評估身份保留能力。
  2. 提示一致性(PC):通過CLIP-L/14圖像-文本相似度評估生成圖像與給定文本提示的一致性。

此外,Face-diffuser還在單主題和多主題生成任務上進行了廣泛的實驗,并與現有的最先進模型(如Fastcomposer和Subject-diffusion)進行了對比,進一步驗證了其生成高質量圖像的有效性和魯棒性。

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

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

相關文章

詳解如何自定義 Android Dex VMP 保護殼

版權歸作者所有,如有轉發,請注明文章出處:https://cyrus-studio.github.io/blog/ 前言 Android Dex VMP(Virtual Machine Protection,虛擬機保護)殼是一種常見的應用保護技術,主要用于保護 And…

基于華為atlas的重車(滿載)空車(空載)識別

該教程主要是想摸索出華為atlas的基于ACL的推理模式。最終實現通過煤礦磅道上方的攝像頭,識別出車輛的重車(滿載)、空車(空載)情況。本質上是一個簡單的檢測問題。 但是整體探索過程比較坎坷,Tianxiaomo的…

《零基礎Go語言算法實戰》【題目 2-25】goroutine 的執行權問題

《零基礎Go語言算法實戰》 【題目 2-25】goroutine 的執行權問題 請說明以下這段代碼為什么會卡死。 package main import ( "fmt" "runtime" ) func main() { var i byte go func() { for i 0; i < 255; i { } }() fmt.Println("start&quo…

IntelliJ IDEA中Maven項目的配置、創建與導入全攻略

大家好&#xff0c;我是袁庭新。 IntelliJ IDEA是當前最流行的Java IDE&#xff08;集成開發環境&#xff09;之一&#xff0c;也是業界公認最好用的Java開發工具之一。IntelliJ IDEA支持Maven的全部功能&#xff0c;通過它我們可以很輕松地實現創建Maven項目、導入Maven項目、…

TypeScript語言的學習路線

TypeScript語言的學習路線 TypeScript&#xff08;TS&#xff09;是由Microsoft開發的一種開源編程語言&#xff0c;是JavaScript的超集&#xff0c;提供了嚴格的類型檢查和基于類的面向對象編程特性。隨著前端開發的不斷進步&#xff0c;TypeScript逐漸成為了現代前端開發的主…

計算機網絡之---靜態路由與動態路由

靜態路由 靜態路由是由網絡管理員手動配置并固定的路由方式。路由器通過靜態配置的路由條目來轉發數據包&#xff0c;而不會自動調整。它不依賴于任何路由協議。 特點&#xff1a; 手動配置&#xff1a;網絡管理員需要手動在路由器中配置每條靜態路由。不自動更新&#xff1a;…

【Rust】函數

目錄 思維導圖 1. 函數的基本概念 1.1 函數的定義 2. 參數的使用 2.1 單個參數的示例 2.2 多個參數的示例 3. 語句與表達式 3.1 語句與表達式的區別 3.2 示例 4. 帶返回值的函數 4.1 返回值的示例 4.2 返回值與表達式 5. 錯誤處理 5.1 錯誤示例 思維導圖 1. 函數…

Cython全教程2 多種定義方式

—— 本篇文章&#xff0c;主要講述Cython中的四種定義關鍵字 全教程2 多種定義方式&#xff1a; 在Cython中&#xff0c;關于定義的關鍵字有四個&#xff0c;分別是&#xff1a; cdef、def、cpdef、DEF 一、cdef定義關鍵字 顧名思義&#xff0c;cdef關鍵字定義的是一個C函數…

Web開發(一)HTML5

Web開發&#xff08;一&#xff09;HTML5 寫在前面 參考黑馬程序員前端Web教程做的筆記&#xff0c;主要是想后面自己搭建網頁玩。 這部分是前端HTML5CSS3移動web視頻教程的HTML5部分。主要涉及到HTML的基礎語法。 HTML基礎 標簽定義 HTML定義 HTML(HyperText Markup Lan…

MATLAB學習筆記目錄

MATLAB學習筆記-生成純音并保存-CSDN博客 MATLAB學習筆記-各種格式之間的轉換 - 知乎 MATLAB學習筆記-胞組&#xff08;cell array&#xff09;轉換為矩陣&#xff0c;cell2mat_matlab如何把元胞數組改為矩陣-CSDN博客MATLAB學習筆記-判斷數組、結構體、數值、字符串是否相同…

Java-數據結構-棧與隊列(常考面試題與單調棧)

在上一篇的學習中&#xff0c;我們學習了棧和隊列的基本知識&#xff0c;以及它們對應都有哪些方法&#xff0c;在什么應用場景下如何使用&#xff0c;并且還對它們進行了模擬實現&#xff0c;而其實對于棧和隊列的相關知識還遠不止于此&#xff0c;而今天我們就對棧與隊列進行…

JSON.stringify(res,null,2)的含義

JSON.stringify(res, null, 2) 是 JavaScript 中將對象轉換為 JSON 字符串的方法&#xff0c;具體說明如下&#xff1a; 參數解釋 res&#xff1a;要轉換的對象。它可以是 JavaScript 中的任意類型&#xff0c;如對象、數組、字符串、數字等。例如&#xff0c;{name: "K…

Spring 項目 基于 Tomcat容器進行部署

文章目錄 一、前置知識二、本地Idea運行Spring項目1. 將寫好的 Spring 項目先打包成 war 包2. 查看項目工件&#xff08;Artifact&#xff09;是否存在3. 配置 Tomcat3.1 添加一個本地 Tomcat 容器3.2 將項目部署到 Tomcat 4. 運行項目 三、基于 Tomcat 部署及多實例部署1. Spr…

usbredir學習

文章目錄 背景典型場景編譯usbredirparserusbredirfilterusbredirparser/usbredirproto usbredirhostusbredirect/usbredirtestclient參考 背景 usbredir 是一種用于通過網絡轉發 USB 設備流量的網絡協議。它也是一個軟件包的名稱&#xff0c;該軟件包提供了一個解析庫、一個 …

ESXI 安裝教程(3) ---?vCenter Server 安裝

不涉及復雜的操作此項可不安裝 1.鏡像加載到虛擬光盤 對應的網盤文件 2.打開文件路徑 雙擊運行文件installer.exe 3.調整安裝語言 4.點擊安裝 5. 6. 證書,有效問題導致此提示,非專業網絡管理人員,不知道如何處理,此處點是即可 證書有效開始時間是安裝時間8小時 證書有效結束…

【初識掃盲】逆概率加權

我們正在處理一個存在缺失數據的回歸模型&#xff0c;并且希望采用一種非參數的逆概率加權方法來調整估計&#xff0c;以應對這種缺失數據的情況。 首先&#xff0c;我們需要明確問題的背景。我們有樣本 { ( Y i , X i , r i ) : i 1 , … , n } \left\{\left(Y_i, \boldsym…

極客說|Azure AI Agent Service 結合 AutoGen/Semantic Kernel 構建多智能體解決?案

作者&#xff1a;盧建暉 - 微軟高級云技術布道師 「極客說」 是一檔專注 AI 時代開發者分享的專欄&#xff0c;我們邀請來自微軟以及技術社區專家&#xff0c;帶來最前沿的技術干貨與實踐經驗。在這里&#xff0c;您將看到深度教程、最佳實踐和創新解決方案。關注「極客說」&am…

【集成學習】Boosting算法詳解

文章目錄 1. 集成學習概述2. Boosting算法詳解3. Gradient Boosting算法詳解3.1 基本思想3.2 公式推導 4. Python實現 1. 集成學習概述 集成學習&#xff08;Ensemble Learning&#xff09;是一種通過結合多個模型的預測結果來提高整體預測性能的技術。相比于單個模型&#xf…

小米vela系統(基于開源nuttx內核)——如何使用信號量進行PV操作

如何使用信號量進行PV操作 前言信號量1. 信號量簡介2. NuttX中信號量的創建與使用2.1 Nuttx信號量的初始化和銷毀2.2 信號量的等待和發布 3. 信號量的實際應用&#xff1a;下載任務示例3.1 實際代碼3.2 代碼說明3.3 執行說明 4. 信號量的優勢與應用場景5. 常見應用場景&#xf…

CMake學習筆記(2)

1. 嵌套的CMake 如果項目很大&#xff0c;或者項目中有很多的源碼目錄&#xff0c;在通過CMake管理項目的時候如果只使用一個CMakeLists.txt&#xff0c;那么這個文件相對會比較復雜&#xff0c;有一種化繁為簡的方式就是給每個源碼目錄都添加一個CMakeLists.txt文件&#xff…