付雅冰,徐 曉
(華南理工大學理學院,廣東廣州 510640)
目前,工業(yè)儀表的自動化識別是一個熱門的課題。目前主要的識別方法有許多種。顧晨勤等人運用基于模板匹配進行字符識別[1],該方法受噪聲、圖像偏轉影響較大,且較耗時。崔行臣等人[2]利用各數(shù)字背景四連通區(qū)域對象的個數(shù)和標識矩陣元素的分布來構造識別特征從而對數(shù)字進行分類識別,前提是需要對儀表圖像進行一系列預處理,過程比較復雜。還有基于數(shù)字拓撲結構特征的分類識別[3,4]等。BP神經(jīng)網(wǎng)絡作為應用最廣泛的人工神經(jīng)網(wǎng)絡,在儀表字符識別方面的效果也是相當顯著,影響基于BP網(wǎng)絡的七段碼識別系統(tǒng)用于工業(yè)環(huán)境的主要因素是BP網(wǎng)絡的泛化能力。
在現(xiàn)實應用中,為了使BP神經(jīng)網(wǎng)絡的泛化能力滿足現(xiàn)實使用要求,理論上就必須搜集大量的訓練樣本,這通常要消耗大量人力物力,且在工業(yè)環(huán)境下難以實現(xiàn),因此,如何在少量訓練樣本下,提高BP網(wǎng)絡的泛化能力,就值得深入研究。1992年,Poggio T和Vetter T[5]提出了虛擬樣本的思想,目前虛擬樣本構造方法有:添加噪聲[6]、基于模板[7]、基于高斯變換[8]等方法。本文根據(jù)工業(yè)用七段碼數(shù)顯儀表的特征,采用特定的構造方法在原有樣本的基礎上,模擬七段碼碼段重疊,構造一定量的虛擬樣本,并增加到訓練樣本集中,使訓練樣本集的樣本在樣本空間的分布盡量均勻,提高用于識別七段碼數(shù)顯儀表的BP網(wǎng)絡的泛化能力。
虛擬樣本[9]是指在未知樣本概率分布函數(shù)的情況下,利用所研究的領域的先驗知識,結合已有的訓練樣本產(chǎn)生待研究問題的樣本空間中的部分合理樣本。自從Poggio T和Vetter T提出虛擬樣本概念以來[5],虛擬樣本生成技術引起了廣大學者的關注,并在很多機器學習領域,尤其是小樣本學習領域得到了廣泛的應用。目前對于虛擬樣本的構造的研究主要集中在某一特定領域內(nèi)如何利用先驗知識構造合理的虛擬樣本。
如何評價所構造虛擬樣本是否合理,采用如下評價標準[9]:
1)合理性標準:通過虛擬樣本生成技術產(chǎn)生的虛擬樣本是真實特征空間的樣本的概率期望。
2)適應性標準:虛擬樣本生成技術適應領域的廣泛性。
通常假設各個類別在特征空間中組成一個緊致集,它具有下列性質:臨界點的數(shù)量與總的點數(shù)相比很少;集合中任意2個內(nèi)點可以用光滑線連接,在該連線上的點也屬于這個集合;每個內(nèi)點都有一個足夠大的鄰域,在該領域中只包含同一集合中的點。如圖1,假設有n個類別,Ri表示第i個類別,Hij表示類別Ri與類別Rj的邊界,要正確識別這n個類別,就是對樣本空間進行區(qū)域劃分,即要找出各類別間的邊界Hij,使同一類別的樣本盡量落在同一區(qū)域內(nèi),這樣就能正確識別這n個類別。由此可見,劃分區(qū)域的重點在于尋找各類別之間的邊界。
圖1 樣本空間結構圖(Hij表示邊界,Ri表示類別)Fig 1 Spacial structure diagram of samples(Hijmeans boundary,Rimeans class)
工業(yè)用數(shù)顯儀表通常是采用七段數(shù)碼管顯示數(shù)字,而根據(jù)七段數(shù)碼管的顯示特征,影響其正確識別的主要原因是七段數(shù)碼管數(shù)字動態(tài)變化過程中碼段的疊加?;谶@種特點,可通過人為構造碼段的重疊來生成虛擬樣本,模仿處于特征空間的各類別的邊界點,并將這些虛擬樣本作為訓練樣本集的一部分來訓練已設計好的BP網(wǎng)絡,從而提高BP網(wǎng)絡的工作性能。
以上介紹的虛擬樣本構造方法具體如下:如圖2中2個分屬Ri類和Rj類的單字符原始樣本分別用矢量Ii和矢量Ij表示。所有樣本經(jīng)過預處理時已歸一化大小為20×16的圖片,被看作是一個320維矢量,每個像素點對應一個維度。本文通過取2個原始樣本Ii和Ij的中點Ii(見式(1)),即在320維樣本空間中將Ii和Ij的對應像素點相加;再分別取原始樣本Ii,Ij與中點Imid的中點Iij和Iji見式(2)),即得到四分之一邊界點。計算過程如下所示
由Iij,Iji構成所需的虛擬樣本。該方法得到的虛擬樣本,分別為靠近Ri類和Rj類邊界的Ri類虛擬樣本和Rj類虛擬樣本。該樣本滿足原始樣本類別不變性,將原始樣本向該類別的邊界延伸,使訓練樣本集盡量覆蓋整個樣本特征空間。用這樣的訓練樣本集訓練的BP網(wǎng)絡,是提高BP網(wǎng)絡泛化能力的行之有效的方法。
圖2 單個數(shù)字的原始樣本(由采集到的儀表圖像,經(jīng)過預處理并歸一化為20×16大小的二值圖片)Fig 2 Original sample of single number(the collected instrument mage,after pretreatment and normalize to be 20 ×16 binary image
BP網(wǎng)絡實質上實現(xiàn)了一個從輸入到輸出的映射功能,它能通過學習帶正確答案的訓練樣本集,識別訓練樣本集之外的同類樣本。七段碼的識別問題,實際上就是要通過BP網(wǎng)絡在320維的高維空間做m個分界以區(qū)分n個分類(10個數(shù)字0~9)。本實驗采用的是典型的三層BP網(wǎng)絡,如圖3所示,要識別的字符是七段碼顯示的10個數(shù)字0~9。
圖3 三層BP網(wǎng)絡結構示意圖(括號內(nèi)為各層節(jié)點數(shù))Fig 3 Structure diagram of three layers BP network
圖4 七段碼數(shù)顯儀表Fig 4 The seven-segment code digital display instrument
首先,采集儀表圖像,如圖4,經(jīng)過一系列圖像預處理得到600個單個數(shù)字的原始樣本(如圖2),并分為兩部分:300個原始訓練樣本(以下簡稱樣本A)和300個測試樣本(T)。再在300個原始訓練樣本的基礎上,通過上文提過的虛擬樣本構造方法構造200個虛擬樣本(以下簡稱樣本B),如圖5所示。
圖5 虛擬樣本生成示意圖Fig 5 Diagram of virtual sample generation
根據(jù)以上的分析,使用Matlab軟件,利用其自帶的神經(jīng)網(wǎng)絡工具箱,構造三層BP神經(jīng)網(wǎng)絡,并對其進行訓練和仿真,具體步驟如下:
1)用樣本A訓練BP網(wǎng)絡,并分別用訓練樣本A和T作為測試樣本對網(wǎng)絡進行仿真,記錄其識別效果,重復100次實驗取平均值,計算網(wǎng)絡的識別率并記錄。
2)將樣本A和樣本B合并為訓練樣本C(以下簡稱樣本C),用樣本C訓練BP網(wǎng)絡,并分別用訓練樣本C和T作為測試樣本對網(wǎng)絡進行仿真,記錄其識別效果,重復100次實驗取平均值,計算網(wǎng)絡的識別率并記錄。
3)用樣本B訓練BP網(wǎng)絡,并分別用樣本B和T作為測試樣本對網(wǎng)絡進行仿真,記錄其識別效果,重復100次實驗取平均值,計算網(wǎng)絡的識別率并記錄。
通過以上實驗方法得到的實驗數(shù)據(jù)記錄如表1所示。
表1 不同訓練樣本下的BP網(wǎng)絡的識別率Tab 1 The BP network recognition rate under different training samples
從表中數(shù)據(jù)可明顯看出:所訓練的3個網(wǎng)絡的正確識別率均達到90%以上,所以,這三個網(wǎng)絡是收斂的。對測試樣本的正確識別率表明該網(wǎng)絡對訓練樣本之外的樣本的識別情況,即網(wǎng)絡的泛化能力。對比實驗一和實驗二對測試樣本的正確識別率可看出:用包含虛擬樣本的訓練樣本集所訓練的BP網(wǎng)絡對訓練樣本集之外的測試樣本的正確識別率較高,即其泛化能力較好。其中用生成樣本作為訓練樣本集的BP網(wǎng)絡,由于生成樣本主要是表示類別的邊界,而采集到的樣本一般集中在各類別的樣本空間的中間位置,所以,該網(wǎng)絡對測試樣本的識別率較低,沒有現(xiàn)實意義,故沒有記錄。
由于工業(yè)用環(huán)境較復雜,通常只能取得少量的樣本,實驗證明:本文提出的虛擬樣本的構造方法是有效的。使用包含虛擬樣本的訓練樣本集進行訓練得到的BP網(wǎng)絡,能夠在小樣本訓練下得到較好的識別率,且泛化能力有所提高,有利于將這種用于識別七段碼數(shù)顯儀表的BP網(wǎng)絡推廣到復雜的工業(yè)環(huán)境中使用。對文中提出的構造方法進行改進,可以進一步考慮工業(yè)環(huán)境的光照等對儀表字符的識別的影響,構造更符合工業(yè)環(huán)境需求的虛擬樣本。
[1]顧晨勤,葛萬成.基于模板匹配算法的字符識別研究[J].通信技術,2009,42(3):220 -222.
[2]崔行臣,段會川,王金玲,等.數(shù)顯儀表數(shù)字實時識別系統(tǒng)的設計與實現(xiàn)[J].計算機工程與設計,2010,31(1):214 -217.
[3]楊金偉,段會川.脫機手寫數(shù)字識別方法[J].計算機工程與設計,2008,29(20):5379 -5382.
[4]陳家翔,龍建忠,陶青川,等.數(shù)字儀表顯示值的快速識別方法[J].中國測試技術,2006,32(6):49 -51.
[5]Poggio T,Vetter T.Recognition and structure from one 2-D model view:Observations on prototypes,object classes,and symmetries[R].A.I.Memo No.1347.Artificial Intelligence Laboratory,Massachusetts Institute of Technoloy,1992.
[6]Bishop C M.Training with noise is equivalent to tikhonov regularization[J].Neural Computation,1995,7(1):108 -116.
[7]Gavrila D M,Giebel J.Virtual sample generation for templatebased shape matching[C]//Proceedings of the 2001 IEEE Computer Society Conference on Computer Vision and Pattern Recognition,CVPR 2001,2001:I—676—I—681.
[8]Yang Jing,Yu Xu,Zhang Jianpei.A novel virtual sample generation method based on Gaussian distribution [J].Knowledge-Based Systems,2011(24):740 -748.
[9]于 旭,楊 靜,謝志強.虛擬樣本生成技術研究[J].計算機科學,2011,38(3):16 -19.