姚可欣,曹衛(wèi)群
北京林業(yè)大學 信息學院,北京100087
隨著微電子及其相關技術的飛速發(fā)展,觸屏電子設備和數(shù)位板已逐漸在人們的生活中普及,如圖1 所示,觸屏輸入的方式極大地提高了生產(chǎn)生活的便利性。其中,手寫輸入這一傳統(tǒng)的輸入方式也逐漸應用在觸屏電子設備上。手寫輸入識別包含文字的識別和圖像的識別,由于文字的結構以及書寫順序相對固定,目前的方法已經(jīng)能夠取得較高的識別率。而手繪草圖雖然也有相對固定的結構特征,但是并沒有固定的繪制順序,此外草圖中豐富的語義信息往往增加了識別的難度,因此手繪草圖的識別越來越受到研究者們的重視。
圖1 豐富的觸屏電子設備
目前,手繪草圖的識別方法可歸為兩大類,傳統(tǒng)的方法是基于草圖本身的結構特征,首先使用特定的算法對手繪草圖對象的結構特征進行分析和歸納,并將分析的結果與預設好的規(guī)則庫模版進行匹配來進行識別,比如幾何圖形組合識別法[1-2]、筆序趨向一致性的特征識別法[3]、在線草圖規(guī)整化的識別方法[4]、草圖分割分段識別方法[5]等等。這類方法的優(yōu)點是不需要通過訓練大量的數(shù)據(jù)集來生成分類器,因此傳統(tǒng)方法的識別速率都比較高,但是也存在一定的局限性:其一是當草圖對象形狀不規(guī)則或是結構較為復雜時,很難通過分析歸納的方法提取結構特征,這往往會導致算法識別準確率大大地降低;此外,用于匹配的規(guī)則庫一般需要遵循一定的要求進行迭代更新,當分類識別數(shù)較大時就很難匹配到對應的規(guī)則模版。鑒于上述原因,亟需一種行之有效的方法來解決上述問題。近年來,隨著機器學習和深度學習理論及技術的發(fā)展,基于模式識別的非傳統(tǒng)方法應運而生。文獻[6-8]研究了深度學習中的圖像識別算法,使用人工神經(jīng)網(wǎng)絡進行特征提取和分類識別,取得了不錯的結果;基于機器學習的模式識別算法有基于貝葉斯網(wǎng)絡的草圖識別方法、支撐矢量機[9]、隱馬爾科夫模型[10-11]、基于模糊特征[12]的識別方法等,非傳統(tǒng)方法的顯著特點就是需要通過訓練大量的數(shù)據(jù)集訓練統(tǒng)計模型,這類模型可看作是從手寫輸入到得到識別結果到映射函數(shù)從而能夠實現(xiàn)對手繪草圖的識別。這類方法雖然能夠取得較高的識別率,但需要大量的訓練數(shù)據(jù)集作為支撐。針對觸屏等電子設備功耗有限的問題,由于這類設備往往是識別特定的輸入,因此可采用構建輕量級的分類器模型以達到較好的效果。
簡筆畫是一種使用簡單的點、線、面的不同組合來表現(xiàn)復雜事物特征的繪畫形式,是屬于草圖范疇的具有特定規(guī)則的表現(xiàn)形式,因此針對草圖的識別研究工作對于簡筆畫識別也具有一定的適用性。由于草圖在繪制過程中并不遵循特定的規(guī)律,與草圖相比較而言,簡筆畫通常具有鮮明的結構特征,且在繪制的過程中有章可循。因此,近年來研究者們開始使用基于結構特征的識別方法[13-14]對簡筆畫進行識別。但隨著簡筆畫種類和復雜度的增加,以及針對特定對象繪制規(guī)則的豐富,此類方法的局限性開始顯現(xiàn)。
卷積神經(jīng)網(wǎng)絡(Convolutional Neural Network,CNN)是一種模仿生物視知覺機制構建的技術,近年來在圖像識別領域取得了卓越的成效。但是基于深度學習的分類器往往需要訓練大量的數(shù)據(jù)作為支撐。針對上述問題,本文以具有固定參照模板的簡筆畫為研究對象,設計了用于簡筆畫分類識別的分類器Trans-Net,并使用遷移學習和數(shù)據(jù)增強的方法解決了數(shù)據(jù)集不足的問題。因此,本文的主要貢獻如下:
(1)提出一種圖像生成算法,結合兩種采樣算法和Melkman 算法可有效去除采樣過程的噪聲并使用生成規(guī)范化圖像。
(2)提出一種數(shù)據(jù)增強的方法,解決了樣本庫數(shù)據(jù)集不足的問題。
(3)設計了Trans-Net圖像分類器,通過遷移學習技術對卷積神經(jīng)網(wǎng)絡進行預訓練,有效提高了識別精度。
本文提出的簡筆畫對象識別方法的總體架構如圖2所示。本研究的總體架構可分為三部分:數(shù)據(jù)預處理、分類器模型的構建與訓練、結果識別。預處理部分首先通過圖像生成和增強的方法對手寫輸入的圖像進行預處理以方便輸入到后續(xù)的網(wǎng)絡模型當中;Trans-Net模型的訓練部分使用了包含大量簡筆畫草圖數(shù)據(jù)的谷歌QuickDraw數(shù)據(jù)集進行預訓練,再使用樣本庫數(shù)據(jù)集用于模型調整;識別部分即,把預處理的圖像數(shù)據(jù)輸入到網(wǎng)絡模型當中并得到識別結果。
圖2 算法總體架構圖
根據(jù)圖2 的總體架構,本文的整體識別算法流程如下:
算法1 手寫簡筆畫識別算法
輸入:N次手寫輸入的簡筆畫圖像
輸出:手寫簡筆畫圖像對應的標簽信息
1. FORi=1 TON
2. 對于手寫輸入的簡筆畫圖像Fi
6. 構建分類器模型Trans-Net
7. 通過Trans-Net輸出簡筆畫對應的標簽Labeli
預處理部分的目的是將手寫輸入簡筆畫圖像處理成適合分類器模型輸入的形式,為了更好地提升識別效果本部分還使用圖像生成的方法進行標準化處理。如圖3所示。
圖3 簡筆畫圖像預處理過程
基本處理流程如下:
(1)簡筆畫圖像數(shù)據(jù)采樣。為了使得數(shù)據(jù)采樣的結果更加的準確和合理,本文分別采用等時采樣法和等距離采樣法對用戶輸入的簡筆畫草圖進行采樣。其中首先使用等時采樣法獲取筆畫的點序列,再使用等距離采樣法進行重采樣以消除筆畫中因為手抖、繪制速度不均等原因導致的噪聲。
(2)簡筆畫圖像生成。采樣完成后,為了更加準確地識別簡筆畫圖像區(qū)域的內容,本文采用Melkman方法求取輸入簡筆畫草圖的最小外接矩形從而得到原始圖像,并通過規(guī)則化處理將原始圖像調整為標準尺寸。
1.2.1 簡筆畫采樣
上文提到了使用兩種采樣方法對簡筆畫圖像進行采樣,接下來詳細介紹這兩種采樣法在本文中的應用。
等時采樣法旨在盡可能多地捕捉用戶輸入的樣本數(shù)據(jù)。在本研究采樣過程中,等時采樣是以鼠標作為輸入設備,以按下鼠標左鍵為開始,抬起為結束。在這段期間內系統(tǒng)以120 次/s 的時間間隔進行采樣,獲取的采樣點序列為一條筆畫的樣本點,該圖像樣本可表示為:
等時采樣法在盡可能多地得到圖像數(shù)據(jù)樣本點時,往往會把用戶輸入時因為抖動或繪制速度不均導致的噪聲也進行采樣。為了去除這部分噪聲,本文再使用等距離采樣方法對采集到的原始數(shù)據(jù)進行重采樣。
等距采樣法的前提是,對原始圖像均勻采樣后得到的新圖像仍能保留原始圖像的特征信息。由于圖像是由特定區(qū)域內的像素構成,因此對于特定大小的圖像區(qū)域S,采樣得到的簡筆畫樣本點點集合為I,對于隨機噪聲假設服從均勻分布因此該圖像噪聲占比為:
由于采樣前后圖像特征沒有損失,但是噪聲所占占比大大地下降,因此使用等距離采樣法能夠有效地去除原始圖像中的噪聲。
1.2.2 簡筆畫圖像生成
由于本文使用的卷積神經(jīng)網(wǎng)絡輸入圖像的尺寸固定為75×75像素的正方形,因此本文要對采樣后的簡筆畫圖像進行標準化處理。首先以簡筆畫的最小外接矩形作為邊界,對輸入的簡筆畫生成原始圖像,再對原始圖像進行規(guī)則化處理進而調整至標準輸入的尺寸。
下面介紹使用Melkman 方法[15]求取最小外接矩形的算法流程。
算法2 Melkman最小外接矩形求取算法
輸出:簡筆畫圖像上下左右四個端點的坐標
1. FORi=1 TON
2. 計算每兩個相鄰的采樣點距離
3.
5. 保存lmax=l和采樣點坐標p1、p2
6. ELSE
7. 繼續(xù)循環(huán)直至循環(huán)結束
8. END
9. 此時的lmax即為最小外接矩形長度
10. 計算p1、p2確定的直線方程
11. FORi=1 TON
12. 計算每個樣本點到直線方程的距離D
13. 保存D的最大值為Dmax
14. 保存D的最小值為Dmin
15. END
16. 此時,Dmax-Dmin為最小外接矩形寬度
在獲得簡筆畫圖像的最小外接矩形之后,接下來需要對其進行規(guī)范化處理得到尺寸固定為75×75 的點正方形。
為了更好地識別簡筆畫草圖圖像,本文基于深度學習設計了Trans-Net分類器對圖像特征進行提取并加以分類識別。具體流程如下:
(1)網(wǎng)絡模型構建。提出Trans-Net模型,以卷積神經(jīng)網(wǎng)絡為基礎,通過使用不同的卷積核進行特征提取并使用全連接層將特征映射到標記空間,得出識別結果。
(2)遷移學習。由于網(wǎng)絡模型的訓練需要訓練大量的數(shù)據(jù)作為支撐,本文通過遷移學習技術,使用谷歌QuickDraw 數(shù)據(jù)集中的一部分圖片用于網(wǎng)絡模型的預訓練。并對來自該數(shù)據(jù)集的圖片進行了篩選,選擇其中與本研究的樣本庫中數(shù)據(jù)存在共性的數(shù)據(jù)用于預訓練,解決了因為數(shù)據(jù)集過小導致的訓練模型的過擬合現(xiàn)象。
圖4 簡筆畫圖像特征提取網(wǎng)絡結構圖
(3)模型調整。使用包含了150類簡筆畫對象的樣本庫數(shù)據(jù)集,訓練本文的卷積神經(jīng)網(wǎng)絡模型,并通過平移、縮放、旋轉等方法進行了數(shù)據(jù)集的擴充,使用12 000張圖片用于訓練模型,3 000張圖片用于測試。
多層深度卷積神經(jīng)網(wǎng)絡能夠有效提取圖片的全局特征和局部特征,而遷移學習和數(shù)據(jù)增強的引入平衡了模型復雜度和有限的數(shù)據(jù)集之間的問題。下面將詳細介紹卷積神經(jīng)網(wǎng)絡的結構設計和模型訓練、遷移學習方法以及模型的微調整。
1.3.1 Trans-Net
Trans-Net是以卷積神經(jīng)網(wǎng)絡為基礎,卷積神經(jīng)網(wǎng)絡是一種模仿生物視知覺機制構建的技術,近年來在圖像識別領域取得了卓越的成效。本文以卷積神經(jīng)網(wǎng)絡為基礎提出一種用于簡筆畫分類識別的網(wǎng)絡架構。如圖4所示,網(wǎng)絡由卷積層和全連接層兩部分構成,其中卷積層具有四個通道,第一通道使用3×3 的卷積核,第二通道使用1×1的卷積核連接3×3的卷積核,第三通道使用平均池化層之后連接3×3 的卷積核,第四通道使用1×1的卷積核連接兩個3×3 的卷積核。卷積層采用不同大小的卷積核能夠讓網(wǎng)絡感受不同大小的視野,能夠通過提取不同層次的特征提高識別準確率。但是神經(jīng)網(wǎng)絡層數(shù)越多所提取的特征越抽象,每個提取特征的涉及的感受野也更大;因此,為了有效提取簡筆畫中的局部圖像特征,本節(jié)所提網(wǎng)絡結構的卷積層最多包含三層。卷積層之后則是通過Concat操作將四個通道的輸出數(shù)據(jù)拼接成多通道數(shù)據(jù)以輸入到全連接層當中多通道數(shù)據(jù)的拼接意味著不同尺度特征的融合。全連接層使用三層:1 024×1,512×1 和150×1 的FCN(Full Connected Network)結構。另外,圖4所示的網(wǎng)絡結構能夠代替人工確定卷積層中的過濾器類型,即確定各卷積層和池化層在簡筆畫圖像特征提取中是否需要。
1.3.2 基于遷移學習的簡筆畫識別
遷移學習[16-17]是一種將在某一領域已經(jīng)學習的知識運用到具有相關性的領域問題上的深度學習技術,通常被用于解決目標研究領域的數(shù)據(jù)量小的問題。
在本研究中,為了解決訓練數(shù)據(jù)量小的問題,采用基于參數(shù)的遷移學習算法將預訓練的卷積神經(jīng)網(wǎng)絡模型應用于簡筆畫的識別中,遷移學習的框圖如圖5 所示。本節(jié)將在大數(shù)據(jù)集上訓練得到的網(wǎng)絡權值參數(shù)作為用于簡筆畫識別中所用小數(shù)據(jù)集的初始化權重,重新訓練該網(wǎng)絡并修改全連接層的輸出?;趨?shù)的遷移學習能夠避免因數(shù)據(jù)量小造成的過擬合現(xiàn)象,從而提高網(wǎng)絡性能。另外,卷積神經(jīng)網(wǎng)絡的前幾層特征中包含更多對許多任務非常重要的低層特征,如邊緣、輪廓和色彩信息等;后幾層的特征學習更注重高層語義特征,高層語義特征對于不同的數(shù)據(jù)集將會完全不同。
圖5 遷移學習框圖
1.3.3 模型調整
由于本文使用的分類器模型需要大量的數(shù)據(jù)集作為支撐,當訓練數(shù)據(jù)集數(shù)量較少時會造成過擬合的現(xiàn)象進而影響到卷積神經(jīng)網(wǎng)絡性能。出于該原因并為了防止出現(xiàn)過擬合,本研究采用數(shù)據(jù)增強的方法對原始數(shù)據(jù)集進行了平移、旋轉、縮放等變換操作,擴充現(xiàn)有的簡筆畫數(shù)據(jù)集規(guī)模??紤]到常規(guī)縮放旋轉容易造成形變導致原圖像信息丟失,因此在在預處理過程中要注意保留邊緣信息,下面針對本文使用的變換操作給出具體的說明。
平移:移動圖像中簡筆畫對象像素,使其按照給定平移量進行水平或垂直方向移動。將圖像坐標化后對圖像像素點坐標進行下列操作:
縮放:按一定比例調整圖像的尺寸。根據(jù)文獻[18],圖像縮放方法可歸納為三大類:傳統(tǒng)差值縮放算法、基于區(qū)域的縮放算法和基于邊緣的圖像插值縮放算法。傳統(tǒng)差值縮放算法如最近臨近內插值、雙線性插值、三次樣條插值等,這類算法對缺少紋理信息的簡筆畫圖像放縮效果不佳。由于簡筆畫草圖的邊緣紋理信息屬于高頻信息,在圖像放縮時極易丟失。而后兩種縮放算法則是分別針對圖像的紋理和邊緣信息進行放縮,放縮后能夠保留這些圖像的特征。因此,本節(jié)使用的圖像放縮方法則是針對簡筆草圖的特點,盡量保留圖像中的邊緣輪廓信息。當圖像縮放至( )W,H,那么縮放公式為:
旋轉:由于簡筆畫草圖繪制場景的隨意性,用戶輸入的圖像存在著各種角度的偏差??紤]到這一情況,為了提高后續(xù)網(wǎng)絡模型對于同一對象不同角度的識別率,本文使用的數(shù)據(jù)增強方法中也包括了對原始圖像進行旋轉操作。本文使用的旋轉方法能夠保留圖像的邊緣信息,當簡筆畫圖像要進行θ°旋轉時,變換公式為:
1.3.4 卷積神經(jīng)網(wǎng)絡訓練
本小節(jié)所提卷積神經(jīng)網(wǎng)絡的訓練采用隨機梯度下降算法,使用交叉熵(Cross-entropy)作為損失函數(shù):
網(wǎng)絡訓練過程中,通過設置多組不同的數(shù)值初始化神經(jīng)網(wǎng)絡,并取其中使得誤差最小的作為最優(yōu)解。網(wǎng)絡的初始參數(shù)中,學習率(Learning Rate)是關系到梯度下降快慢的一個重要參數(shù),初始設置為一個較低的值(如0.001),并以階段下降法則,在每隔一段訓練次數(shù)后學習率衰減10 倍,采用隨機小批量梯度下降的方法更新權重,將使梯度下降算法更加穩(wěn)定,損失下降平緩。另外采用10 折交叉驗證將訓練數(shù)據(jù)分為10 份,逐次將其中9 份做為訓練數(shù)據(jù)集,另外1 份用于測試,并把10 次訓練結果準確率的平均值作為算法精度的評估標準。
這部分將詳細描述整個實驗的流程,其中包括實驗平臺的搭建、實驗數(shù)據(jù)集的選取、實驗設計以及結果分析。
由于深度卷積神經(jīng)網(wǎng)絡的訓練需要大量的數(shù)據(jù)作為支撐,以保證網(wǎng)絡模型能夠有效獲取圖像的特征。為了解決簡筆動畫訓練數(shù)據(jù)集較小會造成網(wǎng)絡模型過擬合的問題,本文首先利用遷移學習將模型在擁有大量訓練數(shù)據(jù)的公開數(shù)據(jù)集上進行預訓練,并利用預訓練的模型對簡筆動畫模型的參數(shù)進行初始化,通過網(wǎng)絡參數(shù)微調將已經(jīng)學習的圖像超參數(shù)遷移到另一個數(shù)據(jù)集,令網(wǎng)絡能夠快速有效地學習到簡筆動畫的圖像特征。
QuickDraw[19]是由谷歌研究團隊收集的一個矢量草圖公開數(shù)據(jù)集。該數(shù)據(jù)集包含超過5 000萬張由來自世界各地用戶繪制的草圖,所有草圖包含345 類常見對象。本研究從該數(shù)據(jù)集中選取了100個類別,每個類別選取1 000 張圖片,用于卷積神經(jīng)網(wǎng)絡模型的預訓練。圖6給出了QuickDraw的簡筆畫樣例圖。
本文使用的簡筆畫樣本庫數(shù)據(jù)集包含了150 種簡筆畫對象,以研究團隊所開發(fā)的簡筆動畫故事創(chuàng)作系統(tǒng)為平臺[20]進行了數(shù)據(jù)收集,如圖7 所示。由5 個不同年齡和繪畫水平的用戶進行繪制,對每個類別的簡筆畫每人繪制20 張,共計3 000 張,再通過平移、縮放、旋轉等方式進行數(shù)據(jù)增強,將數(shù)據(jù)集擴充至15 000張。取其中12 000張作為訓練集,3 000張用于測試,以此驗證本文提出網(wǎng)絡模型的有效性。
圖6 QuickDraw數(shù)據(jù)集的部分簡筆畫示例
圖7 本文數(shù)據(jù)集的部分簡筆畫示例
為了驗證本研究提出算法對識別精度提高的有效性,本文還選取了以結合圖元與感知哈希的識別方法[21]和結合BOF 技巧和感知哈希的識別方法[22]作為對照實驗。
結合圖元與感知哈希的識別方法首先提取簡筆畫的幾何特征以及筆序特征,并與圖元信息、筆序信息、結構信息組成的簡筆畫模版庫進行比對識別;若未成功識別則生成簡筆畫圖像進一步使用感知哈希進行識別。結合BOF技巧和感知哈希的識別方法首先提取簡筆畫的局部特征并進行量化,并將其標記為視覺詞匯。通過視覺詞袋技術從樣本庫中找出與該視覺詞匯相似的簡筆畫,再使用感知哈希技術進行識別。
本文實驗中的三種方法均使用2.2節(jié)介紹的樣本庫數(shù)據(jù)集進行分類器模型的訓練和測試,其中以12 000張圖片作為訓練集,3 000 張圖片作為測試集。與另外兩種方法不同的是,本文還通過遷移學習,使用谷歌QuickDraw數(shù)據(jù)集中的100 000張圖片用于Trans-Net網(wǎng)絡模型的預訓練。表1 給出了三種方法在樣本庫數(shù)據(jù)集上的識別準確率,其中結合BOF 技巧和感知哈希的識別方法的識別率相對最低(80.6%),結合圖元與感知哈希的識別方法次之(82.6%),而本文在所用的模型識別準確率達到94.1%,比結合圖元與感知哈希的手寫輸入簡筆畫識別率提高了11.5個百分點。原因是,前兩種方法都是通過對簡筆畫圖像進行分析歸納,提取構成圖像的幾何特征、筆序特征,并把提取的特征與簡筆畫模版庫中的圖元信息進行比對,進而完成簡筆畫圖像的分類識別。但是隨著圖像類別的增加以及筆畫結構復雜性的提升,這兩種方法就有一定的局限性,不能兼顧簡筆畫圖像的局部特征與整體特征。本文提出的基于Trans-Net 的分類模型則不需要分析歸納簡筆畫的圖元信息,只需利用卷積進行低層次特征的提取,使用全連接網(wǎng)絡進行高層語義的特征融合,大大提高了分類的準確率。
表1 不同算法簡筆畫識別率
此外,為了驗證遷移學習對識別率的提升,本文還對比了使用了遷移學習模型和普通模型。如表2所示,在迭代步數(shù)相同的情況下,使用遷移學習后模型的收斂速度比普通模型的收斂速度提高了近4倍,并且識別精度也提高了3.5個百分點。由于圖像分類技術需要大量的計算資源和訓練樣本,因此普通模型在構建的過程中需要對最初的網(wǎng)絡模型參數(shù)進行迭代優(yōu)化,這一過程需要較長的時間。而使用遷移學習技術,在訓練之初就已經(jīng)使用大樣本數(shù)據(jù)集對網(wǎng)絡模型進行了預訓練。本文模型構建時僅需要在特定數(shù)據(jù)集上進行優(yōu)化即可,大大縮短了參數(shù)的訓練時間。此外,遷移學習技術還能提高分類器模型的泛化性能,因此本文模型較普通模型具有較高的識別準確率。
表2 遷移學習對模型精度的影響
本文以簡筆畫為研究對象,設計了一個基于遷移學習的深度卷積神經(jīng)網(wǎng)絡Trans-Net 用于簡筆畫分類識別。本研究首先通過兩種圖像采樣方法收集用戶輸入的簡筆畫圖像,并通過Melkman等特定算法對圖像進行規(guī)則化處理。為了解決樣本庫數(shù)據(jù)量較小的問題,本文分別通過圖像增強算法和遷移學習技術進行數(shù)據(jù)集擴充和網(wǎng)絡模型預訓練。經(jīng)過實驗表明,本文提出的Trans-Net分類器模型可有效提取簡筆畫圖像特征,對樣本庫中150類簡筆畫對象能夠取得較高的識別準確率,此外,與普通模型相比,利用遷移學習的網(wǎng)絡模型可明顯提升模型的訓練效率和識別精度。