劉 雪,劉靜偉,趙 瑩,薛 媛
(西安工程大學(xué) 服裝與藝術(shù)設(shè)計學(xué)院,陜西 西安 710048)
隨著生活水平的提高,人們越來越注重個性的表達(dá)。中國歷史上,每個時代特有的文化屬性造就了不同的時代特征,創(chuàng)造出很多經(jīng)典的風(fēng)格表達(dá)[1],民族文化圖案作為風(fēng)格的載體,是中華民族的寶貴財富,對民族文化圖案進(jìn)行語義標(biāo)注與分析,是挖掘其文化價值,實現(xiàn)文化圖案數(shù)字化深入研究以及進(jìn)行再創(chuàng)作與應(yīng)用的基礎(chǔ)[2]。
傳統(tǒng)的方法在圖像標(biāo)注領(lǐng)域已經(jīng)有了一定進(jìn)展,但其需要人工選擇特征,會造成信息缺失,存在標(biāo)注精度不夠、召回率低的問題[3]。卷積神經(jīng)網(wǎng)絡(luò)具有圖像特征自學(xué)習(xí)方面的優(yōu)勢,近年來已經(jīng)被廣泛應(yīng)用在計算機視覺領(lǐng)域[4-6],取得了令人滿意的實際效果[7]。卷積神經(jīng)網(wǎng)絡(luò)模型具有較強的泛化能力并且能夠通過池化運算降低網(wǎng)絡(luò)的空間維度,在圖像分類方面優(yōu)于其他神經(jīng)網(wǎng)絡(luò)模型[8],多位學(xué)者基于卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行了紋樣自動分類標(biāo)注,其中文獻(xiàn)[8-9]對瑤族紋樣符號進(jìn)行了分類標(biāo)注,文獻(xiàn)[10]對壯族紋樣中的元素類別進(jìn)行了自動標(biāo)注,賈曉軍等對藍(lán)色印花布進(jìn)行分類標(biāo)注[11],但以上研究均針對紋樣本體進(jìn)行了分類標(biāo)注,對于紋樣風(fēng)格自動標(biāo)注的研究較少。本文自建的紋樣風(fēng)格數(shù)據(jù)集中,每個紋樣圖像包含多個風(fēng)格語義標(biāo)簽,本質(zhì)上可以把其看作一個多標(biāo)簽學(xué)習(xí)的問題[12],即對于給定的包含多個語義標(biāo)簽的圖像,計算機在通過一定的操作后,對其完成多個標(biāo)簽的標(biāo)注[13]。很多研究者直接將卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用在多標(biāo)簽分類任務(wù)上[14-16],AlexNet[17]是近年來效果較好的一個卷積神經(jīng)網(wǎng)絡(luò)模型,許多之后提出的方法[18-19]也是在其基礎(chǔ)上進(jìn)行的研究與改進(jìn),并在其他領(lǐng)域?qū)崿F(xiàn)了圖像多標(biāo)簽語義自動標(biāo)注,對本研究具有參考意義。文獻(xiàn)[20]實現(xiàn)了電影風(fēng)格多標(biāo)簽自動標(biāo)注,其中視覺表示部分也構(gòu)建了類似于AlexNet的卷積神經(jīng)網(wǎng)絡(luò),也可嘗試將此方法應(yīng)用在紋樣風(fēng)格多標(biāo)簽自動標(biāo)注上。
基于此,本文以卷積神經(jīng)網(wǎng)絡(luò)為基礎(chǔ),對AlexNet模型結(jié)構(gòu)及參數(shù)進(jìn)行調(diào)整,并將文獻(xiàn)[20]中提出的方法應(yīng)用在紋樣風(fēng)格自動標(biāo)注方面,提出了2種紋樣風(fēng)格多標(biāo)簽自動標(biāo)注模型,并在自建的紋樣風(fēng)格數(shù)據(jù)集上進(jìn)行訓(xùn)練與測試,通過量化評估選取最優(yōu)模型。
本文采用的2種模型均參照AlexNet結(jié)構(gòu),在其基礎(chǔ)上進(jìn)行調(diào)整。將2種模型分別命名為Model-1、Model-2,模型結(jié)構(gòu)見圖1。
圖 1 模型結(jié)構(gòu)Fig.1 Model structure
1.2.1 Model-1模型結(jié)構(gòu) Model-1在AlexNet結(jié)構(gòu)基礎(chǔ)上進(jìn)行調(diào)整,首先經(jīng)過5個卷積層獲取圖像視覺特征,之后經(jīng)過4個全連接層,最后,根據(jù)多標(biāo)簽損失函數(shù)得到多個標(biāo)注標(biāo)簽。模型的參數(shù)與AlexNet模型基本類似,對其中部分參數(shù)進(jìn)行試驗和分析,做出以下修改:①在AlexNet模型結(jié)構(gòu)基礎(chǔ)上將5個卷積層的卷積核個數(shù)縮小至原來的一半;②修改了全連接層,增加了一個全連接層,全連接層輸出大小為4 608、256、128、9,輸出層節(jié)點為9個節(jié)點,即對應(yīng)自建紋樣風(fēng)格數(shù)據(jù)集的9個語義風(fēng)格標(biāo)簽;③用Sigmoid激活函數(shù)替換AlexNet中的softmax激活函數(shù)。AlexNet最后一層選用的softmax激活函數(shù)適用于多類圖像分類,各類概率依賴于其他類,當(dāng)一個類的概率增大時,另一個類的概率則會減少。但是對于多標(biāo)簽問題,一個圖像可以有多個標(biāo)簽,希望概率彼此獨立,此時使用softmax激活函數(shù)并不合適,而Sigmoid激活函數(shù)可以在內(nèi)部創(chuàng)建n個模型(其中n為總類數(shù)),每個類可以作為一個模型,從而可以預(yù)測出每個類的概率。
1.2.2 Model-2模型結(jié)構(gòu) 文獻(xiàn)[20]中視覺表示部分構(gòu)建了類似于AlexNet的卷積神經(jīng)網(wǎng)絡(luò)。模型首先經(jīng)過4個卷積層,每個卷積層后接一個最大池化層,得到圖像的視覺特征,其中4個卷積層中的卷積核大小均為5,卷積核個數(shù)分別為16、32、64、64,最大池化層中池化大小均為2。之后經(jīng)過4個全連接層,使用Dropout防止過擬合,概率設(shè)置為0.5,全連接層輸出大小為9 216、128、64、9。輸出層輸出節(jié)點為9個節(jié)點,對應(yīng)自建紋樣數(shù)據(jù)集的9個風(fēng)格語義標(biāo)簽,使用Sigmoid激活函數(shù),最后根據(jù)多標(biāo)簽排名損失函數(shù)得到多個標(biāo)簽。
數(shù)據(jù)集為本文自建的清代服飾植物紋樣風(fēng)格數(shù)據(jù)集,數(shù)據(jù)集中紋樣圖像主要是從服飾上進(jìn)行摳取與預(yù)處理。數(shù)據(jù)集中包含3 000張大小為256×256的彩色紋樣圖像,以及明麗、素雅、繁縟、簡潔、靈動、飽滿、莊重、華麗、質(zhì)樸等9個風(fēng)格語義標(biāo)簽,平均每個紋樣圖像包含語義標(biāo)簽2.35個,按8∶2的比例劃分訓(xùn)練集與測試集。將數(shù)據(jù)集轉(zhuǎn)換為結(jié)構(gòu)化格式,包含所有訓(xùn)練圖像的名稱及其對應(yīng)的真實標(biāo)簽,建立圖像與圖像對應(yīng)標(biāo)簽之間的關(guān)系。其次對圖像的標(biāo)注標(biāo)簽進(jìn)行預(yù)處理,圖像對應(yīng)的所有風(fēng)格類型一共有9種可能性,因此對于每個圖像,將有9個目標(biāo),即紋樣圖像是否屬于該類型,這9個目標(biāo)值為0或1,并轉(zhuǎn)換為紋樣圖像的目標(biāo)數(shù)組。
實驗環(huán)境為:Linux操作系統(tǒng),GPU型號為Tesla T4,顯存容量為15 GiB。代碼的實現(xiàn)均基于Keras框架,采用序貫?zāi)P?。首先在Sequential的輸入層需要明確一個關(guān)于輸入數(shù)據(jù)shape的參數(shù),之后隱藏層便可以自動推導(dǎo)出中間數(shù)據(jù)的shape。輸出層等于風(fēng)格類型的數(shù)量,所以有9個神經(jīng)元。2個模型在模型編譯時均使用binary_crossentropy作為損失函數(shù)。為了判斷學(xué)習(xí)狀態(tài),從訓(xùn)練集中隨機選擇600張圖像作為驗證集,分別對2個模型參數(shù)進(jìn)行多次實驗,實驗結(jié)果表明Model-1使用ADAM作為優(yōu)化器、迭代的大小(batch_size)設(shè)置為32、迭代次數(shù)(epoch)設(shè)置為50、學(xué)習(xí)率設(shè)置為0.01時模型訓(xùn)練效果較好;同樣Model-2模型使用與Model-1相同的參數(shù)時,模型訓(xùn)練效果較好。模型訓(xùn)練完成后,將模型分別保存為Model-1、Model-2,在測試時進(jìn)行調(diào)用。
模型的客觀評價指標(biāo)采用文獻(xiàn)[21]的評價方法,采用平均準(zhǔn)確率P、平均召回率R以及準(zhǔn)確率和召回率的調(diào)和平均數(shù)F1作為實驗結(jié)果的評價標(biāo)準(zhǔn),其中F1值越大,圖像標(biāo)注性能越好。為了分析標(biāo)注性能,對測試集中每一個標(biāo)簽求平均值得到平均準(zhǔn)確率、平均召回率;P、R、F1值的計算公式為
(1)
(2)
F1=2PR/(P+R)
(3)
加載訓(xùn)練好的模型在測試集上進(jìn)行預(yù)測,Model-1與Model-2在模型測試階段的實現(xiàn)一致。測試完成后分別計算2個模型預(yù)測結(jié)果的P、R、F1值,表1為2種標(biāo)注方法的實驗結(jié)果。
表 1 各圖像標(biāo)注方法實驗結(jié)果
表1中Model-1評估結(jié)果最優(yōu),因此選擇Model-1作為本文的紋樣風(fēng)格自動標(biāo)注模型。圖2為Model-1模型的部分預(yù)測結(jié)果。模型輸出為預(yù)測的概率向量,表示測試樣本與9類風(fēng)格語義相關(guān)聯(lián)的概率,因為樣本平均標(biāo)注詞的個數(shù)是2.35,向上取整,所以選擇3個概率輸出值最高的標(biāo)注詞作為每個測試樣本的標(biāo)注結(jié)果。圖2(a)的前3個輸出風(fēng)格語義及對應(yīng)的概率分別為素雅(0.997)、簡潔(0.91)、靈動(0.783),圖2(b)的前3個輸出風(fēng)格語義及對應(yīng)的概率分別為飽滿(1.0)、莊重(1.0)、華麗(1.0),圖2(c)的前3個輸出風(fēng)格語義及對應(yīng)的概率分別為明麗(0.987)、飽滿(0.827)、質(zhì)樸(0.17),圖2(d)的前3個輸出風(fēng)格語義及對應(yīng)的概率分別為飽滿(1.0)、華麗(1.0)、莊重(0.999),圖2(e)的前3個輸出風(fēng)格語義及對應(yīng)的概率分別為素雅(0.998)、簡潔(0.358)、靈動(0.354),圖2(f)的前3個輸出風(fēng)格語義及對應(yīng)的概率分別為飽滿(0.999)、華麗(0.974)、素雅(0.843)。
(a) 預(yù)測圖1 (b) 預(yù)測圖2 (c) 預(yù)測圖3
模型整體預(yù)測效果較好,但也存在以下問題:按平均值選擇3個最高的概率輸出值作為標(biāo)注結(jié)果,會存在個別標(biāo)注結(jié)果與測試樣本不完全匹配的問題。針對以上問題,可以嘗試優(yōu)化輸出方式進(jìn)行改進(jìn)。
提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)的紋樣風(fēng)格多標(biāo)簽自動標(biāo)注方法,以AlexNet模型結(jié)構(gòu)為基礎(chǔ),提出了2種紋樣自動標(biāo)注模型,采用P、R、F1評價指標(biāo)對模型測試結(jié)果進(jìn)行了量化評估。結(jié)果表明,Model-1在P、R、F13個指標(biāo)上的值均高于Model-2,最終選擇Model-1作為紋樣風(fēng)格自動標(biāo)注模型。然而以下方面值得改進(jìn)與研究:
1) 使用更大規(guī)模的數(shù)據(jù)集進(jìn)行模型訓(xùn)練,進(jìn)一步提高模型預(yù)測精度。
2) 針對卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)作優(yōu)化調(diào)整,不斷提升模型標(biāo)注效果。