李慧慧,閆 坤*,張李軒,劉 威,李 執
(1.桂林電子科技大學信息與通信學院,廣西桂林 541004;2.衛星導航定位與位置服務國家地方聯合工程研究中心(桂林電子科技大學),廣西桂林 541004)
電力、化工等領域存在數量龐大的儀表用來記錄現場狀況和生產數據[1],由于電磁干擾等環境因素的影響,工業生產普遍采用指針式儀表[2]。指針式儀表讀數識別主要依靠專業人員定期進行現場巡檢,該工作方式易受到人眼分辨能力、工作人員熟練程度、視覺疲勞等主觀因素的影響,檢測效率較低且難以保證數據的準確性。而在高輻射、強噪聲、高低溫等不適宜近距離測量環境內,儀表的采集和讀取是一項非常艱巨的任務[3]。隨著我國工業領域從勞動密集型向科技密集型不斷轉變,傳統人工抄表方式亟需轉向基于機器視覺的智能識別,以提高生產效率[4]。因此,實現指針式儀表的自動識別和檢測具有重要的現實意義及市場價值。
關于指針式儀表智能識別的課題,國外研究較早并取得了一定的成果[5-6]。葡萄牙里斯本技術大學的Alegria 等[7]采用減影法提取指針圖像,再利用Hough 變換確定指針的偏轉角度,但這種方法需要在相同環境下獲取兩個讀數不同的表盤指針。Vázquezfernández 等[8]通過調整相機位置定位指針式儀表的旋轉中心,獲取固定大小圖像。相較于國外指針式儀表智能識別的研究進展,國內的研究進展較慢。孫婷等[9]提出基于二維伽馬函數的儀表識別方法,能夠適應不同光照、不同類型的儀表指針定位,且識別的正確率達到94%;張雪飛等[10]根據尺度不變特征點匹配方法研究統一自動識別讀數的算法框架,能夠快速識別多類指針式儀表。盛慶華等[11]針對現有指針式儀表自動讀數對圖像采集條件要求比較苛刻的缺陷,提出了一種基于雙重霍夫空間投票的指針式儀表自動讀數方法,可以達到92%的識別率。隨著深度學習的發展,一批學者將深度學習方法用于指針式儀表的識別課題研究中。萬吉林等[12]提出了一種基于Faster R-CNN(Faster Region-Convolutional Neural Network)和U-Net 的儀表識別方法,漏檢率為2.86%,能達到較高的識別準確率。周楊浩等[13]利用全卷積神經網絡對輸入圖像進行語義分割以檢測儀表位置并提取儀表部分的圖像。
圓形指針式儀表自動檢測與識別大多基于預先獲取的儀表圖像,采用Hough變換算法進行儀表定位[14],這種方法前期需要大量儀表目標的記錄與相機的標定工作,以保證所得儀表圖像的質量,因此每次儀表位置發生變化都需要重新進行測量與標定。這類方法普適性、穩定性較差,尤其在復雜場景下,單一圓形Hough變換應用受限。針對這種缺陷,可采用深度學習目標檢測算法,但伴隨著海量參數復雜運算等問題。為解決以上問題,本文提出了一種基于預訓練MobileNetV2網絡模型與圓形Hough變換相結合的圓形儀表智能檢測和識別系統,用于復雜場景下圓形指針式儀表檢測和識別。
該系統首先采用圓形Hough 變換提取圓形區域,將所得圓形區域轉換為基于預訓練MobileNetV2網絡模型的輸入,通過圓形Hough 變換,降低復雜場景內其他非圓形區域的資源占用。MobileNetV2網絡模型是一種輕量型的網絡模型[15],該模型參數較少,可快速訓練出指定任務的模型,并且可以很好地運行在移動端設備和嵌入式設備中,為工業圓形指針式儀表識別奠定了非常好的基礎。因此采用基于預訓練MobileNetV2 網絡模型與圓形Hough 變換相結合的圓形儀表智能檢測和識別系統,既能夠高效地將本文方法落實到工業指針式儀表識別中,同時也能達到非常高的識別率,可有效優化工廠人員結構,提高工廠工作效率,降低人工干預誤差。
針對復雜場景下圓形指針式儀表的檢測與識別,本文提出一種基于預訓練MobileNetV2 網絡模型與圓形Hough 變換相結合的圓形儀表智能檢測和識別系統,該系統如圖1所示。

圖1 圓形指針式儀表智能檢測和識別系統示意圖Fig.1 Schemmatic diagram of intelligent detection and recognition system for circular pointer instrument
首先,通過攝像頭采集工業工廠中圓形指針式儀表的圖像,采用圓形Hough 變換方法確定多個圓形區域的圓心及半徑,根據圓心和半徑設置相應的圓形掩膜,提取對應圓形區域,實現對圓形區域的目標檢測。然后,將該目標檢測的圖像作為改進預訓練MobileNetV2 網絡模型的輸入??紤]到遷移學習對網絡模型的優勢,本文對預訓練MobileNetV2網絡模型進行修改,然后重新訓練得到一個網絡模型,最后在測試數據集上進行測試,對圓形指針式儀表進行識別。圓形指針式儀表自動檢測和識別系統的流程如圖2所示。

圖2 圓形指針式儀表自動檢測和識別系統的流程Fig.2 Flowchart of automatic detection and identification system of circular pointer type instrumen
計算機視覺任務中幾何圖形(如直線段、圓形、三角形、四邊形等)的識別是復雜場景圖像分析理解的基礎[16],圓形是其中一個重要的研究領域,比如:醫學檢驗中對胎兒小腦的檢測[17]、交通領域中對圓形交通標記的識別[18]、人臉識別中對瞳孔與虹膜的定位、芯片制造業中光掩膜基板的定位等都需要識別圖像中的圓形目標。比較典型的圓形類目標檢測算法有幾何判斷法、目標函數優化法、模板匹配法和Hough 變換[19]。復雜場景內采集的圖像樣本數據,往往受噪聲、遮擋、照明變化的影響較大,結合不同圓形類目標檢測算法的利弊及實際運用需求,本文選用圓形Hough 變換提取輸入圖像內的所有圓形區域。
1.2.1 深度分離卷積
深度分離卷積[20]是MobileNetV2 網絡模型中非常關鍵的一個結構,該結構利用分解卷積運算符代替完整的卷積算子,因式分解將標準卷積分為兩個分卷積:第一層為深度卷積,對輸入數據的單通道進行輕量級濾波;第二層為逐點卷積,計算輸入通道特性以構建新特征向量。
標準卷積Li的輸入尺寸為hi×ωi×di,應用標準卷積核K∈Rk×k×di×dj產生輸出Lj為hi×ωi×dj。
1)標準卷積的計算消耗為hi×ωi×di×dj×k×k。
2)拆分后深度分離卷積計算消耗為hi×ωi×di(k2+dj)。其中:hi×ωi×di為卷積輸入尺寸;k×k×di×dj中k×k為卷積核大小;dj為卷積核的個數。
MobileNetV2 網絡模型中使用卷積核大小為3× 3 時,與標準卷積相比計算量減少為原來的1/9~1/8,但是精度上基本沒有什么損失。
1.2.2 反向殘差網絡
反向殘差網絡[21]結構先通過擴展層來擴展維度,再用深度分離卷積提取特征,最后使用投影層來壓縮數據,讓網絡重新變小,整個網絡中間胖、兩頭窄,呈沙漏形狀,因此將這樣的結構稱為反向殘差網絡。該網絡中的擴展層,使用1×1 的網絡結構,將低維空間映射到高維空間,而投影層也是使用1×1的網絡結構將高維空間映射到低維空間。如果一個張量維度越低,卷積層的乘法計算量就越小,整個網絡的計算速度就會特別快,因此該網絡首先將特征張量輸入到擴展層進行特征提取,然后再將經過深度分離卷積提取的特征通過投影層返回到原來的空間維度,同時添加殘差連接以有效利用不同位置之間的信息,具體的反向殘差網絡結構如圖3所示。

圖3 反向殘差網絡Fig.3 Inverted residual network
1.2.3 基于MobileNetV2的遷移學習
遷移學習[22]是將某個領域或任務上學習到的知識或模式應用到不同但相關的領域中,從相關領域中遷移標注數據或知識結構,完成或改進目標任務的學習效果。本文提出的圓形指針式儀表檢測和識別系統已基于ImageNet學習了豐富的特征表示,通過遷移學習無形中擴充了訓練數據,使得模型泛化能力更好。
MobileNetV2 是一種輕量型神經網絡,本文系統在保留MobileNetV2 網絡模型中深度分離卷積和反向殘差網絡的同時,對該網絡模型進行改造,刪減一些不必要的卷積層,并對最后的全連接層進行調整,使得該網絡模型能夠適用于本文的研究任務,實現對圓形指針儀表的識別。該模型由于結構的特殊性,網絡模型的參數大幅減少,計算復雜度大幅降低,因此能夠運行在移動端或嵌入式端,可以滿足工業對指針式儀表檢測和識別的需求。
本文首先通過圓形Hough 變換對圓形區域進行目標檢測,然后將檢測出來的圓形目標利用本文提出的基于預訓練MobileNetV2網絡模型進行分類識別,判斷該圓形目標是否為圓形指針式儀表。
首先,對輸入圖像按照一定比例進行縮小,以減少Hough變換運算量;然后,利用圓形Hough變換檢測到的圓形區域信息,結合線性變換關系,在原圖相應位置構造圓形掩模,檢測并提取對應圓形區域。以圖4 為例:先利用圓形Hough 變換檢測圖4(a)中的所有圓形區域,并提取所有圓形區域的半徑與圓心坐標參數,如表1所示;再根據表1信息構造圓形掩模,提取對應圓形區域,結果如圖4(b)~(d)所示。

表1 輸入圖像內圓形區域的圓心及半徑Tab.1 Radii and centers of circular areas in input image

圖4 圓形Hough變換結果Fig.4 Results of circular Hough transform
本文實驗數據是從工廠采集的圓形指針式儀表圖像,通過圓形Hough變換檢測到的圓形區域構建數據集。該數據集含1 030 個圓形指針式儀表以及1 303 個圓形圖像但是不屬于圓形指針式儀表,以圖5所示圖像為例。
本文將采集的數據按照8∶1∶1 的比例隨機劃分為訓練數據集、測試數據集和評估數據集,訓練數據集中圓形指針式儀表的個數為824,非圓形指針式儀表的個數為1 042,用于訓練改進預訓練MobileNetV2模型;測試數據集和評估數據集中圓形指針式儀表的個數分別為103和103,非圓形指針式儀表的個數分別為130 和131。其中,測試集用于測試該模型性能;評估數據集用于預測某一個圖像是否是圓形指針式儀表,以評估該模型的泛化能力。具體的數據分布如表2所示。

表2 數據集分布Tab.2 Dataset distribution
在圖像目標識別與分割任務中,混淆矩陣[23]是最常用的評價指標之一,可反映數據的真實類別和預測類別的數量分布,如表3所示。表3中:TP為真陽性(True Positive)、FP為假陽性(False Positive)、FN為假陰性(False Negative)、TN為真陰性(True Negative)。

表3 混淆矩陣Tab.3 Confusion matrix
本文實驗樣本取自實際的工業場景,樣本采集成本較高導致樣本數量較少,且樣本類別存在不均衡性。單一取樣劃分數據集只能代表當次局部數據的實驗結果,因此本文分別進行9次隨機取樣構建9個由不同樣本數據構成的數據集,在已訓練好的模型上進行測試,得到針對9 個不同樣本數據集的混淆矩陣,最后將9 個混淆矩陣加權取平均得到平均混淆矩陣,以客觀反映網絡模型的泛化能力。

圖5 圓形指針式儀表數據和非指針式儀表數據Fig.5 Circular pointer instrument data and circular non-pointer instrument data
圖6 為基于改進預訓練MobileNetV2 網絡模型的圓形指針式儀表識別實驗結果。從圖6 中可以看出,該模型在圓形指針式儀表識別任務中收斂較快,在訓練和測試階段均能夠獲得較高的識別率,尤其在測試數據集上當訓練的epoch 達到40 時,基本可以100%識別出該圖像是否屬于圓形指針式儀表。在模型訓練階段,訓練損失值和準確率曲線存在一定的抖動,但識別率保持在98.8%~100%。通過觀察測試數據集上的實驗結果發現,已訓練好的網絡模型能夠非??斓厥諗?,在第40個epoch 時就已經完全收斂,圓形指針式儀表的識別率可以達到100%。
最后對評估數據集內的圖片進行預測,對比預測結果與實際標簽,其中實際標簽已知,進而衡量該模型的泛化能力。評估數據集在已訓練好的改進MobileNetV2 網絡模型上的混淆矩陣如圖7所示。
從圖7 可以清晰地發現,該模型能夠非常好地擬合評估數據集中的數據,可以將圓形指針式儀表和其他圓形圖形完全區分開,但是由于每一次進行實驗都會隨機按照8∶1∶1 的比例劃分數據集,某一次實驗的評估數據只能代表局部數據的實驗結果,不能反映所有待評估圖片數據,因此本文在已訓練好模型的基礎上,隨機劃分數據集對評估數據集進行9 次實驗,得到9個評估數據集的混淆矩陣,結果如圖8所示。

圖6 基于預訓練改進MobileNetV2網絡模型的實驗結果Fig.6 Experimental results of improved pre-trained MobileNetV2 network model

圖7 評估數據集的混淆矩陣Fig.7 Confusion matrix of evaluation dataset
從圖8(a)、(b)、(e)、(f)、(g)中可以看到,其中有一個圓形指針式儀表的圖像被誤判為非圓形指針式儀表的圖像。通過觀察被誤判為非圓形指針的圖像,發現該圖像存在模糊,可能是由于采集數據時設備抖動造成采集的數據存在模糊,造成本次識別任務發生誤判。模糊圓形指針式儀表圖像和正常圓形指針式儀表圖像如圖9 所示。為客觀反映所提模型的性能優劣,本文提出平均混淆矩陣概念,將9 次實驗得到的9 個混淆矩陣累加取平均得到平均混淆矩陣,降低實驗評估數據集隨機劃分帶來的誤差,平均混淆矩陣如圖10所示。
通過平均混淆矩陣得到TP=103,FP=0,FN=0.56,TN=130.44。同時計算了基于改進MobileNetV2 網絡模型的圓形指針式儀表識別任務下的準確率Acc(Accuracy)、精準率P(Precision)、召回率R(Recall)和F1(F1-Score)指標,計算結果如下:

精準率和召回率是二分類任務中重要的兩個度量標準,F1-Score 值表示精準率和召回率的調和平均,三者均可評估該模型的識別性能。可以看出:基于改進MobileNetV2網絡模型在圓形指針式儀表識別任務中的準確率可以達到99.76%。

圖8 隨機9次實驗中評估數據集的混淆矩陣Fig.8 Confusion matrices of evaluation dataset in 9 random experiments

圖9 數據集中模糊圓形指針式儀表和正常圓形指針式儀表Fig.9 Fuzzy circular pointer instrument and normal circular pointer instrument in dataset

圖10 平均混淆矩陣Fig.10 Average confusion matrix
本文分析了6 種不同網絡模型在圓形指針式儀表識別任務中的識別率(Accuracy,Acc)、模型參數量(Parameters)、模型計算量(MAdd),結果如表4所示。
通過對比發現,這些模型很難同時實現較高的識別率、較少的模型參數量和較小的模型計算量,識別率往往與復雜度及計算量成正比。通過對比表4 中六種不同模型的指標可知,從識別的準確率上來看ResNet50 模型和MobileNetV2 模型可100%識別出圓形指針式儀表,但是ResNet50 模型的參數量(Parameters)和模型計算量(MAdd)分別為23.51× 106和8 215.55× 106,而MobileNetV2 模型的參數量(Parameters)和模型計算量(MAdd)分別為2.23× 106和624.134 × 106。MobileNetV2模型的參數和模型計算量遠低于ResNet50模型,因此Mobilenetvv2 網絡模型訓練的速度遠快于ResNet50 網絡模型,更便于部署在移動端或嵌入式設備中,實現工業級圓形指針式儀表檢測和識別。

表4 六種不同網絡模型在圓形指針式儀表識別任務中的性能Tab.4 Performance of six different network models in circular pointer instrument recognition task
如果僅從模型的參數量和模型計算量的角度來看,ShuffleNet網絡模型的模型參數量和模型計算量分別為1.26 ×106和295.71× 106,相較于MobileNetV2 模型的參數量和模型計算量更低,但是也帶來了識別率的下降,ShuffleNet 網絡模型在圓形指針式儀表識別的任務中識別率只能達到99.16%。因此在圓形指針式儀表識別的任務中,本文提出的改進MobileNetV2 網絡模型在工業級圓形指針式儀表識別任務中既能以較少的參數和模型計算量訓練出該模型,又能出色完成指針式儀表識別任務。
為了驗證本文提出的基于改進預訓練MobileNetV2 網絡模型在工業級圓形指針式儀表識別任務中的優勢,對比了改進預訓練MobileNetV2網絡模型和未預訓練MobileNetV2網絡模型之間的差異,結果如圖11所示。

圖11 預訓練和未預訓練MobileNetV2網絡模型性能對比Fig.11 Performance comparison of MobileNetV2 network models with or without pre-training
遷移學習能夠解決由于自身數據集的數量偏少而帶來的性能上的弊端,通過加載預訓練模型將已訓練好模型的權重遷移到自己的網絡模型中。本文提出的改進預訓練MobileNetV2 網絡模型就是基于ImageNet 數據集上的預訓練模型。
基于改進預訓練MobileNetV2 網絡模型在圓形指針式儀表識別任務中可以100% 識別出儀表,而未預訓練的MobileNetV2 網絡模型在圓形指針式儀表識別任務中只能達到99.61%。經對比可發現,除了ResNet50 網絡模型外,基于改進未預訓練MobileNetV2 網絡模型的識別率依然比其他4種網絡模型更高,進一步驗證了本文提出的基于改進MobileNetV2 網絡模型在工業級圓形指針儀表識別任務中的性能較優。
從圖11 中還可以看出,基于預訓練MobileNetV2 網絡模型在測試階段的初始識別率可以達到99.5%,性能與未預訓練MobileNetV2 網絡模型收斂時的識別率相近。同時基于預訓練MobileNetV2 網絡模型收斂速度明顯要比未預訓練MobileNetV2 網絡模型快,預訓練模型在第30 個epoch 時就基本已經收斂了,而未預訓練模型在第40 個epoch 時才剛開始收斂,且模型的識別率存在小幅度的跳變。
本文提出了一種基于改進預訓練MobileNetV2 網絡模型與圓形Hough變換相結合的圓形指針式儀表智能檢測和識別系統,旨在工業環境中運用深度學習算法解決指針式儀表識別參數量大、計算量大、檢測精度較低的問題??紤]到圓形指針式儀表的外觀是圓形區域特征,引用圓形Hough 變換能夠排除待檢測圖像中的非圓形區域干擾,然后基于改進預訓練MobileNetV2 網絡模型對圓形儀表進行識別。實驗結果表明該系統在工業級圓形指針式儀表識別任務中表現較優,在保證高準確率的前提下,同時擁有較低的模型參數量和模型計算量,本文所提系統可為輕量級嵌入式終端提供決策參考。在后續的工作中,可針對攝像頭抖動及如何將該模型部署到移動端或嵌入式設備中的問題,進行進一步的探討與優化。