, , ,
(1.云南電網(wǎng)有限責(zé)任公司電力科學(xué)研究院,云南 昆明 650206; 2.北京國遙新天地信息技術(shù)有限公司,北京 100101)
數(shù)量巨大的變電站分布在偏遠(yuǎn)地區(qū),這使得這些變電站的維護(hù)和巡檢需要更多的人力和財力。此外,一些高電壓和超高壓變電站的巡檢和維護(hù)存在較大安全隱患,因此使用人工日常巡檢是不現(xiàn)實的[1-2]。因此,基于巡檢機器人的變電站的巡檢智能化和監(jiān)控自動化得到廣泛關(guān)注和應(yīng)用。
目前常用于巡檢機器人的數(shù)字儀器識別的方法有線段識別法[3]和神經(jīng)網(wǎng)絡(luò)法[4]。由于數(shù)碼管顯示儀表的兩個重要特征:數(shù)碼管由3個水平的平行線段和4個垂直(或稍微傾斜)線段組成,7個線段的位置相對于數(shù)碼管本身的外部矩形的位置是固定的[5],因此線段識別方法在確定數(shù)字區(qū)域后,掃描直線上的像素以分析各條線段之間的水平或垂直相交關(guān)系以確定所顯示的數(shù)字。深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)是神經(jīng)網(wǎng)絡(luò)模型中的一種有效的方法,并模式識別領(lǐng)域得到了廣泛的應(yīng)用。該識別方法首先需要人為地選擇數(shù)字目標(biāo)的數(shù)字0~9的特征圖像,并且將10個數(shù)字的特征矢量建立為輸入矩陣,通過對神經(jīng)網(wǎng)絡(luò)的訓(xùn)練和學(xué)習(xí),構(gòu)建神經(jīng)網(wǎng)絡(luò)各層神經(jīng)元的連接權(quán)重和閾值,并把完成訓(xùn)練的神經(jīng)網(wǎng)絡(luò)應(yīng)用于數(shù)字儀表輸出由10個元素組成的矢量以區(qū)分所顯示的數(shù)字[6]。該方法具有分類能力強,容錯性好,自學(xué)習(xí)能力強等優(yōu)點;缺點是需要訓(xùn)練過程,效率不高,實現(xiàn)較為復(fù)雜。
針對上述數(shù)字儀表自動識別方法所表現(xiàn)的缺陷,本文對基于樣本匹配原理的數(shù)字儀表自動識別算法進(jìn)行了研究。該算法的思路是,首先建立0~9的數(shù)字樣本,對處理后的儀表數(shù)字和樣本數(shù)字進(jìn)行標(biāo)準(zhǔn)化處理,然后逐一比較它們之間的差異,其中具有最小差異的一對被認(rèn)為是相同數(shù)字。這種算法具有計算量小、易于實現(xiàn)的優(yōu)點。由于該方法需要事先設(shè)置好識別樣本,為此本文將高分辨率的圖像通過分組高階統(tǒng)計量和閾值的局部最大類間方差進(jìn)行分割,識別并得到簡單、有效、通用的樣本匹配。
數(shù)字儀表讀數(shù)的識別流程圖如圖1所示,首先機器人攝像機拍攝的彩色圖像呈灰色并進(jìn)行二值化處理,然后找到顯示區(qū)域,分割出一個數(shù)字字符,并識別出數(shù)字[7]。
圖1 識別流程
圖像預(yù)處理是精確定位數(shù)字區(qū)域和分割原始圖像中的顯示區(qū)域。根據(jù)變電站數(shù)字顯示儀表的實際使用情況,需要預(yù)處理兩幅原始圖像,包括圖2中的反射圖像和圖7中的顏色信息圖像。完成對儀表顯示區(qū)域的位置確定之后需把儀表所顯示的指數(shù)分割成單個數(shù)字,以便進(jìn)行下一步的數(shù)字樣本比對。
用于定位圖2的反射圖像的顯示區(qū)域的算法如下:
原始圖像先進(jìn)行灰值化處理,再使用中值濾波器處理。
在原始圖像中,由于顯示區(qū)域具有反射性和黑暗性,所以本文使用頂帽變換、底帽變換和直方圖均衡來減少光反射對圖像處理的影響。
頂帽變換是用結(jié)構(gòu)元素s通過打開操作從原始圖像中減去顯示區(qū)域,這樣操作可將明亮的顯示區(qū)域從背景中分離出來。頂部變換公式為:
Ttop-hat(i)=i-(i×s)
(1)
底帽變換是用結(jié)構(gòu)元素s從原始圖像中通過關(guān)閉操作減去顯示區(qū)域,這可以從明亮的背景中突出顯示黑色顯示區(qū)域。底帽換算公式為:
Bbot-hat(i)=i-(i×s)
(2)
在公式(1)和(2)中,i代表輸入的灰值化圖像;s是結(jié)構(gòu)元素;Ttop-hat(i)和Btop-hat(i)分別表示頂帽變換和底帽變換后的圖像。
圖2 數(shù)字儀表圖
直方圖均衡化[8-9]也稱為灰度均衡化,在均衡化后,圖像具有相對較高的對比度和相對較大的動態(tài)范圍,灰度比較豐富,易于解釋?;叶戎狈綀D是二維圖形,橫坐標(biāo)是圖像像素的灰度級,縱坐標(biāo)是每個灰度級上像素的數(shù)量或概率,并且直方圖反映了灰度圖像像素的整體分布水平。直方圖均衡的思想是通過某種灰度映射重新計算整個圖像像素的灰度值,使輸入圖像的像素在每個灰度級均勻分布,即直方圖變得均勻。平衡的圖像提高了視覺效果,易于理解。
直方圖均衡處理的目的是是處理后的圖像的對比度更高,灰度顯示更加豐富且便于解析。直方圖由橫坐標(biāo)是灰度級和縱坐標(biāo)是灰度級對應(yīng)的像素數(shù)量或概率所構(gòu)成的二維圖,該圖形是圖像像素的在灰度級維度上的整體分布的直觀反映。直方圖均衡處理的思路是通過灰度映射對所處理的圖像像素的灰度值進(jìn)行重新調(diào)整,而調(diào)整的結(jié)果是所處理的圖像的像素對應(yīng)于灰度級的分布更加均勻,以便對圖像進(jìn)行下一步的處理。
對原始圖像進(jìn)行底帽變換、頂帽變換和直方圖均衡化后的效果如圖3所示。
圖3 圖像預(yù)處理的效果
使用最大類間方差法[10](OTSU)對上述獲得的灰度圖像進(jìn)行二值化。
OTSU是一種依據(jù)圖像灰度分布特性確定灰度閾值,并更具灰度閾值將圖像分割成目標(biāo)區(qū)域和背景區(qū)域的方法。目標(biāo)區(qū)域和背景區(qū)域的類間方差大小和這兩個區(qū)域的灰度值差別成正比關(guān)系。采用OTUS方法確定灰度閾值分割目標(biāo)圖像可以將背景區(qū)域和目標(biāo)區(qū)域分割錯誤的概率降至最小。下面對OTUS的灰度閾值確定思路進(jìn)行簡要闡述。
如果所處理的圖像的灰度值分布在[L1,L2]之內(nèi),則所確定的閾值T將圖像像素分為C1和C2兩類,其中C1的灰度值分布在[L1,T],C2的灰度值分布在[T+1,L2]。C1的發(fā)生概率為P1(T),C2的發(fā)生概率為P2(T),C1的灰度均值為u1(T),C2的灰度均值為u2(T)。而整個圖像的灰度均值為u,則類間方差為:
σ2(T)=P1(T)(u1(T)-u)2+P2(T)(u2(T)-u)2
(3)
通過式(3)可以計算出灰度閾值T。利用該閾值T對圖3所示的圖像進(jìn)行二值化處理的效果如圖4所示。
圖4 二值化圖像
對二值化圖像進(jìn)行解析可以獲得數(shù)字儀表的讀數(shù)顯示區(qū)域,如圖5所示。從圖中可以看出,由于知道矩形的3點坐標(biāo)可以完全確定一個矩形,所以第3個儀表由于光線的影響而缺少一個角落,但不影響定位。
通過上述操作,獲取數(shù)字儀表讀數(shù)顯示區(qū)域,隨后將該圖像疊加至原始數(shù)字儀表圖像中,如圖6所示的效果圖。
圖5 數(shù)字儀表的讀數(shù)顯示區(qū)域
由圖6可知,3個讀數(shù)顯示區(qū)域與原始圖像的疊加效果良好,說明該讀數(shù)顯示區(qū)域的位置識別十分準(zhǔn)確,并且通過上述操作較為有效地排除了光線反射等環(huán)境因素的影響,為下一步的讀數(shù)識別提供了較好的基礎(chǔ)。
圖6 顯示位置
由于數(shù)字儀表的讀數(shù)顯示是通過顏色來突出顯示效果,因此通過顏色信息的解析來獲取數(shù)字儀表的讀數(shù)能夠提高讀數(shù)的獲取準(zhǔn)確性。為了獲取圖7所示的數(shù)字儀表中讀數(shù)的顏色信息,需要先將該RGB圖像轉(zhuǎn)換為HSV圖像。
圖7 電氣儀表圖
常見的圖像都是采用三基色來表示人眼可識別的所有顏色。這三種基本顏色是紅色(R)、綠色(G)和藍(lán)色(B)。而與常見的圖像三基色大相徑庭的是,人眼的顏色感知是基于HSV顏色模型[12]的。HSV顏色模型通過3個參數(shù)色調(diào)(H)、飽和度(S)和明度(V)來描述人眼所能識別的所有顏色。其中色調(diào)(H)為顏色的角度度量,范圍為0°~360°,其中紅色為0°,綠色為120°;飽和度(S)表示顏色的接近光譜色的程度,范圍是0%~100%,值越大,飽和度越高;明度表示顏色明亮的程度,范圍是0~1,其中1表示白色。將RGB轉(zhuǎn)換成HSV的公式為:
(4)
(5)
V=RGBmax
(6)
RGBmax表示最大(R,G,B)值;RGBmin表示最小(R,G,B)值。并且如果H< 0,則H的值加360°。本文采用S分量提取圖像的紅色區(qū)域。結(jié)果如圖8所示。
圖8 S信道處理后的圖像
上面的圖像被二值化以及打開和關(guān)閉操作,結(jié)果如圖9所示。
圖9 二值化圖像
當(dāng)?shù)玫斤@示區(qū)域的位置時,最后將它繪制在原始圖像中,并得到如圖10所示的結(jié)果。
圖10 位置圖像的結(jié)果
一旦定位目標(biāo)讀數(shù)區(qū)域,就需要將這些數(shù)字分成單一的數(shù)字,以便進(jìn)行數(shù)字的識別。首先對讀數(shù)顯示區(qū)域進(jìn)行水平和垂直投影,完成對讀數(shù)顯示區(qū)域的邊界的確定[13]。然后使用從上到下掃描讀數(shù)顯示區(qū)域,以確定讀數(shù)的上下邊界。目前變電站所使用的數(shù)字儀表一般采用7段LED數(shù)碼管顯示讀數(shù),即通過7個不同位置的LED的點亮組合來顯示10個不同的數(shù)字。為確保所分割區(qū)域大小基本相同,本文采用將數(shù)碼管的所7段有LED全部點亮(即數(shù)字8)作為分割樣本。所以數(shù)字1被分割在圖像的右側(cè),這是因為數(shù)字1來自右側(cè)的2個LED燈。對數(shù)字儀表讀數(shù)區(qū)域進(jìn)行分割的效果如圖11所示。
圖11 讀數(shù)分割的效果
樣本匹配算法效率高且易于實現(xiàn)而被廣泛使用。該算法的關(guān)鍵是數(shù)字樣本的選擇。該樣本要求與待識別的數(shù)字圖像完全相同,且其圖像結(jié)構(gòu)相對穩(wěn)定。由于室內(nèi)變電站數(shù)字儀表的讀數(shù)顯示形式基本相同,且數(shù)字結(jié)構(gòu)完全一致,所以變電站數(shù)字儀表的讀數(shù)完全符合該算法的前置條件。
首先,建立了數(shù)字儀表的讀數(shù)樣本庫[14-15],然后對巡檢機器人所采集的讀數(shù)圖像進(jìn)行預(yù)處理。隨后將所預(yù)處理的讀數(shù)分割為單個數(shù)字的二值化圖像,每個讀數(shù)樣本大小統(tǒng)一為34×29(像素),待識別的數(shù)字圖像大小也統(tǒng)一處理為和樣本大小一致,最后逐一比較它們的差異,將具有最小差異的兩幅圖像視為相同數(shù)字,以確定數(shù)字圖像的值。具體識別過程描述如下。對應(yīng)于10個樣本的二值化圖的矩陣被表示為與二值圖像像素的黑色和白色像素相對應(yīng)的M0,M1,M2。0和1如果歸一化的矩陣數(shù)字圖像由Ms表示,則有以下公式:
(7)
通過公式(7)的計算將巡檢機器人所采集的讀數(shù)圖像與樣本庫的樣本圖像之間的差異數(shù)值化。該數(shù)值越小,說明采集的讀數(shù)圖像與樣本圖像之間的差異越大,當(dāng)數(shù)值達(dá)到其最大值時,樣本圖像中的數(shù)字就是巡檢機器人所采集的圖像的數(shù)字。
為了驗證該樣本匹配算法的識別效果,選擇圖11為帶識別的數(shù)字圖像。并采用本文所述的方法對這4個圖像進(jìn)行識別。樣本1由于圖像采集不完整,因此第2位數(shù)字的識別出現(xiàn)錯誤, “2342”被識別為“2742”。另外3個樣本均被準(zhǔn)確識別。
為了進(jìn)一步檢驗算法的穩(wěn)定性,本文測試了變電站采集的200臺數(shù)字顯示儀表的圖像,準(zhǔn)確識別的數(shù)目為190,識別準(zhǔn)確率為95%。
本文的圖像是在相對良好光線的環(huán)境下拍攝的。識別率最大的影響因素是所收集圖像的光線反射,使得分割的數(shù)字不完整。但圖像質(zhì)量可以人為控制,識別率可以滿足需求。
本文在對變電站巡檢機器人所采集到數(shù)字儀表的彩色圖像進(jìn)行預(yù)處理的基礎(chǔ)上,采用數(shù)字分割、樣本匹配的方法實現(xiàn)了一種對數(shù)字儀器讀數(shù)的識別算法。所提算法的關(guān)鍵是建立一個標(biāo)準(zhǔn)的深度學(xué)習(xí)樣本庫。樣本庫的樣本數(shù)量越多,能夠覆蓋數(shù)字儀表的型號越多,識別正確率也就越高。在大量的驗證實驗中,盡管采集的數(shù)字儀表的讀數(shù)圖像清晰度不高,甚至讀數(shù)顯示有殘缺,但采用本文所提出的算法具有高的識別正確率,這表明算法具有較好的有效性和穩(wěn)定性,能夠應(yīng)用于變電站巡檢機器人的數(shù)字儀表自動識別。