01 背景介紹
“表”是生活中的隨處可見的一種設備。常見的“表”包括了家用電表,水表等設備;除此之外,還有工頻場強計等“表”。受制于由于受到區域因素以及技術因素的制約,并非每種“表”都能夠進行數據的自動采集,從而只能通過人工手動抄表。
這種數據采集工作一方面較為費事和枯燥,另一方面,長時間工作帶來的會導致工作人員疲勞,從而產生抄錄錯誤。通過人工智能技術構造自動化的抄表流程能夠極大的克服上述問題,提高工作效率。
相關工作
迄今為止,已經有許多關于電表讀數的優秀項目出現,這些項目大都依賴于對特定場景的模型訓練(包括微調)。 例如:
【PaddlePaddle+OpenVINO】電表檢測識別模型的部署
但對于抄表工作的業務場景而言,具有以下特點:
無法準備大量的徹底貼合業務場景的數據集
待抄錄的“表”中的內容是文字,而非進度條或儀表盤
基于開放數據訓練得到的OCR模型能夠識別到“表”中的內容
因而,對于一些較為規整的“表”,我們完全可以基于開源OCR模型進行零微調的抄表工作。
技術方案
本項目提供了有一種無需額外訓練的抄表器,只需要人為指定一些和布局有關的配置信息,即可實現表中數據的記錄。 總體流程如下:
配置圖片中屏幕區域的坐標值。(這些坐標值也可以通過cv2的拐點檢測或深度學習進行獲?。?/p>
對圖片進行預處理(仿射變換)
配置待識別的元素對應的坐標,并裁剪對應的區域
如有需要,可以對裁剪下來的區域進行預處理
基于OpenVINO進行文字識別
結構化輸出信息
如有需要,對輸出結果進行進一步精煉
目錄
背景介紹
圖片預處理
基于OpenVINO加載PaddleOCR識別模型進行預測
結構化輸出與后處理
02 圖片預處理
由于本項目是一個零微調的項目,因此,為了保證識別模型的有效性,需要人工對齊輸入信息。
修正傾斜的圖片,將圖片中的屏幕區域修正到指定的大小
根據從說明書等地方獲取到的設備信息,設定待識別的區域在屏幕上的布局
修正圖片
以下列圖片為例,本節展示如何將圖片從傾斜的狀態,修正為正面觀眾的狀態。
? ?
03 基于OpenVINO加載PaddleOCR識別模型進行預測
文字識別模型(PaddleOCR)
PaddleOCR 是PaddlePaddle的文字識別套件。迄今為止,PaddleOCR已經提供了許多復用性強的預訓練模型。在本項目中使用的預訓練模型是Chinese and English ultra-lightweight PP-OCR model (9.4M)。更多的信息請參考PaddleOCR Github或PaddleOCR Gitee。
一個標準的OCR流程包括了文字檢測和文字識別,對于本項目來說,文字檢測工作已經通過人工配置的方式解決了,因此,只需要進行文字識別即可。
OpenVINO簡介
OpenVINO作為Intel原生的深度學習推理框架,可以最大化的提升人工智能神經網絡在Intel平臺上的執行性能,實現一次編寫,任意部署的開發體驗。OpenVINO在2022.1版本后,就可以直接支持飛槳模型,大大提升了模型在Intel異構硬件上的推理性能與部署便捷性,帶來更高的生產效率,更廣闊的兼容性以及推理性能的優化。
獲取模型
基于OpenVINO加載PaddleOCR
使用OpenVINO加載Paddle模型無需經過任何轉換,只需要:
創建環境
讀取模型
生成推理接口
文字識別
依舊對于上述示例圖片,希望結構化輸出以下內容:[{"Info_Probe":""}, {"Freq_Set":""}, {"Freq_Main":""}, {"Val_Total":""},{"Val_X":""}, {"Val_Y":""}, {"Val_Z":""}, {"Unit":""}, {"Field":""}]。輸出示例如下圖所示:
配置布局
首先,需要基于仿射變換的結果,配置各個元素在圖片上的布局。這個配置對于同一批表來說是固定的。
文字識別的預處理函數
?
文字識別的后處理函數
用于將文字識別的結果進行解碼,轉化為漢字
?
基于OpenVINO進行文字識別
下面以Freq_Set為例,進行文字識別
100H2實時值
結構化輸出與后處理
上面的邏輯已經完成了使用OpenVINO加載PaddleOCR并進行預測,但實際上由于整個模型沒有進行微調,所以對于當前的業務場景來說可能不夠完美,這個時候可以通過一些簡單的邏輯進行處理,比如,對于示例圖片中,H2必然是不存在的,這個地方可以直接通過replace替換為HZ。
簡單來說,對于示例圖片的這種表,可以定義如下后處理函數:
全流程一鍵運行
為了方便運行,這里也提供了一個封裝好的函數
? ?
審核編輯:劉清
-
轉換器
+關注
關注
27文章
8701瀏覽量
147150 -
神經網絡
+關注
關注
42文章
4771瀏覽量
100747 -
人工智能
+關注
關注
1791文章
47251瀏覽量
238399 -
OCR
+關注
關注
0文章
144瀏覽量
16357 -
預處理器
+關注
關注
0文章
13瀏覽量
2229
原文標題:基于OpenVINO與PaddleOCR的結構化輸出抄表器
文章出處:【微信號:SDNLAB,微信公眾號:SDNLAB】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論