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