陳霄,王黎明,張法業(yè),張藝藍(lán),姜明順,張雷
(1.國網(wǎng)江蘇省電力有限公司,江蘇 南京 210024;2.江蘇方天電力技術(shù)有限公司,江蘇南京 211100;3.山東大學(xué)控制科學(xué)與工程學(xué)院,山東濟(jì)南 250061)
隨著工業(yè)4.0 戰(zhàn)略的實(shí)施,在工業(yè)智能化、數(shù)字智慧小區(qū)建設(shè)背景下,自動(dòng)抄表及遠(yuǎn)程讀表技術(shù)已成為當(dāng)前工程實(shí)踐應(yīng)用及研究的熱點(diǎn)。目前,大部分地區(qū)的水表是傳統(tǒng)機(jī)械式水表,隨著智能化技術(shù)的發(fā)展,人工抄表方式人力成本高昂,實(shí)時(shí)性差,缺乏統(tǒng)一化、標(biāo)準(zhǔn)化管理等缺點(diǎn)日益凸顯,因此,亟需一種自動(dòng)化數(shù)顯表識別系統(tǒng)。
針對以上問題,提出了一種基于語義分割和卷積神經(jīng)網(wǎng)絡(luò)的數(shù)顯表讀數(shù)識別算法,并對利用實(shí)際水表構(gòu)建數(shù)據(jù)集驗(yàn)證了算法的準(zhǔn)確性。
傳統(tǒng)的數(shù)顯表識別方法的流程是數(shù)字區(qū)域提取、傾斜校正、字符分割、數(shù)字識別[1],常用方法有邊緣檢測算法[2-3]、Hough 變換[4-5]、模板匹配[6-7]等。以上方法均需要按使用環(huán)境調(diào)整參數(shù),難以全面推廣應(yīng)用。家用水、氣、電、暖等數(shù)顯表在不同家庭環(huán)境下,數(shù)顯表種類、表盤清潔程度以及環(huán)境背景均有明顯差異,傳統(tǒng)方法難以采用一個(gè)通用算法解決這些問題。近年來,人工智能機(jī)器視覺感知技術(shù)發(fā)展迅速,并在理論與實(shí)際應(yīng)用兩大方面均取得了卓越發(fā)展成果[8]。目前基于深度學(xué)習(xí)的機(jī)器視覺研究有圖片分類[9]、目標(biāo)檢測[10]、語義分割[11]等,分別滿足不同的任務(wù)需要。對于數(shù)顯表數(shù)字識別系統(tǒng),語義分割模型可以有效地提取數(shù)字所在位置,圖片分類模型可以精準(zhǔn)識別圖片數(shù)字,為數(shù)顯表數(shù)字識別算法提供一種有效技術(shù)手段。
針對傳統(tǒng)數(shù)顯表讀數(shù)識別算法適用性差、抗噪能力弱等問題,提出了一種基于語義分割和卷積神經(jīng)網(wǎng)絡(luò)的數(shù)顯表讀數(shù)識別算法。通過語義分割實(shí)現(xiàn)數(shù)顯表數(shù)字識別,使用數(shù)據(jù)增強(qiáng)和遷移學(xué)習(xí)方法降低數(shù)據(jù)獲取成本,并結(jié)合自適應(yīng)區(qū)域二值化,降低噪聲的干擾。
基于語義分割和卷積神經(jīng)網(wǎng)絡(luò)的數(shù)顯表識別系統(tǒng)總體方案如圖1 所示。
圖1 總體設(shè)計(jì)框圖
數(shù)顯表讀數(shù)識別系統(tǒng)由圖像采集模塊、控制器模塊和遠(yuǎn)程傳輸模塊組成,系統(tǒng)硬件原理圖如圖2所示。
圖2 硬件原理圖
圖像采集模塊采用索尼IMX290 攝像頭,實(shí)現(xiàn)了在100°視角內(nèi)數(shù)顯表的200 萬像素圖像的實(shí)時(shí)采集;控制器模塊基于Jetson Nano AI 核心板設(shè)計(jì),該核心板搭載四核Cortex-A57 處理器,128 核Maxwell GPU,2GB LPDDR內(nèi)存,支持TensorFlow、PyThon、Caffe 等AI 框架和算法,實(shí)現(xiàn)了基于語義分割和卷積神經(jīng)網(wǎng)絡(luò)的數(shù)顯表識別算法的穩(wěn)定運(yùn)行;遠(yuǎn)程傳輸模塊基于4G 通信芯片WH-LTE-7S1 設(shè)計(jì),具備10 MB/s 下載速度、5 MB/s 上傳速度,兼容2G/4G/NB-IoT 等多種網(wǎng)絡(luò)制式,實(shí)現(xiàn)了數(shù)字表讀數(shù)的快速準(zhǔn)確傳輸。
系統(tǒng)工作時(shí),圖像采集模塊接收控制器模塊采集指令后,采集數(shù)顯表表盤圖像并通過USB 總線發(fā)送給控制器模塊,控制器模塊將接收到的圖像數(shù)據(jù)輸入數(shù)顯表讀數(shù)識別算法中,得到數(shù)顯表讀數(shù),并通過4G 網(wǎng)絡(luò)傳輸給上位機(jī)管理系統(tǒng),經(jīng)用能費(fèi)用計(jì)算后,向用戶發(fā)出繳費(fèi)提醒。
深度學(xué)習(xí)作為一種數(shù)據(jù)驅(qū)動(dòng)算法,數(shù)據(jù)需求量大。有監(jiān)督的深度學(xué)習(xí)算法不僅需要數(shù)顯表圖片數(shù)據(jù),同時(shí)還需要相應(yīng)的標(biāo)簽輔助訓(xùn)練。在標(biāo)注數(shù)據(jù)有限的情況下,數(shù)據(jù)增強(qiáng)(Data Augmentation)是一種增加訓(xùn)練樣本的多樣性的有效手段。按照變化方法,數(shù)據(jù)增強(qiáng)方法分為幾何變換類、顏色變換類和生成式數(shù)據(jù)增強(qiáng)。該文進(jìn)行數(shù)據(jù)增強(qiáng)及預(yù)處理時(shí),選用幾何變換類和顏色變換類進(jìn)行數(shù)據(jù)增強(qiáng)。
幾何變換類方法是指在不改變圖像相應(yīng)像素值的條件下,通過改變像素值的位置以及改變圖片尺寸的方法實(shí)現(xiàn)數(shù)據(jù)增強(qiáng)。常見的幾何變換類方法有鏡像、旋轉(zhuǎn)、縮放、裁剪等操作。鏡像和旋轉(zhuǎn)不改變圖像的尺寸,而裁剪會改變圖像的尺寸,縮放會產(chǎn)生圖像失真。由于幾何變換類操作會影響到圖片相應(yīng)的Ground Truth,因此在進(jìn)行上述操作時(shí),要對Image和Ground Truth 同時(shí)進(jìn)行操作。
顏色變換類可以改變圖像的像素值實(shí)現(xiàn)數(shù)據(jù)增強(qiáng),如噪聲疊加、圖像模糊、顏色改變、亮度值調(diào)整等?;谠肼暤臄?shù)據(jù)增強(qiáng)是在原來圖片的基礎(chǔ)上,隨機(jī)疊加一些噪聲,如高斯噪聲。改變色調(diào)是在一定的色彩空間中,通過增加或減少一些色彩成分,或改變色彩通道的順序來完成。調(diào)整亮度值可以模擬現(xiàn)實(shí)中不同光線強(qiáng)度的情況。
針對家用水表圖像底噪高、角度不正等特點(diǎn),在保留原圖的基礎(chǔ)上,對原圖進(jìn)行添加高斯噪聲、隨機(jī)改變圖像色調(diào)、隨機(jī)調(diào)整圖像亮度以及以上方式的組合變換,得到七種數(shù)據(jù)增強(qiáng)圖片。針對不同設(shè)備分辨率和拍攝角度不同的問題,采用隨機(jī)裁剪、縮放、翻轉(zhuǎn)+裁剪三種方法,將原圖和數(shù)據(jù)增強(qiáng)圖片進(jìn)行規(guī)范,得到尺寸為256×256 的增強(qiáng)圖片,使得原始數(shù)據(jù)集擴(kuò)充為24 倍。具體數(shù)據(jù)增強(qiáng)方法編號如表1所示。
表1 數(shù)據(jù)增強(qiáng)方法編號
基于U-net 模型進(jìn)行數(shù)字區(qū)域分割算法設(shè)計(jì)。U-net 模型[12]的優(yōu)勢在于它不需要繁瑣的圖像與處理和特征工程,且能夠以端到端的方式進(jìn)行應(yīng)用。此外通過使用數(shù)據(jù)增強(qiáng)技術(shù),U-net 在小數(shù)據(jù)集上可以實(shí)現(xiàn)良好的預(yù)測性能。基于標(biāo)準(zhǔn)U-net 網(wǎng)絡(luò),利用調(diào)整參數(shù)和模型層數(shù),結(jié)合跨步卷積的下采樣實(shí)現(xiàn)方法,構(gòu)建數(shù)字區(qū)域分割網(wǎng)絡(luò),并通過引入殘差結(jié)構(gòu)解決由于模型層數(shù)過深而產(chǎn)生的梯度消失問題,提升模型性能。
跨步卷積是指步長大于1 的卷積,可以作為一種下采樣方法。其與最大池化法不同的是對于一定范圍的特征信號,傳遞到下一層的權(quán)重是模型學(xué)習(xí)出來的,因此可以更有效地提取特征。
殘差是指實(shí)際測量值與回歸預(yù)測值的差。在表盤區(qū)域識別任務(wù)中,深度殘差網(wǎng)絡(luò)通過使用殘差模塊參考己知的淺層映射獲取數(shù)據(jù)特征,這比直接擬合深層映射更容易[13],從而提升模型準(zhǔn)確性。殘差模塊是在兩個(gè)卷積層的基礎(chǔ)上添加了一個(gè)捷徑連接(Shortcut connections)。殘差模塊的一般表達(dá)形式如下:
其中,x是恒等映射;H(x)是期望的基礎(chǔ)映射;F(x)是殘差映射。期望的基礎(chǔ)映射H(x)可以被重寫為F(x)+x。隨著深度學(xué)習(xí)網(wǎng)絡(luò)模型層數(shù)的增加,會出現(xiàn)梯度消失、梯度爆炸等網(wǎng)絡(luò)退化問題,使用殘差方法打破U-net 網(wǎng)絡(luò)對稱性,進(jìn)而有效改善層數(shù)過多引起的網(wǎng)絡(luò)退化問題[14]。模塊結(jié)構(gòu)如圖3,參數(shù)如表2 所示。
表2 改進(jìn)U-net模型參數(shù)
圖3 改進(jìn)U-net模型及殘差模塊結(jié)構(gòu)
通過分割算法,可以得到數(shù)字表盤的預(yù)測Ground Truth,然而由于模型準(zhǔn)確度、圖片拍攝角度問題,分割結(jié)果通常為不規(guī)則矩形,需進(jìn)一步處理才能正確提取表盤區(qū)域。
采用掃描檢測法,通過依次掃描x軸和y軸,確定表盤所在最小矩形區(qū)域。同時(shí),加入連通性判定條件,降低小區(qū)域分割誤差對提取結(jié)果的影響。掃描前,首先使用Ground Truth 提取原圖表盤識別區(qū)域。
然后依次掃描x軸和y軸,在表盤識別區(qū)域附近,將連續(xù)5 個(gè)非表盤區(qū)域作為邊界,其內(nèi)部即為矩形表盤區(qū)域。
為提升字符識別效率,對圖片進(jìn)行灰度化和二值化處理。采用自適應(yīng)閾值法選擇二值化閾值。首先計(jì)算r×r領(lǐng)域內(nèi)的灰度均值n(x,y)與標(biāo)準(zhǔn)方差s(x,y)。
然后,計(jì)算領(lǐng)域內(nèi)像素點(diǎn)對應(yīng)高斯權(quán)重、像素點(diǎn)(x,y)的閾值T(x,y)。
其中,(i,j)是領(lǐng)域內(nèi)像素點(diǎn)與(x,y)相對的坐標(biāo)。
最后,進(jìn)行二值化,如式(7)所示:
對于后續(xù)數(shù)字識別功,采取單個(gè)字符提取識別并組合的方法來識別表盤數(shù)字。以5 位數(shù)字的數(shù)顯表為例,如圖4 所示,將表盤區(qū)域分為5 份,每個(gè)區(qū)域左右部分各留出5%的重疊部分,避免分割導(dǎo)致數(shù)字不完整。
圖4 字符提取示意圖
考慮到數(shù)顯表盤數(shù)字為規(guī)范印刷體,風(fēng)格差異較小,對大量數(shù)據(jù)進(jìn)行標(biāo)注構(gòu)建數(shù)據(jù)集時(shí)間成本極高,但若僅使用少量數(shù)據(jù)構(gòu)建數(shù)據(jù)集,深度學(xué)習(xí)模型易陷入過擬合[15]。因此,基于CNN 模型LeNet-5 網(wǎng)絡(luò)框架構(gòu)建數(shù)字識別算法,利用mnist 手寫數(shù)據(jù)集,實(shí)現(xiàn)遷移學(xué)習(xí),提升所設(shè)計(jì)算法在小樣本圖像識別數(shù)據(jù)庫上的準(zhǔn)確度[16]。具體流程如圖5 所示。
圖5 數(shù)字識別算法流程
首先,預(yù)訓(xùn)練基于LeNet-5 網(wǎng)絡(luò)結(jié)構(gòu)CNN 模型,其網(wǎng)絡(luò)結(jié)構(gòu)和參數(shù)分別如圖6、表3 所示。
表3 CNN模型參數(shù)
圖6 CNN網(wǎng)絡(luò)結(jié)構(gòu)
預(yù)訓(xùn)練完成后,將構(gòu)建的真實(shí)表盤數(shù)據(jù)集分為訓(xùn)練集和測試集,利用訓(xùn)練集進(jìn)一步訓(xùn)練模型,最后使用測試集驗(yàn)證模型性能。
以不同廠家、不同采集角度、不同使用環(huán)境下獲取的19 張水表圖片構(gòu)成數(shù)據(jù)集,并對其進(jìn)行人工標(biāo)注。通過數(shù)據(jù)增強(qiáng),得到共456 張水表圖片,構(gòu)建實(shí)驗(yàn)數(shù)據(jù)集。
采用交并比(Intersection over Union,IoU)評價(jià)數(shù)字區(qū)域分割模型性能。IoU 表示系統(tǒng)預(yù)測出來的框與原來圖片中標(biāo)記的框的重合程度,分割結(jié)果最好時(shí),值為1;最差時(shí),值為0。其計(jì)算方法為:
圖7 為IoU 數(shù)字區(qū)域分割評價(jià)指標(biāo)參考圖,其中,矩形A代表標(biāo)簽,矩形B代表模型預(yù)測分割的數(shù)字區(qū)域,矩形C是A與B的交集。
圖7 IoU數(shù)字區(qū)域分割評價(jià)指標(biāo)參考圖
使用數(shù)據(jù)增強(qiáng)后的圖片訓(xùn)練語義分割模型,歷經(jīng)100次訓(xùn)練后,IoU數(shù)字區(qū)域分割準(zhǔn)確率為99.76%。
首先,提取表盤圖片數(shù)字區(qū)域并進(jìn)行二值化處理,部分提取結(jié)果如圖8 所示。
圖8 部分?jǐn)?shù)字區(qū)域提取結(jié)果
然后,提取單個(gè)字符,按數(shù)字命名保存,得到數(shù)字字符數(shù)據(jù)集,共獲得了760 張數(shù)字圖片。
首先,使用mnist 數(shù)據(jù)集訓(xùn)練數(shù)字識別模型。為降低二值化后表盤框?qū)ψR別結(jié)果的影響,在mnist 數(shù)據(jù)集上,添加寬度為1、像素尺寸為20×20、位置隨機(jī)的矩形框,經(jīng)網(wǎng)絡(luò)訓(xùn)練后,測試集準(zhǔn)確率為99.46%,圖8 中的數(shù)字識別結(jié)果分別為00189、00152、04371、00252??梢钥闯觯?xùn)練網(wǎng)絡(luò)對完整數(shù)字識別準(zhǔn)確,但部分被分成半截的數(shù)字出現(xiàn)了錯(cuò)誤識別。
然后,再使用4.3 節(jié)提取600 張數(shù)字字符圖片作為訓(xùn)練集對網(wǎng)絡(luò)進(jìn)一步調(diào)整訓(xùn)練,獲得最終數(shù)字識別模型。
最后,使用4.3 節(jié)提取160 張數(shù)字字符圖片作為測試集對數(shù)字識別模型進(jìn)行驗(yàn)證,測試準(zhǔn)確率為100%,圖8 中對應(yīng)的數(shù)字識別結(jié)果為00180、00152、04321、00252,滿足工程應(yīng)用需求。
利用i5-9500 CPU &TensorFlow 2.3.0 構(gòu)建算法用時(shí)測試平臺,記錄從獲取到50 張水表照片到返回識別結(jié)果所用的時(shí)間,計(jì)算平均用時(shí),以此作為單張照片識別時(shí)間。連續(xù)進(jìn)行五次實(shí)驗(yàn),求取平均值和方差,50 張水表圖片總用時(shí)平均為17.53 s,單水表識別平均用時(shí)為350.59 ms,滿足工程應(yīng)用需求。
針對工程應(yīng)用中數(shù)顯表識別算法適用性差、抗噪能力弱等問題,設(shè)計(jì)了一種基于語義分割和卷積神經(jīng)網(wǎng)絡(luò)的數(shù)顯表讀數(shù)識別算法。利用較低成本的小數(shù)據(jù)集對模型進(jìn)行訓(xùn)練,并通過數(shù)據(jù)增強(qiáng)降低了污漬、光線等因素對識別效果的影響,實(shí)現(xiàn)批量自動(dòng)快速識別。實(shí)驗(yàn)表明,所設(shè)計(jì)算法具有成本低、用時(shí)短和準(zhǔn)確率高等特點(diǎn),滿足工程化需求。
未來將基于該模型繼續(xù)研究數(shù)顯表讀數(shù)算法,探索多種類數(shù)顯表讀數(shù)算法的可能性,實(shí)現(xiàn)用戶側(cè)居民水、電、氣、暖數(shù)顯表一體化識別。