周子揚,李英娜
(昆明理工大學 信息工程與自動化學院,云南 昆明 650504)
無人機應用的興起,為輸電線路巡檢帶來了全新的方式[1]。當前,使用無人機圖像對自然場景進行分類檢索成為了一個新趨勢。針對無人機巡檢圖像,設計一套算法來自動檢測出輸電線路桿塔上的鳥巢,能夠極大提高巡檢的工作效率,進而有效保障電力系統的安全運行。
對于背景簡單、干凈的鳥巢圖像,比如接觸網鳥巢圖像,其檢測方法主要有以下 3種。文獻[2]采用了一種相對位置不變的接觸網鳥巢識別方法,其優勢在于計算簡單,只需要計算桿塔白色橫梁上白色區域的比值即可以確定出是否存在鳥巢。文獻[3]使用灰度圖像匹配方法,只需選定好鳥巢模版,再使用模版匹配法對交集閾值圖進行匹配,就可以得到匹配結果;此方法簡單快捷。文獻[4]利用懸垂點把鳥巢細枝條提取出來,對提取出的細枝條方向和長度信息分別使用 SVM(support vector machine)分類器進行分類來確定鳥巢的位置;該方法準確率可以達到90%。
目前,輸電桿塔上的鳥巢圖像可以通過航拍得到。由于此類圖像的背景相對復雜,所以前面所述的3種方法并不十分適用。該情況下,應用機器學習算法分析并提取圖像中鳥巢特征往往能夠得到較好的效果。
文獻[5]在使用主成分分析法提取鳥巢特征的基礎上,對比了BP(back propagation)神經網絡、SVM 分類器和極限學習機這 3種分類器的識別效果。
文獻[6]采用了無監督和有監督的學習方案來定位鳥巢的位置。在有監督的學習方案中,對比了Haar特征和LBP(local binary pattern)紋理特征訓練的AdaBoost分類器結果,并將結果與調整后的基于 Fast R-CNN深度學習檢測方法進行了對比。
文獻[7]用深度學習技術提取了輸電桿塔中的鋼條特征,通過引入GANs模型構建了雙判別器對抗模型,大大提升了鳥巢的檢測準確度。
當拍攝距離較遠時,航拍圖像背景會比較復雜,且桿塔在圖像中占比較小。另外,由于拍攝角度的原因,圖像中會存在鳥巢被局部遮擋的情況。以上原因使得上述文獻所使用的方法并不適用于對航拍圖像中鳥巢的檢測識別。
為此,本文提取出的鳥巢檢測方法為:首先對桿塔框架進行檢測,以排除復雜背景對鳥巢檢測所帶來的干擾;然后針對鳥巢被遮擋的情況,使用紋理特征來檢測圖像中鳥巢在桿塔上的具體位置。
考慮圖像中桿塔的特征以及復雜背景帶來的干擾,輸電桿塔框架提取算法的流程大體可以分為3個步驟。
步驟1:首先,將圖片RGB顏色空間轉換成HSV顏色空間[8];然后,進行濾波處理以有利于桿塔邊緣的提取;最后,使用單一全局閾值進行分割,實現簡單背景分離。
步驟2:利用Canny算子進行邊緣檢測;再使用腐蝕操作去掉不需要的小區域;最后選出面積最大的3個連通域。
步驟3:把圖片分成10×10像素大小的盒子。先進行Hough直線變換,再挑選出所有能被一條直線貫穿的盒子;最后提取出桿塔的框架。
圖1為航拍桿塔圖像示例。

圖1 航拍桿塔圖像示例Fig. 1 The aerial image of pole towers
由圖1可以看出,電氣部件(如塔、絕緣子)的顏色特征不是唯一的。塔的顏色外觀為灰白色,復合絕緣子為磚紅色,絕緣子呈現出水綠色。
由于航拍時光照情況的不同,圖像中RGB顏色空間不能有效區分功率元件。
不同顏色空間中,桿塔的視覺表現非常不同。在RGB顏色空間中,目標塔與背景對象混合在一起;在HSV顏色空間中,桿塔的各個部分相互連接,呈現出強烈的聚集性。
經過對比發現:在H通道下,桿塔的形狀能夠得到完整的保留。考慮到背景的影響可以被連通域過濾掉,因此選擇HSV顏色空間作為特征提取基色空間。
考慮到濾波有助于邊緣的提取,故在H通道下進行中值濾波。
中值濾波[9]是基于排序統計理論的一種能夠有效控制信噪比的濾波方式。使用該方法,能夠減少脈沖噪聲、椒鹽噪聲,且不會丟失圖像邊緣細節。這些優良特性有利于桿塔的邊緣提取。
閾值分割是一種被廣泛應用的圖像分割技術,其原理是:根據圖像中目標區域與背景在灰度特性上的差異,把目標區域和背景區域看作具有不同灰度級的2類區域的組合。通過選取一個較為合理的閾值來判定圖像中每個像素點所屬區域,從而產生相應的二值圖像。
在H通道下,桿塔和背景灰度存在差異。使用基本全局閾值處理后,圖1所示圖像的分割結果如圖2所示。

圖2 閾值分割后的圖像Fig. 2 The image after threshold segmentation
使用Canny算子[10]對圖像的邊緣進行檢測。
由于采集到的桿塔圖像分辨率大小不一,經過統一分辨率后,圖像中可能存在噪聲。使用Canny算子進行邊緣檢測,不但能夠提取出圖像中信號強度較弱的邊緣信息,而且可以有效較少噪聲帶來的影響。
邊緣檢測結果如圖3所示。

圖3 Canny邊緣檢測結果Fig. 3 The result of Canny edge detection
在選擇對應連通區域前進行腐蝕操作,可以把圖像中不相關的連接小區域去除掉。
腐蝕操作是形態學操作之一,可用于消掉圖像中不需要的邊界點,使圖像沿著邊緣向內收,使得被選中結構體附近不需要的像素點消失。
在腐蝕操作后,篩選出面積最大的3個連通域并標記出來,并把除標記的連通域以外的區域全部屏蔽掉。結果如圖4所示。

圖4 篩選出的連通域Fig. 4 The filtered connected domain
將篩選出來的域按面積大小排序,前3的連通域分成10×10像素大小的盒子,如圖5所示。

圖5 連通域分成10×10像素大小的盒子Fig. 5 Connected domains that are divided into boxes of 10 pixels by 10 pixels
對這3個連通域進行Hough直線檢測:最小直線長度設置為 15像素。直線之間的最小距離也設置為 15像素。小于這個值,就認為是同一個直線。
刪除掉沒有直線的和不包含一條直線貫穿的盒子。保留包含盒子最多的連通域,用多邊形包圍起來,標記出桿塔的具體位置。桿塔提取的結果如圖6所示。

圖6 多邊形標記出桿塔的位置Fig. 6 The position of towers marked by polygons
鳥巢通常建造在桿塔最堅實的部位。圖7中,由于鳥巢邊緣不規則以及桿塔的遮擋,其輪廓提取較困難。

圖7 提取出的桿塔框架原圖Fig. 7 The extracted original drawing of tower frame
基于鳥巢在圖像中表現出的特性,本文提出了一種新的鳥巢檢測框架,共分為 3步:預處理、篩選鳥巢疑似區域和基于紋理特征的分類學習。
針對鳥巢對象,本文使用了如下方法來分離背景區域,提取疑似鳥巢區域。
由于HSV顏色空間適合人眼的視覺特點且便于定量分析,所以將圖像轉到該顏色空間;隨后量化每個通道分量中的顏色,從而找到符合鳥巢顏色特征的分量范圍。在量化顏色分量前,先將H分量歸一化到區間[0,255]內,S通道分量和V通道分量同時歸一化到區間[0,1]內。
具體的量化步驟如下:
(1)考慮到人眼辨別顏色的方式,把H通道的分量平均分成8份,S通道和V通道的分量同時分為4等份和3等份。
(2)在V通道中,將V值小于15%的顏色判定為黑色,令其為0。
(3)對于S值小于10%、V值大于80%的顏色,分別把S的值改為0,V的值變為2。同時,判定該顏色是白色。
(4)對于不在白色和黑色范圍內的顏色,HSV中的每一個分量不變,并把這類顏色判定為彩色。
經過上述的步驟后,把HSV顏色中的每一個分量合成為L=12H+3S+V,式中的L范圍落在[0,95]區間里。
通過大量分析鳥巢區域樣本得出:H分量集中落在[0,20]及[224,255]范圍內,飽和度S取值范圍不限,亮度V取值小于0.7。在此條件下即能不漏檢所有可能包含鳥巢的區域。
圖7為提取出的桿塔框架原圖。圖8為對圖7進行量化HSV顏色分量后,篩選出的符合鳥巢樣本的HSV編碼特征值區域圖像。

圖8 符合鳥巢樣本的HSV編碼特征值區域Fig. 8 The HSV coding eigenvalue region consistent with bird’s nest sample
從圖8可以看出,通過確定HSV顏色分量的范圍,算法不但能夠保留完整的鳥巢區域,而且能分離掉絕大部分的背景和桿塔的部分區域。
如圖9所示,在整個桿塔圖像區域中找到連通且符合上述HSV顏色分量范圍的顏色區域。使用連通結構管理這些疑似鳥巢的連通區域。

圖9 提取出的鳥巢疑似區域Fig. 9 The extracted suspected area of the bird's nest
找出這些區域中最大的矩形外接框,進而統一疑似鳥巢區域的大小。用這些統一好大小的鳥巢疑似區域來做灰度共生矩陣[11]特征量的分析。
對于候選的鳥巢區域,根據先驗知識,通過控制變量,將生成的灰度共生矩陣中的灰度級設置為16,距離選擇為5,生成4個方向。
對區域中滿足指定條件的像素進行統計,計算出4個方向的灰度共生矩陣。根據灰度共生矩陣的特征量的計算方法,計算如圖10所示的9張圖像不同方向的6個紋理特征量(能量、對比度、相關性、熵、逆差矩、慣性矩)。這9張用來對比特征量的圖像依次分別是3張不同的鳥巢圖像、植物、導線、田地、絕緣子、桿塔和房屋。

圖10 計算紋理特征量對比圖例Fig. 10 The comparison diagram for calculating the characteristic quantity
圖10的6個紋理特征量計算結果如圖11所示。

圖11 圖像紋理特征量變化曲線Fig. 11 Curves of the image texture feature change
綜合考慮圖11所示計算結果,故選擇使用灰度共生矩陣的慣性矩特征量對疑似鳥巢區域進行分類。
含有鳥巢的輸電桿塔圖像由某電力公司無人機航拍得到。
圖像資料共46 G。每張圖像的尺寸均不相同。圖像最小11.7 M,最大有28.7 M。
在收集到的2 416張輸電桿塔圖像中共有鳥巢2 495個。
在進行樣本分類之前,首先需要考慮的問題就是樣本的收集。
本算例中,收集了含有鳥巢的正樣本圖像一共2 000張,不包含鳥巢的負樣本4 000張。將這些樣本統一成100×90大小。
分類器[12]:在訓練的過程中,可以設置訓練樣本的大小和級數,可以增大分配的內存。這樣可以縮短訓練時間。
人工區分含有鳥巢的樣本和不含鳥巢的樣本:把有鳥巢的樣本定為正樣本,不含有鳥巢的樣本作為負樣本。鳥巢候選區均為灰度圖。為了確保負樣本的復雜多樣性,在鳥巢以外的疑似候選圖像中,選擇不同的圖像作為負樣本。如圖10所示,負樣本包含植物、導線和桿塔等。
假設原始的桿塔圖像樣本有2類。第一類為圖像中含有鳥巢區域的正例樣本,共有P個;第二類為圖像中沒有鳥巢區域的負例樣本,共有N個,則實際圖像中某區域是否含有鳥巢的情況和分類器檢測結果共有4種可能。
(1)TP(ture positive):圖像中的某個區域含有鳥巢,檢測結果也顯示該區域有鳥巢。
(2)FP(false positive):圖像中的某個區域沒有鳥巢,檢測結果顯示該區域含有鳥巢。
(3)FN(false negative):圖像中的某個區域含有鳥巢,檢測結果顯示該區域沒有鳥巢。
(4)TN(ture negative):圖像中的某個區域沒有鳥巢,檢測結果也顯示該區域沒有鳥巢。
顯然有P=TP+FN,N= FP+TN。各個檢測結果的含義如下。
虛警率FPR(fall-out or false positive rate):FPR=FP/(FP+TN)=FP/N,是指圖像中的某個區域沒有鳥巢而分類器判斷該區域含有鳥巢的樣本占圖像中沒有鳥巢區域的負例樣本的比例。
漏警率FNR(miss rate or false negative rate):FNR=FN/(FN+TP)=FN/P,是指圖像中某個區域含有鳥巢但是分類器卻沒有檢測到鳥巢的個數占全部正例樣本數量的比例。
召回率TPR(true positive rate):TPR=TP/(TP+FN)=TP/P,是指分類器正確檢測出圖像某區域含有鳥巢的樣本個數占全部正例樣本數量的比例。
精確度PPV(precision or positive predictive value):PPV=TP/(TP+FP),是指分類器判定為含有鳥巢正例樣本圖像中真正含有正例樣本的比例。
準確率ACC(Accuracy):ACC=(TP+TN)/(P+N),是指分類器能將正的樣本判定為正,負的樣本判定為負的能力,即正確指出鳥巢是否含有鳥巢區域的次數占總樣本數量的比例。
對SVM分類器[12]分別使用3個不同的特征進行訓練,其中包括:Haar特征[13]、LBP(local binary pattern)特征[14]和本文所使用的灰度共生矩陣中的慣性矩特征值。
對于上述的3種不同特征,分別使用相同的桿塔圖像樣本和訓練迭代次數,得到如表1所示的5種檢測指標計算結果。

表1 SVM分類器檢測結果Tab. 1 The detection results of SVM classifier
從表1中FPR、FNR、TPR、PPV和ACC這5個指標可以看出,本文使用灰度共生矩陣中的慣性矩進行檢測的方法在鳥巢檢測中的效果要明顯優于另外2個特征;其次,使用LBP特征的鳥巢檢測效果又要好于使用Haar特征。
表2給出了3種算法對比結果。

表2 算法對比結果Tab. 2 The algorithm contrast result
從表2可以看出:使用LBP特征和Haar特征分別能夠得到78.68%和63.87%的準確率,而使用灰度共生矩陣中的慣性矩特征值進行訓練可以得到 83.60%的檢測準確率,檢測速度也有明顯的提高;因此,特征的選擇對分類器的訓練至關重要。
本文提出了一種融入紋理特征的桿塔鳥巢檢測方法。
該方法針對無人機航拍得到輸電桿塔圖像,經過圖像預處理、桿塔框架提取、鳥巢紋理特征提取和訓練分類等步驟,實現了輸電桿塔鳥巢圖像的檢測。
實驗結果表明:本文使用的灰度共生矩陣中的慣性矩特征在鳥巢檢測中的效果要明顯優于Haar特征、LBP特征。使用灰度共生矩陣中的慣性矩特征值進行訓練可以得到83.60%的檢測準確率,檢測速度相比之下也有明顯提高。