鄧 旭,趙連軍,郇 靜
(山東理工大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,山東 淄博 255000)
藝術(shù)家識(shí)別是指在沒有其它元數(shù)據(jù)的情況下,僅給定圖像的情況下識(shí)別作品的藝術(shù)家。這一領(lǐng)域的專家需要很長(zhǎng)時(shí)間來學(xué)習(xí)各種藝術(shù)家的風(fēng)格,然后才能分析繪畫作品。此外,即使具有專業(yè)知識(shí),藝術(shù)家的身份也很難確定,因?yàn)橐粋€(gè)藝術(shù)家的風(fēng)格在不同的繪畫作品中有很大的差異。通過機(jī)器學(xué)習(xí),可以為專家提供基本估計(jì),以減少必要的時(shí)間和精力,并使經(jīng)驗(yàn)不足的人更容易識(shí)別藝術(shù)家身份。
在這項(xiàng)工作中,前人做了很多工作。Qian等主要是將自然圖像進(jìn)行油畫、粉筆畫等藝術(shù)風(fēng)格模擬,或者是針對(duì)油畫等西方畫進(jìn)行藝術(shù)風(fēng)格分析[1]。Wang等提出了復(fù)合特征的自適應(yīng)遴選及對(duì)水墨畫風(fēng)格描述的優(yōu)化,其還通過提取多種底層異構(gòu)視覺特征對(duì)國(guó)畫風(fēng)格進(jìn)行描述,對(duì)國(guó)畫作者進(jìn)行分類預(yù)測(cè)[2]。Saleh和Elgammal使用了GIST、Classemes和PiCoDes特征[3]。Misumi等利用SIFT特征對(duì)3種不同風(fēng)格的作品進(jìn)行分類[4]。Sahu等利用局部二元模式(local binary patterns)、顏色直方圖(color histograms)、HOG和GIST對(duì)作品美學(xué)評(píng)估分類[5]。
近年來,深度學(xué)習(xí)的卷積神經(jīng)網(wǎng)絡(luò)模型在圖像識(shí)別上取得了很大的進(jìn)步,例如在ImageNet上top-5分類的錯(cuò)誤率僅有3.6%[6]。相比于淺層的特征提取,深度學(xué)習(xí)的深層網(wǎng)絡(luò)結(jié)構(gòu)可以逐層進(jìn)行特征提取,這些特征更容易被分類識(shí)別。
卷積神經(jīng)網(wǎng)絡(luò)(CNNs)能夠?qū)D像內(nèi)容和圖像風(fēng)格分開識(shí)別,并通過風(fēng)格遷移可以將一幅畫的藝術(shù)風(fēng)格遷移到另一幅畫上面[7,8]。Li等通過將VGG-F模型直接應(yīng)用于中國(guó)畫作風(fēng)格識(shí)別問題,取得了很好的成果[9]。
深度學(xué)習(xí)可提取圖像特征,應(yīng)用于字體手寫識(shí)別、人類圖像識(shí)別、目標(biāo)檢測(cè)等方面[10]。近年來,深度學(xué)習(xí)也被用于圖像細(xì)粒度分析與分類的研究,取得了很好的結(jié)果[11-14],通過遷移學(xué)習(xí)分類也有不錯(cuò)的效果[15]。
卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)目標(biāo)特征需要花費(fèi)大量的機(jī)器運(yùn)算時(shí)間,預(yù)訓(xùn)練后的卷積神經(jīng)網(wǎng)絡(luò)模型(PretrainedCNN)具有良好的可遷移性。遷移學(xué)習(xí)既可以確保較為理想的訓(xùn)練效果,又可以節(jié)省大量的訓(xùn)練時(shí)間。遷移學(xué)習(xí)近年來成為圖像識(shí)別領(lǐng)域的主要方法。
基于上述分析,針對(duì)藝術(shù)家識(shí)別,提出了一種基于 ImageNet 的ResNet-50遷移學(xué)習(xí)方法。ResNet-50能自動(dòng)學(xué)習(xí)訓(xùn)練數(shù)據(jù)中的低層次信息,得到更詳細(xì)高層的特征數(shù)據(jù)。實(shí)驗(yàn)結(jié)果表明,基于ImageNet的ResNet-50的遷移學(xué)習(xí)預(yù)訓(xùn)練模型在識(shí)別準(zhǔn)確率方面效果最優(yōu)。實(shí)驗(yàn)還通過顯著圖[16]驗(yàn)證了畫家藝術(shù)風(fēng)格分布在整幅畫作中,通過風(fēng)格遷移[7]驗(yàn)證畫家的藝術(shù)風(fēng)格能被神經(jīng)網(wǎng)絡(luò)學(xué)習(xí),同時(shí)實(shí)驗(yàn)基于DenseNet-201[17]的遷移學(xué)習(xí)進(jìn)行對(duì)比實(shí)驗(yàn)。
深度神經(jīng)網(wǎng)絡(luò)層數(shù)的不斷增加,模型精度不斷得到提升,但當(dāng)網(wǎng)絡(luò)層級(jí)增加到一定以后,測(cè)試正確率和訓(xùn)練正確率迅速下降,這說明當(dāng)神經(jīng)網(wǎng)絡(luò)層數(shù)變多以后,深度神經(jīng)網(wǎng)絡(luò)難以訓(xùn)練。針對(duì)這個(gè)問題,深度殘差網(wǎng)絡(luò)提出了捷徑連接(shortcut connections)。
CNN隨著深度的增加會(huì)出現(xiàn)梯度消失問題,一般的卷積神經(jīng)網(wǎng)絡(luò)隱藏層直接會(huì)存在特征圖丟失、不完整問題。殘差網(wǎng)絡(luò)是CNN的一種特殊結(jié)構(gòu),ResNet引入了殘差網(wǎng)絡(luò)結(jié)構(gòu),通過這種殘差網(wǎng)絡(luò)結(jié)構(gòu),一般隨著深度的增加,識(shí)別效果會(huì)越好。
殘差網(wǎng)絡(luò)的基本結(jié)構(gòu)如圖1所示,在圖1的殘差網(wǎng)絡(luò)結(jié)構(gòu)中,通過捷徑連接的方式,直接把輸入傳到輸出,這條連接沒有權(quán)重,可以避免特征圖丟失問題。
圖1 殘差網(wǎng)絡(luò)基本結(jié)構(gòu)
遷移學(xué)習(xí)的目的是為了將原領(lǐng)域?qū)W習(xí)的信息應(yīng)用推廣到新領(lǐng)域。本文為了驗(yàn)證深度神經(jīng)網(wǎng)絡(luò)遷移學(xué)習(xí)有效,訓(xùn)練了2個(gè)神經(jīng)網(wǎng)絡(luò)進(jìn)行對(duì)比,分別是基于ImageNet遷移學(xué)習(xí)的ResNet-50和DenseNet-201這2個(gè)模型。
1.2.1 遷移學(xué)習(xí)的ResNet-50
基于ResNet-50結(jié)構(gòu)的遷移學(xué)習(xí)卷積神經(jīng)網(wǎng)絡(luò)見表1,遷移學(xué)習(xí)的卷積神經(jīng)網(wǎng)絡(luò)權(quán)重來自ImageNet數(shù)據(jù)集的預(yù)訓(xùn)練權(quán)重。其它與前一個(gè)神經(jīng)網(wǎng)絡(luò)一樣,將ResNet-50全連接的層替換為23維新的連接層,用來計(jì)算數(shù)據(jù)集中每個(gè)藝術(shù)家的得分。
表1 ResNet-50卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
基于ImageNet的ResNet-50的遷移學(xué)習(xí)有效地減少了神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)特征時(shí)間,原因在于一些從文藝復(fù)興開始的藝術(shù)家,通常在繪畫時(shí)都會(huì)畫出栩栩如生的場(chǎng)景,這些場(chǎng)景描繪都能直接代表現(xiàn)實(shí)世界的畫面,這些圖畫和ImageNet數(shù)據(jù)集里面的圖面有相似之處。
1.2.2 DenseNet-201
DenseNet采用的是一種更密集的連接方式,是一個(gè)密集卷積神經(jīng)網(wǎng)絡(luò),以前向傳播方式,將每一層與其余層密集連接。這樣做的目的是可以確保各層之間的信息流動(dòng)達(dá)到最大,將所有層(特征圖大小匹配)直接連接在一起。DenseNet有著4個(gè)顯著特點(diǎn):①緩解了梯度消失問題;②增強(qiáng)了特征在網(wǎng)絡(luò)間的傳播;③實(shí)現(xiàn)和加強(qiáng)了特征重用;④有效減少了參數(shù)數(shù)量。本文主要使用了DenseNet-201卷積神經(jīng)網(wǎng)絡(luò),具體見表2。
表2 DenseNet-201卷積神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)
實(shí)驗(yàn)訓(xùn)練了兩種不同的CNN模型來識(shí)別分類畫家。每個(gè)神經(jīng)網(wǎng)絡(luò)模型都是基于3×224×224RGB圖像輸入,輸出數(shù)據(jù)集的23個(gè)畫家得分。
對(duì)于兩個(gè)神經(jīng)網(wǎng)絡(luò)模型,使用SoftMax分類和交叉熵?fù)p失
(1)
式中:Li表示在訓(xùn)練集中第i作品的損失。f是神經(jīng)網(wǎng)絡(luò)計(jì)算分?jǐn)?shù)的方法,j表示23個(gè)可能的選擇中的一個(gè)。yi表示正確類型。這個(gè)損失函數(shù)能保證神經(jīng)網(wǎng)絡(luò)在訓(xùn)練集中能最大化正確畫家的分?jǐn)?shù)。
為了訓(xùn)練CNN模型識(shí)別畫家,使用WikiArt數(shù)據(jù)集,整個(gè)數(shù)據(jù)集包括2300位畫家的超過100 000幅作品,這些作品的時(shí)間和風(fēng)格跨越廣度非常廣,數(shù)據(jù)集有抽象派、寫實(shí)派、人物畫、風(fēng)景畫、水墨畫、油畫。
整個(gè)數(shù)據(jù)集中的絕大多數(shù)藝術(shù)家只有不到50幅繪畫作品,因此為了確保訓(xùn)練網(wǎng)絡(luò)有足夠的樣本量,實(shí)驗(yàn)只使用數(shù)據(jù)集中有400幅或更多繪畫作品的藝術(shù)家。為了保證每位藝術(shù)家畫作數(shù)量平衡,這些畫家畫作只取400幅。因此,數(shù)據(jù)集來自23位藝術(shù)家的400幅作品組成(總共9200幅)。實(shí)驗(yàn)將每個(gè)藝術(shù)家畫作按80-10-10的分割將此數(shù)據(jù)集分割為訓(xùn)練集驗(yàn)證集和測(cè)試集。因此,數(shù)據(jù)集中每個(gè)藝術(shù)家320幅畫作作為訓(xùn)練集,40幅畫作作為驗(yàn)證集,40幅畫作作為測(cè)試集。這個(gè)數(shù)據(jù)集比以前的工作中使用的數(shù)據(jù)集要大得多,圖2給出了數(shù)據(jù)集部分樣本。
圖2 WikiArt數(shù)據(jù)集
如圖2所示,數(shù)據(jù)集中的畫作有不同形狀和大小,所以在將圖像傳送到CNN之前會(huì)對(duì)其進(jìn)行修改。將圖像歸零并進(jìn)行標(biāo)準(zhǔn)化,在訓(xùn)練網(wǎng)絡(luò)的同時(shí),隨機(jī)對(duì)繪畫的任意部分進(jìn)行裁剪,每個(gè)輸入圖像進(jìn)行224×224像素裁剪,這種隨機(jī)性增加了訓(xùn)練數(shù)據(jù)的多樣性,有助于避免過度擬合。在驗(yàn)證和測(cè)試圖像時(shí),實(shí)驗(yàn)也是對(duì)圖像進(jìn)行隨機(jī)224×224像素裁剪,以確保結(jié)果的穩(wěn)定性和可重復(fù)性。實(shí)驗(yàn)假設(shè)藝術(shù)家的風(fēng)格在圖像中無處不在,而不僅僅局限于特定的區(qū)域,所以繪畫作品的隨機(jī)裁剪可以包含足夠的信息供CNN確定風(fēng)格。
模型訓(xùn)練與測(cè)試均是在PyTorch框架下完成的。實(shí)驗(yàn)都是在云平臺(tái)完成,使用GTX1080TiGPU,16 G內(nèi)存和200 GB存儲(chǔ)空間。
實(shí)驗(yàn)通過Adam update rule訓(xùn)練兩個(gè)模型。遷移學(xué)習(xí)的ResNet-50和DenseNet-201的神經(jīng)網(wǎng)絡(luò),使用默認(rèn) Adam 參數(shù),learning-rate=10-3,實(shí)驗(yàn)可以觀察到訓(xùn)練和驗(yàn)證數(shù)據(jù)集在整個(gè)訓(xùn)練階段的準(zhǔn)確性和損失,當(dāng)神經(jīng)網(wǎng)絡(luò)性能不再提升的時(shí)候,將learning-rate降低10倍,直到最后神經(jīng)網(wǎng)絡(luò)訓(xùn)練準(zhǔn)確率不再提高。
2.3.1 實(shí)驗(yàn)結(jié)果對(duì)比
如表3所示,實(shí)驗(yàn)對(duì)比了5個(gè)神經(jīng)網(wǎng)絡(luò)模型,可以看到top-1的Precision,Recall和F1準(zhǔn)確率。
實(shí)驗(yàn)與文獻(xiàn)[15]進(jìn)行對(duì)比,后者展示了3個(gè)神經(jīng)網(wǎng)絡(luò)分類的準(zhǔn)確性。 Precision,Recall和的F1定義如下
(2)
表3 藝術(shù)家分類結(jié)果總結(jié)
(3)
(4)
其中,TruePositives和FalsePositives分別表示正樣本被正確識(shí)別和錯(cuò)誤識(shí)別的個(gè)數(shù),TrueNegetives和FalseNege-tives則分別表示負(fù)樣本被正確識(shí)別和錯(cuò)誤識(shí)別的個(gè)數(shù)。
表3比較了不同模型的CNN在關(guān)鍵指標(biāo)中的準(zhǔn)確性對(duì)比,基于遷移學(xué)習(xí)的ResNet-50的神經(jīng)網(wǎng)絡(luò)的性能優(yōu)于文獻(xiàn)[15]中的3種神經(jīng)網(wǎng)絡(luò)模型,同時(shí)優(yōu)于DenseNet-201模型,實(shí)驗(yàn)結(jié)果表明并不是神經(jīng)網(wǎng)絡(luò)更深效果更好。
2.3.2 實(shí)驗(yàn)結(jié)果分析
圖3表示兩個(gè)神經(jīng)網(wǎng)絡(luò)在訓(xùn)練中準(zhǔn)確率的變化,如圖3(a)所示實(shí)驗(yàn)發(fā)現(xiàn)基于遷移學(xué)習(xí)的ResNet-50開始訓(xùn)練模型,訓(xùn)練集和有效集的兩個(gè)模型準(zhǔn)確率提升曲線相似。實(shí)驗(yàn)分為4個(gè)階段,每個(gè)階段4次epochs訓(xùn)練,每個(gè)階段完成后學(xué)習(xí)率下降10倍,如圖3(a)所示第一階段訓(xùn)練集和有效集的準(zhǔn)確率都得到提高,其中第二階段準(zhǔn)確率提高并不明顯,第三階段準(zhǔn)確提高迅速,可見不同的學(xué)習(xí)率對(duì)神經(jīng)網(wǎng)絡(luò)模型有不同提高效果,第四階段表示神經(jīng)網(wǎng)絡(luò)已不再提高。
圖3 3種不同模型的準(zhǔn)確率
圖3(b)所示,DenseNet-201CNN模型初始準(zhǔn)確率非常高,后面準(zhǔn)確率提高的非常緩慢,多次訓(xùn)練后準(zhǔn)確率最高達(dá)到70%。DenseNet-201開始學(xué)習(xí)的模型第一階段明顯提升,將learning-rate縮小10倍時(shí),第二階段對(duì)準(zhǔn)確率有一個(gè)曲線上升。第三階段沒有提升,而且準(zhǔn)確率相對(duì)較低,實(shí)驗(yàn)驗(yàn)證ResNet-50神經(jīng)網(wǎng)絡(luò)相對(duì)DenseNet-201神經(jīng)網(wǎng)絡(luò)在藝術(shù)家畫作識(shí)別上效果更好。
實(shí)驗(yàn)考查了基于ResNet-50和DenseNet-201的遷移學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)在正確分類方面遇到的困難。圖4顯示了兩個(gè)混淆矩陣,該矩陣是使用Torchnet for Pythorch計(jì)算的。每一列表示每個(gè)藝術(shù)家畫家預(yù)測(cè)分類,因?yàn)閷?shí)驗(yàn)數(shù)據(jù)集中有23個(gè)藝術(shù)家,為清晰起見,圖中省略了矩陣上的標(biāo)簽。理想情況下實(shí)驗(yàn)希望盡可能多地預(yù)測(cè)集中在對(duì)角線上,這意味著神經(jīng)網(wǎng)絡(luò)正確地預(yù)測(cè)了正確的藝術(shù)家。
圖4 測(cè)試集上混亂矩陣對(duì)于top-1分類準(zhǔn)確率
測(cè)試集中每個(gè)藝術(shù)家有40幅畫,測(cè)試集中混淆矩陣中單元格最大值為40??梢钥吹?,對(duì)大多數(shù)藝術(shù)家來說,對(duì)角線上的數(shù)值都是較大的,這表明大多數(shù)繪畫作品都被正確分類。倒數(shù)第二位藝術(shù)家Salvador_Dali是預(yù)測(cè)正確最少的,在ResNet-50測(cè)試數(shù)據(jù)集中,他40幅作品中只有22幅是正確預(yù)測(cè)。在DenseNet-50測(cè)試數(shù)據(jù)集中,他40幅作品中只有14幅是正確預(yù)測(cè)。Dali是一位具有非凡才能和想象力的藝術(shù)家,他的作品把怪異夢(mèng)境般的形象與卓越的繪圖技術(shù)和受文藝復(fù)興大師影響的繪畫技巧令人驚奇地混合在一起,他的藝術(shù)風(fēng)格與其它藝術(shù)家的交叉重疊,所以他的畫作極易分辨錯(cuò)誤,這表明具有多種風(fēng)格的藝術(shù)家畫作極易分類錯(cuò)誤。
計(jì)算顯著性首先計(jì)算神經(jīng)網(wǎng)絡(luò)正確的類分?jǐn)?shù)相對(duì)于輸入圖像的梯度,然后在計(jì)算的梯度的RGB這3個(gè)信道上取最大值。用于計(jì)算顯著性圖M的方程如公式所示,其中w是相對(duì)于正確類的導(dǎo)數(shù),c是顏色通道Mij是圖像中的位置,h(i,j,c) 是與原始圖像中i,j,c相對(duì)應(yīng)的w的索引[14]
Mij=max|wh(i,j,c)|
(5)
顯著圖能夠可視化圖像中的哪些像素對(duì)該圖像的預(yù)測(cè)分?jǐn)?shù)貢獻(xiàn)最大。實(shí)驗(yàn)實(shí)現(xiàn)了藝術(shù)家識(shí)別的顯著圖,以確定繪畫的哪些部分對(duì)于預(yù)測(cè)藝術(shù)家有重大影響。
圖5展示了不同畫家作品的顯著圖,圖6展示了同一個(gè)畫家不同作品的顯著圖。在這些繪畫顯著圖中,畫作中物體或人并不是影響分類最明顯的地方,因?yàn)橛绊懛诸惖南袼胤植颊麄€(gè)畫作。實(shí)驗(yàn)檢查了許多其它繪畫的顯著性地圖,發(fā)現(xiàn)在大多數(shù)繪畫中,影響預(yù)測(cè)的像素分布在整個(gè)圖像,而不是集中在其中的物體或人周圍。因?yàn)樗囆g(shù)家畫作風(fēng)格存在于整個(gè)圖畫中,表明預(yù)處理數(shù)據(jù)隨機(jī)切割圖像并不會(huì)影響繪畫的風(fēng)格,證明假設(shè)正確。
圖5 不同畫家畫作的顯著圖
圖6 同一個(gè)畫家不同畫作的顯著圖
實(shí)驗(yàn)將一個(gè)畫家藝術(shù)風(fēng)格遷移到另一個(gè)畫家畫作上,然后通過這幅畫作在神經(jīng)網(wǎng)絡(luò)中分類從而得出藝術(shù)家風(fēng)格能被神經(jīng)網(wǎng)絡(luò)識(shí)別。圖7使一座城堡的原畫經(jīng)過Max Ernet的風(fēng)格遷移,并且在基于遷移學(xué)習(xí)的ResNet-50模型顯示top 5預(yù)測(cè)。神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)Max Ernst最可能是這幅畫的畫家,意味神經(jīng)網(wǎng)絡(luò)能獨(dú)自預(yù)測(cè)的繪畫風(fēng)格,而不是看重它的繪畫內(nèi)容,神經(jīng)網(wǎng)絡(luò)可以分開理解繪畫內(nèi)容和繪畫風(fēng)格。遷移學(xué)習(xí)的ResNet-50模型對(duì)遷移風(fēng)格圖像進(jìn)行了大量實(shí)驗(yàn),雖然神經(jīng)網(wǎng)絡(luò)并沒有每次為正確的藝術(shù)家產(chǎn)生最高的分?jǐn)?shù),但正確的藝術(shù)家通常在前5名,進(jìn)一步證實(shí)藝術(shù)家的風(fēng)格確實(shí)能被卷積神經(jīng)網(wǎng)絡(luò)理解。
圖7 基于Max Ernst風(fēng)格遷移的畫作畫家預(yù)測(cè)
本文提出了一種基于ImageNet預(yù)訓(xùn)練ResNet-50的遷移學(xué)習(xí)方法。通過遷移學(xué)習(xí)ResNet-50和DenseNet-201這2個(gè)神經(jīng)網(wǎng)絡(luò)對(duì)比,驗(yàn)證基于遷移學(xué)習(xí)ResNet-50識(shí)別效果最好。實(shí)驗(yàn)通過顯著圖驗(yàn)證藝術(shù)家風(fēng)格存在于整幅畫作中,其次通過風(fēng)格遷移實(shí)驗(yàn)驗(yàn)證藝術(shù)家風(fēng)格能被神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)。雖然本文方法對(duì)藝術(shù)家識(shí)別取得一定效果,但如2.4節(jié)所說基于ImageNet預(yù)訓(xùn)練ResNet-50卷積神經(jīng)網(wǎng)絡(luò)在畫家具有多種風(fēng)格時(shí),分類正確率一般,如何更加準(zhǔn)確識(shí)別具有多種藝術(shù)風(fēng)格的畫家是未來主要研究方向。