Alexei Efros 團隊發布 BlobGAN:靈活組合物體的布局與外形特徵
- 2022 年 5 月 16 日
- AI

作者丨OGAI
電腦視覺是人工智慧技術的重要應用方向。在深度學習時代,大量以 ImageNet 為代表的數據集被用於訓練各種視覺理解模型,從而完成影像分類、目標檢測、影像分割、場景理解等任務。在 ImageNet 數據集中,物體往往單獨出現在影像的中央區域。然而,真實的視覺世界則要豐富得多。

圖 1:ImageNet 數據集
對於人類視覺和電腦視覺而言,在場景的上下文中理解、建模對象是最重要的任務之一。在人類文明發展的長河中,藝術家們逐漸掌握了場景形成的規則,並發展出了超現實主義等藝術流派,能夠熟練打破這些規則。他們能夠對場景中的各種視覺元素進行解構、重組、藝術化加工,從而創作出新穎而又能夠被人類所理解的藝術作品。

遺憾的是,在深度學習時代,面向分析和合成任務的場景建模並沒有得到足夠的重視。有時,我們採用和對象建模類似的自頂向下方式建模場景,例如:對於 GAN 或影像分類器而言,「卧室」和「廚房」等場景類別的表徵方式與「床」或「椅子」的表徵方式類似。有時,我們又採用和語義分割任務類似的自底向上的方式為影像中的每一個像素賦予語義標籤。
然而,對於場景理解而言,上述兩種方法都不盡如人意,它們無法將場景中的各個部分作為實體,從而進行簡單的推理。場景中的部分要麼被融合為一個耦合的潛向量(自頂向下),要麼需要根據獨立的像素標籤聚合在一起(自底向上)。
為此,在資深電腦視覺學者 Alexei A.Efros 教授的指導下,來自 UC Berkeley 和 Adobe 的研究人員近期發布了論文「BlobGAN: Spatially Disentangled Scene Representations」,為場景生成模型提供了一種介於像素和影像之間的無監督中間表徵。在該工作中,研究者們將場景建模為在空間、深度上有序的高斯 Blob 連通區域的集合。

圖 3:BlobGAN 模型架構
如圖 3 所示,這些 Blob 的集合處於生成器架構的「瓶頸」處,迫使每個 Blob 對應於場景中的一個特定對象,從而產生在空間上解耦的表徵。如圖 4 所示,在該模型的幫助下,我們可以在沒有語義監督的情況下完成許多場景編輯任務。

圖 4:利用 BlobGAN 完成的場景編輯任務。
目前,該工作在 Reddit 上引起了熱議,許多網友們紛紛為 BlobGAN 的驚人表現而折服。
BlobGAN 的實現方法充分體現了深度學習和基於手工設計的傳統電腦視覺方法的結合。如圖 1 所示,在 BlobGAN 中,滿足標準正太分布的隨機雜訊 z 會被輸入給一個布局網路 F,布局網路會將雜訊映射為一組描述 Blob 的參數 β(見圖 5)。Blob 可以作為一種強大的中間生成表徵。接著,我們將 Blob 可微地描繪在空間網格上,該網格也描述了 Blob 的透明度。接著,我們利用一個類似於 StyleGAN2 的解碼器 G 將其轉化為逼真、和諧的影像。我們使用一個不會被修改的判別器在對抗框架下訓練模型。在沒有顯式標籤的情況下,我們的模型可以學會將場景中的實體及其布局解耦開來。

演算法細節
具體而言,橢圓 Blob 的參數包含 Blob 的中心坐標 x ∈ [0, 1]^2、尺度 s ∈ R、縱橫比 a ∈ R、旋轉角度 θ ∈ [−π, π]。每個 Blob 都帶有一個結構特徵 和風格特徵
,我們在將 Blob 轉換為 2D 特徵網格時會用廣播的矩陣乘法操作將兩個特徵向量。Blob 表徵可寫作:
在得到了 Blob 後,我們以 StyleGAN2 為基礎構建了生成器 G 將 Blob 轉換為真實、和諧的影像。在這裡,我們基於 Blob 的結構特徵採用了歲空間變化的輸入張量,而不是單一、全局的向量,並進行了隨空間變化的調製。標準的 StyleGAN 要求每個風格向量 w 必須囊括場景所有方面的資訊,而 BlobGAN 則可以將布局和外觀解耦開。
直觀地說,Blob 內的所有激活值都由相同的特徵向量控制,促使 Blob 產生自相似屬性的影像區域(場景中的實體)。此外,由於卷積是局部的,輸入中的 Blob 的布局必須很強地包含影像區域的最終組織的資訊。最後,我們的潛空間通過構造過程將 Blob 的布局與外觀解耦。這有助於我們的模型學會將單個 Blob 與不同的對象綁定,並將這些 Blob 組織到合理的布局中,從空間上將場景分解為一系列組成部分。
BlobGAN 學習到的表徵可以從空間上解耦場景。下面,我們分別從定量和定性的角度展示 BlobGAN 如何將 Blob 與場景中的某個目標對應起來,並展示學到的表徵如何捕獲場景布局的分布。
如圖 4 所示,我們對模型生成的影像的 Blob 圖進行一系列的修改,例如:清空場景中的實體、增加床和窗戶、縮小窗戶、移動窗戶、自動補全場景、移動吊扇、改變床的風格。BlobGAN 可以靈活地編輯場景。
場景編輯可視化結果
具體而言,BlobGAN 可以將複雜的場景影像分解為組成它們的物體。無監督表徵使我們可以很容易地在場景中重新排列、移除、克隆和重塑物體。如圖 6 所示,通過修改某些 Blob 的坐標,重新組織卧室中的傢具。由於表徵是分層的,我們可以建模家居之間的遮擋關係。

圖 6:移動 Blob 從而重新組織物體
圖 7 展示了從表徵中完全刪除某些 Blob 的影響。儘管在訓練數據中,沒有床的卧室非常罕見,但通過移除相應的 Blob,可以將床從場景中移除。我們也可以以同樣的方式移除窗戶、燈具和風扇、畫作、梳妝台和床頭櫃。

圖 7:移除 Blob
BlobGAN 生成的表徵使我們可以進行跨影像的編輯。在圖 8 中,我們通過交換 Blob 的風格向量高度模組化地重新裝配了場景。例如,在不改變布局的情況下,我們將某一場景下的床單風格與另一場景下的床單風格交換。

圖 8:交換 Blob 風格
如圖 9 所示,如果我們想要引入新的 Blob,可以在新的位置上複製粘貼相同的 Blob,形成新的布局。

圖 9:複製粘貼 Blob
定量的 Blob 分析
Blob 和場景中的實體具有很強的關聯。我們通過將 Blob 的尺寸參數 s 隨機設置為負數來刪除它。然後,我們使用分割模型觀察消失的語義類。圖 10(左)展示了類和 Blob 之間的相關性。該矩陣十分稀疏,這表明 Blob 隨著學習專門對應到不同的場景實體。圖 10(右)展示了 Blob 的中心的分布。合成的熱力圖展示了訓練數據中物體的分布。模型會學著在特定的影像區域定位 Blob,通過改變風格向量控制表徵的物體。

將 Blob 組合到布局中
除了將影像分解為若干部分,理想的場景表徵還需要捕獲各部分之間豐富的上下文關係,這些關係決定了場景的生成過程。BlobGAN 的表徵可以顯式地發現場景中物體的布局。
在測試時,我們通過求解一個簡單的約束優化問題,可以對滿足底層場景約束的展示影像進行取樣,進行「場景自動補全」。如圖 11 所示,不同的空房間具有各自的背景向量,以及由潛變數 z 生成的裝飾,我們通過優化合理地裝飾場景,使之與背景向量相匹配。

圖 11:生成並填充空房間。
通過使用布局網路 F 對滿足 Blob 參數子集約束的不同場景進行取樣,我們可以進行帶條件的場景自動生成/補全。圖 12 展示了特定布局條件下的風格生成、根據床和梳妝台的位置和大小預測可信的場景。比起使用 F 自動補全場景,我們還可以生成一個隨機的場景並簡單地替換感興趣的參數以匹配所需的值。我們可以對場景進行物體的插入、移除、方向調整。

圖 12:場景自動補全
我們通過替換目標影像中的屬性來編輯影像,這些屬性要麼是隨機生成的,要麼是使用模型進行條件取樣得來的。通過改變網路深度,我們切換 StyleGAN 中的風格。為了進一步保持全局布局並提高一致性,我們的模型還可以使用源圖片中的結構網格 Φ。我們通過 FID 來評估模型生成樣本的多樣性和品質。在所有情況下,BlobGAN 的場景自動補全性能都優於基準線。

表 1:自動補全的定量分析結果
BlobGAN 可以在 LSUN 房間中獲得與 StyleGAN 相媲美的視覺品質。BlobGAN 生成的樣本更加逼真。

表 2:評估視覺品質和多樣性
區域級影像解析
BlobGAN 得到的表徵還可以通過將影像反演到 Blob 空間來解析這些真實影像。我們可以移除並重新定位真實影像中的物體,發現其與原始影像的差異。

圖 13:通過反演解析真實影像

雷峰網