Diffusion+目標檢測=可控圖像生成!華人團隊提出GLIGEN,完美控制對象的空間位置
隨著Stable Diffusion的開源,用自然語言進行圖像生成也逐漸普及,許多AIGC的問題也暴露了出來,比如AI不會畫手、無法理解動作關系、很難控制物體的位置等。
其主要原因還是在于「輸入接口」只有自然語言,無法做到對畫面的精細控制。
最近來自威斯康星大學麥迪遜分校、哥倫比亞大學和微軟的研究熱源提出了一個全新的方法GLIGEN,以grounding輸入為條件,對現(xiàn)有「預訓練文本到圖像擴散模型」的功能進行擴展。
論文鏈接:https://arxiv.org/pdf/2301.07093.pdf
項目主頁:https://gligen.github.io/
體驗鏈接:https://huggingface.co/spaces/gligen/demo
為了保留預訓練模型的大量概念知識,研究人員沒有選擇對模型進行微調(diào),而是通過門控機制將輸入的不同grounding條件注入到新的可訓練層中,以實現(xiàn)對開放世界圖像生成的控制。
目前GLIGEN支持四種輸入。
(左上)文本實體+box (右上)圖像實體+box
(左下)圖像風格+文本+box (右下)文本實體+關鍵點
實驗結果也顯示,GLIGEN 在 COCO 和 LVIS 上的zero-shot性能大大優(yōu)于目前有監(jiān)督layout-to-image基線。
可控圖像生成
在擴散模型之前,生成對抗網(wǎng)絡(GANs)一直是圖像生成領域的一哥,其潛空間和條件輸入在「可控操作」和「生成」方面得到了充分的研究。
文本條件自回歸和擴散模型表現(xiàn)出驚人的圖像質(zhì)量和概念覆蓋率,得益于其更穩(wěn)定的學習目標和對網(wǎng)絡圖像-文本配對數(shù)據(jù)的大規(guī)模訓練,并迅速出圈,成為輔助藝術設計和創(chuàng)作的工具。
但現(xiàn)有的大規(guī)模文本-圖像生成模型不能以「文本之外」的其他輸入模式為條件,缺乏精確定位概念或使用參考圖像來控制生成過程的能力,限制了信息的表達。
比如說,使用文本很難描述一個物體的精確位置,而邊界框(bounding
boxes)或關鍵點(keypoints)則可以很容易實現(xiàn)。
現(xiàn)有的一些工具如inpainting, layout2img生成等可以利用除文本以外的模態(tài)輸入,但卻很少將這些輸入結合起來用于可控的text2img生成。
此外,先前的生成模型通常是在特定任務的數(shù)據(jù)集上獨立訓練的,而在圖像識別領域,長期以來的范式是通過從「大規(guī)模圖像數(shù)據(jù)」或「圖像-文本對」上預訓練的基礎模型開始建立特定任務的模型。
擴散模型已經(jīng)在數(shù)十億的圖像-文本對上進行了訓練,一個很自然的問題是:我們能否在現(xiàn)有的預訓練的擴散模型的基礎上,賦予它們新的條件輸入模式?
由于預訓練模型所具有的大量概念知識,可能能夠在其他生成任務上取得更好的性能,同時獲得比現(xiàn)有文本-圖像生成模型更多的可控性。
GLIGEN
基于上述目的和想法,研究人員提出的GLIGEN模型仍然保留文本標題作為輸入,但也啟用了其他輸入模態(tài),如grounding概念的邊界框、grounding參考圖像和grounding部分的關鍵點。
這里面的關鍵難題是在學習注入新的grounding信息的同時,還保留預訓練模型中原有的大量概念知識。
為了防止知識遺忘,研究人員提出凍結原來的模型權重,并增加新的可訓練的門控Transformer層以吸收新的grouding輸入,下面以邊界框為例。
指令輸入?
每個grouding文本實體都被表示為一個邊界框,包含左上角和右下角的坐標值。
需要注意的是,現(xiàn)有的layout2img相關工作通常需要一個概念詞典,在評估階段只能處理close-set的實體(如COCO類別),研究人員發(fā)現(xiàn)使用編碼圖像描述的文本編碼器即可將訓練集中的定位信息泛化到其他概念上。
訓練數(shù)據(jù)?
用于生成grounding圖像的訓練數(shù)據(jù)需要文本c和grounding實體e作為條件,在實踐中可以通過考慮更靈活的輸入來放松對數(shù)據(jù)的要求。
主要有三種類型的數(shù)據(jù)
1. grounding數(shù)據(jù)
每張圖片都與描述整張圖片的標題相關聯(lián);名詞實體從標題中提取,并標上邊界框。
由于名詞實體直接取自自然語言的標題,它們可以涵蓋更豐富的詞匯,有利于開放世界詞匯的grounding生成。
2. 檢測數(shù)據(jù) Detection data
名詞實體是預先定義的close-set類別(例如COCO中的80個物體類別),選擇使用classifier-free引導中的空標題token作為標題。
檢測數(shù)據(jù)的數(shù)量(百萬級)大于基礎數(shù)據(jù)(千級),因此可以大大增加總體訓練數(shù)據(jù)。
3. 檢測和標題數(shù)據(jù) Detection and Caption data
名詞實體與檢測數(shù)據(jù)中的名詞實體相同,而圖像是單獨用文字標題描述的,可能存在名詞實體與標題中的實體不完全一致的情況。
比如標題只給出了對客廳的高層次描述,沒有提到場景中的物體,而檢測標注則提供了更精細的物體層次的細節(jié)。
門控注意力機制?
研究人員的目標是為現(xiàn)有的大型語言-圖像生成模型賦予新的空間基礎能力,
大型擴散模型已經(jīng)在網(wǎng)絡規(guī)模的圖像文本上進行了預訓練,以獲得基于多樣化和復雜的語言指令合成現(xiàn)實圖像所需的知識,由于預訓練的成本很高,性能也很好,在擴展新能力的同時,在模型權重中保留這些知識是很重要的,可以通過調(diào)整新的模塊來逐步適應新能力。
在訓練過程中,使用門控機制逐漸將新的grounding信息融合到預訓練的模型中,這種設計使生成過程中的采樣過程具有靈活性,以提高質(zhì)量和可控性。
實驗中也證明了,在采樣步驟的前半部分使用完整的模型(所有層),在后半部分只使用原始層(沒有門控Transformer層),生成的結果能夠更準確反映grounding條件,同時具有較高的圖像質(zhì)量。
實驗部分
在開放集合grounded文本到圖像生成任務中,首先只用COCO(COCO2014CD)的基礎標注進行訓練,并評估GLIGEN是否能生成COCO類別以外的基礎實體。
可以看到,GLIGEN可以學會新的概念如「藍鴉」、「羊角面包」,或新的物體屬性如「棕色木桌」,而這些信息沒有出現(xiàn)在訓練類別中。
研究人員認為這是因為GLIGEN的門控自注意力學會了為接下來的交叉注意力層重新定位與標題中的接地實體相對應的視覺特征,并且由于這兩層中的共享文本空間而獲得了泛化能力。
實驗中還定量評估了該模型在LVIS上的zero-shot生成性能,該模型包含1203個長尾物體類別。使用GLIP從生成的圖像中預測邊界框并計算AP,并將其命名為GLIP得分;將其與為layout2img任務設計的最先進的模型進行比較,
可以發(fā)現(xiàn),盡管GLIGEN模型只在COCO標注上進行了訓練,但它比有監(jiān)督的基線要好得多,可能因為從頭開始訓練的基線很難從有限的標注中學習,而GLIGEN模型可以利用預訓練模型的大量概念知識。
總的來說,這篇論文:
1. 提出了一種新的text2img生成方法,賦予了現(xiàn)有text2img擴散模型新的grounding可控性;
2. 通過保留預訓練的權重和學習逐漸整合新的定位層,該模型實現(xiàn)了開放世界的grounded text2img生成與邊界框輸入,即綜合了訓練中未觀察到的新的定位概念;
3. 該模型在layout2img任務上的zero-shot性能明顯優(yōu)于之前的最先進水平,證明了大型預訓練生成模型可以提高下游任務的性能