武蘇雯,趙慧杰,劉 鑫,王佳豪
(中原工學(xué)院 計算機學(xué)院,河南 鄭州 451191)
圖像分類是將不同類別的圖片分開的圖像處理方法。它在工業(yè)、農(nóng)業(yè)、醫(yī)學(xué)等領(lǐng)域都起著重要的作用。圖像識別在詩詞搜索中的應(yīng)用研究是根據(jù)圖像中的主要特征,例如花、鳥、山來進行圖像分類,得到關(guān)鍵詞,通過關(guān)鍵詞在已經(jīng)創(chuàng)建好的數(shù)據(jù)庫中搜索詩詞,得到搜索結(jié)果。當前,許多詩詞應(yīng)用系統(tǒng)已投入市場,例如西窗燭、古詩詞典和古詩詞分類賞析等應(yīng)用軟件,這類軟件為用戶提供了一個搜索詩詞的平臺,便于用戶快速獲取到詩詞信息??紤]到現(xiàn)有的搜索方式較為單一,且許多用戶聯(lián)想到詩詞的情景各有不同,提出一種新型應(yīng)用系統(tǒng),通過對用戶輸入的圖像進行特征提取,將特征提取后的分類結(jié)果進行整合,從已有的詩詞庫中自動匹配,輸出與圖像意境匹配最佳的詩詞推薦給用戶。
目前,圖像與詩詞匹配的算法日新月異,國內(nèi)外致力于這一領(lǐng)域的研究也取得了一定的研究成果。文獻[1]通過學(xué)習(xí)深度耦合的視覺詩意嵌入模型與基于RNN的聯(lián)合學(xué)習(xí)生成器結(jié)合進行多對抗訓(xùn)練,實現(xiàn)跨模態(tài)相關(guān)性和詩意的相關(guān)性,提出了一種由圖像自動生成英文詩歌的模型。文獻[2]通過改進的VGG16模型,預(yù)測輸入圖形的中文預(yù)測結(jié)果,然后根據(jù)RNN的預(yù)測結(jié)果創(chuàng)作一首詩歌。文獻[3]將深度卷積網(wǎng)絡(luò)遷移應(yīng)用到小規(guī)模花卉數(shù)據(jù)集上,在進行模型微調(diào)后可以取得較好的識別結(jié)果。文獻[4]通過使用EfficientNet和MixNet構(gòu)建了一個專家系統(tǒng),能夠準確、快速識別水果的種類。文獻[5]提出了基于自然性和視覺特征通道的場景分類方法,用Gist模型在Oliva等[6]提出的圖像庫依據(jù)其語義類別進行分類,得到了良好的分類效果。文獻[7]通過使用改進的InceptionV3網(wǎng)絡(luò)以及改進的激活函數(shù),實現(xiàn)了大規(guī)?;ɑ軋D像數(shù)據(jù)集的分類。
由于項目的特殊需求,本實驗專門構(gòu)建了意象圖像數(shù)據(jù)NID(nature image dataset),圖像數(shù)據(jù)集NID是通過從標準數(shù)據(jù)集(例如Flower102、ImageNet、CIFAR-10、SUN397-15場景數(shù)據(jù)集、scene15category等)、百度圖片庫中選取的。刪除無關(guān)、重復(fù)的圖片以及非JPG格式的圖像數(shù)據(jù)后,得到了60種共70 206張有效圖片。由于物種類別的多樣性,結(jié)合項目中詩詞意象的特點,人為將類型相近的物種歸為一類,便于識別分類。共分為九種不同的類別,對每一種類別的物種分別進行識別,具體的圖像數(shù)據(jù)集如表1所示。其中有45類的圖像數(shù)據(jù)在1 000張以上,最多的一種包含1 800張圖像,有15類的圖像數(shù)據(jù)低于1 000張,最少的一類為478張。由于圖像的分類精度會受到數(shù)據(jù)樣本數(shù)量的影響,文中采用數(shù)據(jù)增強[8]的方法來進行數(shù)據(jù)擴充,主要包括隨機裁減、隨機旋轉(zhuǎn)、亮度調(diào)節(jié)等操作。其中設(shè)置了訓(xùn)練集和測試集,分別占數(shù)據(jù)集的80%和20%。
表1 NID數(shù)據(jù)集
EfficientNet卷積神經(jīng)網(wǎng)絡(luò)[9]是通過使用復(fù)合系數(shù)網(wǎng)絡(luò)的深度(卷積層的數(shù)量)、寬度(卷積層的通道數(shù))、分辨率(輸入特征的尺寸)中的所有維度進行均勻縮放的網(wǎng)絡(luò)結(jié)構(gòu)。因為單獨縮放其中任一個維度,模型會隨著模型的增大,精度變小,在整個神經(jīng)網(wǎng)絡(luò)的縮放過程中要綜合均衡所有的維度才是關(guān)鍵,得到協(xié)調(diào)的進度和效率。在EfficientNet模型中,其使用一組固定的縮放系數(shù)統(tǒng)一縮放網(wǎng)絡(luò)深度、寬度和分辨率。若想使用2N倍的計算資源,可將網(wǎng)絡(luò)深度擴大αN倍、寬度擴大βN倍、圖像尺寸擴大γN倍,這里的α、β、γ都是由原來的小模型上做微小的網(wǎng)格得到的最優(yōu)解,N則是表明資源的可用范圍,調(diào)節(jié)模型的可用資源。圖1為EfficientNet的設(shè)計思路,從三個方面同時拓充網(wǎng)絡(luò)的特性。
圖1 模型的擴展過程
神經(jīng)網(wǎng)絡(luò)架構(gòu)采用搜索的方式,在限定存儲空間和目標浮點運算次數(shù)的條件下,搜索到了一系列EfficientNet B0-B6模型。文中采用輕量級的EfficientNet-B0網(wǎng)絡(luò)作為主干網(wǎng)絡(luò),具體參數(shù)如表2所示。其中考慮到在stem stage層的小模型對前期底層特征的依賴,采取的是步長為2的卷積操作,可以有效地避免信息丟失的問題。
表2 輕量級EfficientNet-B0主干網(wǎng)絡(luò)參數(shù)
文中使用的EfficientNet-B0基本網(wǎng)絡(luò)作為主干網(wǎng)絡(luò),主要由1個Stem和16個大Blocks堆疊構(gòu)成,其中16個大Blocks可以分為1、2、2、3、3、4、1個Block。Block的通用結(jié)構(gòu)如圖2所示,其總體的設(shè)計思路是Inverted residuals結(jié)構(gòu)和殘差結(jié)構(gòu),在3×3或者5×5網(wǎng)絡(luò)結(jié)構(gòu)前利用1×1卷積升維,在3×3或者5×5網(wǎng)絡(luò)結(jié)構(gòu)后增加了一個關(guān)于通道的注意力機制[10],最后利用1×1卷積降維后增加一個大殘差[11]邊。
圖2 Block的通用結(jié)構(gòu)
為了能加快模型的學(xué)習(xí)速度,本實驗使用遷移學(xué)習(xí)。遷移學(xué)習(xí)[12-15]是將訓(xùn)練好的深度神經(jīng)網(wǎng)絡(luò)模型應(yīng)用到另一個新的任務(wù)中,在這個過程中模型解凍、參數(shù)微調(diào),訓(xùn)練得出適合新任務(wù)的模型。將已經(jīng)在ImageNet數(shù)據(jù)集上訓(xùn)練好的EfficientNet-b0參數(shù)作為特征提取模型的初始參數(shù),從而繼承模型從ImageNet數(shù)據(jù)集上學(xué)習(xí)到的特征提取能力,再在此基礎(chǔ)上進行微調(diào)。ImageNet數(shù)據(jù)集的數(shù)據(jù)量十分龐大,可以賦予模型極強的特征提取能力以及泛化能力。該方法不僅可以節(jié)省大量的訓(xùn)練時間和計算資源,更可以在一定程度上削弱過擬合現(xiàn)象,使模型擁有比隨機初始化參數(shù)更好的表現(xiàn)。
由于NID的圖像數(shù)據(jù)量目前還不夠大,難以將網(wǎng)絡(luò)模型訓(xùn)練到理想的分類效果,而ImageNet數(shù)據(jù)集的圖像數(shù)量高達100多萬張,EfficientNet模型先在ImageNet數(shù)據(jù)集上完成訓(xùn)練,對訓(xùn)練模型可以得到良好的識別率。因此文中采用基于遷移學(xué)習(xí)的EfficientNet圖像分類算法來完成NID的分類任務(wù)。首先將ImageNet數(shù)據(jù)集在EfficientNet預(yù)訓(xùn)練模型上進行訓(xùn)練,在訓(xùn)練過程中調(diào)整模型超參數(shù),使預(yù)訓(xùn)練模型能夠較好地提取出圖像的低層特征,例如邊緣特征、紋理特征,使模型具有更佳的通用性,得到最佳識別結(jié)果,并記錄相應(yīng)的權(quán)重文件。再將NID其中一類圖像隨機選擇80%用于訓(xùn)練,20%用于測試,訓(xùn)練集可以再次對模型超參數(shù)進行微調(diào),充分訓(xùn)練和調(diào)整模型的語義層面的參數(shù)信息,提取出具有區(qū)分性的圖像特征,最終得到最適合該類圖像數(shù)據(jù)集的基于遷移學(xué)習(xí)的EfficientNet圖像分類模型。
具體圖像分類順序如圖3所示。
圖3 基于遷移學(xué)習(xí)的EfficientNet圖像分類算法順序
NID中9大類圖像分別通過基于遷移學(xué)習(xí)的EfficientNet圖像分類算法得到9種不同參數(shù)的EfficientNet模型,其中包括獸類、鳥類、花類、昆蟲、景物類、樹類、水生動物、天氣、人等。將這9種EfficientNet模型部署為一種融合模型,用于系統(tǒng)中圖像處理的應(yīng)用,圖像識別與詩詞搜索的系統(tǒng)框架如圖4所示。其中的圖像處理過程可以分為兩個過程,第一個過程是圖像裁剪、預(yù)處理,第二個過程是將預(yù)處理后的圖像進行通道融合,選取相應(yīng)的分類模型進行識別,將分類之后的輸出結(jié)果傳送到詩詞數(shù)據(jù)庫中進行下一步的搜索處理,圖像分類過程的基本流程如圖4所示。
(3)與職業(yè)技能鑒定相銜接??谇唤萄惺曳e極與自治區(qū)職業(yè)技能鑒定中心聯(lián)系,將技能競賽項目和內(nèi)容與國家職業(yè)資格標準相結(jié)合,口腔技能競賽項目與職業(yè)技能鑒定操作題相結(jié)合,使學(xué)生通過參與競賽訓(xùn)練,達到職業(yè)資格標準的要求,取得相應(yīng)的職業(yè)資格證書。這樣,一方面可使競賽資源得到有效利用,另一方面可增強學(xué)生參賽的積極性和競賽的實效性。
圖4 圖像分類過程的基本流程
3.1.1 環(huán)境設(shè)置
本實驗均在kaggle平臺上進行,使用python編程語言結(jié)合深度學(xué)習(xí)模型TensorFlow的高階API:tf.keras實現(xiàn)神經(jīng)網(wǎng)絡(luò)的搭建、訓(xùn)練和測試。環(huán)境配置如下:操作系統(tǒng)為Windows10;GPU為Nvidia Tesla P100-PCIE-16 GB 1.328 5 GHz;CPU Frequency為2.3 GHz;RAM為14 GB;Disk為5.2 GB。
3.1.2 參數(shù)設(shè)置
該文使用TensorFlow的深度學(xué)習(xí)庫Keras構(gòu)建基于遷移學(xué)習(xí)的圖像分類模型,通過EfficientNet模型遷移學(xué)習(xí),設(shè)置學(xué)習(xí)率0.001,批尺寸128,采用AMSGrad優(yōu)化器及交叉熵損失函數(shù),實現(xiàn)了對NID的特征提取和分類。
AMSGrad算法針對Adam算法收斂性證明的缺陷,對Adam的更新規(guī)則做出了一些改進,在某些應(yīng)用場景下?lián)碛谐^Adam算法的收斂速度。
3.2.1 多EfficientNet融合模型結(jié)果分析
實驗過程中分別在NID上對9種模型進行訓(xùn)練,實驗訓(xùn)練總輪數(shù)為15輪,在訓(xùn)練過程中計算出每一輪的平均損失值,所有的損失值都隨著訓(xùn)練輪數(shù)的增加而減小,收斂速度較快,并未出現(xiàn)過擬合現(xiàn)象。根據(jù)記錄下的每一種模型精度繪制的變化圖可以看出,模型精度也在隨訓(xùn)練輪數(shù)的增加趨于穩(wěn)定,其中每一類圖像的分類精度如表3所示,9種模型的損失值和精確率變化情況如圖5所示。
(a)9種模型的損失值變化曲線 (b)9種模型的精確率變化曲線
表3 NID的分類結(jié)果
由表3可知,文中方法圖像分類結(jié)果均在90%以上,精確率最高的一類為水生動物,達到了99.62%,相對來說精確率較低的一類為鳥類,精確率為91.88%。
結(jié)合圖5來看,基于遷移學(xué)習(xí)的EfficientNet的圖像分類算法使NID的各類別圖像的平均精確率達到了96.25%。這足以說明在NID圖像分類研究方面的有效性。文中采用的遷移學(xué)習(xí)思想提取了深度特征避免了模型過擬合,同時結(jié)合低層特征來充分表達圖像信息,使得文中分類算法更穩(wěn)定,魯棒性更強。
3.2.2 不同模型實驗結(jié)果分析
為了驗證EfficientNet對于NID的分類效果優(yōu)于其他模型,將EfficientNet與Xception、Inception-V3、VGG16、ResNet50四種模型作比較,在構(gòu)建的花類物種數(shù)據(jù)集上進行對比實驗,結(jié)果如表4所示??梢钥闯?,文中算法的精確率分別較Xception、Inception-V3、VGG16、ResNet50模型高5.11%、4.31%、13.32%、8.2%,且參數(shù)量為11 574 063,相比其他四種算法的參數(shù)量大大減少,降低了運算復(fù)雜度,減少了運算時間,符合項目中對圖像分類的要求。
表4 EfficientNet模型與其他模型的對比
文中構(gòu)建了一個大型的詩詞圖像數(shù)據(jù)集NID,在此基礎(chǔ)上提出了一種基于遷移學(xué)習(xí)的多EfficientNet融合的圖像分類算法模型,并取得了良好的分類效果,各類圖像的平均識別率為96.25%,收斂速度快,且訓(xùn)練集和驗證集之間并未出現(xiàn)過擬合現(xiàn)象。對比其他四個模型,實驗結(jié)果表明,文中采用的模型識別結(jié)果穩(wěn)定,且在NID上的識別率最高。
本研究僅對數(shù)據(jù)集中包含的60種意象景物進行了分類識別實驗,要建立有效的、用于詩詞搜索的圖像識別系統(tǒng),就要有更強大的訓(xùn)練數(shù)據(jù)作為基礎(chǔ),并且在提升模型的識別率,同時持續(xù)補充詩詞庫,以保證搜索到更全面、更精確的詩詞。因此,在后期的工作中將補充圖像數(shù)據(jù)研究種類、豐富詩詞庫,并增加圖像識別模型識別的特征目標,以便獲取更多的圖像數(shù)據(jù)信息,以建立更準確的詩詞搜索系統(tǒng)。