自动排版布局-Layout GAN
[PDF]LayoutGAN: Generating graphic layouts with wireframe discriminatiors(2019)
文章
摘要
布局對圖像設(shè)計和場景生成非常重要。我們提出了一種新的生成對抗網(wǎng)絡(luò),稱為Layout GAN,它通過建模不同類型的2D元素的幾何關(guān)系來綜合布局。Layout GAN的生成器將一組隨機放置的2D圖形元素作為輸入,并使用自我注意力模塊來細化它們的標簽和幾何參數(shù),生成逼真的布局。精確布局對于良好布局至關(guān)重要。因此我們提出了一種新的可微線框渲染層,該層將生成的布局映射到線框圖像,在此基礎(chǔ)上,使用基于CNN的鑒別器來優(yōu)化圖像空間的布局。在MNIST數(shù)字生成、文檔布局生成、剪貼畫抽象場景生成、七巧板圖形設(shè)計等實驗中驗證了Layout GAN的有效性。
說明
平面設(shè)計是現(xiàn)代世界中一種重要的視覺傳達工具,涵蓋了書籍封面、雜志布局、網(wǎng)頁設(shè)計的一切。盡管生成逼真自然圖像的方法最近取得了重大進展,特別是生成性對抗網(wǎng)絡(luò)(GAN)(Karras等人,2018),但用于創(chuàng)建設(shè)計的方法要原始的多。這部分是由于難以找到適合學(xué)習(xí)的數(shù)據(jù)表示。圖形設(shè)計通常由基本對象(如多邊形、曲線和橢圓)的矢量表示組成,而不是放置在規(guī)則網(wǎng)格上的像素。設(shè)計的質(zhì)量和內(nèi)容取決于元素的存在、它們的屬性以及它們與其它元素的關(guān)系。設(shè)計的視覺感受取決于這些元素的排列;只有幾毫米的兩個原件的錯位會破壞設(shè)計。使用傳統(tǒng)GAN從設(shè)計圖像中進行訓(xùn)練,會合成像素空間中的布局,從而混淆布局及其渲染,因此不太可能很好的捕捉布局樣式。使用神經(jīng)網(wǎng)絡(luò)對這種高度結(jié)構(gòu)化的數(shù)據(jù)進行建模非常有趣,因為它們通常表示人類關(guān)于視覺世界的抽象知識(Zitnick&Parikh,2013;Song等人,2017),以及這些知識如何通過文檔和設(shè)計表達(Deka等人,2017;Yang等人,2018)。
本文介紹了LayoutGAN,一種新穎的GAN,它直接在設(shè)計中合成一組圖形元素。在給定的設(shè)計問題中,預(yù)先指定了一組固定的元素類(例如,“title”、“figure”)。在我們的網(wǎng)絡(luò)中,每個元素由其類概率和幾何參數(shù)表示,即邊界框關(guān)鍵點。生成器將具有隨機采樣的類概率和幾何參數(shù)的圖形元素作為輸入,并將它們排列在設(shè)計中;輸出是設(shè)計元素的細化類概率和幾何參數(shù)。生成器具有置換不變的理想特性:如果我們對輸入元素重新排序,它將生成相同的布局。
我們針對這種結(jié)構(gòu)化數(shù)據(jù)提出了兩種鑒別器網(wǎng)絡(luò)。第一個在結(jié)構(gòu)上類似于生成器:它直接根據(jù)元素的類概率和幾何參數(shù)進行操作。雖然有效,但它對元素之間的錯位和遮擋不夠敏感。第二鑒別器在視覺域中工作。就像人類觀察者通過觀察光柵化的圖像來判斷設(shè)計一樣,通過將不同元素映射到2D布局,可以很好地評估它們之間的關(guān)系。然后卷積神經(jīng)網(wǎng)絡(luò)(CNN)可以用于布局優(yōu)化,因為它們專門用于區(qū)分視覺模式,包括但不限于未對準和遮擋。然而,關(guān)鍵的挑戰(zhàn)是如何將幾何參數(shù)差異化地映射到像素級布局。一種方法是使用空間變換器網(wǎng)絡(luò)將圖形元素渲染為位圖掩碼(Jaderberg等人,2015)。但我們發(fā)現(xiàn),設(shè)計元素中填充的像素會導(dǎo)致遮擋,并且對反向傳播無效,例如,當(dāng)一個小多邊形隱藏在一個大多邊形后面時。我們嘗試了位圖蒙版渲染,但沒有成功。在本文中,我們提出了一種新的可微分線框渲染層,該層將圖形元素的合成和真實結(jié)構(gòu)數(shù)據(jù)光柵化為線框圖像,在此基礎(chǔ)上,可以使用標準CNN來優(yōu)化視覺和圖形領(lǐng)域的布局。線框渲染鑒別器有幾個優(yōu)點。首先,卷積層非常擅長提取圖像的空間模式,因此它們對對齊更敏感。第二,渲染的線框使元素即使在重疊時也可見,因此網(wǎng)絡(luò)可以從推斷其他渲染(如遮罩)中可能出現(xiàn)的遮擋中得到緩解。
我們?yōu)閹讉€不同的任務(wù)評估LayoutGAN,包括對MNIST數(shù)字的健全性測試、從標記的邊界框生成頁面布局、生成剪貼畫抽象場景、七巧板圖形設(shè)計和移動應(yīng)用程序設(shè)計布局。在每種情況下,我們的方法都成功地生成了關(guān)于問題域的元素類型及其關(guān)系的布局。
總之,LayoutGAN包括以下貢獻:1.直接合成結(jié)構(gòu)化數(shù)據(jù)的生成器,表示為設(shè)計中獨立于分辨率的標記圖形元素集。2.可微分線框渲染層,其允許鑒別器根據(jù)離散元素排列判斷對齊。
相關(guān)工作
結(jié)構(gòu)化數(shù)據(jù)生成。結(jié)構(gòu)化數(shù)據(jù)生成。卷積網(wǎng)絡(luò)已被證明成功地在規(guī)則格子中生成數(shù)據(jù),如圖像(Radford 等,2015) ,視頻(Vondrick 等,2016)和3D 卷(Yan 等,2016; Wu 等,2016)。當(dāng)生成高度結(jié)構(gòu)化的數(shù)據(jù)(如文本(Donahue 等,2015)和程序(Reed & De Freitas,2015))時,循環(huán)網(wǎng)絡(luò)通常是首選(Sutskever 等,2014) ,特別是配備了注意力(Bahdanau 等,2014)和記憶模塊(Graves 等,2014)。最近,研究人員表明,卷積網(wǎng)絡(luò)也可以用來合成序列(Oord 等,2016; van den Oord 等,2016)使用自回歸模型。然而,在許多情況下,一個對象沒有順序(Vinyals et al。 ,2015) ,而是一組元素,例如點云。Fan 等人(2017)提出了一種從單幅圖像合成物體形狀的三維點云的點集生成網(wǎng)絡(luò)。它進一步與自動編碼3D 點云的點集分類網(wǎng)絡(luò)(Charles et al。 ,2017)配對(Achlioptas et al。 ,2017)。我們的工作將集合表示擴展到更一般的原始對象,即標記多邊形。同時,研究人員還使用圖卷積對連接元素的結(jié)構(gòu)化數(shù)據(jù)進行建模(Kipf & Welling,2017)。
數(shù)據(jù)驅(qū)動圖形設(shè)計。自動布局是平面設(shè)計中的一個經(jīng)典問題(Hurst等人,2009)。ODonovan等人(2014)通過組合各種啟發(fā)式視覺線索和設(shè)計原則來制定能量函數(shù),以優(yōu)化單頁布局,并將其擴展到交互式工具(O’Donovan等人,2015)。模型參數(shù)是從少量示例設(shè)計中學(xué)習(xí)的。Pang等人(2016)針對期望的注視方向優(yōu)化布局。Deka等人(2017)收集了一個用于利用數(shù)據(jù)驅(qū)動應(yīng)用程序的移動應(yīng)用程序設(shè)計數(shù)據(jù)庫,并給出了用于設(shè)計搜索的像素級紋理/非文本掩碼相似性學(xué)習(xí)的初步結(jié)果,但沒有從該數(shù)據(jù)中學(xué)習(xí)模型。Swearngin等人(2018)提出了一種交互式系統(tǒng),將示例設(shè)計截圖轉(zhuǎn)換為矢量圖形,供設(shè)計師重復(fù)使用和編輯。Bylinskii等人(2017)分析了圖形設(shè)計的視覺重要性,并使用顯著性地圖作為驅(qū)動力來輔助重定目標和縮略圖。以前的方法已經(jīng)學(xué)習(xí)了其他圖形設(shè)計元素的模型,例如字體(O’Donovan等人,2014)和顏色(O’Donovan et al.,2011)。這些與布局問題正交,可以在未來的工作中結(jié)合起來。以前的方法還沒有學(xué)會從大型數(shù)據(jù)集創(chuàng)建設(shè)計或布局,以前的工作也沒有將GAN應(yīng)用于布局。
3D場景合成。室內(nèi)場景合成和家具布局生成引起了圖形社區(qū)的極大興趣。由于數(shù)據(jù)有限,早期方法側(cè)重于優(yōu)化手工設(shè)計原則(Merrell等人,2011)和學(xué)習(xí)成對對象關(guān)系的統(tǒng)計先驗(Fisher等人,2012)。Wang等人(2018a)最近提出了一種室內(nèi)場景合成的順序決策方法。在每個步驟中,訓(xùn)練CNN通過查看渲染的自上而下視圖來預(yù)測一個對象的位置或類別。這類似于我們的線框渲染鑒別器,在使用卷積來捕獲布局的空間模式的意義上。
Layout GAN
這部分描述我們的數(shù)據(jù)和模型表示。
設(shè)計表示
在我們的模型中,平面設(shè)計由一組 N N N個原始設(shè)計元素 { ( p 1 , θ 1 ), ? ? ,( p N , θ N ) } \{(p1,θ1),··,(pN,θN)\} {(p1,θ1),??,(pN,θN)}組成。每個元素都有一組幾何參數(shù)θ和一個類概率向量p。這些變量的條目與問題有關(guān)。例如,文檔布局包括6個類,例如“標題”和“圖片”,而剪貼畫布局包括6類,例如,“男孩”和“帽子”。對于二維點集生成(MNIST數(shù)字), θ ≡ [ x , y ] θ≡ [x,y] θ≡[x,y],表示每個點的坐標;對于文檔布局中的邊界框生成, θ ≡ [ x L 、 y T 、 x R 、 y B ] θ≡ [x^ L、y^T、x^R、y^B] θ≡[xL、yT、xR、yB],表示每個邊界框的左上和右下坐標;對于具有縮放和翻轉(zhuǎn)的布局(剪貼抽象場景), θ ≡ [ x , y , s , l ] θ≡ [x,y,s,l] θ≡[x,y,s,l],表示每個元素的中心坐標、比例和翻轉(zhuǎn)。
結(jié)構(gòu)生成器
在Layout GAN中,Generator是一個以布局為輸入的函數(shù) G ( z ) G(z) G(z),其中 z = { ( p 1 , θ 1 ), ? ? ,( p N , θ N ) } z=\{(p_1,θ_1),··,(p_N,θ_N)\} z={(p1?,θ1?),??,(pN?,θN?)},由具有隨機采樣幾何參數(shù) θ i θ_i θi?的初始圖形元素和隨機采樣類 p i p_i pi?的一個熱編碼組成。生成器輸出精確的布局 G ( z ) = { ( p 1 ′ , θ 1 ′ ), ? ? ,( p N ′ , θ N ′ ) } G(z)=\{(p'_1,θ'_1),··,(p'_N,θ'_N)\} G(z)={(p1′?,θ1′?),??,(pN′?,θN′?)},這意味著類似于真實的圖形設(shè)計。請注意,與 z z z表示低維潛在變量的傳統(tǒng)GAN不同,我們的 z z z表示初始隨機圖形布局,其結(jié)構(gòu)與實際布局相同。鑒別器學(xué)習(xí)捕捉不同類型元素之間的幾何關(guān)系,以便從圖形和視覺領(lǐng)域進行布局優(yōu)化。接下來,我們將詳細介紹生成器和鑒別器的設(shè)計。
如圖1所示,生成器將分別從均勻分布和高斯分布中采樣的具有隨機類概率和幾何參數(shù)的一組圖形元素作為輸入。由多層感知器網(wǎng)絡(luò)(實現(xiàn)為多個完全連接的層)組成的編碼器首先嵌入每個圖形元素的第一類熱矢量和幾何參數(shù)。由Wang等人(2018b)啟發(fā)實現(xiàn)為自我關(guān)注的關(guān)系模塊隨后用于嵌入每個圖形元素的特征,作為其空間上下文的函數(shù),即其與設(shè)計中所有其他元素的關(guān)系。將 f ( p i , θ i ) f(p_i,θ_i) f(pi?,θi?)表示為圖形元素 i i i的嵌入特征,可以通過上下文殘差學(xué)習(xí)過程獲得其精細特征表示 f ′ ( p i , θ i ) f'(p_i, θ_i) f′(pi?,θi?),其定義為:
其中一元函數(shù) U U U計算元素 j j j的嵌入特征 f ( p j , θ j ) f(p_j,θ_j) f(pj?,θj?)的表示,而成對函數(shù) H H H表示元素 i i i和 j j j之間關(guān)系的標量值。因此,所有其它元素 j =? i j \not= i j=i通過對它們的關(guān)系求和,有助于元素 i i i的特征細化。響應(yīng)由集合中元素的總數(shù) N N N歸一化。權(quán)重矩陣 W r W_r Wr?計算線性嵌入,產(chǎn)生要添加到 f ( p i , θ i ) f(p_i,θ_i) f(pi?,θi?)的上下文殘差,以進行特征細化。在我們的實驗中,我們將 H H H定義為點積:
其中 ψ ( f ( p i , θ i )) = W ψ f ( p i , θ i ) ψ(f(p_i,θ_i))=W_ψf(p_i,θ_i) ψ(f(pi?,θi?))=Wψ?f(pi?,θi?)和 φ ( f ( p j , θ j )) = W φ f ( p j , θ j ) φ(f(p_j,θ_j))=W_φf(p_j,θ_j) φ(f(pj?,θj?))=Wφ?f(pj?,θj?)是兩個線性嵌入。我們在實驗中堆疊了4個用于特征細化的關(guān)系模塊。最后,由另一個多層感知器網(wǎng)絡(luò)組成的解碼器,隨后是具有 S S S形激活函數(shù)的完全連接層的兩個分支,用于將每個元素的細化特征分別映射回類概率和幾何參數(shù)。可選地,可以應(yīng)用非最大抑制(NMS)來刪除重復(fù)的元素。
鑒別器網(wǎng)絡(luò)架構(gòu)
鑒別器旨在區(qū)分合成布局和真實布局。 我們提出了兩種類型的鑒別器,一種基于直接基于布局參數(shù)構(gòu)建的關(guān)系模塊,另一種基于通過渲染的布局外觀。
基于關(guān)系的鑒別器
基于關(guān)系的鑒別器將一組由類概率和幾何參數(shù)表示的圖形元素作為輸入,并將它們饋送到由多層感知器網(wǎng)絡(luò)組成的編碼器,用于特征嵌入 f ( p i , θ i ) f(p_i, θ_i) f(pi?,θi?)。 然后提取它們的全局圖形關(guān)系 g ( r ( p 1 , θ 1 ) , ? ? ? , r ( p N , θ N ) ) g(r(p_1, θ_1), ··· , r(p_N , θ_N )) g(r(p1?,θ1?),???,r(pN?,θN?))其中 r ( p i , θ i ) r(p_i, θ_i) r(pi?,θi?) 通過刪除快捷連接表示等式 1 中的簡化關(guān)系模塊,并且 g g g 是 (Charles et al., 2017) 中使用的最大池化函數(shù)。 因此,可以對所有圖形元素之間的全局關(guān)系進行建模,并在此基礎(chǔ)上應(yīng)用由多層感知網(wǎng)絡(luò)組成的分類器進行真假預(yù)測。
線框渲染鑒別器
Wireframe Rendering Discriminator 利用 CNN 對布局進行分類,以便學(xué)習(xí)對布局的視覺屬性進行分類。 鑒別器由一個線框渲染層組成,它產(chǎn)生一個輸出圖像 I I I,然后將其輸入 CNN 進行分類。
如下執(zhí)行光柵化。 假設(shè)設(shè)計中有 N N N 個元素,參數(shù)為 ( p 1 , θ 1 ) , . . . , ( p N , θ N ) {(p_1, θ_1), ...,(p_N , θ_N )} (p1?,θ1?),...,(pN?,θN?)。 每個元素都可以渲染成自己的灰度圖像 F θ ( x , y ) F_θ(x, y) Fθ?(x,y); 下面給出了特定類型元素的渲染細節(jié)。 每個單獨 F F F 的圖像尺寸為 W × H W × H W×H,其中 W W W 和 H H H 是設(shè)計的寬度和高度(以像素為單位)。
層輸出是尺寸為 W × H × M W × H × M W×H×M 的多通道圖像 I I I,其中每個通道對應(yīng)于 M M M 個元素類型之一。 換句話說, I I I 的像素 ( x , y ) (x, y) (x,y) 是該像素的類激活向量,計算如下:
其中 p i , c p_{i,c} pi,c? 是元素 i i i 屬于 c c c 類的概率。
我們接下來描述計算 F θ F_θ Fθ? 的渲染過程,在 θ θ θ 表示點、矩形和三角形的情況下。
點。 我們從最簡單的幾何形式開始,即元素 i i i 的單個關(guān)鍵點 θ i = ( x i , y i ) θ_i = (x_i , y_i) θi?=(xi?,yi?)。 我們?yōu)樗墓鈻呕瘜崿F(xiàn)了一個插值內(nèi)核 k k k。 它在渲染圖像中 ( x , y ) (x, y) (x,y) 上的空間渲染響應(yīng)可以寫成:
我們采用雙線性解釋 (Johnson et al., 2016),對應(yīng)于內(nèi)核 k ( d ) = m a x ( 0 , 1 ? ∣ d ∣ ) k(d) = max(0, 1 - |d|) k(d)=max(0,1?∣d∣)(實現(xiàn)為 ReLU 激活),如圖 2 所示。因為 I I I 是可微分的 類概率和坐標的函數(shù),光柵化圖像的子梯度可以因此向后傳播給它們。 我們驗證了這種用于 MNIST 數(shù)字生成的渲染設(shè)計,詳細的實驗可以在第 4.1 節(jié)中看到。
矩形。 我們現(xiàn)在考慮更復(fù)雜的多邊形。 假設(shè)一個元素是一個矩形,或者由其左上角和右下角坐標 θ = ( x L , y T , x R , y B ) θ= (x^ L, y^T , x^R, y^B) θ=(xL,yT,xR,yB) 表示的邊界框,這在各種設(shè)計中非常常見。 具體來說,考慮坐標為 θ i = ( x i L , y i T , x i R , y i B ) θ_i = (x^ L_ i , y^T_ i , x^R_ i , y^B_ i ) θi?=(xiL?,yiT?,xiR?,yiB?) 的矩形 i i i,如圖 2 所示,黑色網(wǎng)格表示渲染圖像中的位置,橙色虛線框表示矩形 在渲染圖像中光柵化。 對于線框表示,只有虛線框邊界附近的點(位于藍色實線)與矩形相關(guān),因此其在 ( x , y ) (x, y) (x,y) 上的空間渲染響應(yīng)可以表示為:
其中 b ( d ) = m i n ( m a x ( 0 , d ) , 1 ) b(d) = min(max(0, d), 1) b(d)=min(max(0,d),1) 將渲染限制在附近的像素。
三角形。我們進一步描述了另一種幾何形式三角形的線框渲染過程。對于三角形 i i i 由其三個頂點的坐標 θ i = ( x i 1 , y i 1 , x i 2 , y i 2 , x i 3 , y i 3 ) θ_i = (x^1_i , y^1_i , x^2_i , y^2_i , x^3_i , y^3_i ) θi?=(xi1?,yi1?,xi2?,yi2?,xi3?,yi3?) 表示,當(dāng) x i 1 =? x i 2 =? x i 3 x^1_i \not= x^2_i \not= x^3 _i xi1?=xi2?=xi3? 時,其空間 渲染圖像中 ( x , y ) (x, y) (x,y) 上的渲染響應(yīng)可以計算為:
通過這個線框渲染過程,梯度可以向后傳播到圖形元素的類概率和幾何參數(shù),以進行聯(lián)合優(yōu)化。
一個由 3 個卷積層組成的 CNN,然后是一個帶有 sigmoid 激活的全連接層,應(yīng)用于光柵化層 I I I 以預(yù)測真假圖形布局。
實驗
該實現(xiàn)基于 TensorFlow (Abadi et al., 2016)。 網(wǎng)絡(luò)參數(shù)從零均值高斯初始化,標準差為 0.02。 所有網(wǎng)絡(luò)都使用 Adam (Kingma & Ba, 2014) 進行優(yōu)化,固定學(xué)習(xí)率為 0.00002。 詳細的架構(gòu)可以在附錄中找到。
MNIST數(shù)字生成
作為一個玩具問題,我們生成 MNIST 布局。 MNIST 是一個手寫數(shù)字數(shù)據(jù)庫,由 60,000 個訓(xùn)練圖像和 10,000 個測試圖像組成。 對于每個圖像,我們提取 128 個隨機選擇的前景像素的位置作為圖形表示,以便數(shù)字生成可以表述為 2D 點布局的生成。 在圖 3a 中,每個圖像顯示了從點布局呈現(xiàn)的 8 × 8 數(shù)字。 左圖和中圖是 LayoutGAN 生成的樣本,分別具有基于關(guān)系的鑒別器和線框渲染鑒別器。 右圖顯示了從真實點布局呈現(xiàn)的數(shù)字。 可以看到具有任一鑒別器的 LayoutGAN 都可以捕獲各種模式。 線框渲染鑒別器生成更緊湊、更好對齊的點布局。 對于定量評估,我們首先訓(xùn)練一個多層感知器網(wǎng)絡(luò)進行數(shù)字分類,在 MNIST 測試集上達到 98.91% 的準確率,然后使用分類器計算 10,000 個生成樣本的初始分數(shù)(Salimans 等人,2016)。 如表 1 所示,與基于關(guān)系的鑒別器相比,帶有線框渲染鑒別器的 LayoutGAN 獲得了更高的初始分數(shù)。 為了闡明 LayoutGAN 的關(guān)系細化過程,我們用特定于位置的顏色標記每個輸入隨機點,并在生成的布局中跟蹤它們的細化位置,如圖 3b 所示。 可以看到顏色沿著筆劃逐漸變化,表明網(wǎng)絡(luò)學(xué)習(xí)了一些點的上下文一致的局部位移。
文檔布局生成
一個文檔頁面由許多具有不同元素類型的區(qū)域組成,例如標題、段落、表格、圖表、標題和列表。 每個區(qū)域由一個邊界框表示。 區(qū)域的建模布局對于文檔分析、重定向和合成至關(guān)重要。 在真實的文檔數(shù)據(jù)中,這些邊界框通常沿著規(guī)范軸仔細對齊,并且它們的位置遵循一些特定的模式,例如標題總是出現(xiàn)在段落或表格的上方。 附錄中顯示了一些示例布局。
在這個實驗中,我們專注于單列布局,其中不超過 9 個邊界框,可能屬于上述 6 個可能的類。 我們對我們的網(wǎng)絡(luò)如何捕獲這些布局模式感興趣。 對于訓(xùn)練數(shù)據(jù),我們從真實文檔中收集了大約 25,000 個布局。 我們還實現(xiàn)了一種基線方法,該方法通過 Yang 等人使用的語義掩碼來表示布局。 (2017); 德卡等人。 (2017)。 具體來說,我們將所有元素渲染到掩碼中并訓(xùn)練 DCGAN(Radford 等人,2015)以生成以像素為單位的掩碼布局。 然后我們提取每個類的連接掩碼區(qū)域并輸出所有區(qū)域的封閉邊界框。 圖 4 顯示了一些具有代表性的生成結(jié)果(每行包含 6 個樣本;高分辨率結(jié)果可在附錄中找到)。 第一行顯示 DCGAN 的結(jié)果。 DCGAN 在生成過程中混合了布局及其渲染。 當(dāng) DCGAN 中的卷積層無法完美地復(fù)制渲染過程時(通常是這種情況),它會生成模糊和嘈雜的標簽圖,從而使提取的邊界框不太一致且準確性較低。 第三行顯示了帶有線框渲染鑒別器的 LayoutGAN 的結(jié)果。 我們從最后一行的訓(xùn)練集中檢索最相似的真實布局作為參考。 可以看出,LayoutGAN 可以很好地捕捉到不同的文檔布局模式,并有明確的實例級語義邊界框定義。
為了驗證線框渲染鑒別器的優(yōu)勢,我們將生成的結(jié)果與 LayoutGAN 與基于關(guān)系的鑒別器的結(jié)果進行比較。 如圖 4 的第二行所示,后者也可以捕獲不同的布局圖案,但有時會遇到重疊和錯位問題。 由于真實文檔布局中的邊界框是左對齊或居中對齊,彼此之間沒有重疊(帶有圖形或表格的標題除外),我們提出了兩個指標來定量測量生成的布局的質(zhì)量。 第一個是重疊指數(shù),它是整個頁面內(nèi)任意兩個邊界框之間總重疊面積的百分比。 第二個是對齊指數(shù),它是通過找到所有邊界框的左坐標或中心坐標的最小標準偏差來計算的。 表 2 提供了來自 LayoutGAN 的真實布局和合成布局與兩種不同鑒別器的定量比較。 可以看出,帶有線框渲染鑒別器的 LayoutGAN 在重疊索引和對齊索引上的值都低于基于關(guān)系的鑒別器,驗證了所提出的線框渲染方法在布局生成方面的優(yōu)越性。 通過分析損失函數(shù)也可以得出類似的結(jié)論。 我們將移位擾動添加到真實布局的邊界框,并將它們提供給兩個鑒別器以檢查它們的損失行為。 圖 6 可視化了兩個鑒別器對應(yīng)于不同程度的移位擾動的損失情況。 可以看到損失表面 w.r.t. 線框渲染鑒別器的移位擾動比基于關(guān)系的鑒別器平滑得多。
剪貼畫抽象場景生成
我們現(xiàn)在考慮生成由一組特定剪貼畫元素組成的場景。 我們使用抽象場景數(shù)據(jù)集 (Zitnick et al., 2016),包括男孩、女孩、眼鏡、帽子、太陽和樹元素。為了合成一個合理的抽象場景,我們首先使用 LayoutGAN 生成內(nèi)部場景元素的布局,通過將每個元素表示為具有歸一化中心坐標、寬度和高度以及翻轉(zhuǎn)指示器的標記邊界框。 然后,我們根據(jù)預(yù)測的位置(中心坐標)、比例(寬度和高度)和翻轉(zhuǎn),將每個場景元素對應(yīng)的剪貼畫渲染到背景圖像上,形成一個合成的抽象場景。 這是一項具有挑戰(zhàn)性的任務(wù),因為合成合理的場景需要準確的成對或更高階的對象關(guān)系,例如,眼鏡/帽子應(yīng)該恰好在具有適當(dāng)比例和方向的男孩/女孩的眼睛/頭上。 在圖 5 中,前三行分別顯示了 DCGAN、具有基于關(guān)系的鑒別器的 LayoutGAN 和具有線框渲染鑒別器的 LayoutGAN 生成的布局和相應(yīng)的渲染場景。 最后一行顯示了從真實場景布局渲染的一些樣本。 可以看出,相比DCGAN和基于關(guān)系判別器的LayoutGAN,線框渲染判別器可以精確捕捉物體的成對關(guān)系,形成更有意義的場景布局(例如,眼鏡/帽子準確地落在眼睛上) /具有不同比例和翻轉(zhuǎn)的人的頭部),驗證了所提出的線框渲染策略的優(yōu)越性。 此外,我們進行了一項涉及 20 名參與者的用戶研究,以對結(jié)果進行主觀評估。 具體來說,我們隨機抽取由上述三個模型各自合成的 30 個抽象場景。 要求受試者根據(jù)以下三個標準根據(jù)三個分數(shù)(優(yōu)秀、一般、差)對合成場景進行評分:1)它們是否具有連貫的整體結(jié)構(gòu),2)不同的物體是否被放置在合理的相對位置、比例和翻轉(zhuǎn)中 , 和 3) 是否有重復(fù)的對象。 我們計算每個模型的所有采樣場景的評分百分比。 如表 3 所示,帶有線框渲染鑒別器的 LayoutGAN 的結(jié)果獲得了更好的評分,這表明它們是參與者的首選。
七巧板圖形設(shè)計
七巧板是一個幾何拼圖,旨在使用七塊沒有重疊的 2D 形狀來形成特定的形狀。 七塊包括兩個大直角三角形、一個中直角三角形、兩個小直角三角形、一個正方形和一個平行四邊形,在選擇測量單位時,可以拼成一個邊為一單位、面積為一平方單位的正方形。 我們收集了 149 個七巧板圖形設(shè)計,包括動物、人和物體。 在我們的實驗中,我們考慮了每件作品的八個旋轉(zhuǎn)/反射姿勢。 給定七個部分,每個部分都由隨機位置和真實姿勢和類別初始化,帶有線框渲染鑒別器的 LayoutGAN 被訓(xùn)練以共同改進它們的配置以形成合理的布局。 請注意,由于復(fù)雜的配置和有限的數(shù)據(jù),這是一項具有挑戰(zhàn)性的任務(wù)。 我們進行了兩個實驗。 第一個是擾動恢復(fù)測試,我們首先在七個真實布局中添加一些隨機空間擾動,并訓(xùn)練一個 LayoutGAN 來恢復(fù)原始布局。 圖 7 顯示我們的網(wǎng)絡(luò)能夠?qū)⒁莆坏男螤罾卣_的位置,確認網(wǎng)絡(luò)成功地找出了不同圖形元素之間的關(guān)系。 我們進一步訓(xùn)練另一個 LayoutGAN 從純隨機初始化生成七巧板設(shè)計。 在圖 9 中(高分辨率結(jié)果可以在附錄中找到),每一行代表采樣的漸進式生成結(jié)果和檢索到的相似真實七巧板。 我們還展示了 DCGAN 的一些生成結(jié)果和類似于 Wang 等人的序列模型。 (2018a)進行比較。 從圖 8 可以看出,DCGAN 無法很好地建模不同形狀之間的空間關(guān)系,而序列模型則存在累積誤差。 相比之下,LayoutGAN 可以生成有意義的七巧板,如狐貍和人,盡管其他的可能難以解釋,如倒數(shù)第二行所示。
總結(jié)
在本文中,我們提出了一種新穎的 LayoutGAN,用于生成關(guān)系圖形元素的布局。 與傳統(tǒng)的生成像素級圖像的 GAN 不同,LayoutGAN 可以直接輸出一組關(guān)系圖形元素。 提出了一種新穎的可微分線框渲染層,以將生成的圖形元素光柵化為線框圖像,從而可以利用 CNN 作為判別器,從視覺域進行更好的布局優(yōu)化。 未來的工作包括為每個圖形元素添加內(nèi)容表示,例如文本、圖標和圖片。
理解總結(jié)
LayoutGAN是一種利用數(shù)據(jù)學(xué)習(xí)布局排版的新方法。即輸入一組參數(shù),Layout GAN會輸出一組微調(diào)后的參數(shù)以及一張線框圖,然后與真實數(shù)據(jù)的參數(shù)與線框圖構(gòu)成GAN的對抗訓(xùn)練,最后經(jīng)過訓(xùn)練,實現(xiàn)輸出的參數(shù)與線框圖接近真實數(shù)據(jù)。
數(shù)據(jù)驅(qū)動的布局排版學(xué)習(xí)主要有兩種方式,一種使用CNN結(jié)構(gòu)學(xué)習(xí)已標注的線框圖,輸入輸出都是線框圖。另一種是使用多層全連接結(jié)構(gòu),學(xué)習(xí)元素的集合參數(shù)(位置、大小),輸入輸出都是一組幾何參數(shù)。Layout GAN將兩種方式結(jié)合,通過一個可微分的幾何參數(shù)到線框圖的渲染公式,實現(xiàn)輸入式一組幾何參數(shù),輸出是一組新幾何參數(shù)與對應(yīng)的線框圖,這樣GAN的判別器可以對新幾何參數(shù)與線框圖都做真假識別,進一步提高布局的真實性。
與DCGAN或者直接訓(xùn)練幾何參數(shù)的relation-based方法相比,LayoutGAN引入線框圖做圖像判斷后,生成的數(shù)據(jù)更真實。
框架:
-
輸入隨機元素類別+ 幾何參數(shù)
傳統(tǒng)GAN輸入是一段隨機數(shù)組Z,而LayoutGAN輸入也是一段隨機數(shù)組,只不過數(shù)組的形式以 ( P i , θ i ) (P_i, θ_i ) (Pi?,θi?)的形式輸入。表示第 i i i個元素屬于某種類別的概率,例如上圖拼貼畫中,第三個元素是[男孩,女孩,太陽,樹,墨鏡,帽子]的概率就寫為 P i , θ i P_i,θ_i Pi?,θi? 表示幾何參數(shù),以最常見的線框為例, θ i θ_i θi? 就代表線框左上角與右下角的坐標 ( x 1 , y 1 , x 2 , y 2 ) (x_1,y_1,x_2,y_2) (x1?,y1?,x2?,y2?)。 -
帶注意力層的多層全連接網(wǎng)絡(luò)
把上一步的隨機數(shù),輸入到一個深度神經(jīng)網(wǎng)絡(luò)中,這個網(wǎng)絡(luò)基本由全連接層構(gòu)成,中間帶了多個self-attention(自注意力層),以捕捉各元素之間的全局關(guān)系。 -
輸出調(diào)整后的元素類別+幾何參數(shù),計算對抗損失
經(jīng)過上一步的網(wǎng)絡(luò)模型后,輸入的元素類別+幾何參數(shù)就發(fā)生了變化,從隨機變得更真實。指導(dǎo)其變化方向的就是在此處加了一個判別網(wǎng)絡(luò),計算了一個幾何參數(shù)的對抗損失。 -
通過幾何公式,把參數(shù)轉(zhuǎn)化為線框圖
經(jīng)過一個計算公式,把原本幾何參數(shù)給還原成了圖像。不能直接根據(jù)實際的數(shù)值 ( x 1 , y 1 , x 2 , y 2 ) (x_1,y_1,x_2,y_2) (x1?,y1?,x2?,y2?)在圖上畫出來就行了,因為網(wǎng)絡(luò)到這里就斷了,后續(xù)損失計算就沒法反向傳播了。因為OpenCV畫圖是個不可微分的操作,無法實現(xiàn)梯度的傳導(dǎo),因此無法訓(xùn)練網(wǎng)絡(luò)。
把幾何參數(shù)轉(zhuǎn)化為幾何圖像的公式如下圖所示,即已知線段兩端坐標,寫出這條線段的解析表達式。考慮到圖像像素問題,線段其實是一個有內(nèi)外邊界的區(qū)域,稍作修改即可得到一組不等式來表示這個區(qū)域,而這個不等式恰好可以用ReLU函數(shù)來表達,ReLU即 m a x ( 0 , x ) max(0,x) max(0,x)。
-
用CNN判別器判斷線框圖真假
GAN的基本用法,真假線框圖做對抗訓(xùn)練。
參考資料
利用數(shù)據(jù)學(xué)習(xí)布局排版的新方法
TakaoNarikawa/LayoutGAN-Reimplementation
總結(jié)
以上是生活随笔為你收集整理的自动排版布局-Layout GAN的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: nlp小白教程:word2vec之数据预
- 下一篇: pandas删除行删除列,增加行增加列