馮新宇, 付志偉, 柴僑崢, 李亞妮, 劉曉磊
(1.黑龍江科技大學 電氣與控制工程學院, 哈爾濱 150022; 2.國網黑龍江省電力有限公司 大興安嶺供電公司, 黑龍江 大興安嶺 165000)
隨著電力系統智能化的發展,紅外熱成像檢測技術被廣泛應用于電力設備故障檢測,成為一種高效的檢測方法[1]。然而,由于多種電力設備相互關聯,導致所拍攝的紅外圖像背景復雜,故障區域難以提取,這對故障的診斷造成很大影響。因此,電力設備紅外圖像故障區域的分割至關重要。目前常用的紅外圖像分割算法包括區域生長法[2]、形態學法[3]、聚類法、閾值法[4]和邊緣分割法[5]等。這些算法對簡單的紅外圖像分割有很好的效果,具有收斂速度快、算法簡單、實用性強等優點[6]。但對于背景復雜的電力設備紅外圖像,這些算法存在過分割、欠分割、速度慢等問題。為增強紅外圖像的分割效果,一些學者采用元啟發優化算法、人工免疫算法等對經典的紅外分割算法進行改進。
Wang等[7]引入改進粒子群(PSO)算法優化Otsu 算法,利用小波變異性防止粒子陷入局部最優,但收斂速度較慢。Qin等[8]引入改進蟻群算法優化Otsu多閾值分割,運用Lévy飛行改進其蟻群搜索過程,有效地提高了算法速度,但在算法迭代過程中容易陷入局部最優。Li等[9]引入遺傳算法對K均值分割算法進行優化,使實際應用中的彩色多像具有很好的分割效果,但對紅外圖像分割時,有時會發生過分割現象。Hang等[10]引入果蠅算法優化Otsu 算法,通過模擬果蠅覓食和繁殖過程對Otsu 算法進行優化,能夠有效分割高維圖像,但有時容易產生錯誤閾值。李鵬等[11]結合改進麻雀算法對二維Otsu 算法進行優化,通過Singer混沌映射和隨機游走增強種群多樣性提高全局和局部搜索能力,具有較強的分割性能,但后期收斂精度不足。王坤等[12]通過改進易經占卜進化算法對Otsu 算法進行優化,在易經算子過程中采用輪盤賭的方式選取適應度大的個體作為新種群,該算法普適性較差,只適用于飛機蒙皮的紅外圖像。趙鳳等[13]采用粒子群和人工蜂群混合優化Otsu 算法,將粒子群的最優解作為人工蜂群算法的蜜源進行迭代,對背景簡單圖像分割效果好,但對于復雜圖像時,實時性差。
針對以上問題,筆者對人工蜂群算法(Artificial bee colony algorithm,ABC)進行改進,提出一種改進ABC優化的Ostu電力設備紅外圖像分割算法。首先,引入Lévy飛行對種群初始化過程進行改進,增強蜂群的空間搜索能力和種群多樣性,從而提高算法尋優的過程,然后利用天牛須搜索法(Beetle antennae search algorithm,BAS),對蜂群的搜索方程進行改進,提高蜂群的全局搜索能力,避免陷入局部最優的問題。
Karabage等[14]提出了人工蜂群算法,該算法模擬了自然界中蜜蜂尋找食物的行為,用于解決優化代數問題。ABC算法具有魯棒性、控制參數少、原理簡單等優點,在圖像處理、圖像識別、路徑規劃、通信技術等領域有著廣泛應用。該算法將優化問題的解視為是蜜源,尋找最優解的過程就是蜂群尋找蜜源的過程。蜜源的采集難度、信息量以及與蜂巢的距離決定其是否為最優解。蜂群被分為雇傭蜂(引領蜂)、跟隨蜂和偵察蜂。引領蜂負責尋找蜜源的信息,并通過概率與蜂巢內的跟隨蜂進行信息傳遞。引領蜂的數量與蜜源的數量相同,與蜜源位置一一對應。跟隨蜂根據引領蜂傳遞的信息,在蜜源區域進行搜索,依據貪婪準則選取適應度較優的蜜源,當蜜源搜索完成后,引領蜂會變為偵察蜂,繼續尋找新的蜜源。ABC算法的實現分為以下四個執行步驟:
(1)初始化階段
人工蜂群算法采用隨機初始化法,根據式(1)隨機產生N個蜜源和蜜源的向量維數為D。
xi,j=xi,jmin+rand(0,1)[(xi,jmax-xi,jmin)] ,
(1)
式中:xi,j——新產生的蜜源;
i——{1,2,…,N}內的整數;
j——{1,2,…,D}內的整數;
xi,jmin、xi,jmax——第i個蜜源Xi=(xi,1,xi,2,…,xi,D)第j維參數的下限和上限。
蜜源的適應度通過輪盤賭公式來判斷,由式(2)可知,當目標函數大于0時,目標函數越大,適應度越小。
(2)
式中:f(Xi)——第i個蜜源Xi的目標函數;
fitn(Xi)——第i個蜜源的適應度。
(2)引領蜂階段
引領蜂探索蜜源的信息,并更新蜜源的信息,搜索公式為
vi,j=xi,j+rand(-1,1)[(xi,j-xk,j)] ,
(3)
式中:vi,j——引領蜂搜索到的新蜜源;
xi,j——原始蜜源;
k——{1,2,…,N}內的整數,且k≠j。
引領蜂依據貪婪準則,對新舊蜜源進行比較,適應度高的蜜源被采用。
(3)跟隨蜂階段
引領蜂完成探索后,返回蜂巢給跟隨蜂傳遞信息,跟隨蜂接收引領蜂傳遞的信息,并依據輪盤賭公式決定是否跟隨引領蜂進行采蜜。
輪盤賭公式為
(4)
式中,pi——跟隨蜂是否跟隨的概率。
(4)偵察蜂階段
跟隨蜂對蜜源搜索完成后,有些蜜源的適應度多次迭代未發生變化,證明該蜜源探索完成,放棄該蜜源,這時引領蜂變為偵察蜂,按式(1)隨機產生一個新的蜜源。
針對人工蜂群算法容易陷入局部最優、全局和空間搜索能力差等問題。文中采用Lévy飛行對其種群初始化階段進行改進,增強蜂群的種群多樣性和空間搜索能力,能夠有效地提高收斂速度。之后,通過BAS算法改進引領蜂階段,提高其全局搜索的能力,避免出現陷入局部最優解的問題。
Lévy飛行是隨機步長服從Lévy分布的隨機行走,Lévy飛行的方差與時間呈指數關系式[15]。Lévy分布為
Lévy(β)~u=t-β, (1<β<3) 。
(5)
計算Lévy飛行步長為
(6)
式中:Lévy(β)——一個帶有重尾的概率分布;
β——冪次數;
φ——正態分布的方差;
u、n——服從標準正態分布;
?!粋€標準的伽馬函數。
當β=1.5時,φ為
(7)
文中在智能算法的高維空間中引入Lévy飛行,增強蜂群在空間中的搜索能力,并且Lévy飛行也能夠增強引領蜂和蜜源的多樣性,使更多的適應函數的最優解參與到尋優的過程中。通過Lévy飛行對種群初始化階段的改進公式為
(8)
BAS算法是一種仿生算法,其模擬天牛覓食時使用兩個觸須感應氣味來判斷食物位置。當天牛感知到某一側氣味較強時,它會向該側移動一定距離,并再次感知環境中的氣味。如此循環往復,直至找到氣味最濃的食物,即為最優解。天牛須算法的數學模型如下。
(1)假設對目標函數f進行n維優化,設天牛位置為S,右觸須Sr,左觸須Sl,左右觸須的間隔為d,步長為
s=cd。
天牛的左右觸須表達式為
dir=rand(n,1)。
(2)此時得到兩根觸須的位置為
Sl=S+ddir/(2‖dir‖),
Sr=S-ddir/(2‖dir‖)。
(9)
求出左觸須的適應度fl和右觸須的適應度fr,對兩者進行比較,天牛向適應度大的方向移動,移動后的位置為
S=S+s‖Sl-Sr‖,fl
(10)
(3)求出天牛新位置的適應度fs,更新步長和左右觸須的距離為
s=etas,d=etad。
式中,eta——步長與距離的衰減系數,一般設為0.95。
(4)循環進行(2)(3)直至找到最優解。
文中采用BAS算法對引領蜂階段的搜索公式進行改進,提高其全局搜索的能力,避免ABC算法在尋優的過程中陷入局部最優的問題。改進過程為
(11)
為了驗證IABC算法的尋優能力和搜索能力,采用單峰函數(Beale、Matyas、Schaffer、Cross-in-Tray)和多峰函數(Tripod、Rosenbrock、Easom、Schwefel)對其測試[17]。測試函數公式如下:
Beale函數為
f(x,y)=(1.5-x+xy)2+(2.25-x+xy2)2+
(2.625-x+xy3)2,
其搜索范圍為[-4.5,4.5], 維度為2。
Matyas函數為
f(x,y)=0.26(x2+y2)-0.48xy,
其搜索范圍為[-10,10],維度為2。
Schaffer函數為
f(x,y)=0.5+(sin(x2-y2)2-0.5)/
(1+0.001(x2+y2))2,
其搜索范圍為[-100,100],維度為2。
Cross-in-Tray函數為
f(x,y)=-0.000 1×(abs(sinx×sin(y)×
exp(abs(100-sqrt(x2+y2)/π)))+1)0.1,
其搜索范圍為[-10,10],維度為2。
Tripod函數為
f(x,y)=max(abs(x),abs(y)),
其搜索范圍為[-100,100],維度為2。
Rosenbrock函數為
其搜索范圍為[-5,10],維度為20。
Easom函數為
f(x,y)=-cosxcosyexp(-((x-π)2-
(y-π)2)),
其搜索范圍為[-100,100],維度為20。
Schwefel函數為
f(x1,x2,…,xn)=-sum(xisin(sqrt(abs(xi)))),
其搜索范圍為[-1000,1000],維度為n。
Beale、Matyas、Schaffer、Cross-in-Tray為單峰測試函數,用來測試優化算法的搜索能力,Tripod、Rosenbrock、Easom、Schwefel為多峰測試函數,用來測試優化算法的全局尋優的能力和開發能力。文中將IABC算法與PSO和ABC算法進行測試結果對比。三種算法測試函數的收斂曲線如圖1和2所示。
圖1 三種算法測試函數的收斂曲線
圖2 三種算法測試函數的收斂曲線
由圖1和2可以看出,IABC算法的迭代速度明顯快于其他兩種算法,僅需短時間即可迭代到最優解。此外,無論是對于單峰函數還是多峰函數,IABC算法收斂精度明顯優于PSO和ABC算法。
為了更好地驗證文中算法的搜索和尋優能力,對其運行30次,種群數量設為50,最大迭代速度設為50。計算出算法運行結果的最大值、最小值、平均值和標準差,其中,標準差反映了算法的穩定性,而最大值、最小值和平均值則反映了算法的求解精度和尋優能力,測得數據如表1所示。
表1 3種算法對測試函數的優化結果
針對單峰函數Beale、Matyas和Schaffer,IABC算法能夠直接搜索到最優值,并且其尋優精度和能力均達到了100%。對于單峰函數Cross-in-Tray,IABC算法的標準差與PSO算法相當,但其最小值和平均值更小,這表明IABC算法的尋優能力強于PSO算法。在處理多峰函數時,IABC算法的標準差均優于其他兩種算法,表明其穩定性更好。此外,IABC算法的最大值、最小值和平均值也均明顯優于其他兩種算法。綜上所述,IABC算法不僅具備更好的穩定性,而且其尋優精度也得到了改善,因此IABC算法的尋優能力更強。
Ostu算法是一種自適應閾值分割算法。該算法以目標圖像和背景圖像之間的最大類間方差作為閾值對圖像進行分解[18]。
假設圖像的灰度級L=256,像素總數為N,灰度級為i(i=0,1,…,L-1)的像素個數為xi個,則
灰度級為i的像素出現的概率為
圖像的總灰度均值μ為
以灰度值h為閾值,將紅外圖像分為D0和D1,D0為需要分割得到的目標區域,像素的灰度級為[1,h],D1為背景區域,像素的灰度級為[h+1,L-1]。則D0、D1出現的概率QD0、QD1分別為
D0、D1的灰度均值ED0、ED1為
圖像的灰度均值E為
D0和D1的類間方差為
θ2(h)=QD0(E-ED0)2+QD1(E-ED1)2,
式中,θ2(h)——最大值為最佳分割閾值。
由上述可知,Ostu算法必須對0~255之間的所有灰度值進行類間方差計算。所以該算法計算量大、效率低,并且當圖像隨機分布較為復雜時,閾值分割并不夠準確,可能會出現過分割和欠分割。
針對Ostu算法對復雜紅外圖像分割精確度不足、過分割和欠分割等問題,文中將改進IABC算法應用于紅外圖像分割上,基于改進人工蜂群優化的Ostu算法流程,如圖3所示。
圖3 文中算法流程
改進人工蜂群優化的Ostu算法具體實現步驟如下:
(1)讀取紅外圖像。
(2)設置參數。最大迭代次數Mmax、種群數N、向量維數D。
(3)種群初始化。將Ostu函數作為IABC算法的適應度函數,并利用式(8)生成初始種群。
(4)引領蜂階段。利用天牛須搜索法改進的搜索方程式(11)產生新解,通過比較適應度值,保留適應度大的解。
(5)跟隨蜂階段。通過式(4)判斷是否跟隨引領蜂進行探索,若跟隨進行隨機探索,按照式(2)決定是否保留解。
(6)偵察蜂階段。當保留解開采次數達到限制后,引領蜂變為偵察蜂,按照式(1)產生新的蜜源。
(7)對所獲得的解進行判斷,滿足條件則輸出最優解,不滿足跳轉至步驟(3)。
(8)將最優解作為最佳分割閾值對紅外圖像進行分割。
(9)獲得分割后的圖像。
為了更好地驗證文中算法的有效性,在Matlab實驗平臺上對高溫套管、隔離開關、互感器和充油套管四種電力設備的紅外圖像進行分割實驗。四種電力設備的紅外圖像如圖4所示。將文中算法與Ostu算法、PSO-Ostu算法和ABC-Ostu算法進行對比,實驗結果如圖5所示。
圖4 四種電氣設備
圖5 實驗結果
由圖5可見,發現Ostu算法對四臺電力設備的紅外圖像進行分割時容易出現過分割的情況,而ABC-Ostu算法則容易出現欠分割和背景曝光現象。PSO-Ostu算法和文中算法的分割效果較好,但是在一些細節方面,文中算法優能優于PSO-Ostu算法。
為了更加準確地評價各算法的性能,文中采用召回率(Recall)和重疊率(Overlap)作為客觀指標進行評價。其中,召回率用于評價分割模型對目標區域的識別能力,當召回率越接近于1時,說明模型對正例識別能力越強[19]。重疊率也稱為交并比,是圖像分割中常用的客觀評價指標,其大小與圖像分割效果的好壞成正比[20]。召回率和重疊率公式為
式中:TP——真實正例被正確分類的像素數;
FN——真實正例被錯誤分類為負例的像素數,R∈[0,1]。
式中:Int——預測結果與真實結果的重疊部分的像素數;
Uni——預測與真實結果所有的像素數,O∈[0,1]。
經過對四種分割算法召回率和重疊率的測試,結果如表2所示。
表2 召回率和重疊率的測試結果
由表2可以發現,文中算法對四種電力設備的故障區域分割的召回率普遍在85%以上,比Ostu、PSO-Ostu、ABC-Ostu算法都高出10%以上,說明文中算法對電力設備的故障區域識別能力更強。從重疊率來看,文中算法相對于Ostu和ABC-Ostu算法,重疊率提高了約15%,說明文中算法對Ostu和ABC-Ostu算法的改進取得不錯的效果,且文中算法比PSO-Ostu算法的重疊率高約10%。綜上所述,文中算法對電力設備紅外圖像故障區域分割具有更好的效果,相較于Ostu、PSO-Ostu、ABC-Ostu算法表現更加優異。
針對電力設備相互關聯導致紅外圖像背景復雜、難以提取故障區域的問題,提出了一種改進ABC優化的Ostu電力設備紅外圖像分割算法。
(1)對種群初始化過程進行改進,引入Lévy飛行增強蜂群的空間搜索能力和種群多樣性,提高了算法的尋優過程,Lévy飛行可以幫助蜜蜂跳出局部最優,加速算法收斂。
(2)利用天牛須搜索算法(BAS)改進了蜂群的搜索方程,提高了蜂群的全局搜索能力,避免了陷入局部最優的問題。BAS算法可以擴大搜索范圍,避免過早收斂于局部最優。
(3)通過跟隨蜂和偵察蜂階段獲得的蜜源作為最佳分割閾值,對紅外圖像進行分割。實驗結果表明,相較于Otsu算法、粒子群優化Otsu算法(PSO-Otsu)和人工蜂群優化Otsu算法(ABC-Otsu),文中算法在分割召回率和重疊率方面都取得了10%以上的提高,有效地提高了電力設備紅外圖像的分割效果。