谷歌发布 MediaPipe Diffusion 插件,“移动端”可用的图像生成控制模型
【新智元導(dǎo)讀】谷歌發(fā)布低成本可控文生圖插件模型 MediaPipe Diffusion,移動(dòng)端提速 20 + 倍,在 v100 上運(yùn)行提速高達(dá) 100 倍。
近年來(lái),擴(kuò)散模型在文本到圖像生成方面取得了巨大的成功,實(shí)現(xiàn)了更高圖像生成質(zhì)量,提高了推理性能,也可以激發(fā)擴(kuò)展創(chuàng)作靈感。
不過(guò)僅憑文本來(lái)控制圖像的生成往往得不到想要的結(jié)果,比如具體的人物姿勢(shì)、面部表情等很難用文本指定。
最近,谷歌發(fā)布了 MediaPipe Diffusion 插件,可以在移動(dòng)設(shè)備上運(yùn)行「可控文本到圖像生成」的低成本解決方案,支持現(xiàn)有的預(yù)訓(xùn)練擴(kuò)散模型及其低秩自適應(yīng)(LoRA)變體
背景知識(shí)
基于擴(kuò)散模型的圖像生成過(guò)程可以認(rèn)為是一個(gè)迭代去噪過(guò)程。
從噪聲圖像開(kāi)始,在每個(gè)步驟中,擴(kuò)散模型會(huì)逐漸對(duì)圖像進(jìn)行降噪以生成符合目標(biāo)概念的圖像,將文本提示作為條件可以大大提升圖像生成的效果。
對(duì)于文本到圖像生成,文本嵌入通過(guò)交叉注意層連接到圖像生成模型上,不過(guò)仍然有部分信息難以通過(guò)文本提示來(lái)描述,比如物體的位置和姿態(tài)等。
為了解決這個(gè)問(wèn)題,研究人員提出引入額外的模型添加到擴(kuò)散模型中,在條件圖像中注入控制信息。
常用的控制文生圖方法包括:
1. 即插即用(Plug-and-Play)用到去噪擴(kuò)散隱式模型(DDIM)inversion 方法,從輸入圖像開(kāi)始反轉(zhuǎn)生成過(guò)程來(lái)導(dǎo)出初始噪聲輸入,然后采用擴(kuò)散模型(Stable Diffusion1.5 的情況下需要 8.6 億參數(shù))對(duì)來(lái)自輸入圖像的條件進(jìn)行編碼。
即插即用從復(fù)制的擴(kuò)散中提取具有自注意力的空間特征,并將其注入到文本轉(zhuǎn)圖像的擴(kuò)散過(guò)程中。
2. ControlNet 會(huì)創(chuàng)建擴(kuò)散模型編碼器的一個(gè)可訓(xùn)練副本,通過(guò)零初始化參數(shù)后的卷積層連接,將傳遞到解碼器層的條件信息進(jìn)行編碼。
3. T2I Adapter 是一個(gè)較小的網(wǎng)絡(luò)(7700 萬(wàn)參數(shù)),在可控生成中可以實(shí)現(xiàn)類似的效果,只需要將條件圖像作為輸入,其輸出在所有擴(kuò)散迭代中共享。
不過(guò) T2I 適配器模型并不是為便攜式移動(dòng)設(shè)備設(shè)計(jì)的。
MediaPipe Diffusion 插件
為了使條件生成更高效、可定制且可擴(kuò)展,研究人員將 MediaPipe 擴(kuò)散插件設(shè)計(jì)為一個(gè)單獨(dú)的網(wǎng)絡(luò):
1. 可插入(Plugable):可以很容易地與預(yù)訓(xùn)練基礎(chǔ)模型進(jìn)行連接;
2. 從零開(kāi)始訓(xùn)練(Trained from scratch):不使用來(lái)自基礎(chǔ)模型的預(yù)訓(xùn)練權(quán)重;
3. 可移植性(Portable):可以在移動(dòng)設(shè)備上運(yùn)行基礎(chǔ)模型,并且推理成本相比原模型來(lái)說(shuō)可以忽略不計(jì)。
簡(jiǎn)單來(lái)說(shuō),MediaPipe 擴(kuò)散插件就是一個(gè)用于文本到圖像生成的,可在便攜式設(shè)備上運(yùn)行的模型,從條件圖像中提取多尺度特征,并添加到相應(yīng)層次擴(kuò)散模型的編碼器中;當(dāng)連接到文生圖擴(kuò)散模型時(shí),插件模型可以向圖像生成提供額外的條件信號(hào)。
插件網(wǎng)絡(luò)是一個(gè)輕量級(jí)的模型,只有 600 萬(wàn)參數(shù),使用 MobileNetv2 中的深度卷積和反向瓶頸(inverted bottleneck)在移動(dòng)設(shè)備上實(shí)現(xiàn)快速推理。
與 ControlNet 不同,研究人員在所有擴(kuò)散迭代中注入相同的控制功能,所以對(duì)于圖像生成過(guò)程只需要運(yùn)行一次插件,節(jié)省了計(jì)算量。
下面的例子中可以看到,控制效果在每個(gè)擴(kuò)散步驟都是有效的,即使在前期迭代步中也能夠控制生成過(guò)程;更多的迭代次數(shù)可以改善圖像與文本提示的對(duì)齊,并生成更多的細(xì)節(jié)。
示例
在這項(xiàng)工作中,研究人員開(kāi)發(fā)了基于擴(kuò)散的文本到圖像生成模型與 MediaPipe face landmark,MediaPipe holistic landmark,深度圖和 Canny 邊緣的插件。
對(duì)于每個(gè)任務(wù),從超大規(guī)模的圖像-文本數(shù)據(jù)集中選擇約 10 萬(wàn)張圖像,并使用相應(yīng)的 MediaPipe 解決方案計(jì)算控制信號(hào),使用 PaLI 優(yōu)化后的描述來(lái)對(duì)插件進(jìn)行訓(xùn)練。
Face Landmark
MediaPipe Face Landmarker 任務(wù)計(jì)算人臉的 478 個(gè) landmark(具有注意力)。
研究人員使用 MediaPipe 中的 drawing utils 來(lái)渲染人臉,包括臉部輪廓、嘴巴、眼睛、眉毛和虹膜,并使用不同的顏色進(jìn)行表示。
下面這個(gè)例子展現(xiàn)了通過(guò)調(diào)節(jié)面網(wǎng)格和提示隨機(jī)生成的樣本;作為對(duì)比,ControlNet 和 Plugin 都可以在給定條件下控制文本到圖像的生成。
Holistic Landmark
MediaPipe Holistic Landmark 任務(wù)包括身體姿勢(shì)、手和面部網(wǎng)格的 landmark,可以通過(guò)調(diào)節(jié)整體特征來(lái)生成各種風(fēng)格化的圖像。
深度
Canny Edge
評(píng)估
研究人員對(duì) face landmark 插件進(jìn)行定量評(píng)估以證明該模型的性能,評(píng)估數(shù)據(jù)集包含 5000 張人類圖像,使用的評(píng)估指標(biāo)包括 Fréchet 起始距離(FID)和 CLIP 分?jǐn)?shù)。
基礎(chǔ)模型使用預(yù)訓(xùn)練的文本到圖像擴(kuò)散模型 Stable Diffusion v1.5
從實(shí)驗(yàn)結(jié)果中的 FID 和 CLIP 分?jǐn)?shù)來(lái)看,ControlNet 和 MediaPipe 擴(kuò)散插件生成的樣本質(zhì)量比基礎(chǔ)模型好得多。
與 ControlNet 不同,插件模型只需要為每個(gè)生成的圖像運(yùn)行一次,不需要在每個(gè)去噪步中都運(yùn)行,所以推理時(shí)間只增加了 2.6%
研究人員在服務(wù)器機(jī)器(使用 Nvidia V100 GPU)和移動(dòng)端設(shè)備(Galaxy S23)上測(cè)量了三種模型的性能:在服務(wù)器上,使用 50 個(gè)擴(kuò)散步驟運(yùn)行所有三個(gè)模型;在移動(dòng)端上,使用 MediaPipe 圖像生成應(yīng)用程序運(yùn)行 20 個(gè)擴(kuò)散步驟。
與 ControlNet 相比,MediaPipe 插件在保持樣本質(zhì)量的同時(shí),在推理效率方面表現(xiàn)出明顯的優(yōu)勢(shì)。
總結(jié)
在這項(xiàng)工作中,研究人員提出了 MediaPipe,一個(gè)可在移動(dòng)端使用的、有條件的文本到圖像生成插件,將從條件圖像中提取的特征注入擴(kuò)散模型,從而控制圖像的生成過(guò)程。
便攜式插件可以連接到在服務(wù)器或設(shè)備上運(yùn)行的預(yù)訓(xùn)練的擴(kuò)散模型,通過(guò)在設(shè)備上完全運(yùn)行文本到圖像生成和插件,可以更靈活地應(yīng)用生成式 AI
參考資料:
https://ai.googleblog.com/2023/06/on-device-diffusion-plugins-for.html
廣告聲明:文內(nèi)含有的對(duì)外跳轉(zhuǎn)鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時(shí)間,結(jié)果僅供參考,所有文章均包含本聲明。
總結(jié)
以上是生活随笔為你收集整理的谷歌发布 MediaPipe Diffusion 插件,“移动端”可用的图像生成控制模型的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Java语言与C++语言在作用域上的差异
- 下一篇: SQL语句大全(2)