李大湘,張 玥
(1.西安郵電大學 通信與信息工程學院,陜西 西安 710121;2.西安郵電大學 電子信息現場勘驗應用技術公安部重點實驗室,陜西 西安 710121)
國畫是使用毛筆和墨在絹、宣紙及帛上作畫。作為中國傳統繪畫形式之一,國畫特有的筆墨繪畫技巧為人們展示了對象的神色、形態和風韻。國畫的分類方式多樣,按照內容可分為花鳥畫、古樹畫、江南水鄉、人物畫和水墨畫等[1]。早期的國畫圖像檢索局限在人工標注,工作量龐大且標注精度不高。隨著圖像檢索技術的不斷發展,圖像分類作為其重要組成部分,可以通過計算機自動分析國畫圖像內容,從而實現對國畫的數字化管理。
目前,國畫分類算法可分為基于淺層特征和基于深度學習兩種。基于淺層特征分類算法的相關研究主要包括基于顏色的統計計算提取圖像全局特征,并通過分隔繪畫對象提取圖像結構特征實現分類[2]。采用蒙特卡洛凸殼特征選擇模型整合基礎特征描述子,再使用支持向量機對不同藝術家的作品實現分類[3]。融合尺度不變特征變換(Scale-Invariant Feature Transform,SIFT)特征檢測子和邊緣檢測得到國畫關鍵區域,對關鍵區域視覺特征及內部領域差異性進行描述得到圖像特征,再采用融合不同維度特征,級聯分類策略實現分類[4]。建立對中國畫分類的通用框架,用混合二維多分辨率馬爾科夫模型(2-Dimensional Multi-resolution Hidden Markov Model,MHMM)表示不同藝術家的筆畫屬性實現分類[5]。在小波域內利用不同分辨率及頻帶的圖像結構所展現的不同藝術風格的表現形式,獲得國畫藝術深度信息,再利用3種不同的分類器進行分類[6]。利用直方圖的局部特征表示國畫圖像風格,并給出一種窗口和熵平衡的融合方案,優化分類結果[5]。但是,上述分類算法通常是利用人工經驗或特征轉換抽取特征,限制了算法性能,而基于深度學習分類算法可以改善此類問題。結合離散余弦變換和卷積神經網絡(Convolutional Neural Network,CNN)提出的分類模型,將CNN提取的部分離散余弦系數作為原始像素提取圖像特征,從而實現分類[7]。在繪畫數據集上訓練一個深度卷積自動編碼器,將其用于初始化分類階段的監督卷積神經網絡,從而解決了單類樣本中樣本數量較小的問題[8]。通過構造國畫圖像的多尺度金字塔,學習稀疏混合卷積神經網絡(Sparse Hybrid Convolutional Neural Networks,SH-CNN)模型,并返回多個標簽,采用自適應融合方法實現分類[9]。基于稀疏編碼混合深度學習神經網絡方法,從中國水墨畫的筆劃中提取不同畫家作畫風格特征,從而實現分類[10]。將國畫對象通過最大相似度區域合并分割成藝術目標,利用深度卷積神經網絡(Object-based Convolutional Neural Network,O-CNN)描述其語義特征,引入支持向量機對藝術目標進行分類[11]。然而,基于深度學習分類算法雖然在分類精度和速度有所提高,但是對國畫圖像局部表現手法的分析研究較少。
針對該問題,擬提出一種基于多尺度CNN特征的國畫圖像分類算法。通過改進AlexNet網絡模型[12],得到精簡AlexNet網絡模型,降低網絡深度與參數規模;在國畫數據集上,利用非對稱空間分塊方法增加國畫圖像的數量,訓練具有特征提取能力的CNN網絡模型,提取國畫圖像的多尺度CNN特征;采用前向搜索選擇方法對多尺度CNN特征選擇,減少冗余,結合SVM分類器實現國畫圖像的自動分類。
在國畫圖像分類問題中,采用深度學習分類算法捕獲畫中的表現手法,通常需要大量的訓練樣本,而在原AlexNet網絡模型中,含有大量的待定參數,當訓練樣本數量不足時,極易導致過擬合而失去泛化能力的現象[13-14]。因此,在原AlexNet網絡模型基礎上,刪除原網絡中的第4層卷積層和第7層全連接層,以降低網絡參數規模。精簡AlexNet網絡模型示意圖如圖1所示。

圖1 精簡AlexNet網絡模型
精簡網絡的前向傳播過程為:將輸入圖像的尺寸大小調整為227×227×3,經過96個大小為11×11×3卷積核進行卷積,生成55×55×96的數據圖,該特征圖經2×2的最大池化處理后,得到27×27×96的特征圖,即為第1層卷積層的輸出;將27×27×96的數據圖輸入第2層,經過128個5×5×96的卷積核進行計算,再經過2×2的池化層處理,輸出13×13×128的特征圖;將13×13×128的特征圖輸入第3層卷積層,與192個3×3×128的卷積核進行卷積,最終輸出13×13×192的特征圖;將13×13×192的特征圖作為輸入與第4層卷積層的256個大小為3×3×192卷積核進行卷積,再經過2×2的最大池化層,輸出6×6×256的特征圖;隨后與第5層2 048個神經元進行全連接,經由ReLU激活函數和Dropout處理輸出2 048維向量;將該特征向量輸入第6層softmax層,該層通過5個神經元進行全連接,最終輸出歸一化預測概率值。
國畫圖像數量較少,很難支撐對AlexNet網絡模型的訓練,可利用非對稱空間分塊方法對國畫圖像集進行擴充。對于每幅國畫圖像I,在上、下、左和右等4個方位處分別截取原圖像I的75%大小作為一幅新圖像,并賦予與原圖像相同的類別標簽,記為I1、I2、I3與I4。以這種方法對圖像集內的每幅圖像進行處理,得到擴充后的數據集[14]。非對稱空間分塊示意圖如圖2所示。

圖2 非對稱空間分塊
對樣本集進行數據擴充后,訓練樣本數量將變成原來的4倍。在獲得擴充后的數據集后,對所有訓練圖像進行預處理,即調整圖像大小為227×227×3,然后將數據輸入圖1中進行訓練,從而獲得具有特征提取能力的CNN網絡模型,其過程如圖3所示。

圖3 基于空間分塊的網絡訓練過程
訓練精簡AlexNet網絡模型,利用該模型對國畫圖像進行多尺度CNN特征提取。
設I表示任意一幅國畫圖像,對其進行非對稱空間分塊,得到I1、I2、I3與I4等4個圖像子塊;將原圖像與4個圖像子塊分別輸入精簡AlexNet網絡模型中,提取網絡中第5層全連接層輸出向量作為相應圖像的CNN特征,分別記為FI、FI1、FI2、FI3與FI4。將所獲得的5個CNN特征向量級聯起來,即為圖像I的多尺度CNN特征,可表示為
F=[FIFI1FI2FI3FI4]
(1)
對于任意圖像I,其多尺度CNN特征F的維度為10 240(即2 048×5)維。對于國畫圖像分類問題而言,高維度的CNN特征中通常含有大量的冗余信息和噪聲干擾信息,因此,采用前向搜索方法[15]對多尺度CNN特征進行特征選擇,以降低數據的維度而提高分類精度與效率。
設T={(Ii,yi):i=1,2,…,N}表示訓練圖像集,其中:N表示訓練圖像的數量;Ii和yi∈{1,2,…,C}分別表示第i幅訓練圖像及其類別標簽,C表示圖像類別數。利用式(1)提取T中每幅圖像的多尺度CNN特征,得到訓練圖像的特征矩陣FN×D,其中,D為圖像多尺度CNN特征的維度。圖像均帶有標簽,定義矩陣FN×D的第d列為{fd:1≤d≤D}。

(2)

從FN×D中選取L(L 步驟1將特征子集G初始化為空集,即G=?。 步驟2將FN×D中每列數據作為特征子集,分別采用式(2)計算對應的特征評價值,記fmax為特征評價值最大者,即 R(fmax)=max{R(fd)} (3) 將fmax加入特征子集G得到第一次選擇的特征向量。 步驟3將G與剩余未入選的D-1個特征依次進行組合,得到N-1個新的特征子集(G∪ft),其中,1≤t≤D-1,并利用式(2)計算其特征評價函數值R(G∪ft)。假設使得R最高的特征為fa,將fa加入目標特征子集,即可得到 G=G∪fa (4) 步驟4重復步驟3,每次迭代最多向G內添加一列元素,直到G滿足特征子集的目標維度L,最終獲得經特征選擇之后的特征子集G。 SVM作為一種面向小樣本的有監督學習方法,其通過對有限樣本進行學習而構建分類超平面,進而獲得對目標樣本的分類能力。設Xi=[xi,x2,…,xL]為第i幅訓練圖像經特征選擇之后的CNN特征向量。為了利用SVM方法在降維之后的CNN特征空間得到最優分類面,可將原問題轉化為對偶二次規劃問題[16],即 (5) 其中,λ為懲罰因子。若a*為問題(5)的一個解,則分類器為 (6) (7) 綜上所述,基于多尺度CNN特征的國畫圖像分類算法的具體步驟如下。 1)訓練階段 輸入訓練圖像集T={(Ii,yi):i=1,2,…,N},AlexNet網絡模型訓練參數,特征選擇目標子集維度L。 輸出AlexNet網絡模型、特征選擇位置序號PG及SVM分類器(a*,b*)。 步驟1采用非對稱空間分塊方法對訓練圖像集T進行分塊數據擴充,訓練精簡AlexNet網絡模型,并將其作為圖像CNN特征提取器。 步驟2利用式(1)提取訓練圖像集T中所有圖像的多尺度CNN特征,得到訓練特征矩陣FN×D。 步驟3利用式(2)對訓練數據的特征矩陣FN×D進行特征選擇得到GN×L,記錄特征選擇的位置信息PG。 步驟4利用經特征選擇之后的數據集GN×L,訓練SVM分類器(a*,b*)。 2)分類測試階段 實驗平臺為Windows 10系統,Intel(R)Xeon(R)CPU E3-1220四核處理器,NVIDA Quadro K600顯卡,8 GB內存,Python 3.6+Tensorflow仿真環境。AlexNet網絡模型訓練時,迭代次數與學習率分別設置為500與0.001,算法中的SVM分類器選用徑向基核函數(Radial Basis Function,RBF),在訓練集中使用“2-fold交叉檢驗”尋找最優的SVM參數,即懲罰因子與核函數控制因子。 為了驗證所提算法的性能,建立一個由1 000幅國畫圖像組成的圖像庫,該庫包含5類圖像,其中,古樹200幅、人物200幅、花鳥200幅、江南水鄉200幅和水墨畫200幅。部分樣圖示例如圖4所示。 圖4 國畫數據集部分樣圖圖像 將每類的所有圖像隨機分成二等份,一份用于組成訓練集,另一份用于組成測試集,每個實驗均重復10次,統計準確率和混淆矩陣的平均值。準確率主要用于評價總體分類準確度;混淆矩陣主要反映了樣本具體的分類情況,其對角線代表該類分類準確率,其值越大代表分類準確率越高。 3.2.1 特征選擇及分塊性能分析 為了驗證特征選擇在基于多尺度CNN特征國畫圖像分類中的有效性,在200與1 200之間,以步長為50,分別選取不同維度的特征子集進行實驗,實驗結果如圖5所示。 圖5 不同維度特征子集對分類精度的影響 由圖5結果可見,特征選擇的維度對分類精度結果有影響。當特征子集維度由低變高時,分類精度呈先提升后下降的趨勢,且峰值位于特征維度為800~900維之間。這說明高維度CNN特征內含有很多各個類都會出現的冗余信息和噪聲信息,過多的冗余和噪聲反而使得不同類之間的區分度變小。通過特征選擇算法減少大量冗余和噪聲信息后,不同類之間的區分度反而變大了,從而有利于分類性能的提高,同時,當選擇的特征維數較少時,也會丟失特征的區分度而降低分類精度,因此,在后續實驗中,特征選擇的維數均固定為850。 為了驗證非對稱空間分塊在國畫圖像分類中的有效性,基于精簡AlexNet網絡模型,在使用相同數據樣本進行訓練的情況下,將不進行空間分塊整幅圖像的全局CNN特征、多尺度CNN特征與特征選擇后的CNN特征進行對比實驗,特征維度對算法分類精度的影響如表1所示。 表1 特征維度對算法分類精度的影響 由表1可以看出,提取非對稱空間分塊之后圖像子塊的CNN特征并進行級聯,生成的高維度多尺度CNN特征對實驗結果有積極作用;對高維度的CNN特征進行特征選擇在降低數據維度的同時,對實驗結果也有積極影響,說明獲取更多的多尺度圖像信息能提高圖像分類準確率。圖像分塊在一定程度上帶來了圖像內容的空間位置信息。另外,對高維度特征進行選擇后,并沒有因為丟掉部分特征信息而使得分類效果下降,特征選擇算法去除了高維度特征中包含的大量冗余信息和噪聲信息,只保留了真正具有鑒別能力的信息,使得類間區分度變大,提升了算法精度。 3.2.2 網絡性能分析 為了驗證精簡AlexNet網絡模型的有效性,分別基于原圖像與分塊擴充的訓練集,與原AlexNet網絡進行了對比實驗,不同神經網絡的分類精度如表2所示。 表2 不同神經網絡的分類精度 由表2實驗結果可知,進行非對稱空間分塊訓練樣本擴充對分類精度有影響。這說明,一方面,訓練數據集的規模是影響神經網絡性能的關鍵因素之一,在訓練樣本不足的情況下對數據集進行數據擴充,可以有效地提高神經網絡的訓練效果,提升其特征提取能力。另一方面,進行非對稱空間分塊,可以獲取圖像的多尺度特征且帶有一定空間位置信息,使得網絡能提取到更多的圖像特征信息。 當空間分塊的條件不變時,精簡AlexNet網絡模型對CNN網絡性能提升具有積極作用。這說明減少網絡層數與參數規模后,雖然不利于網絡提取更豐富和更具尺度多樣性的圖像特征,但其在訓練數據規模較小時能有效避免網絡出現過擬合現象,提升網絡在面對監控視頻目標時的特征提取能力。 3.2.3 常用圖像分類算法性能比較 為了進一步驗證所提算法的有效性,基于數據擴充之后的訓練集,與其他傳統算法在同樣的訓練集和測試集上進行對比實驗。對比方法分別為“SIFT+SVM”分類方法、方向梯度直方圖(Histogram of Oriented Gradient,HOG)提取特征結合SVM分類器分類方法“HOG+SVM”、詞袋模型(Bag of Word,BOW)描述圖像結合SVM分類器分類方法“BOW+SVM”[17]、LeNet-5網絡分類方法[18]和原AlexNet網絡模型分類方法[12],重復10次實驗,不同算法的平均分類精度如表3所示。 表3 不同算法分類精度比較 表3結果表明,所提算法在國畫圖像分類任務上表現更優,比傳統算法提升約為8%~12%,比原AlexNet網絡分類算法提升了4%以上。同時,為了觀察5類國畫圖像的具體分類精度,所提算法的混淆矩陣如表4所示。 表4 5類目標分類結果的混淆矩陣 從表4可以看出,5類圖畫圖像主要目標總體分類精度較高,主要分類錯誤出現在目標古樹與水墨、人物與江南水鄉之間。從直觀上也可以發現這幾類目標之間有很多相同點,這導致了相互之間出現誤判的情況;同時,在混淆矩陣中還可以看出對花鳥的分類效果較好。 基于多尺度CNN特征的國畫圖像分類算法在原AlexNet模型的基礎上,刪除卷積層和全連接層,改進為精簡AlexNet網絡模型;利用非對稱空間分塊方法擴充國畫數據集數據,將其輸入神經網絡進行訓練,得到具有特征提取能力的CNN模型,并利用該模型提取圖像多尺度CNN特征;采用前向搜索選擇算法的特征選擇方法,對多尺度CNN特征進行選擇降維處理;最后,利用SVM對特征選擇后的國畫圖像進行分類。對比實驗結果表明,該算法較全局CNN算法分類精度提高了2.12%,且與經典的分類算法相比,精度也有所提升。
2.2 SVM分類器


3 實驗結果與分析
3.1 實驗數據

3.2 分類結果及分析





4 結語