諶貴輝,易 欣*,李忠兵,錢濟(jì)人,2,陳 伍,2
(1. 西南石油大學(xué)電氣信息學(xué)院,成都610500; 2. 浙江浙能天然氣運(yùn)行有限公司科創(chuàng)中心,杭州310000)
(?通信作者電子郵箱1171866631@qq.com)
石油、天然氣等能源輸送管道是現(xiàn)代社會(huì)經(jīng)濟(jì)發(fā)展的基礎(chǔ)設(shè)施,但是油氣管道在使用過(guò)程中會(huì)受到外界環(huán)境、內(nèi)部運(yùn)輸物質(zhì)等因素的影響,存在很高的風(fēng)險(xiǎn),一旦發(fā)生危險(xiǎn),將產(chǎn)生巨大的危害。而外界環(huán)境風(fēng)險(xiǎn)事故中,第三方損害占比是最高的[1]。第三方損害中包括直接的威脅管道安全的挖掘機(jī)、打樁機(jī)以及定向鉆等工程機(jī)械,間接威脅管道安全的有違章占?jí)航ㄖ⒅匦蛙囕v碾壓等。隨著無(wú)人機(jī)技術(shù)的快速發(fā)展,在電力行業(yè)中無(wú)人機(jī)已經(jīng)得到了較好的實(shí)際應(yīng)用[2-3]。在油氣管道巡檢應(yīng)用中,對(duì)無(wú)人機(jī)采集的圖像信息的處理方式是人工判別[4-5]或者應(yīng)用于其他場(chǎng)景[6],存在著勞動(dòng)強(qiáng)度大、時(shí)間成本高和結(jié)果不穩(wěn)定等問(wèn)題。為解決該問(wèn)題,本文將深度學(xué)習(xí)目標(biāo)檢測(cè)算法引入到天然氣管道無(wú)人機(jī)巡線監(jiān)測(cè)系統(tǒng)中,通過(guò)全球定位系統(tǒng)(Global Positioning System,GPS)信息以及目標(biāo)的位置信息判斷目標(biāo)距離管道的信息,所以整個(gè)圖像智能檢測(cè)系統(tǒng)關(guān)鍵是獲取目標(biāo)類別及準(zhǔn)確的位置信息。
傳統(tǒng)的目標(biāo)檢測(cè)方法采用手工設(shè)計(jì)特征,然后針對(duì)特征設(shè)計(jì)相應(yīng)的檢測(cè)模型,其應(yīng)用范圍、檢測(cè)精度和速度都有很大的局限性。近年來(lái),基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法獲得了很大的進(jìn)展,根據(jù)檢測(cè)方式可以分為兩大類:一類是基于區(qū)域推薦的兩階段算法,首先通過(guò)滑動(dòng)窗口獲得候選目標(biāo),再使用卷積神經(jīng)網(wǎng)絡(luò)(Convolution Neural Network,CNN)進(jìn)行類別和位置的預(yù)測(cè);其特點(diǎn)是精度較高但實(shí)時(shí)性較差,代表性算法有RCNN(Regions with CNN)[7]、Fast RCNN[8]、Faster RCNN[9]等,盡管該類算法的檢測(cè)精度較高,但是出于對(duì)第三方施工目標(biāo)監(jiān)測(cè)的要求,需要算法擁有較高的檢測(cè)速度。另一類是基于回歸方法的端到端算法,將目標(biāo)檢測(cè)看作回歸問(wèn)題,直接通過(guò)網(wǎng)絡(luò)預(yù)測(cè)出目標(biāo)的類別及位置信息;其特點(diǎn)是速度快但精度相對(duì)而言要低一些,代表性算法有YOLO(You Only Look Once)[10]、YOLOv2[11]、YOLOv3[12]、單階段多邊框目標(biāo)檢測(cè)算法(Single Shot multibox Detector,SSD)[13]和針對(duì)SSD存在的小目標(biāo)檢測(cè)能力弱而改進(jìn)的反卷積單階段多邊框目標(biāo)檢測(cè)算法(Deconvolution Single Shot multibox Detector,DSSD)[14]等。其中,YOLOv2 和YOLOv3 都是在YOLO 算法的基礎(chǔ)上對(duì)特征提取和目標(biāo)預(yù)測(cè)方面逐步進(jìn)行改進(jìn)、演變而來(lái)的,相較于YOLO和YOLOv3,YOLOv2 在檢測(cè)精度和檢測(cè)速度上擁有更好的綜合性能。SSD 采用VGG16 網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行特征提取,在多個(gè)尺度下通過(guò)錨點(diǎn)機(jī)制對(duì)目標(biāo)進(jìn)行檢測(cè),提高了檢測(cè)效果,但是同時(shí)檢測(cè)速度也有所降低。DDSD 除了用Res-101 替換VGG16外,還引進(jìn)反卷積模塊和殘差連接方式,提高SSD對(duì)小目標(biāo)的檢測(cè)能力。目前前沿的目標(biāo)檢測(cè)算法雖然在常規(guī)數(shù)據(jù)集上能取得較好效果,但是應(yīng)用在無(wú)人機(jī)管道巡檢航拍圖像上的效果并不好,主要面臨圖像目標(biāo)小、數(shù)據(jù)集較少以及圖像質(zhì)量等多方面問(wèn)題。
由于第三方施工目標(biāo)尤其是挖掘機(jī)對(duì)管道危害性較大,出于管道安全保護(hù)考慮,對(duì)檢測(cè)速度有較高的要求。因此在優(yōu)先考慮檢測(cè)速度的前提下,綜合考慮檢測(cè)精度,本文提出基于YOLOv2 的改進(jìn)算法和結(jié)合遷移學(xué)習(xí)的航拍圖像小目標(biāo)實(shí)時(shí)檢測(cè)算法。
本文主要工作如下:
1)提出能夠有效提高小目標(biāo)檢測(cè)能力和位置信息檢測(cè)精度的Aerial-YOLOv2實(shí)時(shí)檢測(cè)的卷積神經(jīng)網(wǎng)絡(luò);
2)通過(guò)數(shù)據(jù)增強(qiáng)的方法擴(kuò)大數(shù)據(jù)集規(guī)模并結(jié)合遷移學(xué)習(xí)訓(xùn)練網(wǎng)絡(luò);
3)使用K-means 算法聚類分析出適合本文數(shù)據(jù)集特點(diǎn)的錨點(diǎn)框尺寸以及數(shù)量;
4)使用自適應(yīng)對(duì)比度增強(qiáng)算法對(duì)航拍圖像進(jìn)行處理。寸。2)回歸預(yù)測(cè)。首先將Darknet-19 提取的特征經(jīng)過(guò)2 層卷積運(yùn)算后,將其和特征提取模塊中的26 × 26 × 512 的特征矩陣進(jìn)行降采樣后進(jìn)行合并,隨后通過(guò)3×3 的卷積計(jì)算對(duì)其特征整合,最后在使用1×1 的卷積層調(diào)整輸出維度為13× 13×425 的輸出矩陣,YOLOv2 最后對(duì)這個(gè)輸出矩陣進(jìn)行檢測(cè)。YOLOv2 借鑒Faster RCNN 錨點(diǎn)框的思想引入錨點(diǎn)機(jī)制,選擇5 個(gè)符合數(shù)據(jù)集特點(diǎn)的錨點(diǎn)框,并利用錨點(diǎn)框?qū)敵鼍仃嚱獯a。其中,13× 13× 425 的矩陣將圖像分成13× 13 個(gè)網(wǎng)格,每個(gè)網(wǎng)格包含5 個(gè)錨點(diǎn),每個(gè)錨點(diǎn)都預(yù)測(cè)目標(biāo)的置信度、目標(biāo)位置及類別。隨后獲得每個(gè)錨點(diǎn)最大的預(yù)測(cè)概率對(duì)應(yīng)的類別,然后將該類別概率與置信度相乘獲得該錨點(diǎn)的分?jǐn)?shù),然后刪除每個(gè)網(wǎng)格中的錨點(diǎn)分?jǐn)?shù)低于0.6 的錨點(diǎn),再進(jìn)行非極大值抑制(Non-Maximum Suppression,NMS)操作,去除重復(fù)率過(guò)大的預(yù)測(cè)框。
圖1 YOLOv2目標(biāo)檢測(cè)算法流程Fig.1 Flowchart of YOLOv2 target detection algorithm
圖2 YOLOv2特征提取模塊及其組成Fig.2 YOLOv2 feature extraction module and its composition
YOLOv2延續(xù)了YOLOv1的核心思想,將目標(biāo)檢測(cè)問(wèn)題看作回歸問(wèn)題,用一個(gè)卷積神經(jīng)網(wǎng)絡(luò)完成對(duì)目標(biāo)的定位以及識(shí)別,同時(shí)也針對(duì)YOLOv1 的特征提取和回歸預(yù)測(cè)部分作了改進(jìn)。
YOLOv2 目標(biāo)檢測(cè)的算法流程如圖1 所示。由圖1 可知,YOLOv2 網(wǎng)絡(luò)結(jié)構(gòu)主要由兩部分組成:1)特征提取。采用包含19層卷積層(不包含池化層)的名為Darknet-19的結(jié)構(gòu)來(lái)對(duì)416 × 416 × 3 的輸入圖像特征進(jìn)行提取,生成一個(gè)大小為13× 13× 1024 的特征矩陣。Darknet-19 特征提取部分如圖2(a)所示,由池化層和卷積塊組成,池化層起到下采樣及降維作用,卷積塊根據(jù)所包含卷積數(shù)量不同又分為A、B兩種類型,如圖2(b)~(c)所示。其中,Conv 表示該層是卷積層并包含批歸一化和Leaky-Relu激活函數(shù),3× 3或者1× 1表示卷積核尺
YOLOv2 目標(biāo)檢測(cè)算法不能直接應(yīng)用在無(wú)人機(jī)航拍圖像目標(biāo)的檢測(cè),主要存在以下幾個(gè)問(wèn)題:
1)航拍圖像目標(biāo)具有尺度多樣性,但在網(wǎng)絡(luò)結(jié)構(gòu)上,YOLOv2 僅在單一尺度上進(jìn)行檢測(cè),無(wú)法在多個(gè)尺度下對(duì)目標(biāo)尤其是小目標(biāo)進(jìn)行有效檢測(cè);另一方面,YOLOv2 使用的最大池化層使目標(biāo)位置信息出現(xiàn)丟失[15],預(yù)測(cè)目標(biāo)位置會(huì)出現(xiàn)較大偏差。
2)在深度學(xué)習(xí)中,模型質(zhì)量與所使用的數(shù)據(jù)集的數(shù)量有直接關(guān)系。在傳統(tǒng)的深度學(xué)習(xí)訓(xùn)練方法下直接使用已有標(biāo)簽的數(shù)據(jù)訓(xùn)練的模型檢測(cè)性能較差,需要根據(jù)航拍圖像的特點(diǎn)使用針對(duì)少量樣本訓(xùn)練模型的方法。
3)YOLOv2使用3個(gè)錨點(diǎn)框作為先驗(yàn)知識(shí)進(jìn)行目標(biāo)檢測(cè),但是這些錨點(diǎn)框并不適合本文數(shù)據(jù)集的數(shù)據(jù)特點(diǎn)。
4)受天氣、背景和拍攝高度等影響,使用時(shí)部分輸入圖像的邊緣紋理模糊、對(duì)比度低,會(huì)降低算法檢測(cè)效果。
為了解決上述問(wèn)題,本文提出基于Aerial-YOLOv2的航拍圖像的檢測(cè)算法,總體框架如圖3 所示。本文算法主要包括4 個(gè)部分:基于YOLOv2 改進(jìn)的Aerial-YOLOv2 網(wǎng)絡(luò)結(jié)構(gòu)、基于DOTA(Dataset for Object Detection in Aerial Images)[16]數(shù)據(jù)集的遷移學(xué)習(xí)、基于聚類分析的錨點(diǎn)框選擇以及自適應(yīng)對(duì)比度增強(qiáng)(Adaptive Contrast Enhancement,ACE)預(yù)處理。在訓(xùn)練階段使用DOTA 數(shù)據(jù)集在擁有同樣特征提取部分的網(wǎng)絡(luò)上進(jìn)行訓(xùn)練,然后將其遷移到Aerial-YOLOv2網(wǎng)絡(luò)對(duì)應(yīng)部分。隨后對(duì)采集的關(guān)于第三方施工相關(guān)車輛以及違章占?jí)航ㄖ锏暮脚膱D像數(shù)據(jù)集使用數(shù)據(jù)增強(qiáng)方法后,再對(duì)經(jīng)過(guò)遷移學(xué)習(xí)的Aerial-YOLOv2網(wǎng)絡(luò)進(jìn)行訓(xùn)練,并使用聚類分析出適合該數(shù)據(jù)集特點(diǎn)的錨點(diǎn)框。在實(shí)際使用過(guò)程中,使用ACE 圖像預(yù)處理對(duì)圖像進(jìn)行處理,然后將其送入訓(xùn)練好的Aerial-YOLOv2網(wǎng)絡(luò)進(jìn)行檢測(cè),將檢測(cè)出的正樣本添加至航拍圖像數(shù)據(jù)集中,擴(kuò)大數(shù)據(jù)集規(guī)模。
圖3 低空航拍圖像檢測(cè)算法總體框架Fig.3 Overall framework of low-altitude aerial image detection algorithm
為預(yù)防漏檢目標(biāo)對(duì)管道安全產(chǎn)生威脅和提高檢測(cè)信息準(zhǔn)確度,需要降低漏檢率并且能夠?qū)δ繕?biāo)實(shí)現(xiàn)精確定位檢測(cè),本文設(shè)計(jì)適合航拍圖像目標(biāo)檢測(cè)的網(wǎng)絡(luò)結(jié)構(gòu)Aerial-YOLOv2,如圖4 所示。從中可看出:Aerial-YOLOv2 網(wǎng)絡(luò)采用全卷積網(wǎng)絡(luò)(Fully Convolutional Network,F(xiàn)CN)[17]結(jié)構(gòu),整體結(jié)構(gòu)由特征提取和回歸預(yù)測(cè)兩個(gè)模塊組成,Conv 表示該層是卷積層,每個(gè)卷積層分別表示出了卷積核尺寸和卷積核數(shù)量(“/”后的數(shù)字表示步長(zhǎng),省略的默認(rèn)步長(zhǎng)為1),卷積組由3× 3卷積和1×1卷積組成。
YOLOv2 為擴(kuò)大特征感受野,使用最大池化層對(duì)特征進(jìn)行降采樣,但是最大池化層在計(jì)算過(guò)程中會(huì)丟失部分信息,所以Aerial-YOLOv2 使用步長(zhǎng)為2 的卷積核代替最大池化層進(jìn)行降采樣,更好地保留目標(biāo)的位置信息。
除此之外,Aerial-YOLOv2 將YOLOv2 特征提取部分中用于提取特征的卷積塊使用本文提出的卷積模塊替換,通過(guò)同一尺度下的卷積信息的融合,強(qiáng)化特征表達(dá)能力。YOLOv2在回歸預(yù)測(cè)部分對(duì)特征提取部分中的16 降采樣特征最后一層卷積特征繼續(xù)降采樣后,與32 倍降采樣特征進(jìn)行融合后進(jìn)行檢測(cè),Aerial-YOLOv2 為加強(qiáng)網(wǎng)絡(luò)對(duì)小目標(biāo)的檢測(cè)能力,首先在32倍降采樣尺度下都進(jìn)行預(yù)測(cè),然后對(duì)32倍降采樣特征進(jìn)行2倍上采樣后與特征提取部分的16倍降采樣特征融合后進(jìn)行預(yù)測(cè)。
圖4 Aerial-YOLOv2網(wǎng)絡(luò)結(jié)構(gòu)Fig.4 Aerial-YOLOv2 network structure
2.1.1 特征提取模塊
為減少參數(shù)數(shù)量[18]和緩解梯度消失問(wèn)題[19],使網(wǎng)絡(luò)對(duì)不同層的卷積信息都能夠被充分利用[20],提高網(wǎng)絡(luò)對(duì)小目標(biāo)的特征提取能力,本文提出一種殘差密集卷積(Residual Dense-Convolution3,RD-C3)模塊結(jié)構(gòu)。RD-C3 模塊在同一個(gè)尺度下通過(guò)加強(qiáng)對(duì)不同層次的卷積特征的傳遞,實(shí)現(xiàn)對(duì)目標(biāo)特征的高效利用并且由于簡(jiǎn)化了低層特征和高層特征間的聯(lián)通路徑,提高了反向傳播的效率。具體結(jié)構(gòu)如圖5所示。
圖5 RD-C3模塊的結(jié)構(gòu)Fig.5 Structure of RD-C3 module
整個(gè)RD-C3模塊能夠充分利用同一尺度下的信息,由3×3和1× 1的卷積組成。將尺度內(nèi)的3×3 卷積通過(guò)類似密集連接中的旁路方式連接,通過(guò)1× 1卷積自適應(yīng)地聚合特征信息并起到降低網(wǎng)絡(luò)計(jì)算量的作用,最后聚合所有局部卷積特征的信息和該尺度下的輸入端進(jìn)行殘差連接,實(shí)現(xiàn)該尺度下的全局殘差學(xué)習(xí),最后2 個(gè)RD-C3 模塊中卷積核的數(shù)量相較YOLOv2 中對(duì)應(yīng)卷積減少一半。另外,每個(gè)卷積層經(jīng)過(guò)卷積計(jì)算后,都要再經(jīng)過(guò)一個(gè)批歸一化和非線性的Leaky-Relu 激活函數(shù)計(jì)算,Leaky-Relu計(jì)算如式(1)所示:
其中:xi為卷積層的輸出值;a 一般為(0,0.5)區(qū)間的一個(gè)固定值;yi為輸出值。
2.1.2 回歸預(yù)測(cè)模塊
在回歸預(yù)測(cè)模塊中通過(guò)融合底層紋理特征和高層語(yǔ)義特征的多尺度的方式進(jìn)行目標(biāo)檢測(cè)。YOLOv2僅僅在32倍降采樣的特征圖上進(jìn)行檢測(cè),而經(jīng)過(guò)32 倍降采樣之后,高層特征難免會(huì)丟失部分細(xì)節(jié)信息,該檢測(cè)尺度下的目標(biāo)檢測(cè)層對(duì)小目標(biāo)的檢測(cè)能力是有限的。為了加強(qiáng)網(wǎng)絡(luò)對(duì)小目標(biāo)的檢測(cè)能力,Aerial-YOLOv2 對(duì)網(wǎng)絡(luò)輸出的32 倍降采樣特征進(jìn)行檢測(cè)之外,還增加一層16 倍降采樣特征檢測(cè)層。圖像特征在Aerial-YOLOv2 中的傳遞過(guò)程如圖6 所示,該圖可直觀地表示多尺度回歸預(yù)測(cè)。
由圖6 可知,原始圖像通過(guò)特征提取模塊多層卷積計(jì)算后生成大小為13× 13× 425(仍以416 × 416 圖像尺寸為例)的高層語(yǔ)義特征,后經(jīng)過(guò)3× 3和1個(gè)1× 1組成的卷積組計(jì)算后,生成13× 13× 425 的預(yù)測(cè)矩陣后直接在該尺度下進(jìn)行一次檢測(cè)。隨后將大小為13× 13× 512 的32 倍降采樣特征進(jìn)行2倍上采樣后與特征提取模塊中16倍降采樣層的輸出進(jìn)行特征拼接,然后再經(jīng)過(guò)一個(gè)卷積組后生成大小為26 × 26 ×425的預(yù)測(cè)矩陣,然后在該尺度下在對(duì)其進(jìn)行一次檢測(cè)。
圖6 Aerial-YOLOv2特征傳遞流程Fig.6 Flowchart of Aerial-YOLOv2 feature transfer
為了訓(xùn)練Aerial-YOLOv2網(wǎng)絡(luò),實(shí)驗(yàn)數(shù)據(jù)為使用大疆精靈4Pro 無(wú)人機(jī)在100~130 m 飛行高度、10~12 m/s 的飛行速度條件下,通過(guò)正射角度拍攝的不同天氣、不同時(shí)段下的共1 500張關(guān)于第三方施工相關(guān)車輛以及違章占?jí)航ㄖ锏目梢?jiàn)光無(wú)人機(jī)航拍圖像,拍攝的地面背景環(huán)境包括農(nóng)村、城鎮(zhèn)、河流以及山地,包括挖掘機(jī)、推土機(jī)以及頂棚3類目標(biāo),分別有1 257、439 和2 404 個(gè)目標(biāo)。將圖像按照8∶2 原則分為訓(xùn)練集和測(cè)試集。
深度學(xué)習(xí)模型效果與訓(xùn)練樣本數(shù)量有極大的關(guān)聯(lián)性,在擁有大量訓(xùn)練樣本的基礎(chǔ)上,才能得到高質(zhì)量的深度學(xué)習(xí)模型。由于已知標(biāo)簽的航拍圖像數(shù)據(jù)集較少,直接將數(shù)據(jù)用來(lái)訓(xùn)練Aerial-YOLOv2模型,得到的模型泛化性能較差從而不能夠?qū)Χ鄻?、?fù)雜背景下的目標(biāo)進(jìn)行準(zhǔn)確檢測(cè)。對(duì)此,本文采用遷移學(xué)習(xí)的方式[21]來(lái)訓(xùn)練模型,Yosinski 等[22]驗(yàn)證了遷移學(xué)習(xí)中特征遷移的可行性。將包含2 806 張遙感圖像,共15 個(gè)類別、18萬(wàn)個(gè)目標(biāo)的DOTA數(shù)據(jù)集[22]作為源域,本文的數(shù)據(jù)集作為目標(biāo)域,通過(guò)遷移學(xué)習(xí)的方法將從源域?qū)W習(xí)到的模型參數(shù)與Aerial-YOLOv2模型共享,從而解決模型訓(xùn)練數(shù)據(jù)量不足的問(wèn)題。
根據(jù)所擁有數(shù)據(jù)的情況,本文將遷移學(xué)習(xí)分為兩部分:1)利用DOTA 數(shù)據(jù)集的訓(xùn)練集共2 100 張圖像訓(xùn)練特征提取模塊,根據(jù)模型在包含706 張圖像的測(cè)試集上的召回率和準(zhǔn)確率之和評(píng)價(jià)模型訓(xùn)練效果;2)遷移特征提取模塊參數(shù)到Aerial-YOLOv2模型對(duì)應(yīng)部分,在此基礎(chǔ)上再訓(xùn)練回歸預(yù)測(cè)模塊。對(duì)于特征提取模塊的訓(xùn)練,根據(jù)Aerial-YOLOv2模型中特征提取模塊來(lái)構(gòu)建檢測(cè)模型。如圖7 所示,該檢測(cè)模型以Aerial-YOLOv2模型的特征提取模塊為基礎(chǔ),經(jīng)過(guò)兩層卷積層運(yùn)算,最后通過(guò)YOLOv2檢測(cè)層獲取檢測(cè)結(jié)果。
建立檢測(cè)模型后,利用DOTA 數(shù)據(jù)集進(jìn)行訓(xùn)練。檢測(cè)模型訓(xùn)練完畢后,將其特征提取模塊的參數(shù)遷移到Aerial-YOLOv2的特征提取部分,遷移過(guò)程如圖7所示。
將遷移學(xué)習(xí)的特征提取模塊的參數(shù)進(jìn)行凍結(jié),即這部分的學(xué)習(xí)率為0,鎖定特征提取模塊的卷積核。回歸預(yù)測(cè)部分參數(shù)使用隨機(jī)值,然后使用本文的數(shù)據(jù)集對(duì)Aerial-YOLOv2進(jìn)行訓(xùn)練。
圖7 遷移學(xué)習(xí)過(guò)程Fig.7 Transfer learning process
為了直接擴(kuò)大數(shù)據(jù)集的規(guī)模,本文采用結(jié)合數(shù)據(jù)增強(qiáng)的遷移學(xué)習(xí)訓(xùn)練方法。本文采用的數(shù)據(jù)增強(qiáng)的方法有:1)隨機(jī)旋轉(zhuǎn)、翻轉(zhuǎn)圖像。隨機(jī)旋轉(zhuǎn)原始圖像-30°~30°,左右隨機(jī)翻轉(zhuǎn)原始圖像。2)平移。將原始圖像在上下左右某一個(gè)隨機(jī)方向上整體移動(dòng)圖像尺寸的1/10。3)曝光度、飽和度和亮度調(diào)整。將圖像從RGB空間轉(zhuǎn)換到HSV空間后,在原始圖像0.8~1.2倍范圍內(nèi)調(diào)整曝光度和飽和度,在原始圖像0.7~1.3倍范圍內(nèi)調(diào)整亮度。4)ACE 圖像預(yù)處理:在某個(gè)范圍內(nèi)隨機(jī)調(diào)整核心尺寸閾值和系數(shù)參數(shù)值,獲得不同的對(duì)比度增強(qiáng)的圖像,提升模型泛化能力。按照每種方法擴(kuò)增一倍的策略,數(shù)據(jù)集擴(kuò)增到共7 500張圖像。
Aerial-YOLOv2在回歸預(yù)測(cè)部分使用錨點(diǎn)預(yù)測(cè),符合數(shù)據(jù)集特點(diǎn)的錨點(diǎn)框數(shù)量和尺寸可以加強(qiáng)模型檢測(cè)能力和減少訓(xùn)練時(shí)間。本文通過(guò)K-means 聚類方法確定合適的錨點(diǎn)框數(shù)量以及尺寸。K-means 算法通常使用的距離度量函數(shù)為歐氏距離、曼哈頓距離等,但是在聚類錨點(diǎn)框的時(shí)候,希望能使候選錨點(diǎn)框和邊界框之間有盡可能高的交并比(Intersection Over Union,IOU),而如果采用常規(guī)的距離度量函數(shù)會(huì)導(dǎo)致同樣的交并比誤差,而大尺寸的邊界框比小尺寸的邊界框會(huì)在度量函數(shù)上產(chǎn)生更多偏差,而影響聚類結(jié)果準(zhǔn)確性,所以本文使用新的距離度量公式[12]:
其中:centroid 表示簇的中心的邊界框;box 表示樣本框;IOU(box,centroid)表示聚類中心的邊界框和樣本框的交并比。
本文分別遞增地選取K-means 的錨點(diǎn)框數(shù)量K,獲得K 與交并比之間的關(guān)系如圖8所示。
圖8 錨點(diǎn)框數(shù)量K與交并比的關(guān)系Fig.8 Relationship between number of anchor boxes K and intersection ratio
從圖8 可知,在K = 6 時(shí)曲線增長(zhǎng)明顯放緩,所以選擇錨點(diǎn)框的數(shù)量為6,對(duì)應(yīng)的邊界框的大小設(shè)置為6個(gè)錨點(diǎn)框中心的大小,按照(錨點(diǎn)框長(zhǎng),錨點(diǎn)框?qū)挘┑男问奖硎荆渲捣謩e為(7.6,4.1)、(29.5,35.5)、(22.0,29.8)、(4.6,9.5)、(8.7,12.4)和(34.1,22.6)。
由于航拍圖像是在一定高度下拍攝的,并且受天氣和周圍環(huán)境的影響,目標(biāo)的部分重要特征會(huì)出現(xiàn)紋理模糊、圖像噪聲大的情況,所以本文采用自適應(yīng)局部對(duì)比度增強(qiáng)算法(ACE)進(jìn)行圖像預(yù)處理。
ACE算法流程如下,首先將圖像分為兩部分:一部分主要包含低頻信息的反銳化掩膜,通過(guò)圖像的低通濾波(平滑、模糊技術(shù))獲得;另一部分是高頻成分,通過(guò)原圖像減去反銳化掩膜獲得。隨后對(duì)高頻部分進(jìn)行放大(方法系數(shù)為對(duì)比度增益(Contrast Gain,CG)),最后將其加入到反銳化掩膜中,得到ACE增強(qiáng)后的圖像。
ACE 算法的核心是計(jì)算增益系數(shù)CG,通過(guò)計(jì)算以該像素為中心的像素平均值和方差獲得CG 系數(shù)。局部區(qū)域的中心點(diǎn)的像素平均值和方差按照式(4)~(5)計(jì)算:
其中:n 為以像素點(diǎn)(i,j)為中心點(diǎn)、大小為(2n + 1) ×(2n + 1)的局部區(qū)域的尺寸;x(k,l)為該局部區(qū)域內(nèi)的像素點(diǎn)(k,l)的像素值;mx(i,j)為該局部區(qū)域的像素平均值;σx(i,j)為該局部區(qū)域的標(biāo)準(zhǔn)差(Local Standard Deviation,LSD)。ACE 算法可表示如下:
其中:f(i,j)表示像素點(diǎn)(i,j)對(duì)應(yīng)的對(duì)比度增強(qiáng)后的像素值;G(i,j)為對(duì)比度增益(即前文所提CG),一般為常數(shù),但是為了預(yù)防出現(xiàn)過(guò)分增強(qiáng)的情況,針對(duì)不同的像素點(diǎn)采用不同的增益。采用如下的解決方法:
其中:D 是個(gè)取值范圍為0~1的常數(shù);mx(i,j)/σx(i,j)的值為對(duì)比度增益(即CG),是空間自適應(yīng)的,并且和局部均方差成反比,在圖像的邊緣或者其他變化劇烈的圖像部分,CG 值就較小,不會(huì)產(chǎn)生振鈴效應(yīng)。
為了驗(yàn)證Aerial-YOLOv2 網(wǎng)絡(luò)結(jié)構(gòu)的有效性以及基于Aerial-YOLOv2網(wǎng)絡(luò)實(shí)現(xiàn)無(wú)人機(jī)航拍圖像目標(biāo)檢測(cè)的可行性,將YOLOv2 和Aerial-YOLOv2 應(yīng)用于無(wú)人機(jī)航拍圖像目標(biāo)檢測(cè)。實(shí)驗(yàn)過(guò)程中所采用的數(shù)據(jù)集為人工標(biāo)注的航拍圖像。實(shí)驗(yàn)設(shè)備配置為英偉達(dá)GTX1080顯卡,英特爾XREON處理器。
實(shí)驗(yàn)主要分為兩部分:1)比較YOLO 系列、SSD 網(wǎng)絡(luò)與Aerial-YOLOv2 網(wǎng)絡(luò)的性能,驗(yàn)證Aerial-YOLOv2 網(wǎng)絡(luò)的有效性;2)使用經(jīng)過(guò)數(shù)據(jù)增強(qiáng)和自適應(yīng)對(duì)比度增強(qiáng)處理的數(shù)據(jù)集,作為遷移學(xué)習(xí)的目標(biāo)域數(shù)據(jù)集來(lái)訓(xùn)練網(wǎng)絡(luò),驗(yàn)證本文所使用訓(xùn)練策略的有效性。
為了驗(yàn)證Aerial-YOLOv2 算法的有效性,分別對(duì)SSD、YOLOv2、YOLOv3 等基礎(chǔ)算法和Aerial-YOLOv2 算法進(jìn)行訓(xùn)練,訓(xùn)練過(guò)程中設(shè)置相同的超參數(shù)。將測(cè)試集圖像作為模型輸入,直接通過(guò)網(wǎng)絡(luò)回歸預(yù)測(cè)出目標(biāo)類別和位置信息。通過(guò)預(yù)測(cè)目標(biāo)的邊框與標(biāo)簽的邊界框之間的平均交并比(mean Intersection Over Union,mIOU)來(lái)衡量預(yù)測(cè)的位置信息的準(zhǔn)確性,另外選取預(yù)測(cè)框得分閾值為0.5,出于安全角度考慮,實(shí)際情況相對(duì)于準(zhǔn)確度而言對(duì)漏檢的容忍度更低,尤其是對(duì)挖掘機(jī)這種直接威脅管道安全的目標(biāo)的漏檢,大于閾值表示檢測(cè)成功。最終,使用準(zhǔn)確率、召回率、平均交并比以及檢測(cè)速度作為模型的評(píng)價(jià)指標(biāo)。
以上幾種目標(biāo)檢測(cè)算法在航拍圖像目標(biāo)檢測(cè)的實(shí)驗(yàn)結(jié)果如表1 所示。從表1 可看出,本文所提的Aerial-YOLOv2 網(wǎng)絡(luò)在準(zhǔn)確率、召回率上都高于YOLOv2,而僅僅犧牲了一點(diǎn)檢測(cè)速度。而YOLOv3 雖然使用了更深的網(wǎng)絡(luò)結(jié)構(gòu),并使用了多種改進(jìn)策略,但是對(duì)于包含信息較少的小目標(biāo)而言,過(guò)深的網(wǎng)絡(luò)結(jié)構(gòu)在提取信息能力上會(huì)遇到一個(gè)瓶頸,這時(shí)反而還會(huì)降低網(wǎng)絡(luò)的檢測(cè)速度。所以Aerial-YOLOv2 網(wǎng)絡(luò)通過(guò)對(duì)網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行多方面的改進(jìn)后,其檢測(cè)效果相對(duì)于YOLOV3 各方面都有提升,尤其是對(duì)一些小目標(biāo)的召回率有相當(dāng)大的提升,說(shuō)明本文算法在檢測(cè)小目標(biāo)方面的有效性。
表1 不同算法航拍圖像目標(biāo)檢測(cè)實(shí)驗(yàn)結(jié)果Tab.1 Experimental results of aerial image target detection by different algorithms
基礎(chǔ)的YOLOv2 網(wǎng)絡(luò)和Aerial-YOLOv2 進(jìn)行航拍圖像測(cè)試,檢測(cè)出目標(biāo)的能力對(duì)比如圖9所示。圖9(a)是YOLOv2的檢測(cè)結(jié)果,圖9(b)是Aerial-YOLOv2 經(jīng)過(guò)相同訓(xùn)練策略后的檢測(cè)結(jié)果。通過(guò)對(duì)比兩圖可以發(fā)現(xiàn),YOLOv2 僅能檢測(cè)到特征明顯的目標(biāo),漏檢體積較小、并未受到遮擋的目標(biāo);而Aerial-YOLOv2 則能夠檢測(cè)到較小,但特征不明顯的目標(biāo),大幅地提升了模型的召回率。
圖9 YOLOv2和Aerial-YOLOv2目標(biāo)檢測(cè)結(jié)果Fig.9 Target detection results of YOLOv2 and Aerial-YOLOv2
實(shí)驗(yàn)結(jié)果表明,對(duì)于航拍圖像目標(biāo)檢測(cè)而言,Aerial-YOLOv2 網(wǎng)絡(luò)能夠在YOLOv2 基礎(chǔ)之上以較少地增加運(yùn)算量為代價(jià),通過(guò)改進(jìn)網(wǎng)絡(luò)特征提取和回歸預(yù)測(cè)模塊,使得網(wǎng)絡(luò)在準(zhǔn)確率、召回率以及平均交并比等目標(biāo)檢測(cè)指標(biāo)上有大幅提升。
為了驗(yàn)證不同訓(xùn)練策略對(duì)網(wǎng)絡(luò)目標(biāo)檢測(cè)性能的影響。在相同原始數(shù)據(jù)集的情況下,在訓(xùn)練階段對(duì)Aerial-YOLOv2分別采用不同的訓(xùn)練策略,在相同的測(cè)試集上便可獲得不同訓(xùn)練策略對(duì)網(wǎng)絡(luò)目標(biāo)檢測(cè)性能的影響,結(jié)果如表2 所示。表2 中,策略1 表示結(jié)合數(shù)據(jù)增強(qiáng)的遷移學(xué)習(xí),策略2 表示通過(guò)K-means 方法聚類出數(shù)據(jù)集合適的錨點(diǎn)數(shù)量及尺寸,策略3表示基于ACE 的圖像預(yù)處理。由表2 可知,直接使用原始數(shù)據(jù)集進(jìn)行訓(xùn)練,模型效果泛化性能較差,在測(cè)試集上表現(xiàn)為準(zhǔn)確率和召回率都較低。策略1 在大量數(shù)據(jù)的訓(xùn)練下,網(wǎng)絡(luò)中的參數(shù)得到充分訓(xùn)練,測(cè)試結(jié)果表明綜合指標(biāo)大幅提升。策略2 能為神經(jīng)網(wǎng)絡(luò)提供準(zhǔn)確的先驗(yàn)知識(shí),預(yù)測(cè)框更接近真實(shí)的錨點(diǎn)框,平均交并比指標(biāo)明顯提高。策略3 通過(guò)圖像預(yù)處理,解決圖像目標(biāo)特征紋理模糊問(wèn)題,加強(qiáng)模型對(duì)目標(biāo)的檢測(cè)能力,召回率得到較大提升。策略1+2 通過(guò)對(duì)訓(xùn)練集更好地利用以及使用更合適的訓(xùn)練方法,準(zhǔn)確率和目標(biāo)位置準(zhǔn)確度均獲得提高;綜合使用策略1+2+3,模型準(zhǔn)確率為94%,召回率為91%,平均交并比為0.75。相對(duì)于直接訓(xùn)練Aerial-YOLOv2網(wǎng)絡(luò),準(zhǔn)確率、召回率和平均交并比分別提高12 個(gè)百分點(diǎn)、12個(gè)百分點(diǎn)和0.12。
表2 Aerial-YOLOv2在不同訓(xùn)練策略下的檢測(cè)性能Tab.2 Aerial-YOLOv2 detection performance under different training strategies
由實(shí)驗(yàn)結(jié)果可知,由于使用多種訓(xùn)練策略,模型的召回率指標(biāo)提高最多。召回率越高表明漏檢率越低,對(duì)于第三方施工中可能對(duì)管道造成直接威脅的挖掘機(jī)、打樁機(jī)等,漏檢率指標(biāo)對(duì)管道安全至關(guān)重要。如果直接使用常規(guī)訓(xùn)練方法進(jìn)行訓(xùn)練,Aerial-YOLOv2 網(wǎng)絡(luò)召回率僅有79%,這表明可能會(huì)有大量目標(biāo)未被檢測(cè)到,而使用本文的多種訓(xùn)練策略之后,召回率提高至91%,對(duì)保障管道安全至關(guān)重要。
圖10 為傳統(tǒng)訓(xùn)練方法訓(xùn)練Aerial-YOLOv2 和本文訓(xùn)練策略的檢測(cè)結(jié)果的典型對(duì)比。圖10(a)為傳統(tǒng)訓(xùn)練方法后的檢測(cè)結(jié)果,圖10(b)為使用策略1+2+3的檢測(cè)結(jié)果。由對(duì)比檢測(cè)結(jié)果圖可知,兩者都對(duì)小目標(biāo)有較好的檢測(cè)能力,這是Aerial-YOLOv2 網(wǎng)絡(luò)結(jié)構(gòu)采用合適的錨點(diǎn)框與特征融合的多尺度檢測(cè)方式的結(jié)果。但圖10(a)中仍然會(huì)有部分漏檢目標(biāo),圖中使用黑色圓圈標(biāo)注。漏檢原因是因?yàn)槟繕?biāo)僅有部分出現(xiàn)在圖像中,使用本文的訓(xùn)練方法使網(wǎng)絡(luò)對(duì)特征的學(xué)習(xí)和分類能力更強(qiáng),能對(duì)同一目標(biāo)不同狀態(tài)進(jìn)行更好檢測(cè),正如表2 所示,由于更少的漏檢而較大地提高了召回率。
圖10 不同訓(xùn)練方法典型結(jié)果對(duì)比Fig.10 Comparison of typical results of different training methods
綜上所述,結(jié)合數(shù)據(jù)增強(qiáng)的遷移學(xué)習(xí)可以提升模型多項(xiàng)指標(biāo),基于K-means 的錨點(diǎn)框先驗(yàn)選擇可以提升目標(biāo)檢測(cè)的平均交并比,基于ACE 的圖像預(yù)處理可以提升目標(biāo)檢測(cè)的召回率,綜合使用多種訓(xùn)練方法可有效提高模型整體性能。
本文利用深度學(xué)習(xí)技術(shù)實(shí)現(xiàn)管道巡檢中對(duì)無(wú)人機(jī)航拍圖像的第三方施工、違章占?jí)航ㄖ锏哪繕?biāo)檢測(cè),提出基于改進(jìn)YOLOv2 網(wǎng)絡(luò)結(jié)構(gòu)與結(jié)合數(shù)據(jù)增強(qiáng)的遷移學(xué)習(xí)的目標(biāo)檢測(cè)算法。首先利用RD-C3 模塊替代YOLOv2 中的卷積組和改進(jìn)網(wǎng)絡(luò)的回歸預(yù)測(cè)方式,加強(qiáng)網(wǎng)絡(luò)對(duì)小目標(biāo)的檢測(cè)能力。為解決數(shù)據(jù)集的問(wèn)題,利用數(shù)據(jù)增強(qiáng)擴(kuò)大數(shù)據(jù)集規(guī)模并通過(guò)K-means算法聚類分析出適合本數(shù)據(jù)集特點(diǎn)的錨點(diǎn)框,然后再結(jié)合遷移學(xué)習(xí)的方法訓(xùn)練改進(jìn)后的網(wǎng)絡(luò),最后再通過(guò)自適應(yīng)對(duì)比度增強(qiáng)的方法提升圖像質(zhì)量。實(shí)驗(yàn)結(jié)果表明,本文所提改進(jìn)算法最終準(zhǔn)確率、召回率分別可以達(dá)到94%、91%,每張圖像檢測(cè)時(shí)間為14 ms,可以滿足無(wú)人機(jī)管道智能巡檢中目標(biāo)檢測(cè)的需要;但本文的數(shù)據(jù)增強(qiáng)方法會(huì)造成部分?jǐn)?shù)據(jù)的冗余,在數(shù)據(jù)處理方法方面仍然需要更進(jìn)一步的研究。