洪巧文,張荔鵑,周厚源,王 姣,蘇東升,黃大榮,馬爭鋒
(1.國網(wǎng)福建省電力有限公司營銷服務中心,福建 福州 350003;2.北京南瑞捷鴻科技有限公司,北京 100093;3.重慶交通大學信息科學與工程學院,重慶 400074)
近年來,隨著國家電網(wǎng)公司自動化建設的發(fā)展,省級計量中心建設全面展開。電能表的自動化檢定系統(tǒng)建成并投入運行后,大幅降低了人員成本,全面提升了檢定效率和檢定質量。完成電能表自動檢定后,會由自動生產(chǎn)線上的貼標機為合格電能表進行自動貼標。然而,在貼標機長時間工作中,難免會出現(xiàn)標簽信息打印模糊、打印不完整、信息打印偏移和重復貼標簽等問題。貼標之后如果不能及時發(fā)現(xiàn)問題標簽,檢定通過的電能表就會入庫,然后被配送到各地。這些貼標信息不完整的電能表是不能給用戶安裝的。如果在安裝時再逐一排查或者回收,會造成巨大的人工和運營成本的損耗。因此,如何能在電能表貼標后自動辨識出不合格的貼標標簽,是解決實際生產(chǎn)的重要基礎。
針對圖像識別問題,國內外學者分別從特征提取、機器學習等方面開展了研究,并取得了一系列研究成果。在計算機算力比較有限的時候,研究者們往往先手動提取圖像的特征,再進行圖像識別。在圖像特征提取方面,局部二值模式 (local binary pattern,LBP)、梯度直方圖 (histogram of oriented gradient,HOG)和哈爾特征(Haar like features,HL)等算法的應用非常廣泛。LBP主要通過比較圖像中任意像素點灰度值與以該像素點為中心的矩形鄰域內其他像素點灰度值的大小,確定該像素點的LBP碼[1]。 HOG 算法的基本思想是:局部目標的表象和形狀能夠被梯度強度在梯度方向上的分布很好地描述[2]。這些特征提取算法結合機器學習的模型,在圖像識別方面取得了很好的效果,應用非常廣泛。例如:丁飛等[2]提出了基于一種改進的方向梯度直方圖-支持向量機(histogram of oriented-support vector machine,HOG-SVM)的紅外視頻圖像人形檢測方法,在3 m之內對人形姿態(tài)的識別率達到了95%,且運行時間短;原曉佩等[3]提出了一種基于滑窗原點信息的閾值自調節(jié)改進哈爾特征和局部二值模式(improved Haar like-local binary pattern,IHL)特征提取算法。該算法對行人和車輛目標的識別率可達到94%以上,檢測準確性相比其他方法也有顯著提升。特征提取的方法經(jīng)過改進之后,都具有一定的魯棒性,在實際應用中也取得不錯的效果。然而,這些算法對于原圖像的拍攝條件有比較嚴格的要求,如果獲取的圖像光照不均勻,就會大大影響算法結果。另外,特征算法本身也存在著一些缺陷。例如,HOG算法本身不具有尺度不變性。
近年來,隨著計算機算力的增強,神經(jīng)網(wǎng)絡模型從理論變?yōu)榱爽F(xiàn)實。而其在各個領域對于不同數(shù)據(jù)的學習能力,使得這一技術得到了飛速的發(fā)展。神經(jīng)網(wǎng)絡模型目前在自然語言、計算機視覺和其他大數(shù)據(jù)處理的相關領域得到了非常廣泛的應用[4-6]。Lecun Y等[5]描述了神經(jīng)網(wǎng)絡這種多處理層的計算模型。這種深度學習模型能夠發(fā)現(xiàn)大數(shù)據(jù)中的復雜結構,可以在語音識別、視覺目標識別、目標檢測以及基因學等方面發(fā)揮巨大的作用。Krizhevsky A[7]等提出了經(jīng)典的卷積神經(jīng)網(wǎng)絡(convolutional neural networks,CNN)框架。其中:Alexnet模型引入了全新的深層結構和dropout方法,大幅降低了圖像識別的錯誤率,讓CNN模型在圖像識別領域大放異彩。此后,該領域的研究和應用很多都是基于該模型的改進和優(yōu)化[8-9]。殘差網(wǎng)絡(residual networks,ResNet)是深度學習領域的又一進展,在一些圖像識別和檢測任務中取得了顯著的成果[10-11]。與同等的CNN相比,ResNets能達到更高的精度,并能使訓練過程更快,表現(xiàn)出比深度前饋網(wǎng)絡更好的泛化性能。
自動生產(chǎn)線工作具有快速、高效的特點,因此電表自動檢定完成后,要在貼標機貼標工作后實時檢測每個電表的貼標是否合格。這對檢測速度提出了非常高的要求。同時,工廠現(xiàn)場作業(yè)環(huán)境比較復雜的,要求檢測標簽的方法對于采集的圖像光照、角度等具有較強的魯棒性。此外,在實際生產(chǎn)過程中,異常標簽實際上是很少的。這會造成建立訓練數(shù)據(jù)庫時樣本不均衡的情況。
為了解決樣本不均衡的問題,同時高效、準確地對不合格貼標進行檢測,本文對樣本數(shù)據(jù)庫作了均衡樣本的處理:通過分析幾種高效算法原理、對比它們對標簽特征識別情況,確定了應用ResNet模型來實現(xiàn)不合格標簽的快速、準確辨識。
數(shù)據(jù)集樣本采用貼標機實際工作中產(chǎn)生的正常貼標和異常貼標圖像作為正、負樣本。在實際生產(chǎn)線中,標簽異常情況很少,采集負樣本難度很大,會出現(xiàn)數(shù)據(jù)集中正、負樣本比例不均衡的情況。由于數(shù)據(jù)決定了機器學習模型的最終效果,要想模型對異常標簽有很好的識別效果,就先要解決樣本不均衡問題。在實際試驗中,解決樣本不均衡問題通常有以下兩種方法。
①欠采樣。
欠采樣是通過減少多數(shù)樣本的樣本數(shù)量來達到正、負樣本均衡的目的。一種比較簡單的做法是直接隨機去除一些多數(shù)樣本,直到數(shù)據(jù)集中正、負樣本比例接近。這種方法的缺點是不僅會造成信息丟失,還會減少總樣本量,難以滿足深度學習模型對樣本數(shù)量的要求,導致模型學習不充分、影響識別效率。
②過采樣。
過采樣是通過增加樣本中少數(shù)類來達到正、負樣本均衡,提高模型表現(xiàn)。較為簡單的方式是直接復制一定數(shù)量的少數(shù)類樣本來增加少數(shù)類占比,并增大樣本總量,以滿足模型訓練需求。這種方法的缺點是數(shù)據(jù)單一,模型存在較大過擬合風險。
針對圖片數(shù)據(jù),本試驗采用數(shù)據(jù)增強的方式增加少數(shù)類樣本比例。在計算器視覺領域,數(shù)據(jù)增強是一種擴大樣本數(shù)量的常用方式。一般而言,神經(jīng)網(wǎng)絡模型需要確定大量的參數(shù),而使得這些參數(shù)可以正確工作則需要大量的數(shù)據(jù)進行訓練。在實際樣本缺乏的情況下,圖像數(shù)據(jù)增強不僅可以增加訓練數(shù)據(jù)、提高模型泛化能力,還能人為添加噪聲數(shù)據(jù),從而提高模型的魯棒性。在電能表貼標機異常貼標圖像識別中,使用圖像翻轉、圖像旋轉、圖像縮放、圖像剪裁、圖像平移和圖像加噪來進行圖像增強,以增加少數(shù)樣本。
原始樣本與數(shù)據(jù)增強樣本如圖1所示。
圖1 原始樣本與數(shù)據(jù)增強樣本Fig.1 Original sample and data enhanced sample
HOG算法通過計算和統(tǒng)計圖像局部區(qū)域的HOG來構成特征。HOG特征結合SVM分類器已經(jīng)被廣泛應用于圖像識別中[2]。
HOG特征提取步驟如下。
①對圖像進行灰度化處理。
②采用Gamma校正法對輸入圖像進行顏色空間的標準化。校正的目的是調節(jié)圖像的對比度、降低圖像局部的陰影和光照變化所造成的影響,同時抑制噪音的干擾。
③計算圖像每個像素的梯度(包括大小和方向)。這一步主要是為了捕獲輪廓信息,同時進一步弱化光照的干擾。
④將圖像劃分成小細胞單元(cells)。
⑤統(tǒng)計每個cell的梯度直方圖,即可形成每個cell的特征。
⑥將每幾個cell組成一個塊像素(block)。每個block內所有cell的特征串聯(lián)起來,就是該block的HOG特征。
⑦將圖像內所有block的HOG特征串聯(lián)起來,可以得到目標圖像的HOG特征。
電能表不合格標簽會出現(xiàn)信息打印模糊、不完整、信息打印偏移等問題。而電能表標簽本身具有較大的色差,紋理清晰,局部目標的圖像和形狀能夠被梯度或邊緣的方向密度分布很好地描述。因此,HOG能夠準確反映圖像特征,體現(xiàn)標簽間的信息差異,可用于訓練模型尋找異常標簽。
支持向量機(support vector machine,SVM)是機器學習中應用非常廣泛的一類模型。它在樣本數(shù)據(jù)中找出一個最大邊際超平面對應的決策邊界,并利用這個決策邊界對數(shù)據(jù)進行分類。對于非線性數(shù)據(jù),SVM會對數(shù)據(jù)進行升維變換,在高維空間中可以找到一個合適的決策邊界再變換到原始維度。
正是由于HOG方法對圖像特征的高效提取與SVM在線性與非線性數(shù)據(jù)上的良好表現(xiàn),本文應用HOG+SVM方法對電能表貼標異常圖像進行識別,并作為基本對照試驗組。
作為深度學習的代表算法之一,CNN可以直接將圖像數(shù)據(jù)作為輸入,不僅無需人工對圖像進行預處理和額外的特征提取等復雜操作,而且具有獨特的細粒度特征提取方式。因此,CNN在圖像識別、物體檢測、圖像描述等計算機視覺領域有廣泛應用。
稱取0.100g鋁合金標準樣品于燒杯中,加入5mL 30%氫氧化鈉溶液、幾滴30%雙氧水,加熱至溶解完全,加1mL硝酸(1+1)加熱蒸至近干,加水溶解,定容于50mL容量瓶中。移取適量試液于25mL容量瓶中,加入各1mL 1g/L酒石酸鉀鈉溶液和20g/L硫脲溶液后按實驗方法測定,結果見表1。
CNN主要由輸入層、卷積層、池化層、全連接層和輸出層這5部分組成[4]。對輸入圖像的特征提取主要通過卷積層實現(xiàn)。卷積的計算公式為:
(1)
電能表合格貼標標簽與異常貼標標簽的主要差別在于信息打印的位置以及模糊程度。要想訓練出精度高的分類模型,在提取圖像特征時,算法就必須準確提取標簽中的文字信息。用包含4層卷積、9個卷積核的CNN特征提取可視化結果如圖2所示。
圖2 CNN特征提取可視化結果Fig.2 Results of CNN feature extraction visualization
由圖2可知,在壓縮圖像維度的同時,除了對文字信息的準確提取,特征圖中還包含了標簽的輪廓、顏色特征,并且隨著模型的加深,提取的特征更具有代表性。所以,利用CNN提取的圖像特征訓練標簽分類模型更加準確。
隨著深度學習技術的發(fā)展,神經(jīng)網(wǎng)絡模型越來越深。與此同時,反向傳播誤差梯度消失、模型退化等問題也影響著模型表現(xiàn)。作為CNN模型的代表算法,視覺幾何組網(wǎng)絡(visual geometry group networks,VGGNet)與ResNet在計算機視覺領域都有廣泛的應用。VGGNet探索了CNN深度與性能之間的關系,并證實了隨著網(wǎng)絡深度增加,可以在一定程度上提升模型的性能[8-9]。
VGG-16模型結構如圖3所示。
圖3 VGG-16模型結構Fig.3 VGG-16 model structure
VGG-16網(wǎng)絡模型包含了13個卷積層和3個全連接層。其中,卷積層每2個或者3個為1組,堆疊為1個卷積單元;設置滑動步長為1,加入邊界填充以保證前后維數(shù)一致。在每個卷積單元之后加入1個2×2的最大池化層,設置步長為2,用于特征圖降采樣以及獲得圖像平移不變性。全連接層由3個連續(xù)的全連接組合,前兩層通道數(shù)均為4 096,第三層通道數(shù)為1 000。模型的最后為1個具有1 000個標簽的SoftMax輸出層。
然而,隨著網(wǎng)絡的深度的進一步增加,存在信息傳遞梯度消失的情況,會造成網(wǎng)絡效果下降的退化現(xiàn)象。為解決這個問題,ResNet網(wǎng)絡通過加入殘差塊方式堆疊網(wǎng)絡層[10-11],在模型加深的同時保證模型效果能夠有所提升,并在多個數(shù)據(jù)集中證實ResNet效果好于VGGNet。在殘差塊結構中,“+”表示將殘差塊的原始輸入和輸出相加。
圖4 殘差塊結構Fig.4 Residual block structure
殘差塊的設計改變了單層網(wǎng)絡的擬合目標,將目標函數(shù)變?yōu)槠谕敵雠c輸入之間的殘差:
y=f(x,wi)+x
(2)
式中:y為殘差塊目標輸出;x為輸入;f(x,wi)為殘差單元需要學習到的映射。
在模型訓練過程中,殘差塊可以通過網(wǎng)絡的輸入與輸出判斷該層網(wǎng)絡是否學到了有效信息。若該層網(wǎng)絡無法學到有效信息或者影響模型的性能,也就是f(x,wi)<0,殘差塊會直接將網(wǎng)絡的輸入作為輸出結果,即y=x。這可以保證在網(wǎng)絡變深的同時,模型性能不會因此降低,使設計的每一層網(wǎng)絡都對整個模型的精度有貢獻。
然而,為了保證原始輸入x與殘差單元學習映射f(x)最后可以合并,殘差塊中要求x與f(x)具有相同的特征圖個數(shù)。這也限制了卷積層提取更多有效特征。為此,改進的模型中單獨設計了如圖5的卷積殘差塊,即對輸入x作與殘差塊同等的卷積映射,保證在特征圖加深的同時,x與f(x)具有相同的維度。根據(jù)貼標圖像自身的特征復雜度,采用了ResNet-50模型,網(wǎng)絡中分為5個stage,先由12個殘差塊和4個卷積殘差塊提取輸入的標簽圖像特征,再由全連接層輸出預測結果。
圖5 卷積殘差塊結構Fig.5 Convolution residual block structure
ResNet-50模型結構如圖6所示。
圖6 ResNet-50模型結構Fig.6 ResNet-50 model structure
在電能表貼標機實際運作過程中,由于貼標機的長時間工作和環(huán)境因素,會導致打印標簽信息模糊、不完整、信息打印偏移等問題。異常標簽的電能表按規(guī)定不能出售。若是不能在出廠前識別出異常標簽,將會造成人力與物力資源的消耗。
異常標簽如圖7所示。
圖7 異常標簽Fig.7 Exception labels
為驗證基于ResNet的標簽識別模型效果,以電能表生產(chǎn)企業(yè)現(xiàn)場采集的標簽為數(shù)據(jù)集,并利用翻轉、旋轉、縮放等數(shù)據(jù)增強方法進行樣本均衡,將數(shù)據(jù)集劃分為1 600個訓練集和400個測試集。圖像增強后的樣本中含有合格標簽1 100張、異常標簽900張。
樣本數(shù)據(jù)構成如表1所示。
表1 樣本數(shù)據(jù)構成 Tab.1 Sample data composition /張
由于數(shù)據(jù)集中樣本有限,在進行ResNet訓練時:首先,采用了遷移學習的方法,以ImageNet預訓練的ResNet來初始化模型參數(shù);然后,在訓練中優(yōu)化,最后用測試集測試模型性能。
訓練共進行了10次迭代,得到如圖8所示的ResNet學習與誤差曲線。
圖8 ResNet學習與誤差曲線Fig.8 ResNet learning and error curves
同時,為了進一步反映ResNet的辨識效果,把上述試驗與SVM+HOG、VGG-16兩組模型的試驗結果進行了對比。試驗結果對比如表2所示。
表2 試驗結果對比
由表2可知,3組模型在訓練集樣本中都有很好的識別效果。但在測試集中,ResNet的識別效果要遠遠高于其他2組模型,達到了89%,證明了該方法的有效性。
針對自動線生產(chǎn)環(huán)境中的自動貼標標簽識別問題,以生產(chǎn)現(xiàn)場采集的圖像為數(shù)據(jù)集,進行了數(shù)據(jù)集樣本均衡,并以HOG+SVM作為基本對照試驗,使用VGG-16和ResNet模型在平衡后的數(shù)據(jù)集中進行了模型訓練和樣本識別的試驗。試驗結果表明,在訓練與測試階段,ResNet都有最好的識別效果,測試集識別率保持在89%,具有實際的應用價值。但由于樣本量的不足,模型還存在輕微過擬合現(xiàn)象,且在實際的流水線中,需要準確、高效的標簽辨識模型。在后續(xù)的研究中,將針對工程需求,進一步提高模型的準確率、識別速度,以及降低過擬合風險。