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