周子揚(yáng),李英娜
(昆明理工大學(xué) 信息工程與自動(dòng)化學(xué)院,云南 昆明 650504)
無(wú)人機(jī)應(yīng)用的興起,為輸電線路巡檢帶來(lái)了全新的方式[1]。當(dāng)前,使用無(wú)人機(jī)圖像對(duì)自然場(chǎng)景進(jìn)行分類檢索成為了一個(gè)新趨勢(shì)。針對(duì)無(wú)人機(jī)巡檢圖像,設(shè)計(jì)一套算法來(lái)自動(dòng)檢測(cè)出輸電線路桿塔上的鳥(niǎo)巢,能夠極大提高巡檢的工作效率,進(jìn)而有效保障電力系統(tǒng)的安全運(yùn)行。
對(duì)于背景簡(jiǎn)單、干凈的鳥(niǎo)巢圖像,比如接觸網(wǎng)鳥(niǎo)巢圖像,其檢測(cè)方法主要有以下 3種。文獻(xiàn)[2]采用了一種相對(duì)位置不變的接觸網(wǎng)鳥(niǎo)巢識(shí)別方法,其優(yōu)勢(shì)在于計(jì)算簡(jiǎn)單,只需要計(jì)算桿塔白色橫梁上白色區(qū)域的比值即可以確定出是否存在鳥(niǎo)巢。文獻(xiàn)[3]使用灰度圖像匹配方法,只需選定好鳥(niǎo)巢模版,再使用模版匹配法對(duì)交集閾值圖進(jìn)行匹配,就可以得到匹配結(jié)果;此方法簡(jiǎn)單快捷。文獻(xiàn)[4]利用懸垂點(diǎn)把鳥(niǎo)巢細(xì)枝條提取出來(lái),對(duì)提取出的細(xì)枝條方向和長(zhǎng)度信息分別使用 SVM(support vector machine)分類器進(jìn)行分類來(lái)確定鳥(niǎo)巢的位置;該方法準(zhǔn)確率可以達(dá)到90%。
目前,輸電桿塔上的鳥(niǎo)巢圖像可以通過(guò)航拍得到。由于此類圖像的背景相對(duì)復(fù)雜,所以前面所述的3種方法并不十分適用。該情況下,應(yīng)用機(jī)器學(xué)習(xí)算法分析并提取圖像中鳥(niǎo)巢特征往往能夠得到較好的效果。
文獻(xiàn)[5]在使用主成分分析法提取鳥(niǎo)巢特征的基礎(chǔ)上,對(duì)比了BP(back propagation)神經(jīng)網(wǎng)絡(luò)、SVM 分類器和極限學(xué)習(xí)機(jī)這 3種分類器的識(shí)別效果。
文獻(xiàn)[6]采用了無(wú)監(jiān)督和有監(jiān)督的學(xué)習(xí)方案來(lái)定位鳥(niǎo)巢的位置。在有監(jiān)督的學(xué)習(xí)方案中,對(duì)比了Haar特征和LBP(local binary pattern)紋理特征訓(xùn)練的AdaBoost分類器結(jié)果,并將結(jié)果與調(diào)整后的基于 Fast R-CNN深度學(xué)習(xí)檢測(cè)方法進(jìn)行了對(duì)比。
文獻(xiàn)[7]用深度學(xué)習(xí)技術(shù)提取了輸電桿塔中的鋼條特征,通過(guò)引入GANs模型構(gòu)建了雙判別器對(duì)抗模型,大大提升了鳥(niǎo)巢的檢測(cè)準(zhǔn)確度。
當(dāng)拍攝距離較遠(yuǎn)時(shí),航拍圖像背景會(huì)比較復(fù)雜,且桿塔在圖像中占比較小。另外,由于拍攝角度的原因,圖像中會(huì)存在鳥(niǎo)巢被局部遮擋的情況。以上原因使得上述文獻(xiàn)所使用的方法并不適用于對(duì)航拍圖像中鳥(niǎo)巢的檢測(cè)識(shí)別。
為此,本文提取出的鳥(niǎo)巢檢測(cè)方法為:首先對(duì)桿塔框架進(jìn)行檢測(cè),以排除復(fù)雜背景對(duì)鳥(niǎo)巢檢測(cè)所帶來(lái)的干擾;然后針對(duì)鳥(niǎo)巢被遮擋的情況,使用紋理特征來(lái)檢測(cè)圖像中鳥(niǎo)巢在桿塔上的具體位置。
考慮圖像中桿塔的特征以及復(fù)雜背景帶來(lái)的干擾,輸電桿塔框架提取算法的流程大體可以分為3個(gè)步驟。
步驟1:首先,將圖片RGB顏色空間轉(zhuǎn)換成HSV顏色空間[8];然后,進(jìn)行濾波處理以有利于桿塔邊緣的提取;最后,使用單一全局閾值進(jìn)行分割,實(shí)現(xiàn)簡(jiǎn)單背景分離。
步驟2:利用Canny算子進(jìn)行邊緣檢測(cè);再使用腐蝕操作去掉不需要的小區(qū)域;最后選出面積最大的3個(gè)連通域。
步驟3:把圖片分成10×10像素大小的盒子。先進(jìn)行Hough直線變換,再挑選出所有能被一條直線貫穿的盒子;最后提取出桿塔的框架。
圖1為航拍桿塔圖像示例。
圖1 航拍桿塔圖像示例Fig. 1 The aerial image of pole towers
由圖1可以看出,電氣部件(如塔、絕緣子)的顏色特征不是唯一的。塔的顏色外觀為灰白色,復(fù)合絕緣子為磚紅色,絕緣子呈現(xiàn)出水綠色。
由于航拍時(shí)光照情況的不同,圖像中RGB顏色空間不能有效區(qū)分功率元件。
不同顏色空間中,桿塔的視覺(jué)表現(xiàn)非常不同。在RGB顏色空間中,目標(biāo)塔與背景對(duì)象混合在一起;在HSV顏色空間中,桿塔的各個(gè)部分相互連接,呈現(xiàn)出強(qiáng)烈的聚集性。
經(jīng)過(guò)對(duì)比發(fā)現(xiàn):在H通道下,桿塔的形狀能夠得到完整的保留??紤]到背景的影響可以被連通域過(guò)濾掉,因此選擇HSV顏色空間作為特征提取基色空間。
考慮到濾波有助于邊緣的提取,故在H通道下進(jìn)行中值濾波。
中值濾波[9]是基于排序統(tǒng)計(jì)理論的一種能夠有效控制信噪比的濾波方式。使用該方法,能夠減少脈沖噪聲、椒鹽噪聲,且不會(huì)丟失圖像邊緣細(xì)節(jié)。這些優(yōu)良特性有利于桿塔的邊緣提取。
閾值分割是一種被廣泛應(yīng)用的圖像分割技術(shù),其原理是:根據(jù)圖像中目標(biāo)區(qū)域與背景在灰度特性上的差異,把目標(biāo)區(qū)域和背景區(qū)域看作具有不同灰度級(jí)的2類區(qū)域的組合。通過(guò)選取一個(gè)較為合理的閾值來(lái)判定圖像中每個(gè)像素點(diǎn)所屬區(qū)域,從而產(chǎn)生相應(yīng)的二值圖像。
在H通道下,桿塔和背景灰度存在差異。使用基本全局閾值處理后,圖1所示圖像的分割結(jié)果如圖2所示。
圖2 閾值分割后的圖像Fig. 2 The image after threshold segmentation
使用Canny算子[10]對(duì)圖像的邊緣進(jìn)行檢測(cè)。
由于采集到的桿塔圖像分辨率大小不一,經(jīng)過(guò)統(tǒng)一分辨率后,圖像中可能存在噪聲。使用Canny算子進(jìn)行邊緣檢測(cè),不但能夠提取出圖像中信號(hào)強(qiáng)度較弱的邊緣信息,而且可以有效較少噪聲帶來(lái)的影響。
邊緣檢測(cè)結(jié)果如圖3所示。
圖3 Canny邊緣檢測(cè)結(jié)果Fig. 3 The result of Canny edge detection
在選擇對(duì)應(yīng)連通區(qū)域前進(jìn)行腐蝕操作,可以把圖像中不相關(guān)的連接小區(qū)域去除掉。
腐蝕操作是形態(tài)學(xué)操作之一,可用于消掉圖像中不需要的邊界點(diǎn),使圖像沿著邊緣向內(nèi)收,使得被選中結(jié)構(gòu)體附近不需要的像素點(diǎn)消失。
在腐蝕操作后,篩選出面積最大的3個(gè)連通域并標(biāo)記出來(lái),并把除標(biāo)記的連通域以外的區(qū)域全部屏蔽掉。結(jié)果如圖4所示。
圖4 篩選出的連通域Fig. 4 The filtered connected domain
將篩選出來(lái)的域按面積大小排序,前3的連通域分成10×10像素大小的盒子,如圖5所示。
圖5 連通域分成10×10像素大小的盒子Fig. 5 Connected domains that are divided into boxes of 10 pixels by 10 pixels
對(duì)這3個(gè)連通域進(jìn)行Hough直線檢測(cè):最小直線長(zhǎng)度設(shè)置為 15像素。直線之間的最小距離也設(shè)置為 15像素。小于這個(gè)值,就認(rèn)為是同一個(gè)直線。
刪除掉沒(méi)有直線的和不包含一條直線貫穿的盒子。保留包含盒子最多的連通域,用多邊形包圍起來(lái),標(biāo)記出桿塔的具體位置。桿塔提取的結(jié)果如圖6所示。
圖6 多邊形標(biāo)記出桿塔的位置Fig. 6 The position of towers marked by polygons
鳥(niǎo)巢通常建造在桿塔最堅(jiān)實(shí)的部位。圖7中,由于鳥(niǎo)巢邊緣不規(guī)則以及桿塔的遮擋,其輪廓提取較困難。
圖7 提取出的桿塔框架原圖Fig. 7 The extracted original drawing of tower frame
基于鳥(niǎo)巢在圖像中表現(xiàn)出的特性,本文提出了一種新的鳥(niǎo)巢檢測(cè)框架,共分為 3步:預(yù)處理、篩選鳥(niǎo)巢疑似區(qū)域和基于紋理特征的分類學(xué)習(xí)。
針對(duì)鳥(niǎo)巢對(duì)象,本文使用了如下方法來(lái)分離背景區(qū)域,提取疑似鳥(niǎo)巢區(qū)域。
由于HSV顏色空間適合人眼的視覺(jué)特點(diǎn)且便于定量分析,所以將圖像轉(zhuǎn)到該顏色空間;隨后量化每個(gè)通道分量中的顏色,從而找到符合鳥(niǎo)巢顏色特征的分量范圍。在量化顏色分量前,先將H分量歸一化到區(qū)間[0,255]內(nèi),S通道分量和V通道分量同時(shí)歸一化到區(qū)間[0,1]內(nèi)。
具體的量化步驟如下:
(1)考慮到人眼辨別顏色的方式,把H通道的分量平均分成8份,S通道和V通道的分量同時(shí)分為4等份和3等份。
(2)在V通道中,將V值小于15%的顏色判定為黑色,令其為0。
(3)對(duì)于S值小于10%、V值大于80%的顏色,分別把S的值改為0,V的值變?yōu)?。同時(shí),判定該顏色是白色。
(4)對(duì)于不在白色和黑色范圍內(nèi)的顏色,HSV中的每一個(gè)分量不變,并把這類顏色判定為彩色。
經(jīng)過(guò)上述的步驟后,把HSV顏色中的每一個(gè)分量合成為L(zhǎng)=12H+3S+V,式中的L范圍落在[0,95]區(qū)間里。
通過(guò)大量分析鳥(niǎo)巢區(qū)域樣本得出:H分量集中落在[0,20]及[224,255]范圍內(nèi),飽和度S取值范圍不限,亮度V取值小于0.7。在此條件下即能不漏檢所有可能包含鳥(niǎo)巢的區(qū)域。
圖7為提取出的桿塔框架原圖。圖8為對(duì)圖7進(jìn)行量化HSV顏色分量后,篩選出的符合鳥(niǎo)巢樣本的HSV編碼特征值區(qū)域圖像。
圖8 符合鳥(niǎo)巢樣本的HSV編碼特征值區(qū)域Fig. 8 The HSV coding eigenvalue region consistent with bird’s nest sample
從圖8可以看出,通過(guò)確定HSV顏色分量的范圍,算法不但能夠保留完整的鳥(niǎo)巢區(qū)域,而且能分離掉絕大部分的背景和桿塔的部分區(qū)域。
如圖9所示,在整個(gè)桿塔圖像區(qū)域中找到連通且符合上述HSV顏色分量范圍的顏色區(qū)域。使用連通結(jié)構(gòu)管理這些疑似鳥(niǎo)巢的連通區(qū)域。
圖9 提取出的鳥(niǎo)巢疑似區(qū)域Fig. 9 The extracted suspected area of the bird's nest
找出這些區(qū)域中最大的矩形外接框,進(jìn)而統(tǒng)一疑似鳥(niǎo)巢區(qū)域的大小。用這些統(tǒng)一好大小的鳥(niǎo)巢疑似區(qū)域來(lái)做灰度共生矩陣[11]特征量的分析。
對(duì)于候選的鳥(niǎo)巢區(qū)域,根據(jù)先驗(yàn)知識(shí),通過(guò)控制變量,將生成的灰度共生矩陣中的灰度級(jí)設(shè)置為16,距離選擇為5,生成4個(gè)方向。
對(duì)區(qū)域中滿足指定條件的像素進(jìn)行統(tǒng)計(jì),計(jì)算出4個(gè)方向的灰度共生矩陣。根據(jù)灰度共生矩陣的特征量的計(jì)算方法,計(jì)算如圖10所示的9張圖像不同方向的6個(gè)紋理特征量(能量、對(duì)比度、相關(guān)性、熵、逆差矩、慣性矩)。這9張用來(lái)對(duì)比特征量的圖像依次分別是3張不同的鳥(niǎo)巢圖像、植物、導(dǎo)線、田地、絕緣子、桿塔和房屋。
圖10 計(jì)算紋理特征量對(duì)比圖例Fig. 10 The comparison diagram for calculating the characteristic quantity
圖10的6個(gè)紋理特征量計(jì)算結(jié)果如圖11所示。
圖11 圖像紋理特征量變化曲線Fig. 11 Curves of the image texture feature change
綜合考慮圖11所示計(jì)算結(jié)果,故選擇使用灰度共生矩陣的慣性矩特征量對(duì)疑似鳥(niǎo)巢區(qū)域進(jìn)行分類。
含有鳥(niǎo)巢的輸電桿塔圖像由某電力公司無(wú)人機(jī)航拍得到。
圖像資料共46 G。每張圖像的尺寸均不相同。圖像最小11.7 M,最大有28.7 M。
在收集到的2 416張輸電桿塔圖像中共有鳥(niǎo)巢2 495個(gè)。
在進(jìn)行樣本分類之前,首先需要考慮的問(wèn)題就是樣本的收集。
本算例中,收集了含有鳥(niǎo)巢的正樣本圖像一共2 000張,不包含鳥(niǎo)巢的負(fù)樣本4 000張。將這些樣本統(tǒng)一成100×90大小。
分類器[12]:在訓(xùn)練的過(guò)程中,可以設(shè)置訓(xùn)練樣本的大小和級(jí)數(shù),可以增大分配的內(nèi)存。這樣可以縮短訓(xùn)練時(shí)間。
人工區(qū)分含有鳥(niǎo)巢的樣本和不含鳥(niǎo)巢的樣本:把有鳥(niǎo)巢的樣本定為正樣本,不含有鳥(niǎo)巢的樣本作為負(fù)樣本。鳥(niǎo)巢候選區(qū)均為灰度圖。為了確保負(fù)樣本的復(fù)雜多樣性,在鳥(niǎo)巢以外的疑似候選圖像中,選擇不同的圖像作為負(fù)樣本。如圖10所示,負(fù)樣本包含植物、導(dǎo)線和桿塔等。
假設(shè)原始的桿塔圖像樣本有2類。第一類為圖像中含有鳥(niǎo)巢區(qū)域的正例樣本,共有P個(gè);第二類為圖像中沒(méi)有鳥(niǎo)巢區(qū)域的負(fù)例樣本,共有N個(gè),則實(shí)際圖像中某區(qū)域是否含有鳥(niǎo)巢的情況和分類器檢測(cè)結(jié)果共有4種可能。
(1)TP(ture positive):圖像中的某個(gè)區(qū)域含有鳥(niǎo)巢,檢測(cè)結(jié)果也顯示該區(qū)域有鳥(niǎo)巢。
(2)FP(false positive):圖像中的某個(gè)區(qū)域沒(méi)有鳥(niǎo)巢,檢測(cè)結(jié)果顯示該區(qū)域含有鳥(niǎo)巢。
(3)FN(false negative):圖像中的某個(gè)區(qū)域含有鳥(niǎo)巢,檢測(cè)結(jié)果顯示該區(qū)域沒(méi)有鳥(niǎo)巢。
(4)TN(ture negative):圖像中的某個(gè)區(qū)域沒(méi)有鳥(niǎo)巢,檢測(cè)結(jié)果也顯示該區(qū)域沒(méi)有鳥(niǎo)巢。
顯然有P=TP+FN,N= FP+TN。各個(gè)檢測(cè)結(jié)果的含義如下。
虛警率FPR(fall-out or false positive rate):FPR=FP/(FP+TN)=FP/N,是指圖像中的某個(gè)區(qū)域沒(méi)有鳥(niǎo)巢而分類器判斷該區(qū)域含有鳥(niǎo)巢的樣本占圖像中沒(méi)有鳥(niǎo)巢區(qū)域的負(fù)例樣本的比例。
漏警率FNR(miss rate or false negative rate):FNR=FN/(FN+TP)=FN/P,是指圖像中某個(gè)區(qū)域含有鳥(niǎo)巢但是分類器卻沒(méi)有檢測(cè)到鳥(niǎo)巢的個(gè)數(shù)占全部正例樣本數(shù)量的比例。
召回率TPR(true positive rate):TPR=TP/(TP+FN)=TP/P,是指分類器正確檢測(cè)出圖像某區(qū)域含有鳥(niǎo)巢的樣本個(gè)數(shù)占全部正例樣本數(shù)量的比例。
精確度PPV(precision or positive predictive value):PPV=TP/(TP+FP),是指分類器判定為含有鳥(niǎo)巢正例樣本圖像中真正含有正例樣本的比例。
準(zhǔn)確率ACC(Accuracy):ACC=(TP+TN)/(P+N),是指分類器能將正的樣本判定為正,負(fù)的樣本判定為負(fù)的能力,即正確指出鳥(niǎo)巢是否含有鳥(niǎo)巢區(qū)域的次數(shù)占總樣本數(shù)量的比例。
對(duì)SVM分類器[12]分別使用3個(gè)不同的特征進(jìn)行訓(xùn)練,其中包括:Haar特征[13]、LBP(local binary pattern)特征[14]和本文所使用的灰度共生矩陣中的慣性矩特征值。
對(duì)于上述的3種不同特征,分別使用相同的桿塔圖像樣本和訓(xùn)練迭代次數(shù),得到如表1所示的5種檢測(cè)指標(biāo)計(jì)算結(jié)果。
表1 SVM分類器檢測(cè)結(jié)果Tab. 1 The detection results of SVM classifier
從表1中FPR、FNR、TPR、PPV和ACC這5個(gè)指標(biāo)可以看出,本文使用灰度共生矩陣中的慣性矩進(jìn)行檢測(cè)的方法在鳥(niǎo)巢檢測(cè)中的效果要明顯優(yōu)于另外2個(gè)特征;其次,使用LBP特征的鳥(niǎo)巢檢測(cè)效果又要好于使用Haar特征。
表2給出了3種算法對(duì)比結(jié)果。
表2 算法對(duì)比結(jié)果Tab. 2 The algorithm contrast result
從表2可以看出:使用LBP特征和Haar特征分別能夠得到78.68%和63.87%的準(zhǔn)確率,而使用灰度共生矩陣中的慣性矩特征值進(jìn)行訓(xùn)練可以得到 83.60%的檢測(cè)準(zhǔn)確率,檢測(cè)速度也有明顯的提高;因此,特征的選擇對(duì)分類器的訓(xùn)練至關(guān)重要。
本文提出了一種融入紋理特征的桿塔鳥(niǎo)巢檢測(cè)方法。
該方法針對(duì)無(wú)人機(jī)航拍得到輸電桿塔圖像,經(jīng)過(guò)圖像預(yù)處理、桿塔框架提取、鳥(niǎo)巢紋理特征提取和訓(xùn)練分類等步驟,實(shí)現(xiàn)了輸電桿塔鳥(niǎo)巢圖像的檢測(cè)。
實(shí)驗(yàn)結(jié)果表明:本文使用的灰度共生矩陣中的慣性矩特征在鳥(niǎo)巢檢測(cè)中的效果要明顯優(yōu)于Haar特征、LBP特征。使用灰度共生矩陣中的慣性矩特征值進(jìn)行訓(xùn)練可以得到83.60%的檢測(cè)準(zhǔn)確率,檢測(cè)速度相比之下也有明顯提高。