王禹涵,張凱兵,蔣睿濤,蘇文濤
(1.西安工程大學(xué) 電子信息學(xué)院,陜西 西安 710048;2.西安工程大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院,陜西 西安 710048)
隨著電力需求的不斷增加,變電站的數(shù)量也在不斷增多,這為人們的日常生活和生產(chǎn)提供了有力的電力保障。然而在實(shí)際生活中,變電站的正常運(yùn)行容易受到鳥類影響而產(chǎn)生故障,嚴(yán)重威脅用電安全。例如,在惡劣天氣下,鳥巢被吹落到導(dǎo)線上,會(huì)引發(fā)線路短路故障;在機(jī)場(chǎng)飛機(jī)與飛鳥在空中相撞,直接導(dǎo)致嚴(yán)重的空難事故[1];在農(nóng)田和果園環(huán)境,鳥類啄食農(nóng)作物和水果,影響農(nóng)作物和水果的產(chǎn)量和質(zhì)量,造成嚴(yán)重的經(jīng)濟(jì)損失。因此,研究有效的鳥害防治措施對(duì)人們的生產(chǎn)生活非常重要。
為了預(yù)防鳥害發(fā)生,許多科研工作者提出了不同的檢測(cè)飛鳥的方法。例如,劉建平[2]提出了一種基于探鳥雷達(dá)的機(jī)場(chǎng)鳥類檢測(cè)方法,該方法通過雷達(dá)信息獲得飛鳥位置信息。張恩惠等[3]采用航模攜帶音頻設(shè)備、頻閃燈及攝像機(jī)等設(shè)備搭建空中復(fù)合驅(qū)鳥系統(tǒng)實(shí)現(xiàn)機(jī)場(chǎng)驅(qū)鳥。張磊等[4]設(shè)計(jì)了一種由太陽能電池板供電,對(duì)紅外探測(cè)到的飛鳥發(fā)射超聲波,并根據(jù)反饋改變超聲工作頻率實(shí)現(xiàn)智能變頻超聲驅(qū)鳥。盡管上述方法對(duì)驅(qū)趕飛鳥具有一定的效果,但雷達(dá)和超聲波等設(shè)備部署成本大,而且在動(dòng)態(tài)場(chǎng)景下的不能完成小目標(biāo)鳥類的檢測(cè)和跟蹤,其性能還達(dá)不到實(shí)際應(yīng)用的要求。
如今在計(jì)算機(jī)視覺技術(shù)蓬勃發(fā)展的大背景下,基于深度學(xué)習(xí)的目標(biāo)檢測(cè)在實(shí)際應(yīng)用中具有明朗的應(yīng)用前景。有代表性有R-CNN[5]、Fast R-CNN[6]、SSD[7]、YOLOv2[8]、YOLOv3[9]和YOLOv4[10 ]等深度網(wǎng)絡(luò)。相對(duì)于傳統(tǒng)目標(biāo)檢測(cè)算法,基于深度學(xué)習(xí)的目標(biāo)檢測(cè)方法在檢測(cè)精度方面表現(xiàn)出明顯的優(yōu)勢(shì)。而且,隨著計(jì)算能力的提升,將深度學(xué)習(xí)方法應(yīng)用于實(shí)際場(chǎng)景變得更加可行。例如,鄒聰?shù)萚11]改進(jìn)了YOLOv3算法,將網(wǎng)絡(luò)中的特征圖上采樣后與第二個(gè)殘差塊拼接建立特征融合檢測(cè)層,有效提高了算法對(duì)小目標(biāo)的檢測(cè)精確率。陳詠秋等[12]提出了一種基于YOLOv3算法的輸電線路鳥類檢測(cè)方法,該方法根據(jù)檢測(cè)結(jié)果判斷是否啟動(dòng)超聲波驅(qū)鳥器,飛鳥目標(biāo)識(shí)別具有較好的性能。盡管上述方法對(duì)飛鳥目標(biāo)的檢測(cè)表現(xiàn)出較好的性能,但不能同時(shí)進(jìn)行飛鳥目標(biāo)的檢測(cè)與跟蹤,達(dá)不到檢測(cè)與驅(qū)趕一體化驅(qū)鳥的應(yīng)用要求。
為了解決在傳統(tǒng)機(jī)器學(xué)習(xí)方法中存在的容易遭受光線、背景以及復(fù)雜環(huán)境等一系列噪聲的干擾,目標(biāo)識(shí)別效率低下且泛化能力差等問題,實(shí)現(xiàn)飛鳥目標(biāo)檢測(cè)與跟蹤一體化驅(qū)鳥,本文將YOLOv5深度網(wǎng)絡(luò)模型與DeepSORT[10-11]目標(biāo)跟蹤算法相結(jié)合運(yùn)用到飛鳥驅(qū)趕任務(wù)中,首先通過YOLOv5檢測(cè)出飛鳥目標(biāo),然后使用DeepSORT算法實(shí)現(xiàn)跟蹤檢測(cè)到的飛鳥目標(biāo)。該方法可適用于多種自然場(chǎng)景,包括農(nóng)田、變電站和機(jī)場(chǎng)等地,用于多類型飛鳥目標(biāo)的檢測(cè)與跟蹤。這一技術(shù)在自然環(huán)境下的飛鳥驅(qū)趕方面具有重要的應(yīng)用價(jià)值。
1.1.1 YOLO網(wǎng)絡(luò)結(jié)構(gòu)
YOLO全稱You Only Look Once,指僅通過瀏覽一次圖像就可以識(shí)別的感興趣對(duì)象在圖像中的類別和位置。作為一種非常流行的目標(biāo)檢測(cè)算法,該算法有許多不同的版本[7-9]。相比于YOLO網(wǎng)絡(luò),YOLOv2在結(jié)構(gòu)上由卷積層和池化層構(gòu)成,并且每個(gè)卷積層后都添加一個(gè)批處理歸一化層對(duì)數(shù)據(jù)進(jìn)行歸一化,提高了算法的計(jì)算效率。YOLOv3在主干網(wǎng)上采用Darknet-53,在YOLOv2的基礎(chǔ)上每隔兩層增加一組殘差模塊,在增加網(wǎng)絡(luò)深度的同時(shí)也抑制了梯度消失或梯度爆炸問題。YOLOv4在YOLOv3的基礎(chǔ)上使用Mish激活函數(shù)替換Leaky激活函數(shù),使用卷積層和殘差網(wǎng)絡(luò)構(gòu)成CSPDarknet-53代替YOLOv3中的殘差網(wǎng)絡(luò),增加一個(gè)由池化層和Concat構(gòu)成的SPP模塊。YOLOv4和YOLOv5均采用CSPDarknet-53網(wǎng)絡(luò)架構(gòu)作為主干網(wǎng)絡(luò),使用PANET(路徑聚合網(wǎng)絡(luò))和SPP(空間金字塔池化)作為Neck,使用YOLOv3的Head。不同之處在于YOLOv5中在隱含層中使用了Leaky ReLU激活函數(shù),并且在最后的檢測(cè)層使用Sigmoid激活函數(shù),而YOLOv4使用的是Mish激活函數(shù)。YOLOv5的網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。

圖1 YOLOv5網(wǎng)絡(luò)結(jié)構(gòu)圖
1.1.2 損失函數(shù)和檢測(cè)框回歸預(yù)測(cè)
本文使用YOLOv5網(wǎng)絡(luò)對(duì)自然場(chǎng)景中的飛鳥目標(biāo)進(jìn)行檢測(cè)。在網(wǎng)絡(luò)訓(xùn)練過程中,使用分類損失Lcls、定位損失Lloc和目標(biāo)檢測(cè)的置信度損失Lobj進(jìn)行模型參數(shù)的優(yōu)化,總體損失Loss表示為:
Loss=λ1Lcls+λ2Lloc+λ3Lobj
(1)
式中:λ1、λ2、λ3為平衡損失函數(shù)中各個(gè)項(xiàng)的系數(shù)。
分類損失和置信度損失采用BCE loss,定位損失采用CIoU loss,其中obj是指網(wǎng)絡(luò)預(yù)測(cè)的目標(biāo)邊界框與GT Box的CIoU,計(jì)算所有樣本的obj損失,而分類損失和定位損失只計(jì)算正樣本的損失。分類損失和定位損失函數(shù)的計(jì)算公式如下:
(2)
(3)
(4)
(5)
(6)

(7)
式中:λ4、λ5、λ6為三個(gè)尺度上目標(biāo)檢測(cè)置信度損失的權(quán)重系數(shù)。
本文使用K-means聚類算法對(duì)已標(biāo)注的數(shù)據(jù)集進(jìn)行了處理,以獲得9個(gè)先驗(yàn)框。在每個(gè)輸出層中,有3個(gè)先驗(yàn)框。在計(jì)算檢測(cè)框的長(zhǎng)度、寬度和中心點(diǎn)坐標(biāo)位置時(shí),采用了以下(8)~(13)的公式:
bx=(2.σ(tx)-0.5)+cx
(8)
by=(2.σ(ty)-0.5)+cy
(9)
bw=pw.(2.σ(tw))2
(10)
bh=ph.(2.σ(th))2
(11)
bx=σ(tx)+cx
(12)
by=σ(ty)+cy
(13)
式中:σ(tx)和σ(ty)是基于矩形框中心點(diǎn)左上角格點(diǎn)坐標(biāo)的偏移量,σ是Sigmoid激活函數(shù),pw和ph是先驗(yàn)框的寬和高,cx和cy表示中心點(diǎn)在x軸或y軸方向的整數(shù)單元格,檢測(cè)框BoundingBox在輸出網(wǎng)格中表示如圖2所示。

圖2 檢測(cè)框BoundingBox預(yù)測(cè)示意圖

圖3 部分鳥類圖像和標(biāo)注圖像
根據(jù)圖像變換前后的尺寸比,對(duì)計(jì)算結(jié)果進(jìn)行變換,以獲得原始圖像中鳥類目標(biāo)區(qū)域的中心點(diǎn)的坐標(biāo)以及檢測(cè)框的長(zhǎng)度和寬度。設(shè)一個(gè)cx或cy包含m個(gè)像素,并設(shè)原始圖像尺寸與變換圖像尺寸的比率為k。根據(jù)公式(14) ~ (21),可以獲得原始圖像鳥目標(biāo)區(qū)域的中心點(diǎn)(x,y)的坐標(biāo)以及檢測(cè)框的長(zhǎng)度w和寬度h,計(jì)算公式如下:
x=k·m·bx
(14)
y=k·m·by
(15)
w=k·m·bw
(16)
h=k·m·bh
(17)
x1=x-w/2
(18)
y1=y-h/2
(19)
x2=x+w/2
(20)
y2=y+h/2
(21)
根據(jù)公式(18)~(19)和(20)~(21)計(jì)算得到飛鳥目標(biāo)區(qū)域左上角和右下角坐標(biāo),實(shí)現(xiàn)飛鳥圖像區(qū)域的定位來進(jìn)行進(jìn)一步的飛鳥目標(biāo)跟蹤。
2.2.1 算法描述
本文采用DeepSORT算法實(shí)現(xiàn)飛鳥目標(biāo)的跟蹤,DeepSORT是經(jīng)典的多目標(biāo)跟蹤算法SORT[12]的優(yōu)化。
SORT算法是由昆士蘭科技大學(xué)的Alex Bewley發(fā)表在ICIP會(huì)議的一種目標(biāo)跟蹤算法。具體流程是通過目標(biāo)檢測(cè)算法得到Detection,然后通過卡爾曼濾波[13]預(yù)測(cè)、計(jì)算代價(jià)矩陣、匈牙利算法將預(yù)測(cè)后的軌跡和當(dāng)前幀中的Detection進(jìn)行IOU匹配再通過卡爾曼濾波進(jìn)行更新。而在DeepSORT中引入了級(jí)聯(lián)匹配,它不僅考慮框之間的位置關(guān)系,而且考慮了軌跡和檢測(cè)的目標(biāo)兩者之間的特征相似性,不僅能顯著減少ID切換的次數(shù),而且在實(shí)時(shí)目標(biāo)追蹤過程中能有效提高存在遮擋情況下的目標(biāo)追蹤效果。
2.2.2 級(jí)聯(lián)匹配
(22)
(23)
式中:dj代表第j個(gè)飛鳥目標(biāo)檢測(cè)框的位置,yi表示第i個(gè)跟蹤器對(duì)飛鳥目標(biāo)的預(yù)測(cè)位置,而Sj表示飛鳥目標(biāo)位置與平均跟蹤位置之間的協(xié)方差矩陣。我們通過計(jì)算當(dāng)前幀中第i個(gè)飛鳥檢測(cè)對(duì)象的特征向量與第j個(gè)歷史跟蹤飛鳥對(duì)象之間的余弦距離來評(píng)估它們之間的外觀相關(guān)性。如果余弦距離小于指定的閾值,則表明成功關(guān)聯(lián)了外觀信息,計(jì)算公式如下:
(24)
(25)
為了構(gòu)建關(guān)聯(lián)性,將兩個(gè)距離進(jìn)行加權(quán)表示如下:
(26)
式中:λ為超參數(shù),默認(rèn)為0。如果所構(gòu)建的加權(quán)指標(biāo)在門控矩陣范圍內(nèi),則進(jìn)行下一步的運(yùn)算,反之淘汰,表示為:
(27)
式中:bi,j為指示器,當(dāng)bi,j=1時(shí),認(rèn)為跟蹤成功,當(dāng)bi,j=0時(shí),認(rèn)為跟蹤失敗。
2.2.3 飛鳥跟蹤算法總結(jié)
本文中飛鳥跟蹤算法采用 DeepSORT 跟蹤算法實(shí)現(xiàn)對(duì)飛鳥的跟蹤檢測(cè),其主要跟蹤過程為:
1) 提取原始幀,將由YOLOv5檢測(cè)的結(jié)果作為跟蹤算法的輸入;
2) 獲取,預(yù)測(cè)并更新飛鳥目標(biāo)位置,采用卡爾曼濾波預(yù)測(cè)當(dāng)前時(shí)刻的位置,涉及目標(biāo)位置發(fā)生變化后的關(guān)聯(lián)匹配[14]問題,再采用匈牙利匹配算法[15]可以判定當(dāng)前幀的飛鳥目標(biāo)是否與前一幀的目標(biāo)相同以此實(shí)現(xiàn)跟蹤的效果。
飛鳥部分?jǐn)?shù)據(jù)采集于西安工程大學(xué)臨潼校區(qū)和驪山鳥語林。采集時(shí)間為中午12:00—14:00,此時(shí)鳥類較為活躍,可以拍攝到不同姿態(tài)和不同種類的鳥類;另一部分?jǐn)?shù)據(jù)來源于網(wǎng)絡(luò),通過爬蟲爬取11000張鳥類圖片作為數(shù)據(jù)集的補(bǔ)充。在本文的研究中,我們從采集到的11684張飛鳥圖片中隨機(jī)選擇了2000張作為測(cè)試集,其余的圖片被用于接下來的模型訓(xùn)練。我們進(jìn)行了人工標(biāo)注,確保每個(gè)標(biāo)注矩形框內(nèi)只包含一個(gè)飛鳥目標(biāo)圖像。
首先加載預(yù)先訓(xùn)練好的網(wǎng)絡(luò)模型和權(quán)重,然后將輸入圖像的大小調(diào)整為608×608像素大小,經(jīng)過數(shù)據(jù)歸一化后送入網(wǎng)絡(luò)模型中進(jìn)行預(yù)測(cè)。為評(píng)估訓(xùn)練的網(wǎng)絡(luò)模型對(duì)飛鳥目標(biāo)的檢測(cè)效果,本文采用精確度與召回率兩項(xiàng)指標(biāo)評(píng)價(jià)飛鳥檢測(cè)算法的性能,準(zhǔn)確率P和召回率R的計(jì)算表達(dá)式為:
(28)
(29)
式中:TP表示識(shí)別結(jié)果正確的飛鳥目標(biāo)的數(shù)目,FP表示識(shí)別結(jié)果錯(cuò)誤的飛鳥目標(biāo)的數(shù)目,FN表示未能識(shí)別的飛鳥目標(biāo)的數(shù)目。根據(jù)式(28) ~ (29),我們計(jì)算了YOLOv5網(wǎng)絡(luò)模型的準(zhǔn)確率和召回率,并利用P-R曲線對(duì)召回率進(jìn)行積分,得到了平均精度AP。接著,我們對(duì)5種不同的目標(biāo)檢測(cè)算法的檢測(cè)性能指標(biāo)進(jìn)行了比較,結(jié)果如表1所示。最后,我們對(duì)所有鳥類檢測(cè)的平均正確率進(jìn)行求和取并平均以得出mAP指標(biāo)值。

表1 5種不同目標(biāo)檢測(cè)算法的檢測(cè)性能對(duì)比
通過比較發(fā)現(xiàn),在幾乎相同的檢測(cè)時(shí)間條件下,YOLOv3、YOLOv4、Faster-RCNN以及本文采用的YOLOv5深度網(wǎng)絡(luò)模型都表現(xiàn)出了出色的性能。特別是YOLOv5網(wǎng)絡(luò)模型在鳥類識(shí)別方面取得了卓越的結(jié)果,其準(zhǔn)確率達(dá)到了97.6%,召回率達(dá)到了99.3%。這一性能明顯優(yōu)于其他4種目標(biāo)檢測(cè)網(wǎng)絡(luò)。
為了展示本文飛鳥目標(biāo)跟蹤方法的有效性,本文選擇4種不同場(chǎng)景不同類型的飛鳥目標(biāo)進(jìn)行檢測(cè)和跟蹤實(shí)驗(yàn),檢測(cè)跟蹤結(jié)果如圖4所示,每組視頻的第1幀,第5幀和第9幀通過疊加得出軌跡圖。通過跟蹤結(jié)果可以看出,本文方法對(duì)飛鳥的檢測(cè)跟蹤具有較好的結(jié)果,盡管視頻中的飛鳥在不同幀上存在明顯的姿態(tài)、尺度上變化,本文方法均能對(duì)其進(jìn)行有效地跟蹤。

圖4 鳥類檢測(cè)跟蹤結(jié)果
本文提出了一種基于YOLOv5深度網(wǎng)絡(luò)和DeepSORT算法的針對(duì)飛鳥目標(biāo)的檢測(cè)與跟蹤的方法。相比較于傳統(tǒng)的目標(biāo)檢測(cè)方法和YOLO的其他系列方法以及Faster-RCNN深度網(wǎng)絡(luò),本文所采用的YOLOv5深度網(wǎng)絡(luò)對(duì)飛鳥目標(biāo)具有更加敏感的精度。利用YOLOv5深度網(wǎng)絡(luò)實(shí)現(xiàn)目標(biāo)的檢測(cè)再使用DeepSORT目標(biāo)跟蹤算法實(shí)現(xiàn)快速的飛鳥目標(biāo)跟蹤。本文方法可以用于構(gòu)建變電站、機(jī)場(chǎng)、農(nóng)田等自然環(huán)境下的驅(qū)鳥裝置,為預(yù)防鳥害提供有效的技術(shù)支撐。