楊 云, 史雯倩, 宋清漪
(陜西科技大學 電子信息與人工智能學院, 陜西 西安 710021)
古陶瓷器型是判斷古陶瓷年代來源的重要特征之一,鑒定專家也通常以器型作為鑒定的重點考量因素,但是各個朝代、窯口所燒制古陶瓷器型的類別之間差別較小,例如瓶、罐、尊等,需要考量多方面因素,才能準確分辨古陶瓷器型類別.
對于古陶瓷器型識別分類,翁政魁等[1]通過機器學習手段,提取古陶瓷器形的邊緣信息,再利用差分鏈碼[2]獲取器形結構以及特征.羅宏杰等[3]采用多元統(tǒng)計分析方法分析古陶瓷的結構信息,實現(xiàn)器形分類,但實驗參數(shù)對最終結果影響十分大.Juan Wu等[4]利用曲線擬合方法提取器形的邊緣信息,但是準確度不夠高.還有其他學者將統(tǒng)計學習方法應用到了器型分類中[5-7].
以上所提均是提取古陶瓷器型的外形特征,像器形高度、器形口徑、器形的邊緣信息等,但是這類特征比較簡單,不能很好的描述古陶瓷的器形特征,對于多種多樣的古陶瓷外形結構沒有辦法全面的描述,并且傳統(tǒng)方法學習特征過程中參數(shù)調(diào)節(jié)對分類結果影響較大.而深度學習可以對圖像數(shù)據(jù)進行整體性特征學習,從大量的數(shù)據(jù)集樣本中學習得到更深層次的、更加豐富的數(shù)據(jù)集特征表示矩陣,對數(shù)據(jù)的表達更加高效準確,近些年來,深度學習也逐漸成為醫(yī)學[8]、人臉[9]、工業(yè)[10]等圖像識別領域中重要的方法之一,應用十分廣泛.
因此,為構建基于器型的古陶瓷主要成分-結構-工藝-功能等信息對比展示的特色古陶瓷多元信息管理體系,提出將深度學習圖像分類算法應用于古陶瓷文物保護領域,嘗試利用卷積神經(jīng)網(wǎng)絡實現(xiàn)古陶瓷器型分類,研究適用于古陶瓷數(shù)據(jù)集分類的卷積神經(jīng)網(wǎng)絡模型,最終實現(xiàn)基于器形的古陶瓷多元信息管理體系入庫按器形自動分類.
古陶瓷器型分類應用于古陶瓷多元信息管理體系中,選擇基礎算法要求在節(jié)約計算成本的條件下,分類準確率盡可能高,其次網(wǎng)絡模型不宜過深,AlexNet[11]、NIN[12]、ENet[13]、GoogLeNet[14]、ResNet-18[15]網(wǎng)絡模型相對簡單,并且計算量以及參數(shù)利用率高.但是AlexNet和NIN 分類準確率相對較低,ENet、ResNet-18、GoogLeNet中GoogLeNet靜態(tài)參數(shù)分配和相應內(nèi)存小.結合各網(wǎng)絡參數(shù)量、分類準確率、參數(shù)利用率、內(nèi)存占用、操作數(shù)量、推理時間、功耗等各方面因素,參考實驗對比[16],選取GoogLeNet算法作為基礎分類網(wǎng)絡.
2014年Google公司,打破常規(guī)卷積神經(jīng)網(wǎng)絡的堆疊卷積層的結構,提出22層的GoogLeNet[14]網(wǎng)絡結構,從增加網(wǎng)絡的寬度,而不是增加網(wǎng)絡深度出發(fā)來構建網(wǎng)絡模型.利用逐層構建的思想,并在每層嵌入具有高相關性的單元組Inception塊,塊內(nèi)結構如圖1所示.
圖1 Inception結構圖
Inception塊內(nèi)部考慮到網(wǎng)絡方便對齊,卷積之后可以得到相同維度的特征,采用1×1、3×3和5×5大小的卷積核和3×3池化.塊內(nèi)各通道設置不同大小的感受野,由于塊內(nèi)存在大卷積核,考慮到計算成本,采用1×1卷積核來進行降維,以輸入28×28×192為例(此處參數(shù)量計算忽略偏置值),若第三條支路為5×5卷積,則所需參數(shù)量為5×5×192×32=153 600,而加入1×1卷積進行降維后,所需參數(shù)量為1×1×192×16+5×5×16×32=158 72,極大的減少了參數(shù)數(shù)量,加快了計算速度.最后四條支路進行拼接操作,使不同尺度特征相融合.
2017年,Momenta公司在圖像分類大賽上提出了SENet[17],通過設計壓縮與激勵機制,來提升網(wǎng)絡模型對通道特征的敏感性,其原理如圖2所示.
圖2 壓縮與激勵機制原理圖
首先,通過已經(jīng)給定的映射條件Ftr,將輸入特征X映射到U,其中X∈R(H1×W1×C1),U∈R(H×W×C).然后,將特征U經(jīng)過壓縮(Squeeze)操作Fsq和激勵(Excitation)操作Fex,生成特征圖像每個通道的權重集合,得到輸出S,S∈R(H×W×C).最后,將輸出S應用于U,即Fscale操作,生成SE塊的輸出,其可直接后向反饋給網(wǎng)絡的后續(xù)層.
考慮到輸出特征圖中各通道特征數(shù)量的關系,由于每個通道的卷積核各自擁有不同的感受野,從而輸出不同數(shù)據(jù)單元的特征信息,數(shù)據(jù)單元以外的信息未被很好的利用.因此,加入壓縮操作.過濾器在輸出特征中的每個通道上進行操作,利用通道之間的依賴關系,讓U的每個單元更好的利用輸入輸出信息,利用壓縮操作將全局信息進行壓縮.統(tǒng)計信息Z∈Rc由壓縮U實現(xiàn),具體計算如式(1)所示.
(1)
壓縮操作后,特征圖中不同位置的特征信息相互融合,用其統(tǒng)計數(shù)據(jù)來表現(xiàn)整個圖像,池化操作使用全局池化,實現(xiàn)最后特征信息統(tǒng)計.
s=Fex(z,W)=σ(g(z,W))=σ(W2δ(W1z))
(2)
Fscale(uc,sc)=scuc
(3)
2015年圖像分類大賽中,何凱明提出ResNet網(wǎng)絡結構,利用殘差結構,減輕了由于網(wǎng)絡層數(shù)加深和權重矩陣退化導致的網(wǎng)絡退化問題.在殘差結構中,使用非線性變化函數(shù)來描述一個網(wǎng)絡的輸入輸出,圖3為殘差結構原理圖,其中F(x)中包括卷積、激活等操作.
圖3 殘差結構原理圖
圖4為加入壓縮與激勵機制后的網(wǎng)絡結構.將其稱為SE-Inception塊,和原有Inception塊相比,從兩方面對其進行改進:
圖4 SE-Inception結構圖
第一部分為Inception塊內(nèi)結構調(diào)整,在新的Inception塊中,原Inception塊內(nèi)第三條支路中,第一層1×1降維卷積保持不變,第二層5×5大卷積核,將其替換為3×3卷積核[18],以此簡化計算.池化部分采用最大池化方式,網(wǎng)絡寬度得以增加,優(yōu)化后Inception塊內(nèi)網(wǎng)絡結構,當輸入圖像尺度變化時,訓練網(wǎng)絡計算復雜度降低,在提取特征的同時,節(jié)約計算成本.
第二部分加入壓縮與激勵機制,在上述調(diào)整Inception塊內(nèi)結構后加入壓縮與激勵機制,提取更深層古陶瓷圖像特征,具體結構為全局池化層后面連接兩個全連接層:第一個全連接層為1×1×c/r,使用激活函數(shù)為Relu函數(shù),此處r值取16時網(wǎng)絡模型訓練效果最好,r取值對模型訓練結果的影響分析見后續(xù)實驗部分;第二個全連接層為1×1×c,使用激活函數(shù)為Sigmoid函數(shù).
在Inception塊后加入壓縮與激勵機制能夠提取更深層次特征信息,但是加入擠壓與激勵機制,即加入SE block后,得到的SE-Inception塊相較調(diào)整后Inception block網(wǎng)絡層數(shù)有所增加.網(wǎng)絡層數(shù)增加帶來的問題就是信息損失和梯度損失加大,而殘差思想?yún)s可以很好地緩解這些問題.因此,提出在各SE-Inception塊間添加跳線,在性能相同的前提下,添加層間的旁路,將SE-Inception上一層特征信息和本層特征輸出進行線性疊加,減輕訓練深度神經(jīng)網(wǎng)絡時權重矩陣的退化,具體連接方式如圖5所示.另外,在各層進行殘差連接時,可以根據(jù)實際各層輸入輸出圖像大小,添加不同數(shù)量的1×1卷積核對輸入輸出特征圖進行調(diào)整.
圖5 SE-Res-Inception結構圖
最終改進后的SRG(SE-Res-GoogLeNet)網(wǎng)絡結構如圖6所示,網(wǎng)絡結構在GoogLeNet的基礎上對其Inception塊內(nèi)結構進行調(diào)整,另外,在Inception塊后加入壓縮與激勵機制,提取更高層次特征信息,用SE-Inception塊,替換掉原本網(wǎng)絡中部分Inception塊.其次,為更大程度上減弱網(wǎng)絡退化,參考殘差思想,在SE-Inception塊和Inception塊間增加殘差連接.
圖6第一部分為網(wǎng)絡初始輸入Input block,保持原網(wǎng)絡結構不變,7×7卷積層提取輸入圖像整體特征圖,池化層簡化參數(shù)矩陣的尺寸,后接1×1和3×3卷積核,在池化層和3×3卷積核后接歸一化層,統(tǒng)一輸入數(shù)據(jù)分布性.
圖6 SE-Res-GoogLeNet網(wǎng)絡結構圖
第二部分為調(diào)整Inception塊內(nèi)結構后并加入殘差連接的Res-Inception block,在調(diào)整后Inception塊間增加殘差連接,實現(xiàn)特征線性疊加,增強模型特征提取能力.
第三部分為SE-Res-Inception block,以加入壓縮與激勵機制后的SE-Inception塊為基礎,并加入殘差連接,提取深層特征,減輕權重矩陣的退化問題.
第四部分為輸出部分Output block,保持原網(wǎng)絡不變.分別為平均池化層,后接7×7全連接層,最后為SoftMax層.
古陶瓷特征圖像實驗數(shù)據(jù)集為自制數(shù)據(jù)集,考慮到文物信息缺失等其他情況,古陶瓷文物圖像數(shù)據(jù)集數(shù)量較少,為了提高模型泛化能力和模型訓練效果,測試數(shù)據(jù)集以及實驗數(shù)據(jù)集來源若僅包含數(shù)據(jù)庫中存儲的古陶瓷文物圖像樣本,在進行網(wǎng)絡訓練的時候模型很可能很快就會出現(xiàn)過擬合的情況.因此,采用數(shù)據(jù)增強操作擴充已有古陶瓷圖像數(shù)據(jù)集.
實驗使用自制古陶瓷器型圖像數(shù)據(jù)集,提取該數(shù)據(jù)集中古陶瓷器型生活類的器型圖片,包含瓶、碗、盤、壺、罐、盆、杯、爐、洗、尊十類古陶瓷器型JPG格式圖像.原始數(shù)據(jù)集包含杯、罐、壺、爐、盤、盆、瓶、碗、洗、尊各353、332、422、251、450、297、391、415、262、250張,總計3 423張,對該原始數(shù)據(jù)集進行擴充.
采用數(shù)據(jù)增強擴充數(shù)據(jù)集,包括翻轉、旋轉、隨機顏色、對比度增強、亮度增強、顏色增強、椒鹽噪聲、高斯模糊共計八種處理方法,為保證數(shù)據(jù)集各類樣本數(shù)量均衡,對各類隨機選取數(shù)據(jù)增強操作中的6、6、5、8、5、7、5、5、8、8種處理方法對十類原始數(shù)據(jù)集進行處理,去除擴充數(shù)據(jù)集過程中出現(xiàn)損壞的圖片數(shù)量,得到包含總圖像數(shù)20 623張的古陶瓷器形數(shù)據(jù)集.按照6∶1比例劃分訓練集和測試集圖像,其中訓練集包括古陶瓷圖像17 678張,測試集2 945張,樣本數(shù)量統(tǒng)計如表1所示.
表1 古陶瓷數(shù)據(jù)集各類樣本數(shù)量統(tǒng)計
在調(diào)整訓練深度神經(jīng)網(wǎng)絡時,學習速率是十分重要的超參數(shù).使用周期性學習率而不是固定值的學習率訓練網(wǎng)絡,可以提高分類精度和網(wǎng)絡收斂速度.經(jīng)過實驗調(diào)參,本次實驗使用的超參數(shù)如下:
參數(shù)空間中存在的大多是鞍點或者表現(xiàn)較差的極小值點,前者會嚴重影響模型的學習效率,后者會使得模型的最終表現(xiàn)變差[19].因此,本次實驗中使用循環(huán)學習率(Cyclical Learning Rates)[20]中triangular2方法,使學習率在合理的邊值之間周期性地變化.初始學習率設置為0.008,最大學習率設置為0.01,使用循環(huán)學習率之后,學習率變化曲線如圖7所示.
圖7 循環(huán)學習率變化曲線圖
實驗使用TF_Slim深度學習框架,數(shù)據(jù)預處理使用批量歸一化處理數(shù)據(jù)集圖片,生成train.tfrecords和val.tfrecords數(shù)據(jù)格式文件,進行網(wǎng)絡訓練,并測試最終結果.
SRG算法從調(diào)整Inception塊內(nèi)結構、加入壓縮與激勵機制、加入殘差連接三方面進行改進.GoogLeNet原網(wǎng)絡結構為重復的Inception塊的組合,因此實驗對比各類型Inception塊的參數(shù)量(params)以及計算量(ops),便可以得出最終改進后的SRG網(wǎng)絡和原GoogLeNet網(wǎng)絡的參數(shù)量和計算量變化情況.
將輸入分別為28×28×192和28×28×256的Inception塊參數(shù)進行對比,數(shù)據(jù)對比如表2所示.由表2可以看出,調(diào)整后Inception塊參數(shù)量和計算量明顯減少,加入壓縮與激勵機制后,雖然參數(shù)量和計算量有所增加,但和原Inception塊相比仍然相對較小.因此,SRG網(wǎng)絡模型內(nèi)采用SE-Inception塊,可以在提高特征提取能力的同時,節(jié)省計算成本.
表2 各類Inception參數(shù)量分析
SE-Inception塊內(nèi)第三條支路卷積核大小由5×5調(diào)整為3×3時的訓練結果對比如表3所示.由表3可以看出,修改卷積塊大小后,訓練總時長明顯減少,分類準確率變化不大,因此,模型綜合考慮訓練時長和訓練分類準確率兩方面因素,最終使用3×3卷積核.
表3 SE-Inception塊內(nèi)卷積核大小對訓練結果的影響對比
SRG算法中加入壓縮與激勵機制,在第一層全連接層,特征壓縮時選擇1×1×c/r全連接層,實驗針對此處r分別取四個不同的值,測試SRG網(wǎng)絡在古陶瓷數(shù)據(jù)集上的分類準確率,其結果如表4所示.由表4可以看出,r取16時,SRG網(wǎng)絡在古陶瓷數(shù)據(jù)集上表現(xiàn)較好.
表4 r取值對模型的影響分析
對SRG網(wǎng)絡模型進行訓練時,分別采用不變的學習率和循環(huán)學習率進行對比,統(tǒng)計訓練集損失變化數(shù)據(jù),實驗結果如圖8所示.由圖8可以看出,網(wǎng)絡訓練采用循環(huán)學習率時,模型收斂速度加快.因此,SRG網(wǎng)絡模型超參數(shù)最終決定采用循環(huán)學習率方法.
圖8 學習率對訓練模型的影響對比
現(xiàn)在對各分類網(wǎng)絡結構的分類準確率進行對比.第一部分為原GoogLeNet網(wǎng)絡;第二部分中將原GoogLeNet網(wǎng)絡內(nèi)部的Inception塊替換為SE-Inception塊,更改后的網(wǎng)絡稱為SE-GoogLeNet網(wǎng)絡;第三部分為在SE-GoogLeNet網(wǎng)絡的基礎上,在其Inception塊和SE-Inception塊間加入殘差連接后的SRG網(wǎng)絡.
將制作好的tfrecords格式古陶瓷數(shù)據(jù)集進行訓練,計算最終分類準確率和錯誤率.表5為各網(wǎng)絡Top1和Top5的錯誤率對比分析.圖9為各網(wǎng)絡的測試集分類準確率和網(wǎng)絡訓練迭代次數(shù)的準確率變化曲線圖.
表5 分類錯誤率分析
由表5和圖9實驗結果可以看出,SRG網(wǎng)絡模型在古陶瓷器型數(shù)據(jù)集上分類表現(xiàn)最好,最終測試集Top5分類準確率可達到95.15%.另外,在上述實驗部分,經(jīng)過各類型Inception塊的參數(shù)量和計算量對比,得出SRG網(wǎng)絡模型內(nèi)采用SE-Inception塊時,可以節(jié)省計算成本.因此,SRG網(wǎng)絡在分類精度和計算成本兩方面都可以滿足古陶瓷器形分類需求.
圖9 測試集準確率變化曲線圖
針對GoogLeNet網(wǎng)絡在古陶瓷器型數(shù)據(jù)集上的分類問題,提出基于壓縮與激勵機制和殘差連接的改進SRG算法,實現(xiàn)古陶瓷器型分類,得到結論如下:
通過加入壓縮與激勵機制,得到SE-Inception塊,可以更好的提升網(wǎng)絡對圖像特征的深層特征提取能力.經(jīng)過實驗,SRG算法在古陶瓷數(shù)據(jù)集上得到95.15%的Top-5分類準確率,效果優(yōu)于GoogLeNet和SE-GoogLeNet.從計算成本考慮,SRG網(wǎng)絡也表現(xiàn)最佳,成本最小,達到分類要求.在古陶瓷器型識別問題上,SRG網(wǎng)絡適用性更佳.