?

基于卷積神經網絡的唐卡尊像自動分類研究

2022-01-09 05:19陳玉紅劉曉靜
計算機技術與發展 2021年12期
關鍵詞:唐卡卷積準確率

陳玉紅,劉曉靜

(青海大學 計算機技術與應用系,青海 西寧 811601)

0 引 言

唐卡是用顏料或其他材料涂在彩色絲綢上的宗教卷軸畫。它是一種具有地方特色的繪畫形式[1],也是中國重要的非物質文化遺產之一。唐卡內容豐富,包括建筑物、醫藥學、天文歷算、傳奇故事等[2]。由于唐卡生產材料、涂料、地理環境、自然環境和宗教文化的特殊性,僅存在于少數地區且現存數量較少。此外,唐卡內容廣泛,色澤鮮艷,整個畫面層次分明,前景和背景區分不明顯,構圖復雜,結構嚴謹,一幅唐卡畫像首先按照造像量度標準起稿,面部五官、頭、胸、腰等各個部位都有嚴格的要求。唐卡畫家通常需要多年的實踐才能繪制出真正的唐卡[3],并且唐卡畫像保存有一定的難度,難以處理受潮、水漬、霉斑、臟化等問題,因此數量較少。以上兩個主要原因加上唐卡是中國的非物質文化遺產,要加大力度研究唐卡的數字化保護,為保護唐卡貢獻自己的一份力量。

分類時較其他類型圖像存在的挑戰:

(1)唐卡圖像和一般圖像相比,內容豐富,構圖復雜。如圖1(b)所示,同一幅唐卡圖像中,各個尊像的手勢、坐姿、服裝都有不同之處,人物之外的地方,細節精細,構圖元素非常復雜且背景干擾大。在唐卡圖像當中,背景復雜,構圖元素極多,對唐卡尊像分類干擾較大,這使得分類難度加大。

(2)類內差大,即同一類的物體表觀特征差別比較大。如圖1(c)、(d)所示,從唐卡分類規則得知,手拿寶劍的都是文殊菩薩,但是外觀卻差別很大。

(3)類間模糊性大,即不是同一類物體的實例具有一定的相似性。如圖1(e)、(f)所示,分別為黃財神、財寶天王,但相似性較大。

圖1 不同的唐卡尊像圖像

該文首次構建了一個有關唐卡尊像的數據集,首次應用卷積神經網絡對唐卡尊像圖像進行分類。在唐卡專業分類知識的前提下,通過設計的CNN網絡模型,根據內容對唐卡尊像進行分類,為研究人員提供了便利,讓越來越多的人理解和保護唐卡。

該文的主要貢獻在于:構建了尊像唐卡分類數據集,并提出了一個淺層的CNN模型進行唐卡尊像分類,該CNN模型結合了AlexNet[4]、VGG16[5]、ResNet[6]模型的優點。最后,在同一個唐卡數據集上將優化的模型和其他典型分類模型進行了比較。

1 相關工作

圖像分類分為基于特征學習和深度學習的圖像分類方法,但對唐卡圖像的研究較少。下面將分別介紹傳統常見的圖像分類方法、基于深度學習的圖像分類方法和對唐卡圖像的研究。

周依蓮提出一種特征選擇策略,在得到最優特征集的同時也可以約束不相關特征,從而實現了CT圖像的不同類型肺癌分類,準確率達到86%左右[7];李奇峰提出在遙感影像分類中采用不同的方式進行紋理特征提取,然后和光譜特征相結合,并利用支持向量機(support vector machine,SVM)分類器進行遙感影像分類的方法,分類精度提升10%[8];黃萬繼將尺度不變特征變換(scale-invariant feature transform,SIFT)和SVM相結合應用到場景識別方面,與其他傳統方法相比,分類準確率達85.12%[9];晉遠等人用貝葉斯分類器進行家電設備識別,對每個設備類別的條件概率估計,最終識別正確率達91%[10]。

除此以外,圖像分類還包括電器標簽分類[11]、交通標志分類[12-13]、花卉圖像分類[14]、果蔬圖像分類[15-16]等方面,但近幾年,應用深度學習進行圖像分類的研究也愈發增多,尤其是在CNN基礎上進行分類研究的[17-18]。

在零售情況未知的情況下,用架構相同,但是矩陣權重不同的兩個九層卷積神經網絡對水果進行分類,兩個網絡分別分類水果類別和區分水果品種,最終對于同一品種的水果分類準確度達到99.78%[19];童浩然將ImageNet數據集和MNIST數據集用于改進和優化CNN,在使用Inception結構時分別使用了Dropout和Adam算法,最終識別率得到提高,達96.53%[20];謝瀟雨提出卷積神經網絡模型的批量歸一化處理,之后經過全連接層的傳遞,并通過輸出層獲得最終的分類結果,從而提高了入侵檢測系統的準確率和檢出率[21];任飛凱通過局部二值模式(local binary patterns,LBP)特征臉作為CNN的輸入,同時采用Adam算法優化模型,融入Nesterov動量思想并通過改進二階估計偏差修正來使學習率呈現單調遞減的狀態,實驗結果顯示優化后的模型收斂性更好,人臉識別效果更佳,準確率高達91.05%[22];江白華在CNN模型結構中引入DenseNet稠密連接結構,并使用批歸一化與Dropout層,選擇Adam優化網絡參數,Relu作為激活函數,實現了人臉在線識別,并通過與VGG16、ResNet14模型對比,驗證該模型的性能優異,在線識別準確率達92.5%[23];黃雪麗等人用SMOTE技術擴增數據,將數據直接輸入到CNN模型中,國畫圖像的分類方法是基于Relu和Sigmoid激活函數的組合,準確率達91.55%[24];朱等人改進CNN,將全連接的層數減少一層,并用具有七個缺陷標簽的Softmax分類層替換了Softmax分類器。卷積層和池化層的權重參數在預訓練模型中共享,此模型對于水泥混凝土橋梁表面缺陷的分類準確率有98.96%[25]。

卷積神經網絡有較多改進版本,主要方法就是采用Adam算法優化模型,通過批歸一化與Dropout改善網絡,緩解過擬合,不同作者有不同的網絡模型,但是在唐卡方面的工作并不是很多。國內主要是對破損唐卡進行修復[26],提出的修復方法主要適用于對稱性唐卡;再者就是唐卡圖像的檢索以及局部圖像的識別[27],李曉杰將局部累加直方圖和傳統局部累加圖進行對比,研究發現基于HSV空間的局部累加直方圖方法更適用于唐卡圖像的檢索[28];王鐵君等人提出一種融合Hu矩和局部二進制模式的圖像特征提取方法, 在此基礎上,提出了一種基于距離密度的改進的K近鄰分類算法,待識別唐卡法器所屬的種類與周圍鄰居點的距離越近,相關度越高[29];王鐵君等人基于改進的SVM分類方法,根據主題對唐卡圖像進行分類,然后從兩個層次上標記唐卡中數量最多的圣像類唐卡,根據監督學習算法實現自動識別與標注唐卡中的法器、頭飾和手勢,得到標注關鍵詞,與已建立的推理規則進行查詢推理,實現唐卡圖像的全局二次標注[30-31]。謝輝和其他人僅用了簡單的分類規則,他們將唐卡分為四類,一種是基于不同的背景:紅色、金色、黑色和彩色; 另一個是根據內容來判斷,將唐卡分為佛、菩薩、宗師等,沒有更詳細的分類[32]。劉華明等人將唐卡頭飾通過自我編碼進行監督學習,然后在卷積池化操作過程之后輸入標記的訓練樣本以訓練Softmax分類器,此論文方法在唐卡頭飾分類方面具有較好的分類性能[33]。

解輝等人僅對尊像類唐卡根據內容進行了簡單的分類,并沒有更詳細的分類,因此,該文在此基礎上對尊像類唐卡進行了更詳盡的分類,并建立了分類數據集。從唐卡的復原,目標識別與檢索的研究角度來看,尚無關于尊像唐卡圖像分類與識別的研究。因此,該文提出了一種改進的CNN模型,用于對唐卡人像進行分類。實驗證明,該模型在唐卡尊像圖像分類中具有比典型模型更好的效果。該實驗為唐卡研究人員提供了便利,使越來越多的人了解唐卡,并加入保護唐卡的行列。越來越多的人可以理解、探索和研究唐卡文化和藝術的真正價值,繼承和發揚唐卡文化的優良傳統,更有利于對這一非物質文化遺產進行數字保護。

2 數據集

2.1 唐卡分類規則

根據唐卡相關書籍《世界最美唐卡—三界故事》、《中國唐卡》學習得到的圣像類唐卡相關知識,將唐卡根據主尊的類別進行分類,根據有關書籍分類知識的總結歸納一共將唐卡分為六大類,其中每一類別又可以具體細分。

在實驗當中,一共選取了13個小類進行實驗,其中,如圖2(a)所示,釋迦牟尼佛為黃色身,發髻高聳,身披袈裟,結痂跌坐于法臺上;圖2(b)為四臂觀音,共有四只手,一般中間兩手合掌于胸前,右上手持水晶念珠,左手持蓮花;圖2(c)為白度母,主要形象特征是身體為白色,面有三目,上身袒露,左右手手心中各有一眼,左手于胸前執蓮花;圖2(d)為藥師佛,雖然和釋迦牟尼佛很相似,但是也有不同之處,藥師佛身體一般為藍色,右手膝前執一果樹枝,左手臍前捧佛缽。根據前述圣像類唐卡人物的分類知識以及其他尊像分類的知識,將圖2所示的唐卡人物等進行分類。

圖2 不同的唐卡尊像圖像

2.2 獲取原始唐卡圖像

唐卡圖像通過多種渠道獲取,途徑一:通過爬蟲技術從網上下載唐卡圖像,然后手動篩選,將不是唐卡圖像、圖像不完整,殘缺較多的圖像剔除;途徑二:將唐卡相關書籍《故宮唐卡圖典》、《西藏唐卡(精)》、《熱貢年都乎唐卡藝術》上的唐卡圖像用掃描儀進行掃描得到;途徑三:通過走訪唐卡繪制大師,了解唐卡相關知識,并征得同意后進行唐卡圖像的拍攝;整個數據集的收集花費時間較長。

2.3 構建唐卡數據集

由于唐卡圖像數量有限且不均勻,難以滿足神經網絡模型需要大量數據的要求,因此對數量比較少的圖像進行數據增強,通過鏡像翻轉、亮度增強、顏色增強、對比度增強、添加高斯噪聲、椒鹽噪聲等操作擴充數據集,使測試集在數量擴大的同時大致均勻,其中,鏡像翻轉操作包括上下翻轉和左右翻轉;亮度增強包括使圖片變亮和變暗,分別取原來圖片明暗度的1.5倍和0.6倍;顏色增強取值為原來顏色的1.8倍,對比度增強是原來圖片的1.5倍;在原來的RGB圖像中加入均值為0,方差為0.006的高斯噪聲;椒鹽噪聲即在RGB圖像中加入的噪聲密度為0.008。擴增后的數據集數量是擴增前的8倍。整個數據集包含19 895張唐卡圖像。整個數據集共有13個類別,其中藥師佛、釋迦牟尼佛和蓮花生大師占很大的比例,其余的分布均勻,圖像大小均為(100,100)。

3 卷積神經網絡模型構建

3.1 卷積神經網絡基本原理

CNN是一種前饋神經網絡,包括卷積運算,具有深層的網絡結構[34]。它用于圖像領域的監督學習中,并在圖像識別[35]、圖像檢測[36-37]等方面有許多應用。 CNN的基本結構包括輸入層、卷積層、池化層和完整連接層。

卷積層主要負責提取圖像中的局部特征,主要通過卷積核的過濾提取出圖片中的局部特征,卷積層的計算過程為用卷積核掃描整個圖片,卷積操作利用共享權值和偏置值的特點來進行卷積操作從而提取得到數據的抽象特征。

池化層經常出現在兩個卷積層之間,以減小尺寸,有效減小矩陣的大小以實現下采樣,減少輸入到最后一個全連接層的參數,并減少數據操作量,避免數據的過擬合[38]。

全連接層類似于傳統神經網絡的一部分,用于輸出所需的結果。卷積層和池化層處理的數據可以輸入到全連接層,輸出結果是將所有數據組合成全局特征以獲得最終的分類結果。

激活函數用于提供網絡的非線性建模功能,將非線性元素引入神經網絡,使神經網絡能夠完成非線性映射,并允許深度神經網絡具有學習非線性的能力[39],因此在深度神經網絡學習過程中加入激活函數非常重要。常見的激活函數有Sigmoid、Elu、Tanh以及Relu等[40],該文采用Relu函數,如公式(1)所示:

f(x)=max(0,x)

(1)

Relu函數的運算極其簡單,直接取0和x的最大值即可,提升機器運行效率。

直接輸入圖像作為CNN的輸入。在進行平均、歸一化和其他操作之后,將圖像信息轉換為像素級信息,然后輸入到卷積層。通過局部感知和權重共享來減少大量計算參數,使用Relu激活函數來加快收斂速度;使用最大池化層,即使用激活層輸出的樣本的最大值作為樣本值;最后,在完全連接操作之后,將多組信號依次組合為一組信號,然后輸出結果。

3.2 設計網絡模型

該文的網絡模型基于CNN的基本模型,并結合了其他模型的優點。卷積神經網絡的基本結構包括輸入層、卷積層、激活層、池化層和完全連接層。主要介紹以下部分:

(1)Dropout層。AlexNet模型引入了Relu激活功能和Dropout層。隨機丟棄會阻止某些權重被更新。這是一種正則化技術通過在訓練過程中防止神經元節點之間的關節適應來減少過度擬合。

(2)BatchNorm[41]。GoogleNet模型首次引入BatchNorm,以批量標準化每個池化層處理的數據,加快訓練數據的收斂速度并減少不同批次之間的抖動,從而提高訓練速度。

(3)512維全連接層。 VGG16模型引入了提到的512維全連接層。

(4)損失功能。損失函數使用交叉熵損失函數。此功能通常用于分類問題,它將其與激活函數softmax結合使用以獲得損耗值。計算公式如下:

(2)

(5)優化函數。該文使用Adam算法來提高模型質量并減少計算量?;趽p失函數和圖像的準確性來判斷是否達到準確性比率的最佳值。

網絡模型如圖3所示,其中Conv為卷積層,Relu為激活函數,BN為批量歸一化層,Pooling為池化層,FC指的是全連接層,softmax函數保證歸一化和為1,在分類場景中應用較多。

圖3 卷積神經網絡模型

4 實驗及分析

4.1 實驗步驟

唐卡人物分類的流程主要包括圖像預處理、模型構建以及模型預測。

步驟一:唐卡尊像圖像預處理。

(1)將樣本集中的所有圖像進行鏡像翻轉、亮度增強、亮度減弱、顏色增強、添加高斯噪聲、椒鹽噪聲等圖像增強的預處理操作;

(2)生成對應的數據列表,對圖片進行縮放,裁剪為100×100的尺寸,即圖片維度為(3,100,100)。然后將圖片數組進行歸一化處理,得到0與1之間的數值;

(3)將所有的圣像類唐卡圖像樣本輸入,并隨機抽取每個小類里的十分之一的樣本作為測試集圖像,其他部分作為訓練集樣本。

步驟二:構建CNN基本模型。

(1)所構建的CNN基本網絡結構主要包括三組卷積層、池化層和完全連接層;

(2)將學習率初始化為0.01,Batch size大小設定為128進行實驗,若準確率不再提高,則將學習率每次降低10倍,Batch size大小根據2n進行調整,得到一個基本的網絡模型,最終學習率設為0.000 1,batch size設為64,經過一段時間的訓練,最終損失函數收斂較快,準確率不斷處于上升階段;

(3)加入BatchNorm層和Dropout層進行進一步的實驗,手動調整學習率以及Batch size的數值,并用驗證集對訓練進行評估,不斷優化,保存好訓練的模型,然后將卷積池化層的可調參數進行實驗。

步驟三:模型預測。

(1)配置好預測的模型,準備好要預測的圖片;

(2)加載之前訓練好的預測模型;

(3)把圖片放入預測模型,輸出最終預測結果。

4.2 實驗結果及分析

該實驗主要在配備8線程CPU,NVIDIA V100 GPU,16 GB顯存,100 GB磁盤和32 GB RAM的服務器上運行,并且訓練測試過程是使用python實現的。

首先在訓練集上進行實驗以最大程度地提高訓練集的準確性,然后在測試集上進行測試以獲得最終的準確率。要在選定的訓練集上進行訓練,首先在基礎上調整學習率和Batch size,然后調整池化層的相關參數,以下是實驗數據。

經過不斷測試,最終學習率選擇0.000 1比較合適,一共訓練30輪。首先暫定濾波器大小為3,池化層大小為2,池化層步長為2,Batch size選擇64,激活類型選擇Relu函數。

為了測試濾波器大小、池化層大小、池化層步長以及Batch大小對于圣像類唐卡人物分類的準確率的影響,進行了以下幾個實驗,實驗主要采用單一變量法進行,即進行其中一項對最終分類結果的影響,設定其他項保持不變:

首先測試濾波器大小對實驗結果的影響,保持池化層大小、池化層步長為2,Batch大小為64,改變濾波器大小,對比分類準確率。

由表1可以看出,在池化層大小、池化層步長以及Batch大小保持不變的情況下,濾波器大小設置為2準確率更高,所以當filter_size=2時,保持池化層步長不變,測試池化層大小對實驗結果的影響。

表1 濾波器大小對實驗結果的影響

如圖4所示,當濾波器大小,池化層步長和批次大小保持不變時,池化層大小將用作變量。實驗結果表明,當池化層大小為1時,分類準確率最高,達到94.81%。

圖4 池化層大小對分類準確率的影響

從圖5中可以看出,當濾波器大小為2時,池化層大小為1,將池化層步長設置為1,則精度最高,達到96.76%。

圖5 池化步長對分類準確率的影響

此外,批次值的大小也會影響最終分類結果的準確性和效率。在實際訓練中,將所有訓練集劃分為相同的訓練集,然后在第二次訓練期間,將所有分割的批次訓練集依次放入網絡中,直到完成所有批次訓練集的訓練為止,然后執行下一輪迭代。通過實驗數據總結批次的大小和準確性之間的關系,以進行更好的訓練。 實驗數據如表2所示。

表2 Batch大小對實驗結果的影響

由表2可知:當Batch的值小于50時,準確率只有81.21%,并且在訓練過程中花費的時間明顯比其他Batch值的時候更長,當Batch在50及以上時,基本保持不變,Batch越大,訓練所花費時間越多,所以最終實驗中采用Batch為64比較合理。

在訓練集上調整各類參數,使最終的訓練精度達到最高以后,在測試集上進行測試。如上所述,文章當中采用每一類當中的十分之一作為最終測試集的數據。

具體的分類結果如圖6所示。

圖6 部分分類結果展示

根據最終的預測結果,獲得模型的準確性、召回率、精確度,對于采集的樣本,可以直接知道實際情況下哪些數據為正,哪些數據為負。通過使用樣本數據運行分類模型結果,還可以知道模型認為哪些數據是正數據,哪些數據是負數據,下面是四個基本指標:

(1)真實值為正,并且模型認為該數字為正(True Positive =TP);

(2)真實值為正,但模型認為該數字為負(False Negative=FN);

(3)真實值為負,但模型認為該數字為正(False Positive=FP);

(4)真實值為負,并且模型認為該數字為負(True Negative=TN);

(3)

準確率的計算公式見公式(3),精確度和召回率的計算公式見公式(4)和公式(5):

(4)

(5)

在多分類問題中,在計算召回率和準確率時,將要為每個類別計算的類別視為正類別,而將其余類別視為負類別。 各個類別的召回率、準確率和精確度如表3所示。

表3 各類別的召回率、精確度和準確率

由性能評價指標Accuracy可得:大威德金剛的得分高達99.5%,而四臂觀音的得分最低,為88.6%,主要原因是大威德金剛的圖像在色彩以及構造上是最復雜的,與其他類別的差別較大,比較容易區分;但是四臂觀音的造像和普賢菩薩比較相似,面部表情、頭飾以及手勢比較相似,所以分類錯誤的圖像較多。另外,由于整個訓練集當中每個類別的數量不均勻,釋迦牟尼佛的數量最多,因此,其他類別當中也有較多的圖像被分類為釋迦牟尼佛。

4.3 與其他分類算法的比較

為了驗證文中提出方法的性能,在最佳參數條件下,將該方法與其他典型的圖像分類方法進行了比較,如圖7所示。實驗結果表明:在相同數據集下,該方法的準確率比其他幾種方法高約3%,分類效果更好。

圖7 文中方法與其他典型方法準確率的比較

5 結束語

該文主要研究基于卷積神經網絡模型的唐卡人像自動分類方法,首先構建一個唐卡尊像分類數據集,然后在此基礎上進行基于卷積神經網絡模型的唐卡尊像圖像分類實驗。實驗證明,在唐卡尊像圖像分類中,提出模型的準確率提高了3%以上,更適合于唐卡尊像圖像分類。減少分類所花費的人力和物力,對唐卡非物質文化遺產進行數字保護,使更多人參與唐卡的保護。

該方法的優點是使用了相對較新的卷積神經網絡來重組網絡結構層,實現了較淺的網絡結構分類模型的構建,并且在自己構建的數據集上進行測試。然而該方法也存在一定的缺陷,即訓練模型花費時間太久,系統界面功能單一。在以后的工作當中,將以提高訓練效率為重點,并在此次實驗的基礎上繼續進行唐卡人物的檢測,將其他神經網絡模型(如yolov3、SSD等)進行改進并應用到唐卡人物的分類及人物、法器、頭飾等的檢測當中,為唐卡這種非物質文化遺產的數字化保護貢獻一份力量。

猜你喜歡
唐卡卷積準確率
基于全卷積神經網絡的豬背膘厚快速準確測定
基于FPGA的卷積神經網絡加速優化方法
基于圖像處理與卷積神經網絡的零件識別
乳腺超聲檢查診斷乳腺腫瘤的特異度及準確率分析
多層螺旋CT技術診斷急性闌尾炎的效果及準確率分析
不同序列磁共振成像診斷脊柱損傷的臨床準確率比較探討
頸椎病患者使用X線平片和CT影像診斷的臨床準確率比照觀察
李雪:唐卡收藏進入理性階段
基于深度卷積網絡與空洞卷積融合的人群計數
西藏唐卡產業的特點及其存在問題的研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合