王永超,段志尚,王 璐,王 健,邢玉東,劉洪亮,黃大榮
(1.國網新疆電力有限公司 電力科學研究院, 烏魯木齊 830011;2.北京南瑞捷鴻科技有限公司, 北京 100093;3.重慶交通大學 信息科學與工程學院, 重慶 400074)
近年來,隨著計量生產自動化系統在電能計量器具檢定和倉儲作業中的廣泛應用,從根本上改變了傳統的人工作業方式,大幅降低了人工成本,提升了工作效率。其中,條形碼作為生產自動化系統的組成部分,在電能表生產線的中轉、出入庫操作中起著基礎、關鍵的作用。然而,隨著周轉箱在生產流水線和中轉流水線中的長期使用,造成箱體條形碼逐漸出現褪色、破損、浸漬等現象,使得激光掃描設備無法有效地對條形碼進行識別,進而影響到生產流水線的正常運轉。因此,如何對異常條形碼實現準確的辨識,快速替換異常條形碼,成為解決實際生產需求的重要基礎性問題。
針對圖像的辨識問題,國內外學者分別從特征提取、數理統計、神經網絡等角度開展了相關研究,取得了一系列研究成果。圖像紋理作為圖像的重要特征,在計算機視覺、圖像處理、圖像分析等領域具有廣泛的研究和應用[1-3]。因此,已有研究者從圖像紋理入手開展研究。例如,陳強等[4]為解決合成孔徑聲吶圖像的分類問題,針對圖像具有不同的統計和紋理特征,以灰度直方圖的標準差、峰值、灰度共生矩陣能量、熵值等作為SVM的訓練特征,構造分類器,實驗結果表明,該方法可有效對圖像進行區域分割。趙泉華等[5]為解決傳統單一特征無法實現文理圖像分割精度的要求,基于像素灰度的空間相關性和不同的子區域劃分,通過分別定義多個特征圖像的同質區域之間的異質性勢能函數和刻畫各子區域領域關系勢能函數定義全局勢能函數,從而建立紋理分割模型,取得了較單一特征更好的分割結果。
近年來,隨著神經網絡技術的進一步發展,神經網絡以其優異的特征學習能力,在信號處理、計算機視覺、自然語言處理等領域取得了廣泛的應用[6-7]。陳燕芹等[8]基于灰度共生矩陣對圖像紋理的參數進行了分析,提出了基于BP神經網絡的圖像復雜度評價方法,為圖像的復雜度研究提供了新的研究思路。田秋紅等[9]為解決一維條形碼和二維條形碼在識別過程中存在圖像失真的問題,基于圖像的不變矩特征向量建立BP神經網絡的輸入參數,實現了存在旋轉、平移和縮放等幾何失真條件下條形碼的正確識別,實驗結果表明:該方法具有良好的訓練速度和分類能力。Singh等[10]基于隨機森林分類器和決策樹,構建了一個新的圖像分類和檢索模型。實驗結果表明,該模型具有更好的搜索能力。李軍鋒等[11]針對圖像的分類問題,提出了一種基于卷積神經網絡和隨機森林的識別算法,取得了較單一算法更好的識別精度。遺憾的是,該方法在訓練樣本量不足時識別性能不佳。黃旭等[12]為解決傳統卷積神經網絡特征缺少而導致圖像識別過程中性能不佳的問題,采用融合線性判別損失函數的思想,對圖像中的深度特征進行提取,以提高圖像的識別性能。
隨著電能設備生產流水線的更快速、高效的發展要求,生產流水線中的異常條形碼給計量生產自動化系統帶來了嚴峻挑戰。上述研究成果,雖然從不同的圖像處理角度對圖像進行了分類、篩選,但仍存在模型復雜、樣本要求高、單次辨識時間長等不同程度的問題,難以滿足生產現場實時響應的需求。因此,以生產需求為導向,構建新的辨識模型及算法變得尤為迫切。
鑒于此,為有效解決復雜工業環境下電力設備生產流水線條異常狀態的辨識問題,提出了基于多特征提取與LM-BP神經網絡協同作用的辨識方法。根據生產現場異常(褪色、破損、浸漬等)和正常條形碼建立特征訓練庫,基于LM-BP神經網絡構建訓練辨識模型,以實現異常條形碼的智能、快速辨識。
條形碼在長期周轉使用的過程中,因摩擦、浸漬等造成表面粗糙度改變。已有文獻表明,紋理粗糙度的大小與局部結構的空間重復周期有關,周期大的紋理粗,周期小的紋理細[13-14]。對于含有重復紋理模式的圖像,當紋理粗糙時,自相關函數緩慢下降,而細紋理下降迅速。因此,自相關函數被用來測量紋理的周期性以及紋理基元的大小。設圖像為f(i,j),則自相關函數定義如下:
(1)
圖像的大小、形心等關鍵特征與圖像的矩有關。中心矩、原點矩能較好地表征圖像紋理特征,但缺乏不變性。文獻[15]利用中心矩、原點矩構造出的不變矩針對旋轉和縮放變化具有良好的不變性和抗干擾性,并能有效反映圖像的本質特性[16]。因此,不變矩作為圖像的一種重要特征,在圖像處理中具有廣泛的應用,本文通過對圖像的7個不變矩特征進行提取來表征圖像紋理。
以灰度函數f(x,y)表示m×n二維離散圖像,則圖像的p+q階區域的中心矩定義如式(2)所示。
(2)
對中心距進行歸一化后得到式(3)。
(3)
則7個不變矩公式為:
φ1=η20+η02
(4)
(5)
φ3=(η30-3η12)2+(η03+3η21)2
(6)
φ4=(η30+η12)2+(η03+η21)2
(7)
φ5=(η30-3η12)(η03+η21)·
[(η30+η12)2-3(η03+η21)2]+
(3η21-η03)(η03+η21)·
[3(η30+η12)2-(η03+η21)2]
(8)
φ6=(η20-η02)[(η30+η12)2-
(η03+η21)2]+4η11(η30+η12)·
(η03+η21)
(9)
φ7=(3η21-η03)(η30+η12)·
[(η30+η12)2-3(η03+η21)2]+
(3η12-η30)(η03+η21)·
[3(η30+η12)2-(η03+η21)2]
(10)
正常條形碼在對圖像進行邊緣檢測后二值化圖像中邊緣規則、光滑、連續,數量容易辨識;異常條形碼邊緣相對散亂,存在不同程度的斷開、混亂現象,如圖1 所示。因此,可用圖像中邊緣直線數對圖像磨損進行表征。

圖1 正常和異常條形碼曲線特征對比
HOG(histogram of oriented gradient,梯度直方圖特征)[17-18]作為一種對圖像局部重疊區域密度進行表征的方法,廣泛應用于圖像的識別。HOG特征提取的步驟如下:
步驟1 對圖像進行灰度化處理。
步驟2 采用Gamma校正法對輸入圖像進行顏色空間的標準化,用于調節圖像的對比度,降低圖像局部的陰影和光照變化所造成的影響。
步驟3 計算圖像每個像素的梯度用于獲取輪廓信息,并進一步弱化光照的干擾。
步驟4 將圖像劃分成若干cells,統計每個cell的梯度直方圖,即可形成每個cell的descriptor;
步驟5 將若干cell組成一個block,將一個block內所有cell的特征串聯起來便得到該block的HOG特征。
步驟6 將圖像內的所有block的HOG特征串聯起來就可以得到該圖像的HOG特征。
由于正常條形碼黑白區域間隔分明,紋理清晰,從豎直方向上看,每個block的HOG特征應與同一列的其他block相似,從水平方向上看,在不同block中,具有重疊cell區域的HOG特征也理應相似,如圖2(a)所示,污損條形碼的HOG特征則比較散亂,如圖2(b)所示,所以提取水平方向上的HOG特征方差與豎直方向上重疊區域的HOG特征方差作為正常條碼與污損條碼的辨識依據。

圖2 正常和異常條形碼曲線HOG特征對比
BP神經網絡作為一種經典的多層前饋神經網絡模型,因其較好的泛化能力、容錯能力以及算法實時性,在圖像識別、故障診斷等領域取得了廣泛的應用[19-23]。BP算法的基本思想是根據訓練樣本,利用梯度下降算法對網絡模型中的結點權重進行自適應的動態調整,使得期望輸出盡可能接近實際輸出。傳統BP神經網絡結構模型如圖3所示。

圖3 多隱層BP神經網絡結構模型
圖3中,BP神經網絡的輸入為x1,x2,…,xn,BP神經網絡的輸出為y1,y2,…,ym,網絡節點相應的權值分別為wij和wjk。從圖中可以看出:BP神經網絡相當于一個非線性函數,通過對樣本的訓練,可以反映輸入到輸出的映射關系。因此,BP神經網絡對異常條形碼進行分類預測,就是逐步迭代尋找一個非線性函數。BP神經網絡訓練過程如下:
步驟1 初始化神經網絡參數。根據輸入輸出序列(x,y)確定網絡輸入層節點數n、隱含層l,輸出層節點m,初始化輸入層、隱含層和輸出層神經元之間的連接權值wij、wjk,初始化隱含層閾值a,輸出層閾值b,給定學習速率和神經元激勵函數。
步驟2 計算隱含層輸出。網絡輸入向量x,通過輸入層和隱含層間連接權值wij以及隱含層閾值a,得到隱含層輸出H。
(11)
式中:l為隱含層節點數;f為隱含層激勵函數。該函數有多種表達形式,根據實際數據情況可進行選擇。
步驟3 計算神經網絡輸出值。根據隱含層輸出H,連接權值wjk和閾值b,得到神經網絡預測輸出O。
(12)
步驟4 計算輸出值與期望值之間的誤差。根據網絡預測輸出O和期望輸出Y,得到網絡預測誤差e。
ek=Yk-Ok,k=1,2,…,m
(13)
步驟5 進行權值更新。根據網絡預測誤差e對網絡中的連接權值wij和wjk進行更新。
i=1,2,…,n;j=1,2,…,l
(14)
wjk=wjk+ηHjek
j=1,2,…,l;k=1,2,…,m
(15)
式中η為學習效率。
步驟6 進行閾值更新。根據網絡預測誤差e對網絡節點閾值a和b進行更新。
j=1,2,…,l
(16)
bk=bk+ek,k=1,2,…,m
(17)
步驟7 判斷迭代誤差是否小于閾值,若小于,則迭代結束;若不小于,則返回步驟2。
BP神經網絡算法作為一種廣泛使用的網絡模型,雖然在圖像處理、故障診斷等領域取得了廣泛的應用,但在實際的應用中,由于其基于梯度下降法在學習效率和穩定性上存在缺陷。因此,為改進傳統BP訓練算法存在的不足,研究者將LM算法引入到BP中,以提高學習的性能和穩定性[23-26]。
在LM算法中,設誤差指標函數為
(18)

若在第k次迭代中取值和閾值構成的向量為wk,則滿足:
wk+1=wk+Δw
(19)
Δw=[JT(w)J(w)+μI]-1JT(w)e(w)
(20)
式中:J(w)為Jacobian矩陣;I為單位矩陣;μ為學習率。LM訓練過程主要如下:
步驟1 初始化網絡參數:設定網絡訓練誤差ε;常數μ0,β(0<β<1);初始化權重和閾值向量,令k=0,μ=μ0。
步驟2 計算網絡輸出和誤差相應的E(wk)。
步驟3 計算Jacobian矩陣J(w)。
步驟4 計算Δw。
步驟5 若E(wk)<ε,算法結束。
步驟6 根據wk+1=wk+Δw,計算E(wk+1)。
若E(wk+1) 利用LM-BP神經網絡對異常條形碼進行辨識時,將現場采集的圖像分為2組,一組作為訓練圖像,一組作為測試圖像。將提取后的圖像HOG、曲線特性、紋理粗糙度、紋理灰度構成特征矩陣,輸入BP神經網絡進行訓練,得到訓練模型,然后利用測試特征進行測試。條形碼辨識系統框圖如圖4所示。 圖4 條形碼辨識系統框圖 實際生產過程中,直接的物理接觸可能會導致條形碼殘缺、不平整、損污,影響條形碼的識別進而降低生產過程中的運行效率,所以對于生產過程中由于殘缺、不平整、損污等導致的無法識別的條形碼進行甄別并排除顯得尤為重要。以國網新疆電力有限公司電力科學研究院計量生產自動化系統現場為例。現場生產環境如圖5、6所示。 圖5 智能電表檢定流水線 隨著周轉箱在生產流水線和中轉流水線中的長期使用,造成箱體條形碼逐漸出現條碼褪色、破損、浸漬等現象,使得激光掃描設備無法有效對條形碼進行識別,進而影響到生產流水線的正常運轉。因此,如何對異常條形碼實現準確的辨識,快速替換異常條形碼,成為解決實際生產需求的重要基礎性問題。 根據現場實際情況條形碼在長期使用過程中存在磨損、缺失、浸漬等顯現,為驗證基于特征提取和LM-BP神經網絡的辨識效果,模擬條形碼的磨損等情況,建立特征庫,典型圖片如圖7~10所示。 圖6 智能電表中轉流水線 圖7 正常條形碼 圖8 異常條形碼(磨損) 圖9 異常條形碼(缺失) 為驗證上述方法的合理性和有效性,將條形碼圖像分為訓練和測試的圖像集,通過特征提取方法,對訓練和測試圖像提取主要的特征,分別構成訓練特征數據集合測試特征數據集。在利用LM-BP神經網絡對訓練特征集進行學習時,神經網絡參數如表1所示。 表1 LM-BP神經網絡參數設置 根據上述基于特征提取與LM-BP網絡辨識的算法模型,利用圖像特征提取后的數據集進行驗證。同時,為進一步反映辨識效果,采用十折交叉驗證的方式,將LM-BP的辨識結果與支持向量機(support vector machine,SVM)、概率神經網絡(probabilistic neural network,PNN)辨識結果進行比較,結果如表2所示。 表2 訓練/測試樣本集數量 根據表2,基于特征提取與LM-BP神經網絡的辨識準確率均比SVM和PNN高。因此,該方法可用于異常條形碼的辨識中。 本文針對工業生產環境中條形碼的異常識別問題,以圖像的HOG特性、曲線特征、紋理粗糙度、紋理灰度特征建立特征庫。在此基礎上,建立以BP神經網絡為核心的訓練-辨識框架。實驗結果表明:本文提出的算法能有效實現對異常條形碼的辨識,在訓練階段和辨識階段平均識別率保持在88.29%左右,具有實際的應用價值。但考慮到實際工程應用的復雜性,生產流水線上的異常條形碼需要更快速、高效的辨識。因此,在后續的研究中,將結合工程需求,致力于提高網絡的識別速度并進一步提高準確率。
3 算例與分析







4 結束語