用于圖像翻譯的五 種最有前途的 AI 模型
圖像到圖像的翻譯
根據(jù)Solanki、Nayyar和Naved在論文中提供的定義,圖像到圖像的翻譯是將圖像從一個域轉(zhuǎn)換到另一個域的過程,其目標(biāo)是學(xué)習(xí)輸入圖像和輸出圖像之間的映射。
換句話說,我們希望模型能夠通過學(xué)習(xí)映射函數(shù)f將一張圖像a轉(zhuǎn)換成另一張圖像b。
有人可能會想,這些模型有什么用,它們在人工智能世界有什么關(guān)聯(lián)。應(yīng)用程序往往有很多,這不僅僅限于藝術(shù)或平面設(shè)計領(lǐng)域。例如,能夠拍攝圖像并將其轉(zhuǎn)換為另一個圖像來創(chuàng)建合成數(shù)據(jù)(如分割圖像),這對訓(xùn)練自動駕駛汽車模型非常有用。另一個經(jīng)過測試的應(yīng)用程序是地圖設(shè)計,其中模型能夠執(zhí)行兩種轉(zhuǎn)換(衛(wèi)星視圖到地圖,反之亦然)。圖像翻轉(zhuǎn)換型也可以應(yīng)用于建筑,模型可以就如何完成未完成的項目提出建議。
圖像轉(zhuǎn)換最引人注目的應(yīng)用之一是將簡單的繪圖轉(zhuǎn)換為美麗的風(fēng)景或繪畫。
用于圖像翻譯的5種最有前途的AI模型
在過去幾年中,已經(jīng)開發(fā)出幾種方法,通過利用生成模型來解決圖像到圖像轉(zhuǎn)換的問題。最常用的方法基于以下體系結(jié)構(gòu):
- 生成對抗網(wǎng)絡(luò)(GAN)
- 變分自編碼器(VAE)
- 擴散模型(DVAE)
- Transformers
Pix2Pix
Pix2Pix是一個基于條件GAN的模型。這意味著它的架構(gòu)是由Generator網(wǎng)絡(luò)(G)和Discriminator (D)組成的。這兩個網(wǎng)絡(luò)都是在對抗性游戲中訓(xùn)練的,其中G的目標(biāo)是生成與數(shù)據(jù)集相似的新圖像,而D必須決定圖像是生成的(假)還是來自數(shù)據(jù)集(真)。
Pix2Pix和其他GAN模型之間的主要區(qū)別是:(1)第一個Generator將圖像作為輸入來啟動生成過程,而普通GAN使用隨機噪聲;(2)Pix2Pix是一個完全監(jiān)督模型,這意味著數(shù)據(jù)集由來自兩個域的成對圖像組成。
論文中描述的體系結(jié)構(gòu)是由一個用于生成器的U-Net和用于Discriminator的Markovian Discriminator或Patch Discriminator定義的:
- U-Net:由兩個模塊組成(下采樣和上采樣)。使用卷積層將輸入圖像簡化為一組更小的圖像(稱為特征映射),然后通過轉(zhuǎn)置卷積進行上采樣,直到達到原始的輸入維度。下采樣和上采樣之間存在skip connections。
- Patch Discriminator:卷積網(wǎng)絡(luò),它的輸出是一個矩陣,其中每個元素都是圖像的一個部分(patch)的評估結(jié)果。它包括生成的圖像和真實圖像之間的L1距離,以確保生成器學(xué)會在給定輸入圖像的情況下映射正確的函數(shù)。也稱為馬爾可夫,因為它依賴于來自不同patch的像素是獨立的假設(shè)。
Pix2Pix結(jié)果
無監(jiān)督圖像到圖像翻譯(UNIT)
在Pix2Pix中,訓(xùn)練過程是完全監(jiān)督的(即我們需要成對的圖像輸入)。UNIT方法的目的是學(xué)習(xí)將圖像A映射到圖像B的函數(shù),而不需要訓(xùn)練兩個成對的圖像。
該模型從假設(shè)兩個域(A和B)共享一個共同的潛在空間(Z)開始。直觀地說,我們可以將這個潛在空間視為圖像域A和B之間的中間階段。因此,使用從繪畫到圖像的例子,我們可以使用相同的潛在空間向后生成繪畫圖像或向前看到令人驚嘆的圖像(見圖X)。
圖中:(a)共享潛空間。(b)UNIT架構(gòu):X1是一幅圖畫,X2是一幅美麗的風(fēng)景;E1, E2是編碼器,從兩個域(繪圖和風(fēng)景)提取圖像,并將它們映射到共享潛在空間Z;G1, G2發(fā)生器,D1, D2判別器。虛線表示網(wǎng)絡(luò)之間的共享層。
UNIT模型是在一對VAE-GAN架構(gòu)下開發(fā)的(見上圖),其中編碼器的最后一層(E1, E2)和生成器的第一層(G1, G2)是共享的。
UNIT結(jié)果
Palette
Palette是加拿大谷歌研究小組開發(fā)的條件擴散模型。該模型經(jīng)過訓(xùn)練,可執(zhí)行與圖像轉(zhuǎn)換相關(guān)的4項不同任務(wù),從而獲得高質(zhì)量的結(jié)果:
(i)著色:為灰度圖像添加顏色
(ii)Inpainting:用逼真的內(nèi)容填充用戶指定的圖像區(qū)域
(iii)Uncropping:放大圖像幀
(iv)JPEG恢復(fù):恢復(fù)損壞的JPEG圖像
在論文中,作者探討了多任務(wù)通用模型和多個專門模型之間的區(qū)別,兩者都經(jīng)過一百萬次迭代訓(xùn)練。該模型的體系結(jié)構(gòu)基于Dhariwal和Nichol 2021的類條件U-Net模型,使用1024個批次大小的圖像進行1M的訓(xùn)練步驟。將噪聲計劃作為超參數(shù)進行預(yù)處理和調(diào)整,使用不同的計劃進行訓(xùn)練和預(yù)測。
Palette結(jié)果
Vision Transformers (ViT)
請注意,盡管以下兩個模型并不是專門為圖像轉(zhuǎn)換設(shè)計的,但它們在將諸如transformers等功能強大的模型引入計算機視覺領(lǐng)域方面邁出了明顯的一步。
Vision Transformers(ViT)是對Transformers架構(gòu)的修改(Vaswani等人,2017年),是為圖像分類而開發(fā)的。該模型將圖像作為輸入,并輸出屬于每個已定義類的概率。
主要問題在于Transformers被設(shè)計成以一維序列作為輸入,而不是二維矩陣。為了進行排序,作者建議將圖像分割為小塊,將圖像視為序列(或NLP中的句子),小塊視為標(biāo)記(或單詞)。
簡單總結(jié)一下,我們可以將整個過程分為3個階段:
1)嵌入:將小塊拆分并flatten→應(yīng)用線性變換→添加類標(biāo)記(此標(biāo)記將作為分類時考慮的圖像摘要)→位置嵌入
2)Transformer-Encoder塊:將嵌入的patches放入一系列變transformer encoder塊中。注意力機制會學(xué)習(xí)關(guān)注圖像的哪些部分。
3)分類MLP頭:將類令牌通過MLP頭,該MLP頭輸出圖像屬于每個類的最終概率。
使用ViT的優(yōu)點:排列不變。與CNN相比,Transformer不受圖像中的平移(元素位置的變化)的影響。
缺點:需要大量標(biāo)記數(shù)據(jù)進行訓(xùn)練(至少14M的圖像)
TransGAN
TransGAN是一個基于transform的GAN模型,設(shè)計用于圖像生成,不使用任何卷積層。相反,生成器和鑒別器是由一系列由上采樣和下采樣塊連接的Transformer組成的。
生成器的正向過程取一個一維數(shù)組的隨機噪聲樣本,并將其通過MLP。直觀地說,我們可以把數(shù)組想象成一個句子,像素的值想象成單詞(請注意,一個由64個元素組成的數(shù)組可以重塑為1個通道的8?8的圖像)接下來,作者應(yīng)用了一系列Transformer塊,每個塊后面都有一個上采樣層,使數(shù)組(圖像)的大小增加一倍。
TransGAN的一個關(guān)鍵特征是Grid-self - attention。當(dāng)達到高維圖像(即非常長的數(shù)組32?32 = 1024)時,應(yīng)用transformer可能導(dǎo)致自注意力機制的爆炸性成本,因為您需要將1024數(shù)組的每個像素與所有255個可能的像素進行比較(RGB維度)。因此,網(wǎng)格自注意力不是計算給定標(biāo)記和所有其他標(biāo)記之間的對應(yīng)關(guān)系,而是將全維度特征映射劃分為幾個不重疊的網(wǎng)格,并且在每個局部網(wǎng)格中計算標(biāo)記交互。
判別器體系結(jié)構(gòu)與前面引用的ViT非常相似。
不同數(shù)據(jù)集上的TransGAN結(jié)果