許繼電源有限公司 李龍光
許繼風電有限公司 蘇 靜
許繼電源有限公司 韓海倫 喬海強 錢 帆
圖像識別系統是變電站巡檢機器人重要的組成部分,圖像識別系統主要有儀表定位、圖像分割處理、指針識別等三個部分組成。其中數字圖像二值化技術是圖像分割關鍵技術,而圖像分割技術又是圖像識別重要組成部分,因此,數字圖像二值化效果好壞直接決定了變電站巡檢機器人的整體性能。受變電站自身工作環境及儀表自身屬性限制,光照變化對儀表圖像影響較為明顯,會出現光照強度過亮、光照強度過暗、光照不均等復雜光照條件[1],給儀表圖像二值化帶來很大的麻煩。因此,不同光照條件下儀表圖像二值化技術,成為機器人圖像識別技術難點之一。
目前,針對于光照不均勻條件下圖像的二值化問題,提出了各種不同的方法:圖像進行分塊處理法、對圖像背景光照進行處理法、經典的局部閾值法等方法[2],這些傳統處理方法比較有局限性并且存在很多缺點,第一類方法是在光照分塊較為明確條件下才使用,對于灰度值分界不是太明顯的數字圖像處理效果不是太好;第二類方法計算量大,效率低,對背景經常存在過估計或者估計不足,對目標和背景差別較小或者光照條件不均的弱目標圖像處理效果不是太好;第三類方法需要對數字圖像進行逐點計算,也存在計算過大,效率低,對弱目標圖像處理效果不佳等問題。
本文在分析傳統二值化方法的基礎上,通過分析巡檢機器人所拍攝儀表圖像的特點,第一步采用傳統的最大類間方差(OTSU)將儀表圖像分成三類:光照過度、光照不足、正常光照條件,將這三類圖像進行分類二值化處理,正常光照條件下,直接采用最大類間方差(OTSU)進行二值化分割處理[3]。光照過度條件下,對灰度圖像采用區域生長的方法對儀表指針區域進行提取。光照不足條件下,采用雙閾值二值化方法對儀表圖像進行提取。實驗結果證明:該方法正確有效,能夠提高復雜光照條件下圖像二值化效果,滿足實際應用。
圖像二值化就是將圖像上像素點的灰度值設置為0或255,也就是將整個圖像呈現出明顯的只有黑和白的視覺效果[4]。通過二值化方法選定閾值T,用閾值T將灰度圖像分成兩大類:大于閾值的像素群和小于閾值的像素群。具體計算公式如下:設輸入灰度圖像函數為f(x,y),輸出二值圖像函數為 g(x,y),則:

通過選取適當閾值T,既能保存圖像信息,又能盡可能減少背景和噪聲的干擾,這是閾值選擇的原則[5]。
全局二值化在選取整體閾值時,一種是根據試驗結果人工設定閾值,第二種就根據現有的算法經過計算得到自適應圖像的閾值。
本文主要采用傳統OTSU法及改進的OTSU方法對圖像進行二值化處理。OTSU方法是一種全局化的動態二值化方法,又叫大津法,是一種灰度圖像二值化常用的算法。該算法的基本思想是:設使用某一個閾值將灰度圖像根據灰度大小,分成目標部分和背景部分兩類,在這兩類的類內方差最小和類間方差最大的時候,得到的閾值就是最優的二值化閾值。在光照條件均勻的時候,可以得到很好的二值化效果。該算法的基本原理[6]如下:
設定一個像素為L圖像的灰度級為[1,2,…,L]。灰度值i的像素數位ni,像素總數N = n1+ n2+ ….+ ni。為了簡化討論,將灰度值直方圖歸一化并且視為一個概率分布:

通過一個閾值k將圖像的像素分成兩大類a0和a1(背景和目標,或者反之亦然),a0表示的像素灰度值為[0, k],a1表示的像素灰度值為[k+1, L]。a0和a1的概率分布為:


a0和a1的均值分別為:


則整幅圖像的灰度值(a)為:

定義類間方差(T)為:

假定T在[0,k]范圍內,以1為增量對公式(7)進行循環取值,k為灰度圖像的灰度級數目,最后計算T的最大值即為最佳閾值。
當取最佳閾值時,背景應該與前景差別最大,關鍵在于如何選擇衡量差別的標準,而在OTSU算法中這個衡量差別的標準就是最大類間方差。
就最大類間方差算法而言,優點是算法簡單,當目標與背景面積相差不大時,能夠有效地對圖像進行分割。但是,當圖像中的目標與背景面積相差很大時,表現為雙峰的大小相差很大或者直方圖沒有明顯的雙峰,分割效果不佳,如果目標與背景灰度值重疊較大時也不能將目標與背景準確分開。圖像空間信息被忽略是出現上述現象的主要原因。OTSU法是將圖像灰度值分布作為分割圖像主要條件,因此對圖像噪聲污染也相當敏感。所以,在實際工程應用中,總是將OTSU法與其他方法結合起來使用[6]。
局部自適應閾值則是根據像素的鄰域塊的像素值分布來確定該像素位置上的二值化閾值。這樣做的好處在于每個像素位置處的二值化閾值是根據周圍鄰域像素的分布來決定的,是動態變化的。亮度較低圖像區域的二值化閾值則會相對較小,亮度較高圖像區域的二值化閾值會相適應變大。不同亮度、對比度、紋理的局部圖像區域將會擁有相對應的局部二值化閾值。
常用的局部自適應閾值有:
(1)局部鄰域塊的均值;
(2)局部鄰域塊的高斯加權和。
本節通過對變電站巡檢機器人所拍攝儀表圖像進行分析,詳細介紹二值化實現過程及方法:
巡檢機器人在變電站工作時,不需要人工參與,從拍攝到自動識別全部自動化完成,因此我們需要設計一種簡單可靠的算法能夠自動將所拍的圖片進行分類,然后再進行二值化處理。
(1)第一步將所拍攝的儀表圖片進行灰度化處理,將RGB三個分量以不同的權值進行加權平均,從人眼的視覺效果來看,對綠色的敏感程度最高,藍色最低[7]。因此,按照公式(8),對RGB三分量進行加權平均,以這個亮度值表達圖像的灰度值。(灰度結果如圖2所示)
f(i,j)=0.30R(i,j)+0.59G(i,j)+0.11B(i,j)(8)
(2)采用傳統的OTSU法對圖片進行處理,將1.2節中公式(7)計算的結果T作為判斷準則,通過大量的圖片進行試驗,得出的平均值,取平均值左右適當范圍,作為參數選取的準則,根絕試驗結果:
(3)當T的值大于等于1400時,為光照條件不足圖片;
(4)當時T的值小于等于465時,為光照過度條件下所拍攝的圖片;
(5)當時T的值介于兩者之間時,為正常光照條件下所拍攝的圖片。
(6)接下來將圖片進行分類二值化處理。
在正常光照的條件下,對于目標和背景比較清晰的圖像(如圖1所示),采用全局閾值化方法就可以得到清晰的二值化圖片,閾值的選取采用最大類間方差法(OTSU),該方法基于圖像的灰度直方圖,將圖像分成背景和目標兩部分,以目標和背景的類間方差最大或者類內方差最小作為閾值選取準則,對儀表圖像進行二值化處理。
(1)根據2.1步驟中所描述的算法,提取正常光照條件下所拍攝的圖片(如圖1所示)

圖1 原圖

圖2 灰度化結果
(2)接2.1步驟灰度化后的圖片(如圖2所示),采用傳統的最大類間方差(OTSU)法對灰度化圖片進行二值化處理,詳細步驟見本文1.2所述。(結果如圖3所示)。
巡檢機器人在變電站巡檢拍照過程中,以下情況會出現拍攝的圖片亮度過暗(如圖4所示)的情況[8-9]:
第一種百天弱光型,巡檢機器人在巡檢拍照過程中遇上早晨、黃昏、陰雨等不良天氣條件時,此時太陽光線強度不足,所拍攝的圖片亮度偏低,并且圖像對比度極低。

圖3 OTSU法二值化效果圖
第二種夜間弱光型,在夜間,因為變電站個別儀表距離巡檢機器人巡檢路線較遠,在巡檢機器人進行拍照過程中,開啟閃光燈進行補光,補光效果太差,使整個儀表圖像亮度極暗、對比度極低。
在這兩種條件下所拍攝的圖片,如果直接采用傳統OTSU方法對其進行二值化分割處理(效果如圖5所示),將會丟失很多目標信息,嚴重影響或者甚至根本不能完成指針的提取工作。

圖4 亮度過暗圖像

圖5 采用傳統OSTU方法效果圖
本節針對于光照不足條件下所拍的圖像進行分析研究,在現有OTSU方法上進行改進,對所拍的圖片采用分塊雙閾值二值化方法分割處理,具體步驟如下:
(1)按照2.1步驟對提取圖片(如圖4所示)。
(2)接2.1步驟中灰度化之后的圖片,采用傳統的OTSU法計算灰度圖像的第一次閾值T0,T0將整幅圖像目標區域(整個表盤區域)與背景區域進行簡單的分離,在對圖片進行二值化的過程中,只處理圖像的背景部分,將背景部分的像素值全部設為255,目標區域(表盤區域)不做處理(效果如圖6所示),算法設計如下:


圖6 第一次二值化效果圖
(3)對圖6進行第二次二值化處理,對OTSU方法進行稍微改進,傳統的OTSU方法計算整幅圖片[0-255]灰度值以及每個灰度值出現的概率,改進后的OTSU在計算圖片灰度值及其概率時,除去灰度值為255的像素點。
采用改進OTSU算法對圖6計算第二次分割閾值T1,將表盤區域作為目標區域,將表框和柱子作為背景區域,用第二個閾值T1對圖像做進一步分割處理。
改進OTSU算法計算閾值T1時,和傳統的OTSU方法相比,唯一一點不同就是,改進的OTSU方法,在統計圖6總的像素值時,除去灰度值為255的像素,其他步驟和傳統的OTSU方法類似,此時計算得到二值化閾值 T1就是整個表盤區域的閾值,將T1重新作為閾值,圖6進行二值化處理,算法設計:

第二次二值化之后的效果圖如圖7所示:

圖7 第二次二值化效果圖
巡檢機器人在變電站巡檢拍照的過程中,一下兩種情況會出現亮度過亮的情況(如圖8所示)[8-9]:
第一種白天強光型,儀表盤一般都是采用玻璃材質,存在反光效果,當太陽強光照射在儀表盤上時,反射光線進入攝像機中,使得圖片表盤區域過于明亮,表盤玻璃區域出現泛白現象。
第二種夜間強光型,巡檢機器人在夜間進行巡檢過程中,在進行拍照的時候,啟用閃光燈進行補光,當儀表和機器人距離較近時,使得表盤區域亮度過亮,黑色的指針區域很不明顯,出現泛白現象。
在這兩種條件下拍攝的圖片,由于光照強度過亮,使得表盤區域的亮度過亮,而背景區域亮度較低,使用傳統OSTU方法進行二值化時,會出現如下情況(如圖9所示),無法正確提取指針區域。

圖8 亮度過亮原圖

圖9 OSTU法二值化效果圖
針對于這種情況,采用區域生長的方法,可以解決亮度過亮時遇到的問題。
區域生長方法[10]是根據同一圖像區域內像素的相似性質來聚集像素點的方法,從初始區域(如小鄰域或于每個像素)開始,將相鄰的具有同樣性質的像素或其他區域歸并到目前的區域中從而逐步增長區域,直至沒有可以歸并的點或者其他小區域為止。區域內像素的相似性度量可以包括平均灰度值、紋理、顏色等信息。
區域生長方法是一種比較普遍的方法,在沒有先驗知識可以利用時,可以取得最佳的性能,可以用來分割比較復雜的圖像,如自然景物。但是區域增長方法是一種迭代的方法,空間和時間開銷都比較大。
區域生長是一種串行區域分割圖像分割方法。區域生長是指從某個像素出發,按照一定的準則,逐步加入臨近像素,當滿足一定的條件時,區域生長終止。區域生長的好還決定于:初始點(種子點)的選取;生長準則;終止條件。
區域生長是從某個或者某些像素點出發,最后得到整個區域,進而實現目標的提取。
算法步驟如下:
(1)按照2.1步驟提取光照強度過亮的圖片(如圖8所示)

圖10 灰度化效果圖
(2)接2.1步驟中灰度化后圖片(如圖10所示),采用區域生長的方式提取指針區域(如圖11所示),按照以下三個法則,對出需要分割的圖像:
a.選取圖像中的一點為種子點(種子點的選取一般是對儀表圖像進行建模的時候,會選取一個點作為種子點,當圖片亮度過亮時,會將該點作為區域生長的種子點)。
b.在種子點處進行8鄰域擴展[11],判定準則是:如果待檢測的像素的灰度值與種子像素灰度值差的絕對值小于某個閾值T,則將該像素包括進種子像素所在的區域。
注:該閾值T的確定方法是根據大量圖片實驗得出固定閾值,直接調用Opencv函數r egionGr owt h_pr o進行區域生長,閾值T的值為13。
c.當不再有像素滿足加入這個區域的準則時,區域生長停止。

圖11 采用區域生長效果圖
本文針對巡檢機器人在變電站所拍攝的儀表圖像進行分析研究,將所拍得圖像分三類進行處理,正常光照條件下、亮度過亮、亮度過暗。在正常光照條件下,直接采用傳統OTSU方法即可將儀表圖像的目標和背景完全的分割出來。亮度過亮時,采用區域生長的方法對圖片進行處理,可有效地避免了過分割和欠分割現象,將儀表圖像的指針區域精確、完整地分割出來。亮度過暗條件下,采用兩次二值化對圖像進行處理,將圖像分層次的進行處理,該方法對亮度過暗的圖像能夠取得滿意的分割效果。
實驗結果表明:將圖像分類進行處理,可以有效地解決因為光照條件、氣象原因及儀表自身缺陷造成圖像質量較差,無法正確進行特征提取所遇到的問題,從而為后續的圖像識別工作打下良好的基礎。
[1]郭佳,劉曉玉,吳冰,付曉薇,一種光照不均勻圖像的二值化方法[J].計算機應用于軟件,2014,31(3):183-186.
[2]王剛,圖像二值化方法研究及其在監控識別系統中的應用[D].長沙,湖南大學計算機科學與技術,2010.
[3]楊偉偉,王廣偉,儀表圖像二值化技術研究[J].科技信息,2011(17):61-62.
[4]張雅蘭.圖像的二值化處理[J].廣西工學院學報,2002,13(1):33-33, 55.
[5]馬馳,張紅云,苗奪謙,張學東,改進的多閾值動態二值化算法[J],計算機工程,2006,32(6):203-204.
[6]齊麗娜,張博,王戰凱,最大類間方差法在圖像處理中的應用[J]. 信號與信息處理,2006,36(7):25-27.
[7]龔雄文,指針式儀表自動讀數的研究及應用[D].廣州, 廣東工業大學檢測技術與自動化裝置,2007.
[8]王珺,彭進業,吳俊,李丹嬌,復雜光照下的車牌圖像二值化新方法[J].電子設計工程,2011,19(22):147-150.
[9]劉攀,復雜光照條件下的通用車牌定位系統的研究及實現[D].成都,電子科技大學模式識別與智能系統專業,2013.
[10]李旭輝,慈林林,王蕊,劉建華,李俊山,一種基于區域生長的目標提取算法[J].微電子學與計算機,2008,25(12):184-186.
[11]李建飛,文志強,盧永樂,鄧劉昭蘆,一種基于區域生長的高分辨遙感影像道路提取方法[J].2015,14(1):28-29.