概述
通過攝像頭采集現(xiàn)場圖片,拍照各種模擬儀表(指針和Led數(shù)碼和指示燈)。程序識(shí)別出 指針讀數(shù),數(shù)碼讀數(shù)和指示燈狀態(tài),然后把數(shù)據(jù)發(fā)物聯(lián)網(wǎng)平臺(tái)上
我們打造的we.iot平臺(tái)
01. 效果
gif效果
02. 描述
- 采集攝像頭的圖像
- 采用opencv對(duì)圖像的模擬儀表和數(shù)字LED燈部分,進(jìn)行識(shí)別和標(biāo)注
- 識(shí)別到模擬儀表盤圖像,二值化后做分析處理,找到指針角度,并轉(zhuǎn)換為數(shù)值
- 識(shí)別LED數(shù)值圖像,做OCR識(shí)別,并轉(zhuǎn)換成數(shù)值
- 通過mqtt協(xié)議發(fā)送給物聯(lián)網(wǎng)平臺(tái),顯示到物聯(lián)網(wǎng)的儀表盤上
03. 代碼實(shí)現(xiàn)
這個(gè)過程較復(fù)雜,幾段代碼描述不清,我還在整理中,部分因?yàn)樵谧錾虡I(yè)項(xiàng)目,也無法開源。以后整理好后,我會(huì)發(fā)到我的github上,分享給大家吧。 今天就簡單說說吧。
- 客戶端采用python編程,使用mqtt協(xié)議和 物聯(lián)網(wǎng)服務(wù)器通訊,發(fā)送數(shù)據(jù)。使用了 paho.mqtt的庫 。
- 圖像處理采用了opencv,第一步先做圖像的檢測和分割,找到儀表盤和LED燈,第二部模擬儀表盤二值化后,很容易找到指針,再算出角度,對(duì)應(yīng)出數(shù)值出來這個(gè)并不難。
- LED的OCR識(shí)別,這個(gè)因?yàn)長ED的圖像相對(duì)很標(biāo)準(zhǔn),所以采用深度學(xué)習(xí)的圖像分類算法,做訓(xùn)練,把訓(xùn)練集保存成模型,再利用模型進(jìn)行識(shí)別,這樣也挺簡單,效率也很高。
04. 結(jié)論
通過搭建這個(gè)平臺(tái),在實(shí)驗(yàn)室環(huán)境下取得了不錯(cuò)的識(shí)別效果,以后考慮在工業(yè)領(lǐng)域采集現(xiàn)場的圖像信息,通過計(jì)算機(jī)視覺方式再加上一定的深度學(xué)習(xí)技術(shù),可以大幅改善傳統(tǒng)的工業(yè)數(shù)據(jù)采集領(lǐng)域的一些空白,希望我們的技術(shù)有一點(diǎn)用武之地。
05. 運(yùn)行環(huán)境
我在開發(fā)環(huán)境下做的,基本上搭建在我的mac本上,網(wǎng)絡(luò)攝像頭采用了海康威視的(不到200元的網(wǎng)絡(luò)攝像機(jī)),理論上是跨平臺(tái)的。
開發(fā)工具:
python2.7
opencv2.4
TensorFlow1.0
paho.mqtt
...
06. 我的標(biāo)簽
計(jì)算機(jī)軟件工程師,自動(dòng)化專業(yè),金世達(dá)科技創(chuàng)始人之一,目前帶領(lǐng)技術(shù)研發(fā)團(tuán)隊(duì)專注工業(yè)物聯(lián)網(wǎng)領(lǐng)域的人工智能技術(shù)應(yīng)用,歡迎大家一起探討。
07.后記
2018年11月考察變電站項(xiàng)目,對(duì)變電站儀表做了部分識(shí)別實(shí)驗(yàn).
詳見這篇文章:無人值守項(xiàng)目中傳統(tǒng)儀表識(shí)別
液位實(shí)驗(yàn)
變壓器指針儀表實(shí)驗(yàn)