本發(fā)明屬于圖像處理技術(shù)領(lǐng)域,涉及一種儀表刻度識別方法。
背景技術(shù):
變電站智能巡檢機(jī)器人的任務(wù)是通過自主的信息采集與處理來獲知設(shè)備的運(yùn)行狀態(tài),為變電站運(yùn)維檢修提供信息支持。其中,指針型儀表是一類重要的設(shè)備狀態(tài)信息來源,智能巡檢機(jī)器人通過長焦變倍相機(jī)抓拍到清晰的儀表圖像,然后運(yùn)行圖像分析程序進(jìn)行指針讀數(shù)的識別。開發(fā)智能的圖像識別算法來對儀表進(jìn)行自動讀數(shù)對于巡檢機(jī)器人意義重大。
利用指針繞軸心旋轉(zhuǎn)這一物理特性,這種識別算法一般分兩個步驟:
第一,獲得表盤各個刻度在圖像中的位置及其指向軸心的方向,由此得到圖像中指針的指示方向與刻度讀數(shù)之間的對應(yīng)關(guān)系;
第二,檢測指針并計算其指示方向,然后根據(jù)第一步的結(jié)果獲得指針讀數(shù)。
針對第一步現(xiàn)有做法一般是事先獲取一張表盤的圖像作為模板,在模板圖像上人工框出刻度盤區(qū)域作為定位參照系,并在該參照系上手動畫線指示出最小、最大刻度的方向與讀數(shù),通過平均插值來得到其它刻度的方向與讀數(shù),如果能指示出更多刻度并進(jìn)行樣條插值的話,還能得到更精確的結(jié)果。機(jī)器人實際巡檢過程中通過圖像模板匹配技術(shù)來將模板上標(biāo)定的參數(shù)適應(yīng)到巡檢圖像中。
針對第二步有多種方法可以用來檢測指針方向,如檢測指針邊緣直線,或指針兩側(cè)邊緣的對稱性來檢測其對稱軸的方向,后者對于兩側(cè)非平行的指針其所得結(jié)果更為準(zhǔn)確。
技術(shù)實現(xiàn)要素:
為解決現(xiàn)有技術(shù)存在的問題,本發(fā)明提供一種儀表刻度識別方法,通過圖像處理的方法對圖像中的刻度及其排列布局進(jìn)行識別來自動地建立刻度坐標(biāo)系。
本發(fā)明提供的儀表刻度識別方法,包括以下步驟:
(1)邊緣濾波:將獲取到的原圖像變換到對應(yīng)的邊緣強(qiáng)度圖、邊緣方向圖;
(2)單像素輪廓獲?。簭倪吘墢?qiáng)度圖上分析得到單像素輪廓;
(3)刻度線檢測:從步驟(2)中得到單像素輪廓中提取出候選刻度;
(4)刻度隊列獲取:將步驟(3)中得到的單個候選刻度串聯(lián)成連續(xù)的刻度隊列;
(5)刻度隊列融合:將步驟(4)中得到的刻度隊列中的斷開的刻度隊列連接成一個整體;
(6)刻度排列分析:該步驟是要對較長的刻度隊列進(jìn)行分析與驗證,從而判斷其是否滿足儀表盤刻度特征,并分析其刻度排列模式。
邊緣濾波具體包括:
(1.1)先將原圖像從RGB格式轉(zhuǎn)化成灰度圖;
(1.2)然后在灰度圖上使用3x3的高斯卷積核進(jìn)行平滑處理;
(1.3)再使用Sobel算子進(jìn)行卷積濾波得到X向與Y向的梯度圖;
(1.4)最后根據(jù)各像素X向、Y向梯度來計算其邊緣強(qiáng)度、邊緣方向。
單像素輪廓獲取具體包括:
(2.1)先在邊緣強(qiáng)度圖上根據(jù)其邊緣方向進(jìn)行非極大值抑制;
(2.2)然后過濾掉邊緣強(qiáng)度小于設(shè)定閾值的邊緣像素;
(2.3)再對留下的像素以八鄰域連通像素連接方式、以最短路徑搜索算法的節(jié)點擴(kuò)展方式進(jìn)行遍歷;
(2.4)最后對遍歷路徑上的骨架路徑進(jìn)行處理,即在分叉路徑上斷開并將方向一致的兩端連接,由此得到初步的單像素輪廓;
(2.5)對所得各個單像素輪廓,根據(jù)相鄰像素間的邊緣方向變化情況進(jìn)行折點檢測,將方向變化大于設(shè)定閾值的位置視為折點,在該點上切斷而得到段內(nèi)方向變化較為平緩的單像素輪廓。
刻度線檢測具體包括:
(3.1)對一定長度范圍內(nèi)的單像素輪廓進(jìn)行直線擬合,得到該段輪廓對應(yīng)線段參數(shù);
(3.2)根據(jù)線性性濾除不符合要求的輪廓,將符合刻度邊緣形態(tài)的單像素輪廓從像素形式變成線段參數(shù)形式,并根據(jù)線段上各像素的邊緣方向均值設(shè)定該線段的法線方向;
(3.3)將步驟(3.2)中得到的線段間進(jìn)行兩兩配對,滿足以下全部條件的配對作為刻度的候選配對:線段方向一致、距離小于設(shè)定閾值、法線方向相背、長度差異小于設(shè)定閾值、線段方向上重疊度大于設(shè)定閾值;
(3.4)對候選配對中的兩條線段求取其最小外接旋轉(zhuǎn)矩形,作為候選刻度的形態(tài)描述,以法線方向的邊作為其寬,以線段方向的邊作為其高。
刻度隊列獲取具體包括:
(4.1)在候選刻度間進(jìn)行兩兩配對,滿足以下全部條件的配對作為相鄰刻度對:(a)旋轉(zhuǎn)矩形方向夾角小于設(shè)定閾值、(b)距離在與矩形高度相關(guān)的區(qū)間內(nèi)、(c)長度差異小于設(shè)定閾值、(d)矩形高方向上重疊度大于設(shè)定閾值、(e)同時滿足(a)-(d)全部條件且距離最近;
(4.2)在相鄰刻度對之間添加指向關(guān)系構(gòu)建刻度鄰接圖,然后遍歷刻度得到各刻度隊列,并濾除孤立刻度。
刻度隊列融合具體包括:
(5.1)對于刻度數(shù)大于或等于4的刻度隊列,以刻度旋轉(zhuǎn)矩形中高方向上的中位線為刻度中線,求各刻度中線的共同交點;
(5.2)以共同交點為圓心,以各刻度近圓心端點為圓周點擬合橢圓,得到橢圓參數(shù)方程;
(5.3)對于任意兩個刻度隊列,判斷刻度隊列間是否具有一致性即,圓心間距離小于設(shè)定閾值且所有刻度到對方橢圓圓周的距離小于設(shè)定閾值;將具有一致性的刻度隊列進(jìn)行合并得到新刻度隊列;
(5.4)返回步驟(5.1)、(5.2),針對新刻度隊列求共同交點與擬合橢圓,并進(jìn)入步驟(5.3);
(5.5)迭代執(zhí)行步驟(5.4)直到?jīng)]有刻度隊列間可以進(jìn)行融合;
(5.5)對于刻度數(shù)小于4的刻度隊列,計算刻度隊列上的刻度到已擬合出橢圓參數(shù)方程的刻度隊列圓周的距離,若到其中一個刻度隊列的距離整體小于設(shè)定閾值,進(jìn)入步驟(5.3),將其融合進(jìn)該刻度隊列。
步驟(5.1)中的共同交點按如下方式獲得:先對夾角大于設(shè)定的角度閾值的中線兩兩之間求交點,然后對所有交點求平均以獲得重心,再將到重心距離大于設(shè)定閾值的交點,重新計算重心,以此重心作為共同交點。
刻度排列分析具體包括:
(6.1)對相鄰刻度間距進(jìn)行分析,按照刻度間距應(yīng)一致或平滑變化的規(guī)律,通過對刻度間距進(jìn)行中值濾波分析,估計出刻度隊列各區(qū)間的實際刻度距離,然后根據(jù)該距離判斷缺失或誤檢刻度,并作預(yù)測補(bǔ)全及剔除處理,具體處理方式為,對于刻度間距是該處實際間距的大約整數(shù)倍N的,均勻插入N-1個刻度,而對于刻度間距過小或相鄰刻度間距合并后恰好與該處實際刻度距離相近的,剔除中間的無效刻度;
(6.2)根據(jù)刻度間距對刻度隊列邊界進(jìn)行檢查,若從當(dāng)前刻度往外分別探出至少1個刻度間距,均未在預(yù)期位置檢測出刻度邊緣輪廓,則認(rèn)為當(dāng)前邊界即為實際邊界;
(6.3)對連續(xù)刻度間的刻度高寬進(jìn)行比較分析,基于儀表盤上的刻度按照一定的長短模式排列,根據(jù)最低一級的刻度局部相鄰且等長,高一級的相對要長一截,且長短模式呈周期出現(xiàn)的特點,分析出每個刻度所處級別;
(6.4)根據(jù)級別與刻度隊列順時針序賦予每個刻度編號及主刻度、副刻度屬性,將預(yù)先給定最左、最右的刻度值分別賦予首、末刻度,其余刻度值則根據(jù)編號與刻度間隔值按序遞增或遞減賦予。
本發(fā)明通過圖像處理的方法對圖像中的刻度及其排列布局進(jìn)行識別來自動地建立刻度坐標(biāo)系,使得電力巡檢機(jī)器人智能地完成巡檢任務(wù)并降低識別算法對人工標(biāo)定的依賴,通過更加智能的圖像分析方法來識別各個刻度及其方向。
本發(fā)明具有以下有益效果:(1)能夠自動檢測出刻度線并對刻度布局進(jìn)行識別、對刻度值進(jìn)行分配;(2)在保證圖片具有一定質(zhì)量的前提下,儀表刻度自動識別的結(jié)果優(yōu)于手工標(biāo)注;(3)智能獲取指針軸心,提高指針的識別率;(4)將儀表刻度識別結(jié)果作為先驗知識,能夠大大提高標(biāo)定效率。
附圖說明
圖1為儀表刻度手動標(biāo)定示意圖;
圖2為儀表刻度自動識別示意圖;
圖3為刻度識別的算法流程及其中間結(jié)果展示圖。
具體實施方式
如圖1所示為儀表刻度手動標(biāo)定效果,圖2為采用本發(fā)明獲得的自動識別效果,明顯優(yōu)于手動標(biāo)定。
結(jié)合圖3,本發(fā)明提供的儀表表盤刻度識別方法,按照以下步驟進(jìn)行:
1)邊緣濾波,該步驟是將輸入的儀表圖像變換到對應(yīng)的邊緣強(qiáng)度、邊緣方向圖像,儀表圖像通過相機(jī)等獲取,所得結(jié)果如圖3中“邊緣濾波”上方的儀表圖。具體實現(xiàn)方式為:
a)先將RGB原圖轉(zhuǎn)化成灰度圖,
b)然后在灰度圖上使用3x3的高斯卷積核進(jìn)行平滑處理,
c)再使用Sobel算子進(jìn)行卷積濾波得到X向與Y向的梯度圖,
d)最后根據(jù)各像素X向、Y向梯度來計算其邊緣強(qiáng)度、邊緣方向。
2)單像素輪廓獲取,該步驟是從邊緣強(qiáng)度圖像上分析得到單像素輪廓,作為后續(xù)形態(tài)拓?fù)浞治龅幕A(chǔ),所得結(jié)果如圖3中“單像素輪廓”上方的儀表圖。具體實現(xiàn)方式為:
a)先在邊緣強(qiáng)度圖上根據(jù)其邊緣方向(離散成八個方向)進(jìn)行非極大值抑制,
b)然后過濾掉邊緣強(qiáng)度小于某個較低閾值(如40)的邊緣像素,
c)再對留下的像素以八鄰域連通像素連接方式、以最短路徑搜索算法的節(jié)點擴(kuò)展方式進(jìn)行遍歷,
d)最后對遍歷路徑上的骨架路徑進(jìn)行處理,即在分叉路徑上斷開并將方向一致的兩端連接,由此得到初步的單像素輪廓,
e)對所得各個單像素輪廓,根據(jù)相鄰像素間的邊緣方向變化情況進(jìn)行折點檢測,將方向變化大于某個閾值(如60度)的位置視為折點,在該點上切斷而得到段內(nèi)方向變化較為平緩的單像素輪廓。
3)刻度線檢測,該步驟是要從前面得到單像素輪廓中提取出候選的刻度信息,所得結(jié)果如圖3中“刻度線檢測”上方的儀表圖。具體實現(xiàn)方式為:
a)對一定長度范圍內(nèi)的單像素輪廓(如長度范圍在8至30個像素之間)進(jìn)行直線擬合,得到該段輪廓對應(yīng)線段參數(shù),如方向、長度、位置區(qū)間、線性性(各像素點到線段的距離)。
b)根據(jù)線性性濾除不符合要求的輪廓,由此將符合刻度邊緣形態(tài)的單像素輪廓從像素形式變成線段參數(shù)形式,并根據(jù)線段上各像素的邊緣方向均值設(shè)定該線段的法線方向。
c)在上一步得到的線段間進(jìn)行兩兩配對,滿足以下條件的配對可作為刻度的候選配對:線段方向一致、距離小于某個閾值、法線方向相背、長度差異小于某個閾值、線段方向上重疊度大于某個閾值。
d)對候選配中的兩條線段求取其最小外接旋轉(zhuǎn)矩形,作為候選刻度的形態(tài)描述,以法線方向的邊作為其寬,以線段方向的邊作為其高。
4)刻度隊列獲取,該步驟是要將前面得到的單個刻度串聯(lián)成連續(xù)的刻度隊列,所得結(jié)果如圖3中“刻度隊列”下方的儀表圖。具體實現(xiàn)方式為:
a)在候選刻度間進(jìn)行兩兩配對,滿足以下條件的配對可作為相鄰刻度對:旋轉(zhuǎn)矩形方向夾角小于某個閾值、距離在與矩形高度相關(guān)的某個區(qū)間內(nèi)、長度差異小于某個閾值、矩形高方向上重疊度大于某個閾值、同時滿足上述條件的距離最近的配對。
b)在相鄰刻度對之間添加指向關(guān)系構(gòu)建候選刻度鄰接圖,然后遍歷刻度得到各刻度隊列,并濾除孤立刻度(隊列長度為1的為孤立刻度)。指向關(guān)系指刻度之間滿足配對關(guān)系,如圖2的刻度,刻度0.02與0.0022為緊靠在一起的刻度,中間沒有其他刻度,兩者為相鄰刻度,構(gòu)成相互指向。
5)刻度隊列融合,該步驟是要將前面可能斷開的刻度隊列連接成一個整體,所得結(jié)果如圖3中“隊列融合”下方的儀表圖。具體實現(xiàn)方式為:
a)對于刻度數(shù)大于或等于4的刻度隊列,以刻度旋轉(zhuǎn)矩形中高方向上的中位線為刻度中線,求各刻度中線的共同交點。共同交點按如下方式獲得:先對夾角大于某一角度閾值的中線兩兩之間求交點,然后對所有交點求平均得重心,再將到重心距離大于某一閾值(如閾值取3)的交點,重新計算重心,以此重心作為共同交點。
b)以共同交點為圓心,以各刻度近圓心端點為圓周點擬合橢圓,得到橢圓參數(shù)方程。
c)對于某兩個刻度隊列,按如下方式計算刻度隊列間的一致性:圓心間距離小于某一閾值,所有刻度到對方橢圓圓周的距離小于某一閾值。將具有一致性的刻度隊列進(jìn)行合并(按繞圓心的順時針序排列),并對新刻度隊列按a)b)描述的方法求共同交點與擬合橢圓。
d)返回步驟a)、b),針對新刻度隊列求共同交點與擬合橢圓,并進(jìn)入步驟c)。
e)迭代執(zhí)行d)直到?jīng)]有刻度隊列間可以進(jìn)行融合。
e)對于刻度數(shù)小于4的刻度隊列,計算其上刻度到已擬合出橢圓參數(shù)方程的刻度隊列圓周的距離,若到某一刻度隊列的距離整體小于某一閾值,亦將其融合進(jìn)該刻度隊列,并按照c)的方式更新刻度隊列及其相關(guān)參數(shù)。
6)刻度排列分析,該步驟是要對較長的刻度隊列進(jìn)行分析與驗證,從而判斷其是否滿足儀表盤刻度特征,并分析其刻度排列模式,所得結(jié)果如圖3中“刻度排列分析”下方的儀表圖。具體實現(xiàn)方式如下:
a)對相鄰刻度間距進(jìn)行分析,按照刻度間距應(yīng)一致或平滑變化(帶一定傾斜角度抓取的圖像)的規(guī)律,通過對刻度間距進(jìn)行中值濾波分析,估計出刻度隊列各區(qū)間的實際刻度距離(如圖2中,0.02與0.03之間還有4個刻度,實際刻度距離指0.02與0.022之間的距離),然后根據(jù)該距離判斷缺失或誤檢刻度,并作相應(yīng)的預(yù)測補(bǔ)全及剔除處理,具體處理方式為,對于間距是該處實際間距的大約某整數(shù)倍N的(計算N時進(jìn)行取整處理),均勻插入N-1個刻度,例如,相鄰刻度間距值為5,而該處實際間距為1,則需要插入4個刻度,而對于刻度間距過小或相鄰刻度間距合并后恰好與該處實際刻度距離相近的,剔除中間的無效刻度,例如實際間距為1,而計算出來的相鄰刻度間距小于1,則需要剔除相應(yīng)的刻度。
b)根據(jù)刻度間距對刻度隊列邊界進(jìn)行檢查,若從當(dāng)前刻度往外分別探出1個、2個、3個刻度間距,均未在預(yù)期位置檢測出刻度邊緣輪廓,則認(rèn)為當(dāng)前邊界即為實際邊界。
c)對連續(xù)刻度間的刻度高寬進(jìn)行比較分析,儀表盤上的刻度按照一定的長短模式排列,根據(jù)最低一級的刻度局部相鄰且等長,高一級的相對要長一截,且長短模式呈周期出現(xiàn)的特點,分析出每個刻度所處級別(如圖2所示,標(biāo)注有數(shù)字的刻度(0.02、0.04等)的刻度線較長,0.02與0.04之間的0.03雖然未標(biāo)注數(shù)字但刻度線也較長,這些刻度的級別較高,沒有標(biāo)注刻度值的刻度線較短,并且刻度線等長,這些刻度級別較低)。
d)根據(jù)級別與刻度隊列順時針序賦予每個刻度編號及主刻度、副刻度屬性,主刻度指標(biāo)注了刻度值數(shù)字或者粗的長的(如0.02與0.04之間還有個未標(biāo)注0.03的刻度,該刻度與0.02的刻度線形狀相同)刻度,主刻度之間的刻度為副刻度。將預(yù)先給定最左、最右的刻度值分別賦予首、末刻度,其余刻度值則根據(jù)編號與刻度間隔值按序遞增(或遞減)賦予。
通過本發(fā)明可以實現(xiàn)圖2所示的效果,對每個刻度都進(jìn)行了標(biāo)注。本發(fā)明提到的閾值、區(qū)間等根據(jù)實際所要獲得的效果進(jìn)行選取,進(jìn)行試驗后即可獲得。
本發(fā)明還可以有其它實施方法,凡采用同等替換或等效變換形成的技術(shù)方案,均落在本發(fā)明要求保護(hù)的范圍之內(nèi)。