一種基于多模態信息的服裝草圖到圖像生成方法
1.本發明涉及圖像生成方法領域,具體涉及的是一種基于多模態信息的服裝草圖到圖像生成方法。
背景技術:
2.隨著人們生活水平的不斷提高,個性化服裝設計的需求越來越多。在服裝設計領域中,設計師們會在設計具體服裝之前以手繪草圖的形式展示他們腦中構想的新設計,然后在此基礎上添加較為細節的信息,如褶皺,形成款式圖,最后再為款式圖上,生成最終的服裝效果圖。然而,原始的服裝設計過程復雜,耗時耗力,普通大眾很難按自己的意愿設計喜歡的服裝款式。隨著深度學習的發展,人工智能技術逐漸被用于輔助服裝的生成,然而,現有的輔助生成方法大多都是單模態方法,其生成的服裝圖像太過單一。
3.傳統的服裝圖像生成方法主要基于圖像檢索,這是一種間接的圖像生成技術,首先利用關鍵詞在數據庫中搜索相關的圖片,然后將返回的圖片與草圖逐一比較,出匹配度較高的圖片作為生成圖像。這種方法不僅需要花費大量的時間,而且對數據集的要求很高,對草圖的標簽信息有很強的依賴性。
4.隨著深度卷積神經網絡(dcnn)的發展,生成對抗網絡(gan)在圖像生成方面展現出巨大的潛力,這類方法將條件圖像生成任務視為圖像到圖像的轉換任務,在轉換時,輸入和輸出之間共享草圖信息,從而保證了輸入圖像和輸出圖像之間的相似度。然而,這些方法的輸入大多都是單模態的,它們僅僅關注了兩個圖像域之間的映射,忽略了其他語義屬性信息,這使得生成圖像顏單一且屬性不可控制。
技術實現要素:
5.本發明要解決的技術問題是針對以上問題和要求,提供一種基于多模態信息的服裝草圖到圖像生成方法。
6.為解決以上技術問題,本發明采用以下技術方案:
7.一種基于多模態信息的服裝草圖到圖像生成方法,包括以下步驟:
8.步驟1、將服裝圖像輸入訓練好的服裝圖像分層編碼模型,利用服裝圖像分層編碼模型將服裝圖像處理得到局部特征圖與全局特征圖,并利用對應的基向量空間分別將局部特征圖與全局特征圖進行向量量化,得到服裝的全局信息編碼與服裝的局部信息編碼;
9.將服裝草圖輸入草圖編碼模型,得到草圖編碼;
10.將文本輸入輸入文本編碼模型,得到文本編碼;
11.步驟2、將草圖編碼和文本編碼共同構成條件信息,與服裝全局信息編碼連接共同輸入transformer-g,transformer-g中的掩碼注意機制自動生成服裝全局信息序列;將服裝圖像的全局信息編碼作為條件信息,與服裝的局部信息編碼連接共同輸入transformer-l,自動生成服裝局部信息序列;
12.步驟3、將生成的服裝全局信息序列與服裝局部信息序列分別輸入對應的基向量
空間中并到對應的向量,并分別轉換為全局二維特征圖和局部二維特征圖,將全局二維特征圖和局部二維特征圖輸入到訓練好的解碼器d生成最終圖像。
13.進一步的,服裝圖像分層編碼模型和解碼器d的訓練方法包括以下步驟:
14.步驟1.1、將圖像x輸入服裝圖像分層編碼模型的編碼器e,編碼器e將圖像x下采樣到原來的1/4大小,得到包含細節信息的局部特征圖z
local
,局部特征圖z
local
繼續下采樣到圖像的1/8得到包含全局信息的全局特征圖z
global
;
15.步驟1.2、將全局特征圖z
global
輸入全局基向量空間v
global
,得到服裝的全局信息編碼z
global
;將z
global
上采樣到與局部特征圖z
local
相同的尺寸并與其進行殘差連接,將連接后的融合特征輸入到局部基向量空間v
local
,得到服裝的全局信息編碼z
local
;
16.步驟1.3、將服裝的全局信息編碼z
local
和服裝的全局信息編碼z
global
輸入到解碼器d,得到重建圖像:x'=d(z
local
,z
global
)
17.步驟1.4、利用判別器計算總損失函數l=l
encoding
+l
fm
,其中l
fm
為判別器所有層損失值的平均值,計算判別器第t層損失值的公式為:其中n是判別器第t層的特征數,為第t層判別器提取圖像x的第i個特征;
[0018][0019]
其中為求l2范數損失,||
·
||2為求平方和損失,sg[]表示停止梯度傳播,停止更新該部分參數;通過最小化總損失函數對編碼器e、局部基向量空間v
global
、全局基向量空間v
global
、解碼器d和判別器進行訓練并更新參數,訓練完畢后得到訓練好的服裝圖像分層編碼模型和訓練好的解碼器d。
[0020]
進一步的,所述步驟1.1中,求z
global
的方法為:對于全局特征圖z
global
中的每個向量,量化器q(
·
)通過最近鄰算法在v
global
中到與之最接近的向量并進行替換得到z
global
;求z
local
的方法為:將z
global
上采樣到與z
local
相同的尺寸并與z
local
進行殘差連接,得到新的融合特征,然后通過最近鄰算法在v
local
中到該融合特征圖中每個位置最接近的向量并進行替換,得到z
local
。
[0021]
進一步的,所述步驟3中,transformer-g和transformer-l用于采用自回歸預測的方法生成服裝序列。
[0022]
本發明采用以上技術方案后,與現有技術相比,具有以下優點:
[0023]
本發明利用多模態信息的協同特征表示,提出了一個用于服裝草圖到圖像的多模態生成模型。該模型將cnn多尺度特征提取的優勢與transformer強大的掩碼注意力機制相結合。對于服裝圖像,提出一個分層編碼模型,并引入特征匹配損失,使得生成的服裝圖像紋理更加清晰。同時,提出一個duplicate-transformer學習不同模態信息之間的關聯,協同指導生成具有指定屬性的服裝圖像。在實驗中,本發明的方法可以生成高度真實的服裝圖像,并且在屬性控制方面具有更大的靈活性。經過比較,本發明方法生成圖像的fid相較于最先進的基于注意力引導的單模態生成方法u-gat-it降低了24.19,is值相較于最先進的munit提升了10.73%,lpips值提升了10.8%,多樣性和保真度都得到了較為明顯的提升。
[0024]
下面結合附圖和實施例對本發明進行詳細說明。
附圖說明
[0025]
圖1為分層cnn和transformer融合模型示意圖;
[0026]
圖2為服裝圖像分層編碼模型示意圖;
[0027]
圖3為自回歸duplicate-transformer示意圖;
[0028]
圖4為本發明的方法與傳統單模態方法的比較示意圖;
[0029]
圖5為本發明的多模態信息生成結果圖;
[0030]
圖6為不同服裝編碼方法重建的圖像比較示意圖;
[0031]
圖7訓練期間的均方誤差圖;
[0032]
圖8消融實驗結果圖。
具體實施方式
[0033]
以下結合附圖對本發明的原理和特征進行描述,所舉實例只用于解釋本發明,并非用于限定本發明的范圍。
[0034]
一、服裝圖像生成框架
[0035]
本發明提出一種基于多模態信息的服裝草圖到服裝圖像生成模型,將cnn多尺度特征提取的優勢與transformer強大的掩碼注意力機制相融合,其整體架構如圖1所示,主要分為兩個階段:第一階段,各個編碼器分別學習對應模態數據的編碼并進行特征融合,同時,本發明針對服裝圖像紋理不清晰的問題,設計了一種分層cnn的編碼方法,詳見2.1節;第二階段,根據第一階段得到的特征融合編碼,提出一種多模態信息關聯學習模型:duplicate-transformer,從而生成具有特定屬性的服裝圖像。該模型由一對結構完全相同的單向自回歸transformer組成,用于學習不同模態信息之間的關聯。
[0036]
二、多模態信息編碼
[0037]
在多模態信息的編碼階段,服裝草圖,文本以及服裝圖像被用于學習對應的編碼器,各個編碼器分別提取對應模態數據的特征編碼并進行融合。
[0038]
2.1服裝圖像編碼器
[0039]
為了將連續的服裝圖像內容轉換為離散的序列,本發明不再關注像素,而是使用向量量化的思想對圖像進行離散化的編碼。向量量化的基本思想是通過最近鄰算法在基向量空間中尋目標向量的最近鄰,然后使用基向量的編號來對目標向量進行編碼。
[0040]
由于服裝圖像包含許多復雜的紋理和彩,因而需要使編碼器更加關注這些細節信息。在cnn的多尺度特征提取中,不同層次的特征包含著不同的信息,一般來說,高層次的特征更注重語義信息,而不太注重細節信息;低層次的特征則包含更多的細節信息。受此啟發,本發明以一種簡單而有效的方式結合不同層的優勢:即在不同的特征層中分別對服裝圖像進行向量量化,以保留更多有用的信息,為了使生成的圖像更加清晰,本發明將服裝的局部信息(如紋理)與全局信息(如形狀)分開建模。
[0041]
如圖2所示,編碼器e通過卷積將草圖映射到兩個不同的尺寸空間,具體來說,對于一張服裝圖像x∈rh×w×3,編碼器首先將它下采樣到原來的1/4大小,得到包含細節信息的局部特征圖然后繼續下采樣到原來的1/8得到包含全局信息的全局特征圖本發明采用向量量化的思想,為模型學習兩個基向量空間,其中局部基向量空
間用于編碼紋理細節,稱為v
local
,而全局基向量空間用于編碼全局信息,稱為v
global
。對于全局特征圖z
global
中位置(i,j)的每個向量,量化器q(
·
)通過最近鄰算法在v
global
中到與之最接近的向量ek并進行替換,其中k為索引,過程如下:
[0042][0043]
為了融合不同層的特征信息,將z
global
上采樣到與z
local
相同的尺寸并與其進行殘差連接,得到新的融合特征,然后通過最近鄰算法在v
local
中到該融合特征圖中每個位置最接近的向量ek并進行替換,得到:
[0044]zlocal
=q(z
local
+upsample(z
global
))
[0045]
最后,將兩個量化后的特征圖輸入到解碼器d,得到重建圖像:
[0046]
x'=d(z
local
,z
global
)
[0047]
通過該編碼器,任何一張輸入圖像x∈rh×w×3都可以由全局基向量空間和局部基向量空間中若干向量的組合表示,這些向量在各自基向量空間中對應的索引即為服裝的全局信息編碼與局部信息編碼,編碼損失函數為:
[0048][0049]
其中||x-x'||2為重建圖像與真實圖像之間的誤差的平方和損失。由于量化過程不可導,訓練過程中將梯度直接從解碼器復制到編碼器,sg[]表示停止梯度傳播,停止更新該部分參數。
[0050]
實驗中發現,由于服裝圖像四周包含許多空白區域,導致生成圖像與真實圖像的均方誤差一開始就很低,僅為0.4左右,經過30個epoch的迭代優化后,收斂速度極慢,服裝邊緣部分的紋理不清晰,詳見第4.5節。為了使模型在優化時能關注到服裝圖像的細節紋理,本發明在模型中設計了一個判別器,并將判別器原始的交叉熵損失改為特征匹配損失。特征匹配損失從真實圖像和生成圖像的不同尺度中提取特征,并進行“匹配”,它能關注到生成樣本特征和真實樣本特征之間最顯著的差距,如特征空間中紋理的差異。損失函數如下:
[0051]
其中l
fm
為判別器所有層損失值的平均值,計算判別器第t層損失值的公式為:其中n是判別器第t層的特征數,為第t層判別器提取圖像x的第i個特征;
[0052]
總的損失函數為:
[0053]
l=l
encoding
+l
fm
[0054]
2.2文本編碼器和草圖編碼器
[0055]
文本和服裝草圖共同組成了條件信息。對于文本的編碼,本發明直接使用word2vec,該方法利用輕量級的神經網絡在語料庫上訓練出一個詞相關模型,可以將語料庫中的每個詞語映射到一個指定維度的向量空間中,并通過向量之間的相關性來表示不同詞語之間的關系。
[0056]
對于服裝草圖,由于它們只包含一些簡單的黑線條,攜帶的有效信息較少,不太需要關注其細節信息,因此很容易獲取它們的圖像表征,在本發明中,使用vq-vae模型將它們直接編碼為一系列離散的序列。
[0057]
三、多模態信息關聯學習模型
[0058]
多模態信息關聯學習模型利用各個編碼器提取到的特征,學習不同模態信息之間的關聯,從而根據給定的草圖和文本生成相對應的服裝圖像。
[0059]
本發明使用自回歸預測的方法生成服裝序列。在自回歸模型中,給定一系列向量x=(x1,
…
,xn),模型將每個特征作為條件來計算聯合分布,即
[0060][0061]
然后,通過最大化似然估計到具有最大概率的特征,并將其作為預測值。在本發明的任務中,需要添加額外的條件信息來控制生成的過程,將條件信息定義為c,該模型需要學習條件概率分布p(x,c):
[0062][0063]
在此基礎上,本發明提出一個自回歸duplicate-transformer,它由一對結構完全相同的單向自回歸transformer組成,其中,transformer-l用于生成服裝細節信息編碼,transformer-g用于生成服裝全局信息編碼。如圖3所示,在訓練階段,將草圖及其相應的服裝圖片和文字描述信息分別送入相應的編碼器。對于transformer-g,將草圖編碼、文本編碼和服裝全局信息編碼融合作為輸入,其中草圖和文本共同構成條件信息,通過transformer中的掩碼注意機制自動生成服裝全局信息序列。對于transformer-l,將服裝圖像的全局信息編碼作為條件信息,并與局部信息編碼連接作為輸入,自動生成服裝的局部信息序列。最后,將生成的全局信息序列與局部信息序列分別在基向量空間中到對應的向量并轉換為二維特征圖,送至解碼器d生成圖像。
[0064]
四、實驗部分
[0065]
4.1數據準備
[0066]
實驗使用兩個數據集來驗證本發明的模型,第一個是viton數據集,用于評估服裝單模態生成任務,該數據集的服裝圖像只包含一些簡單的彩和紋理;另一個是feidegger數據集,用于評估服裝多模態生成任務,該數據集的服裝圖像主要為女性的衣裙,包含復雜的花紋和多樣的彩,每張圖像都有對應的文本描述。實驗中使用photo-sketching將服裝圖像轉換為相對應的草圖。
[0067]
4.2實驗設置
[0068]
在第一階段,將服裝的全局和局部基向量空間的大小設置為512維,輸入圖像大小為256
×
256像素。對于服裝圖像,設置局部特征圖z
local
=32
×
32,全局特征圖z
global
=16
×
16;對于草圖,直接將其壓縮到z=16
×
16的離散空間中。實驗選擇在4個v-100gpu(32gb)上訓練模型,批次量的大小為128,迭代次數為500次,參數由adam優化器更新,學習率設置為0.0003。在第二階段,將transformer的層數設置為24層,每層包含16個頭,設置批次量大小為32,迭代次數為500次。
[0069]
4.3評估指標
[0070]
本發明的實驗主要使用如下三個評估指標:
[0071]
·
is(inception score):is主要使用inceptionnet-v3網絡來評估生成圖像的清晰度和多樣性,較高的is值表示較高的保真度和多樣性。
[0072]
·
fid(fr
é
chet inception distance):fid用于衡量真實圖像和生成圖像的inception特征向量在同一領域的距離,較低的fid意味著生成的圖像與真實圖像的分布更接近。
[0073]
·
lpips(learned perceptual image patch similarity):lpips也被稱為“感知損失”,用于衡量兩幅圖像之間的差異,lpips值越低,表明兩幅圖像越相似,多樣性越低,反之亦然。
[0074]
4.4服裝草圖到圖像的生成
[0075]
4.4.1與傳統單模態方法的比較
[0076]
實驗選擇了四個經典的單模態條件圖像生成方法,包括原始條件生成網絡pix2pix、不需要配對數據的無監督生成模型cyclegan、生成圖像多樣性相對最優的生成模型munit以及基于注意力機制的無監督生成模型u-gat-it。對于這些單模態方法,不考慮文本描述信息,只是評估每個模型在兩個圖像域之間的映射能力,這些方法的結果報告在表1中:
[0077]
表1不同方法的基準
[0078][0079][0080]
本發明的方法生成的服裝圖像的is和lpips的得分分別為3.30和0.374,相較于munit分別提升了10.73%和10.8%;fid得分為26.08,相比于最先進的u-gat-it提升了24.19。生成的結果顯示在圖4中,與其他幾種方法相比,本發明的方法生成的圖像更多樣化,包含更多種顏;此外,本發明的結果具有非常高的保真度,可以生成真實服裝的折皺。
[0081]
4.4.2基于多模態信息生成的實驗結果
[0082]
實驗使用feidegger數據集訓練模型,并在測試集上進行測試,結果如圖5所示,第一列為輸入的服裝草圖,第二列為文本描述信息,第三,四,五列為生成的服裝圖像。結果顯示,本發明所提出的方法充分結合草圖信息和文本描述信息,能夠生成具有指定屬性的服裝圖像。特別的,模型可以根據相同的草圖和文字生成多種款式的服裝圖像,這顯著提高了其多樣性。然而,由于數據集規模的限制,部分語義屬性信息沒有得到充分的學習,如服裝上的圖案種類,服裝的材質種類。
[0083]
4.4.3與單層編碼方法的比較
[0084]
為了充分證明本發明服裝編碼方法的優越性,選取了三種目前效果非常優異的單
層編碼模型,主要包括vq-vae、peco和vq-gan。實驗使用相同的配置在viton數據集和feidegger數據集上訓練三種編碼模型。在測試階段,選擇了具有多個褶皺或復雜紋理的服裝圖像,并使用訓練好的各個模型對其進行重建。重建結果如圖6所示,可以發現,在viton數據集上,vq-vae在服裝褶皺處的重建能力比較差,peco重建的花紋圖案丟失了部分顏信息,vq-gan與本發明方法相對來說區別不大;在feidegger數據集上,vq-vae的重建圖像的紋理混亂,服裝圖像邊緣處有許多模糊的斑塊,peco重建的圖像則包含非常多的雜,這表明二者沒有充分學習到服裝的紋理和彩;盡管vq-gan在viton數據集上顯示出很強的重建能力,但面對具有復雜紋理和混的服裝,它仍然不能忠實地再現。相比之下,本發明的方法盡可能地保留了圖像的顏和紋理信息,即使面對錯綜復雜的線條和斑點,也能夠有比較好的還原效果。此外,實驗在兩個數據集上評估了重建fid,并在表2中報告了結果,在viton數據集上,本發明方法相對于vq-gan有略微的提升;而在feidegger上,本發明的方法在訓練集上提升了1.65,在測試集上提升了4.43。
[0085]
表2不同編碼方法的重建fid
[0086][0087]
4.5消融實驗
[0088]
在這一節中,重點討論了模型中所提出的特征匹配損失和分層編碼方法的消融研究。
[0089]
4.5.1特征匹配損失
[0090]
為了探究特征匹配損失的有效性,實驗使用相同的配置,在feidegger數據集上訓練兩個模型,其中一個包含特征匹配損失,另一個則是原始損失。圖7顯示了訓練期間的均方誤差(mse)。最初的mse很低,約為0.4,這是因為服裝圖像包含許多空白區域,mse僅僅關注了像素級別之間的差異。可以發現,包含特征匹配損失的模型比其他模型收斂得更快,幾乎是原始模型的兩倍,整體mse也更小,這表明特征匹配損失一開始就能關注到服裝的低層次特征。在390個epoch時,本發明模型重建的圖像已經能夠忠實地再現服裝的紋理顏信息。表3顯示了該模型在feidegger上重建的fid,特征匹配損失對重建的fid有比較明顯的改善。圖8是關于不同損失類型的圖像重建結果的例子(第一列是輸入圖像,第二列為原始損失重建圖像。第三列為僅加入特征損失重建圖像)。
[0091]
4.5.2分層編碼
[0092]
為了驗證分層編碼的優勢,實驗中將本發明的模型去掉特征匹配損失,并將服裝局部信息編碼移除,改為單層編碼。圖8顯示了一個重建結果的例子(第四列為僅加入分層編碼機制的重建圖像,第五列為本發明方法重建圖像)。本發明的編碼方法能更清晰地重建圖像紋理,特別是在服裝的邊緣,單層編碼會產生重影與雜,而本發明的方法顯示出更好
的重建效果。實驗在feidegger上評估了重建fid,并在表3中報告了結果,實驗證明,分層編碼與特征匹配損失對于提升模型的編碼能力都有比較大的作用,將兩者結合能夠使模型充分關注到服裝圖像中最細微的紋理。
[0093]
表3 feidegger上的重建fid
[0094][0095]
5結束語
[0096]
本發明利用多模態信息的協同特征表示,提出了一個用于服裝草圖到圖像的多模態生成模型。該模型將cnn多尺度特征提取的優勢與transformer強大的掩碼注意力機制相結合。對于服裝圖像,提出一個分層編碼模型,并引入特征匹配損失,使得生成的服裝圖像紋理更加清晰。同時,提出一個duplicate-transformer學習不同模態信息之間的關聯,協同指導生成具有指定屬性的服裝圖像。在實驗中,本發明的方法可以生成高度真實的服裝圖像,并且在屬性控制方面具有更大的靈活性。經過比較,本發明方法生成圖像的fid相較于最先進的基于注意力引導的單模態生成方法u-gat-it降低了24.19,is值相較于最先進的munit提升了10.73%,lpips值提升了10.8%,多樣性和保真度都得到了較為明顯的提升。
[0097]
以上所述為本發明最佳實施方式的舉例,其中未詳細述及的部分均為本領域普通技術人員的公知常識。本發明的保護范圍以權利要求的內容為準,任何基于本發明的技術啟示而進行的等效變換,也在本發明的保護范圍之內。
