顧允迪,徐望明,2*,何 欽
(1. 武漢科技大學 信息科學與工程學院,湖北 武漢 430081;2. 武漢科技大學 教育部冶金自動化與檢測技術(shù)工程研究中心,湖北 武漢 430081)
隨著中國物聯(lián)網(wǎng)技術(shù)的發(fā)展,基于物聯(lián)網(wǎng)的智能儀表正逐漸取代老式機械儀表,但是生活中仍然存在著大量老式字輪表(如水表、電表、燃氣表等)需要進行抄表。傳統(tǒng)人工抄表方式存在著工作效率低、工作量大且容易出錯的問題,自動抄表(Automatic Meter Reading,AMR)已成為一種必然趨勢,已經(jīng)有許多相關(guān)的設計被提出。基于M-Bus 總線或RS-485 總線的有線抄表技術(shù)通過在一定區(qū)域鋪設電纜對該區(qū)域儀表進行集中讀數(shù),雖然解決了低效的問題,但在已投入使用的建筑中鋪設電纜會影響用戶的日常生活和業(yè)務[1]。使用GPRS 遠程通信技術(shù)雖然可靠性高、覆蓋面廣、成本低,但是存在用戶容量小、信號差的問題[2],且隨著2G 退網(wǎng),GPRS 網(wǎng)絡用戶數(shù)量將會日益萎縮?;贚oRa 的遠程通信技術(shù)雖然在電池壽命和成本上有優(yōu)勢,但是其服務質(zhì)量(QoS)、通信延遲和可靠性相對較差[3-4]。相比之下,窄帶物聯(lián)網(wǎng)(NB-IoT)技術(shù)具有高服務質(zhì)量、高可靠性、高覆蓋、低延遲、低功耗、低成本等優(yōu)勢,可廣泛應用于遠程抄表系統(tǒng)[5-8]。
近年來,光學字符識別(Optical Character Recognition,OCR)技術(shù)飛速發(fā)展[9-10],國內(nèi)外學者基于OCR 技術(shù)在儀表讀數(shù)識別任務中展開了大量研究。早期的識別方法采用傳統(tǒng)圖像處理技術(shù),如模板匹配[11-13]和特征提取及分類[14],依賴預先做好的字符模板或人工設計的特征,對圖像質(zhì)量要求高,魯棒性較差且對字輪表中出現(xiàn)的雙半字符(兩個讀數(shù)字符均出現(xiàn)一部分)的情況識別效果較差。隨著神經(jīng)網(wǎng)絡特別是卷積神經(jīng)網(wǎng)絡(CNN)和循環(huán)神經(jīng)網(wǎng)絡(RNN)的廣泛應用,對圖像質(zhì)量差、環(huán)境復雜的儀表圖像讀數(shù)識別成為可能。王志威等[15]改進殘差網(wǎng)絡[16]在分割出的二值字符圖像上訓練分類網(wǎng)絡。王望等[17]訓練了一個輕量級CNN 用于二值字符圖像分類,并通過合成二值雙半字符圖像解決了雙半字符訓練樣本少的問題。上述方法依賴于圖像二值化效果,對表盤表面存在污漬或復雜光照情況的魯棒性較差。楊帆等[18]設計了一個全卷積序列識別網(wǎng)絡(FCSRN),基于CTC[19]損失函數(shù)提出一種增強損失函數(shù),樣本標簽不用真實標簽而用雙半字符中“較低狀態(tài)”的字符標簽,引導模型將雙半字符識別為“較低狀態(tài)”字符而非“較高狀態(tài)”字符。綜上所述,字輪式儀表讀數(shù)識別的難點主要在于存在的雙半字符訓練樣本少及雙半字符與其對應的兩個單字符具有較大相似性,故雙半字符的識別更具挑戰(zhàn)性。
目前已有部分基于物聯(lián)網(wǎng)技術(shù)與圖像處理技術(shù)的自動抄表系統(tǒng)被提出。馬學文[20]針對指針式工業(yè)儀表使用STM32F407作為主控制器,使用4G 模塊將采集的圖像上傳至云端,設計了基于Hough 變換與徑向灰度統(tǒng)計的指針式儀表讀數(shù)識別方法。江亞杰[21]針對LCD 段碼表使用樹莓派作為邊緣計算平臺,設計了基于Faster-RCNN的讀數(shù)識別算法并通過WIFI 模塊將識別的讀數(shù)上傳至云端。王杜毅等[22]使用ARM926 作為主控制器,使用當前采集圖像與模板圖像的差值進行壓縮感知從而降低了使用NB-IoT 傳輸圖像過程中的功耗。不同的系統(tǒng)設計可以解決不同的實際問題。
針對以上問題,本文設計了一種基于NB-IoT和輕量級CNN 的智能抄表系統(tǒng),通過NB-IoT 模組將采集的表盤圖像遠程傳輸至云平臺并在云平臺內(nèi)對表盤圖像自動識別讀數(shù),實現(xiàn)了對水表、電表、燃氣表等字輪式儀表的智能遠程抄表。同時,設計了一種基于多標簽分類的輕量級CNN 模型識別表盤讀數(shù),提高了表盤讀數(shù)字符尤其是雙半字符的識別精度,并通過實驗證明了其有效性。
如圖1 所示,本文設計的智能圖像抄表系統(tǒng)以NB-IoT 網(wǎng)絡為基礎,主要由采集層、傳輸層、應用層組成。
圖1 智能抄表系統(tǒng)結(jié)構(gòu)Fig.1 Structure of intelligent meter reading system
采集層為安裝在字輪式儀表上的圖像采集終端,具有定時采集圖像、向云平臺發(fā)送圖像數(shù)據(jù)、接收云平臺下發(fā)的指令等功能;傳輸層為整個系統(tǒng)的橋梁,連接圖像采集終端與云平臺,以MQTT 協(xié)議實現(xiàn)圖像數(shù)據(jù)的上傳及云平臺指令的分發(fā);應用層為云平臺,包括接收圖像數(shù)據(jù)、下發(fā)指令、讀數(shù)識別、管理系統(tǒng)等功能。為了降低功耗、延長電池使用時間,圖像采集終端平時處于休眠模式,當需要采集和上傳圖像數(shù)據(jù)時便會自動喚醒。當云平臺接收到圖像后便會自動對其進行識別,先定位得到每個讀數(shù)字符的位置信息并分割出相應的子圖像,然后使用離線訓練好的字符識別模型對每個讀數(shù)字符子圖像進行識別,從而得到當前表盤的完整讀數(shù)。
圖像采集終端總體結(jié)構(gòu)及實物電路板如圖2所示。電源模塊包括電池與線性穩(wěn)壓電源,分別為Air302 模組、AT32 微控制器、攝像頭及照明模塊供電。照明模塊為多組高亮LED,為系統(tǒng)提供輔助光源,保證攝像頭采集到清晰的表盤圖像。AT32 微控制器通過GPIO 接口與攝像頭模組及照明模塊相連,實現(xiàn)圖像采集功能。時鐘模塊為攝像頭模組及AT32 微控制器提供運行需要的時鐘信號。Air302 模組作為AT32 的上位機實現(xiàn)采集終端的定時喚醒、休眠、圖像傳輸及接收指令的功能。
圖2 圖像采集終端結(jié)構(gòu)圖及實物電路板Fig.2 Structure diagram and physical circuit board of image acquisition terminal
(1)Air302 模組
Air302 是基于EC616 芯片的NB-IOT 模組,具有低功耗、低成本、開發(fā)便捷等優(yōu)勢。Air302 支持2.2~4.3 V 供電,在PSM(Power Save Mode)模式下電流僅為800 nA,支持LuatOS 嵌入式實時操作系統(tǒng),以Lua 腳本語言進行開發(fā),從而用少量代碼實現(xiàn)了業(yè)務邏輯。Air302 模組外圍電路包括射頻天線、貼片SIM(Subscriber Identity Module)卡、串口接口及復位、下載按鍵。本文圖像采集終端采用的Air302 與AT32 微控制器通過串口相連實現(xiàn)數(shù)據(jù)傳輸。
(2)AT32 微控制器
本文采用的微控制器是基于32 位ARM Cortex M4 內(nèi)核的AT32F403A,擁有高達1 MB Flash、最高224 KB 內(nèi)存,具有高能效、高容量、低成本特點,適合對成本敏感及高運算需求的場景。AT32F403A 的閃存存儲器支持兩種配置,即256 KB 零等待(ZW)Flash、768 KB 非零等待(NZW)Flash、96 KB RAM 和128 KB 零等待Flash、896 KB 非零等待Flash、224 KB RAM,可通過寄存器切換配置方案。非零等待Flash 的執(zhí)行速率是零等待Flash 的0.4 倍,因此需要將實時性高的程序編譯到零等待Flash 中。
(3)攝像頭模組
攝像頭模組采用GC0328,最大支持圖像分辨率為640×480。本文配置為320×240 以減少網(wǎng)絡傳輸?shù)臄?shù)據(jù)量,通過DVP 接口與AT32 相連。
(4)電源模塊
由于部分老式字輪表并未通電,因此采集終端設計使用兩節(jié)ER14505 鋰亞硫酰氯電池作為電源。電池額定電壓3.6 V,額定容量為2 700 mAh。鋰亞電池一路直接為Air302 模組供電,另一路經(jīng)過RT9013 線性穩(wěn)壓芯片,將3.6 V 電壓降為3.3,2.8,1.5 V 為AT32、攝像頭及LED 供電。RT9013 的 使 能 腳 與Air302 的GPIO 相 連,當 圖像采集終端需要采集圖像時,Air302 控制GPIO輸出高電平,使能線性穩(wěn)壓電源為AT32 與攝像頭等供電。當圖像上傳完畢后,關(guān)閉線性穩(wěn)壓電源。在采集終端進入休眠后,線性穩(wěn)壓電源處于關(guān)閉狀態(tài),進一步降低整機功耗。
(5)照明模塊
照明模塊的補光效果直接影響后續(xù)讀數(shù)識別算法的精度。如圖3 所示,若按圖3(a)的設計,LED 直射表盤會造成表盤圖像光照不均,甚至在表盤上形成光斑,導致算法無法正確識別讀數(shù)。因此,本文創(chuàng)造性地設計多組高亮側(cè)光LED 直射圖像采集終端的外殼內(nèi)壁,經(jīng)外殼內(nèi)壁反射形成漫射照明,如圖3(b)所示。雖然該設計中LED燈組在同一功率下光照強度低于直射照明,但能有效減小光斑形成。
圖3 照明模塊設計對比Fig.3 Comparison of lighting module design
圖像采集終端軟件分布在Air302 與AT32中,其中Air302 利用Lua 腳本語言開發(fā),主要包括系統(tǒng)休眠喚醒及數(shù)據(jù)傳輸;AT32 在Keil5 下使用C 語言開發(fā),主要包括采集圖像及圖像壓縮。
(1)Air302 程序設計
Air302 開機后首先檢查開機原因。如果是普通上電或復位上電,便會進行初始化工作,然后聯(lián)網(wǎng)獲取云平臺下發(fā)的休眠時間并存入低功耗內(nèi)存中,隨后進入休眠模式。如果是喚醒上電,接著檢查是否到達采集時間。當采集時間到達時,使能線性穩(wěn)壓電源,接收AT32 通過串口發(fā)送的圖像數(shù)據(jù)。在上傳表盤圖像數(shù)據(jù)的同時,會將鋰亞電池電壓、信號強度、Air302 的IMEI(International Mobile Equipment Identity)碼以及貼片SIM 卡 的IMSI(International Mobile Subscriber Identification Number)碼一起上傳。待數(shù)據(jù)上傳完畢,查詢云平臺是否有下發(fā)指令或是否更新休眠時間,若無,便重新進入休眠模式。Air302 程序流程圖如圖4 所示。
圖4 Air302 工作流程Fig.4 Air302 workflow
(2)AT32 程序設計
AT32 同時具有單精度浮點單元(FPU)和數(shù)字型號處理器(DSP),運算能力強。由于本文設計的AT32 程序具有較高內(nèi)存需求,因此當AT32 開機后首先將內(nèi)存擴展至224 KB,同時初始化GPIO、I2C 接口并點亮補光LED。為了減小數(shù)據(jù)上傳的流量消耗,通過I2C 配置攝像頭模組輸出YUV 格式數(shù)據(jù)以便AT32 對此數(shù)據(jù)進行JPEG壓縮。申請150 KB 內(nèi)存用于存儲攝像頭輸出的YUV 圖像數(shù)據(jù),申請30 KB 內(nèi)存用于存儲壓縮后的JPEG 格式圖像數(shù)據(jù)。當壓縮完成后,通過串口將JPEG 格式圖像發(fā)送至Air302 中。AT32 程序流程圖如圖5 所示。
圖5 AT32 工作流程Fig.5 AT32 workflow
本文讀數(shù)識別算法的流程如圖6 所示,分為離線過程和在線過程。由于本設計中每個圖像采集終端唯一對應一臺固定的儀表表盤,為減小圖像處理算法復雜度,可事先離線為每個儀表準備一張采集好的表盤圖像作為模板圖像(參考圖像),標記其讀數(shù)區(qū)域每個字符的位置信息及小數(shù)位數(shù)信息并存入云平臺數(shù)據(jù)庫??紤]到受安裝條件限制,圖像采集終端不一定能正立安裝,要求制作的模板圖像正立即可。圖6中展示了實際場景下倒裝而采集的圖像以及與其對應的正立的模板圖像。當云平臺在線接收到圖像采集終端上傳的當前表盤圖像后,將其視為識別算法的輸入圖像,為不受圖像采集終端安裝方位的限制,同時為防止后期圖像采集終端可能出現(xiàn)局部移位、旋轉(zhuǎn)或光照變化等因素帶來影響,這里通過圖像局部特征(如SIFT[23]或SURF[24]特征)提取與匹配方法,計算透視變換矩陣,將輸入圖像投影到模板圖像所在坐標空間,從而可通過離線記錄的讀數(shù)字符位置信息分割出輸入圖像上每個讀數(shù)字符的子圖像。最后,將每個讀數(shù)字符子圖像依次輸入離線訓練好的字符識別CNN 模型,即可在線識別得到最終讀數(shù)。
圖6 讀數(shù)識別方法流程Fig.6 Reading recognition method flow
字輪式儀表要求能準確識別完整數(shù)字字符和雙半字符。鑒于傳統(tǒng)方法精度有限,本文采用卷積神經(jīng)網(wǎng)絡(CNN)方法進行識別。將儀表讀數(shù)字符分為20 類,其中類別標簽“0”~“9”分別表示0~9 對應的10 個完整單字符,類別標簽“10”~“19”分別表示10 個雙半字符,如“10”表示超過“0”(稱為“較低狀態(tài)”)但是還未到“1”(稱為“較高狀態(tài)”)的雙半字符、“11”表示超過“1”但是還未到“2”的雙半字符,依此類推。然而,在實際采集的表盤圖像中雙半字符圖像數(shù)據(jù)量占比極少,導致訓練過程中數(shù)據(jù)不均衡,嚴重影響雙半字符的識別精度。為避免訓練過程中數(shù)據(jù)不均衡的影響,在每類字符圖像中隨機篩選1 000 張圖像,通過人工清洗篩去標注錯誤的圖像。
神經(jīng)網(wǎng)絡[25]在樣本充足且形式多樣的情況下可大幅改善字符識別的魯棒性,精度遠高于傳統(tǒng)方法。在圖像處理中卷積神經(jīng)網(wǎng)絡應用最為廣泛,其基本結(jié)構(gòu)包括卷積層、池化層、批歸一化層、激活層及全連接層。卷積層用于提取圖像特征,池化層用于壓縮特征,批歸一化層用于約束特征分布,激活層用于引入非線性因素,全連接層用于分類。
實際表盤讀數(shù)字符的圖像尺寸較小,太深的神經(jīng)網(wǎng)絡會導致過擬合,因此本文采用輕量級卷積神經(jīng)網(wǎng)絡,其結(jié)構(gòu)如圖7 所示。輸入圖像尺寸為28×28的單通道圖像,第一個卷積層采用16個5×5 的卷積核,步長為1,填充2 個像素,并依次經(jīng)過批歸一化層、激活層、池化層。之后的每一層使用2 個3×3 的卷積層,步長為1,填充1 個像素,在通道數(shù)上先降維再升維,這樣能在有效降低參數(shù)量的情況下提高感受野。使用全局平均池化與最后一個卷積層的池化層相連,整合全局空間信息,降低參數(shù)量。最后經(jīng)過兩個全連接層得到20維的網(wǎng)絡輸出。本文所使用的卷積神經(jīng)網(wǎng)絡總參數(shù)量為44 084。
圖7 本文方法使用的卷積神經(jīng)網(wǎng)絡結(jié)構(gòu)Fig.7 CNN structure used in this method
雙半字符與其對應的兩個單字符具有較大相似性,當雙半字符中某一字符占比極大而另一字符占比較小時,神經(jīng)網(wǎng)絡會傾向于將其識別為其中占比較大的單字符,然而此時仍處于還未完全進位的狀態(tài),因此若將其識別為其中占比較大的單字符會造成讀數(shù)錯誤。同時對于人而言也很難判斷其是否是雙半字符,會造成標簽錯誤,導致模型難以訓練。因此本文提出一種基于多標簽分類的思想改進CNN 字符識別模型,同時給予雙半字符樣本表示是否為雙半字符的標簽及雙半字符中占比較大的單字符的標簽。標簽向量由20 維組成,前10 維表示是否屬于單字符或雙半字符中占比較大字符的標簽,后10 維表示是否屬于雙半字符。如單字符“1”的標簽為“0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0”,“0”~“1”之間的雙半字符且“1”的占比較大的樣本標簽為“0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0”。相比于傳統(tǒng)圖像分類使用的交叉熵損失(Cross Entropy Loss),本文使用二值交叉熵損失(Binary Cross Entropy Loss)。該方法除了能預測單字符或雙半字符類別以外,還能預測雙半字符中“較低狀態(tài)”和“較高狀態(tài)”的占比關(guān)系,即占比較大或較小,可用于在后處理階段判別雙半字符對應的儀表讀數(shù)。
模型輸出根據(jù)公式(1)得到預測字符類別c、公式(2)得到預測結(jié)果的置信度p。其中:x1表示模型輸出的前10 維;x2表示模型輸出的后10 維;pthresh表示將字符識別為雙半字符的置信度閾值,本文取0.5 效果最佳。若預測為雙半字符,可通過argmax(x1)得到雙半字符中占比較大字符對應的向量索引(0~9)。
通過觀察實際表盤圖像,可能是字輪表機械部件的原因,發(fā)現(xiàn)如圖8 所示的某些表盤讀數(shù)區(qū)域前幾位字符處會露出一部分相鄰字符區(qū)域,這時CNN 模型很可能會將其預測分類為雙半字符。在最終判別雙半字符的讀數(shù)時,若直接將其判別為“較低狀態(tài)”的字符顯然是不合理的。因此本文使用后處理操作來判定雙半字符的最終讀數(shù),其具體做法為:
圖8 含有特殊雙半字符的圖像示例Fig.8 Example images containing special double halfcharacters
(1)若表盤圖像讀數(shù)區(qū)域最后一位或最后幾位連續(xù)出現(xiàn)雙半字符,將該雙半字符判別為其中“較低狀態(tài)”的字符;
(2)若表盤圖像前幾位出現(xiàn)雙半字符,將該雙半字符判別為其中占比較大的字符。
通過實驗研究分別評估智能抄表系統(tǒng)讀數(shù)識別準確率、圖像采集終端功耗及整體系統(tǒng)功能。模型訓練和推理平臺所用處理器為Intel(R)Xeon(R) Gold 5218 CPU @ 2.30 GHz,64 GB內(nèi)存,顯卡為NVIDIA RTX3090,操作系統(tǒng)為Ubuntu21.04。在PyTorch 深度學習框架下搭建神經(jīng)網(wǎng)絡。本文數(shù)據(jù)集構(gòu)建于在實際場景下339 個不同儀表上采集到的66 000 張表盤圖像。在預處理后,通過篩選得到20 類20 000 張單通道字符圖像作為訓練集,1 436 張不同表盤共8 263 張字符圖像作為測試集。訓練過程中學習率為0.001,使用Adam 優(yōu)化器,迭代50 次。CNN 模型訓練的收斂曲線如圖9 所示,包括損失曲線和準確率曲線。
圖9 CNN 模型訓練的收斂曲線Fig.9 Convergence curves for CNN model training
針對字輪式儀表的讀數(shù)識別任務,本文采用字符識別準確率(Character Accuracy Rate,CAR)及讀數(shù)識別準確率(Reading Accuracy Rate,RAR)兩個指標來衡量模型,其定義如式(3)和式(4)所示:
其中:Nrc表示識別正確的字符樣本數(shù)量,Nc是測試集中讀數(shù)字符樣本總數(shù)量,Nrm表示表盤中所有讀數(shù)識別完全正確的表盤樣本數(shù)量,Nm表示測試集中表盤圖像總數(shù)量。
本文方法的識別結(jié)果如表1所示,對比方法包括傳統(tǒng)的支持向量機(Support Vector Machines,SVM)分類法、HOG(Histogram of Oriented Gradient)特征提取與SVM 相結(jié)合的方法(HOG+SVM)、LeNet-5[26]卷積神經(jīng)網(wǎng)絡方法、文獻[17]所采用的輕量級卷積神經(jīng)網(wǎng)絡方法以及具有更深層次的VGG16 卷積神經(jīng)網(wǎng)絡方法。其中,SVM方法直接使用標準化后的像素作為特征向量,選用高斯核函數(shù),松弛變量為100;HOG+SVM 方法是提取圖像的HOG 特征向量后再使用SVM分類;LeNet-5主要包含2個5×5的卷積層、2個池化層和3 個全連接層,使用ReLU 激活函數(shù)替代Sigmoid 激活函數(shù);文獻[17]所采用的輕量級卷積神經(jīng)網(wǎng)絡將原網(wǎng)絡的10 分類修改為20 分類;由于VGG16 有5 個池化層不適合28×28 尺寸的輸入,因此在對比實驗時使用32×32 尺寸的輸入。由于除了本文方法外其余方法無法獲得雙半字符中的占比關(guān)系,因此其余方法在判別雙半字符讀數(shù)時直接將其判別為“狀態(tài)較低”的字符。對于基于卷積神經(jīng)網(wǎng)絡的方法,表1 中還列出了模型參數(shù)量和推理時間進行比較。從結(jié)果來看,在雙半字符的置信度閾值pthresh取0.5 時,本文方法整體效果最佳,字符識別準確率(CAR)達到了96.36%,非常接近VGG16 方法的96.62%,而模型參數(shù)量卻比VGG16 要少數(shù)百倍,所用推理時間約為VGG16 的1/3,同時讀數(shù)識別率(RAR)是所有對比方法中最高的,達到了94.15%。
表1 不同方法的識別結(jié)果Tab.1 Recognition results of different methods
為了進一步說明和解釋本文提出的基于多標簽分類的CNN 字符識別模型所發(fā)揮的作用,借助Grad-CAM[27]工具繪制卷積神經(jīng)網(wǎng)絡所關(guān)注圖像區(qū)域的熱力圖,如圖10 所示,顏色越深則強度越高。圖10(a)和圖10(b)分別展示了單字符圖像和與之接近的雙半字符圖像的熱力圖分布,其中第1 列是列舉的單字符或雙半字符圖像,第2 列對應于本文CNN 模型輸出的后10 維中最大置信度所在類別的熱力圖,第3列對應于本文CNN模型輸出的前10 維中最大置信度所在類別的熱力圖??梢?,圖10(a)中第2 列的強度都較低,而圖10(b)中第2 列都存在強度較高的區(qū)域,從而很好地區(qū)分了單字符圖像和雙半字符圖像;圖10(a)中第3列的強度較高之處位于單字符圖像中心附近,符合實際情況,而圖10(b)中第3 列的強度較高之處均位于占比較大的半字符中心附近,從而很好地說明了本文CNN 模型在識別雙半字符時能準確關(guān)注到其中占比較大的字符區(qū)域。
圖10 Grad-CAM 熱力圖Fig.10 Grad-CAM heatmap
圖像采集終端采用直流電源供電,供電電壓為3.6 V。圖像采集終端完成一次工作周期同時記錄工作電流,使用電流表分辨率為10 μA。當終端進入休眠模式后停止記錄,功耗測試結(jié)果如圖11 和表2 所示。根據(jù)測試結(jié)果,圖像采集終端的休眠電流小于電流表分辨率,最大工作電流為100 mA,若每日采集1 次,兩節(jié)鋰亞電池可使用5 年以上。
表2 功耗測試結(jié)果Tab.2 Test result of power consumption
圖11 單次工作周期電流波形Fig.11 Current waveform of single duty cycle
本文設計了一個完整的智能圖像抄表系統(tǒng)。測試時,首先通過云平臺下發(fā)指令,設置圖像采集終端的參數(shù),圖像采集終端將此參數(shù)保存在低功耗內(nèi)存中,在每次喚醒時讀取。設置圖像采集終端休眠時間為24 h,即每天采集一次圖像并上傳至云平臺,云平臺再將其存入數(shù)據(jù)庫內(nèi)并調(diào)用讀數(shù)識別算法得到表盤讀數(shù),最后抄表管理平臺通過MQTT 協(xié)議將表盤圖像及識別結(jié)果提取出來,如圖12 所示,可在儀表管理平臺查看表盤讀數(shù)識別結(jié)果并能監(jiān)視某一儀表近些天以來的日用量,方便供應公司和物業(yè)公司實現(xiàn)信息化管理。
圖12 抄表管理平臺Fig.12 Meter reading management platform
針對人工抄表效率低和現(xiàn)有圖像識別方法對雙半字符識別不準的問題,本文提出了一種基于NB-IoT 和輕量級CNN 的智能圖像抄表系統(tǒng),適用于字輪式儀表。本文的讀數(shù)識別算法使用局部特征提取與匹配方法分割出讀數(shù)字符子圖像,使用基于多標簽分類的輕量級CNN 模型識別出讀數(shù)字符。實驗結(jié)果表明,本系統(tǒng)的圖像采集終端休眠電流小于10 μA,可保證兩節(jié)鋰亞電池工作5 年以上;所提出的字輪式儀表讀數(shù)識別算法能準確識別單字符和雙半字符,在測試集上達到了96.36%的字符識別準確率和94.15%的讀數(shù)識別準確率,整體性能優(yōu)于所對比的其他識別算法。為減小圖像處理算法復雜度,目前方法需人工制作儀表表盤的模板圖像,通過圖像匹配定位讀數(shù)字符位置,不適用于開放環(huán)境下移動式圖像采集終端,因此下一步工作是實現(xiàn)對讀數(shù)字符的自動檢測定位,并進一步通過深度學習[28]提升算法的識別精度,使其適用于更多應用場景,如使用移動機器人或無人機進行巡檢抄表的場合。