• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于YOLOv5的電力線和桿塔實(shí)時(shí)檢測(cè)算法研究

      2022-12-01 01:06:12葉樹芬施振華蘇成悅梁立黃海潤(rùn)關(guān)家華
      計(jì)算機(jī)測(cè)量與控制 2022年11期
      關(guān)鍵詞:候選框電力線特征提取

      葉樹芬,施振華,蘇成悅,梁立,黃海潤(rùn),關(guān)家華

      (1.廣東工業(yè)大學(xué) 物理與光電工程學(xué)院,廣州 510006; 2.廣州杰超科技有限公司,廣州 510006;3.廣東電網(wǎng)有限責(zé)任公司佛山供電局,廣東 佛山 528000)

      0 引言

      電力線路巡檢是電網(wǎng)穩(wěn)定安全運(yùn)行的重要環(huán)節(jié),人工操作的無(wú)人機(jī)巡檢替代傳統(tǒng)人工巡檢可節(jié)約大量的時(shí)間和人力成本[1]。智能無(wú)人機(jī)自動(dòng)巡檢成為當(dāng)前電力巡檢的研究熱點(diǎn),導(dǎo)航是智能無(wú)人機(jī)巡檢的關(guān)鍵[2]。由于導(dǎo)航精度不夠,巡檢無(wú)人機(jī)飛偏的概率較大[3],對(duì)電力線和桿塔準(zhǔn)確且高效的識(shí)別是無(wú)人機(jī)沿電力線路實(shí)時(shí)巡檢的基礎(chǔ)[4]。

      電力線識(shí)別的傳統(tǒng)數(shù)字圖像處理算法需要預(yù)先對(duì)目標(biāo)特征進(jìn)行數(shù)值化定義,通過(guò)某種固定特征進(jìn)行匹配。Zhu等[5]通過(guò)Radon變換以及線段平行的約束條件識(shí)別電力線。駱顧平等[6]改進(jìn)Ratio算子并結(jié)合輪廓特征和利用Hough變換的直線編組擬合算法識(shí)別出電力線。數(shù)字圖像處理算法對(duì)與電力線形狀相似的道路和房屋等有邊緣特征的圖像,以及多樣性場(chǎng)景存在識(shí)別干擾,容易產(chǎn)生漏檢和誤檢[7]。

      檢測(cè)電力線路的深度學(xué)習(xí)算法主要有電力桿塔識(shí)別的目標(biāo)檢測(cè)算法和電力線識(shí)別的語(yǔ)義分割算法。目標(biāo)檢測(cè)雙階段算法以R-CNN系列[8-10]為代表,該算法產(chǎn)生候選區(qū)域再分類和回歸。單階段算法直接預(yù)測(cè)目標(biāo)的類別與位置,算法速度更快,常見有YOLO[11-14],SSD[15]等。孫樂楊等[16]增加YOLOv5模型特征層尺度以及通過(guò)切割高分辨圖像后進(jìn)行識(shí)別,提升遙感圖像里小目標(biāo)電力塔檢測(cè)效果。楊知等[17]提出結(jié)合YOLOv2和VGG模型級(jí)聯(lián)的目標(biāo)檢測(cè)算法來(lái)識(shí)別高分辨率遙感影像中的電力塔。有研究人員針對(duì)電力線的特征提出語(yǔ)義分割算法,但這類算法復(fù)雜度高[18-19]。深度學(xué)習(xí)算法泛化能力更強(qiáng),但算力和內(nèi)存空間是模型在嵌入式平臺(tái)應(yīng)用的瓶頸,復(fù)雜模型實(shí)時(shí)性較差,已知的算法還不能同時(shí)實(shí)現(xiàn)電力桿塔和電力線兩類目標(biāo)的檢測(cè)任務(wù)。

      本文在YOLOv5網(wǎng)絡(luò)模型基礎(chǔ)上,采用減少特征提取層Bottleneck數(shù)量和深度可分離卷積,以減少模型整體參數(shù)量和計(jì)算量;通過(guò)改進(jìn)NMS算法,提升電力線和電力桿塔的檢測(cè)精度;部署于嵌入式平臺(tái)驗(yàn)證表明本算法能兼顧檢測(cè)精度和速度,具有較好的實(shí)用性。

      1 YOLOv5算法

      YOLOv5包含5個(gè)版本的模型,它們的區(qū)別在于模型的深度和寬度不同,考慮在嵌入式平臺(tái)上使用,本文選用模型體積較小,精確度適中的YOLOv5s作為基礎(chǔ)模型,其由輸入端、Backbone、Neck和Prediction四個(gè)部分組成。

      1.1 輸入端

      輸入端部分包含對(duì)圖像的預(yù)處理和數(shù)據(jù)增強(qiáng)的方式,自適應(yīng)錨框計(jì)算和自適應(yīng)圖片縮放。

      自適應(yīng)錨框計(jì)算是YOLOv5s網(wǎng)絡(luò)在訓(xùn)練之前,會(huì)對(duì)錨框的長(zhǎng)寬進(jìn)行初始設(shè)定,訓(xùn)練過(guò)程中,網(wǎng)絡(luò)會(huì)根據(jù)初始錨框大小輸出預(yù)測(cè)框,和真實(shí)框比較計(jì)算出兩者的差距,再反向更新迭代網(wǎng)絡(luò)參數(shù)。YOLOv5s會(huì)在訓(xùn)練和參數(shù)迭代的過(guò)程中,根據(jù)不同的數(shù)據(jù)集,自適應(yīng)計(jì)算出最佳的錨框值。

      自適應(yīng)圖片縮放是YOLOv5s網(wǎng)絡(luò)會(huì)自動(dòng)采用相同比例將圖片分辨率縮放到長(zhǎng)寬均為32的倍數(shù),不滿足比例的一邊進(jìn)行填充,在保證不失真的情況下,減少計(jì)算量,加快目標(biāo)檢測(cè)速度。

      1.2 Backbone

      Backbone包含C3層和SPPF(spatial pyramid pooling-fast,快速空間金字塔池化模塊)結(jié)構(gòu),用于圖像的特征提取,其網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。

      圖1 Backbone結(jié)構(gòu)圖

      YOLOv5s新版中C3層是采用CSP(cross stagepartial connections,跨階段局部網(wǎng)絡(luò))架構(gòu),包含三個(gè)標(biāo)準(zhǔn)卷積層以及多個(gè)Bottleneck模塊,替換了原先設(shè)計(jì)應(yīng)用于Backbone中的CSP1_X和Neck中的CSP2_X兩種CSP結(jié)構(gòu),可以增強(qiáng)網(wǎng)絡(luò)的學(xué)習(xí)能力,降低模型的尺寸,同時(shí)保持目標(biāo)檢測(cè)的精度。

      SPPF模塊采用多種尺寸的最大池化方式進(jìn)行多尺度特征的融合,池化后的輸出將作為下一池化的輸入,速度比SPP(spatial pyramid pooling,空間金字塔池化模塊)更快。

      1.3 Neck

      Neck部分包含F(xiàn)PN(feature pyramid networks,特征金字塔網(wǎng)絡(luò))和PAN(path aggregation network,路徑聚合網(wǎng)絡(luò))的組合結(jié)構(gòu),其中FPN是通過(guò)對(duì)高低層特征進(jìn)行融合,可以提高細(xì)長(zhǎng)型電力線等小目標(biāo)檢測(cè)效果。PAN是自底向上方向的增強(qiáng),使得深層的特征圖可以獲得淺層豐富的細(xì)節(jié)信息,提高大目標(biāo)的檢測(cè)效果。

      1.4 Prediction

      YOLOv5s用到的損失函數(shù)為定位損失(box_loss)、置信度損失(object_loss)和分類損失(class_loss)三部分的加權(quán)和。YOLOv5s的定位損失使用的是CIoU_loss[20],其計(jì)算過(guò)程公式如下:

      (1)

      其中:dc為預(yù)測(cè)框和真實(shí)框中心點(diǎn)間的距離,ds為預(yù)測(cè)框和真實(shí)框最小外接矩形的對(duì)角線距離,IoU為預(yù)測(cè)框和真實(shí)框的交并比,其計(jì)算公式如式(2)所示,α為平衡參數(shù),ν用于衡量寬高比的傾斜角度,計(jì)算公式如式(3)和式(4)所示:

      (2)

      (3)

      (4)

      CIoU_Loss計(jì)算公式如下:

      CIoU_Loss=1-CIoU

      (5)

      2 數(shù)據(jù)集制備與分析

      為了驗(yàn)證本文提出的電力線和電力桿塔算法識(shí)別的效果,且現(xiàn)有公開的電網(wǎng)數(shù)據(jù)集較少,實(shí)驗(yàn)數(shù)據(jù)集采用自建的方式。

      2.1 數(shù)據(jù)采集

      通過(guò)無(wú)人機(jī)實(shí)地拍攝獲取,拍攝地點(diǎn)在廣東省佛山市南海區(qū)部分備用電力配網(wǎng)線路,再將這些視頻數(shù)據(jù)進(jìn)行取幀得到實(shí)驗(yàn)所需的圖片。經(jīng)過(guò)篩選整理后得到2 000張圖片,并統(tǒng)一分辨率為1 280×720,方便后續(xù)模型的訓(xùn)練。數(shù)據(jù)集示例如圖2所示,背景包含草地、公路、建筑和水塘等,每張圖片都包含多個(gè)復(fù)雜背景下電力線目標(biāo)以及多角度的電力線和電力桿塔目標(biāo),根據(jù)深度學(xué)習(xí)領(lǐng)域常用的8:1:1比例隨機(jī)將圖片分為訓(xùn)練集、驗(yàn)證集和測(cè)試集。

      圖2 數(shù)據(jù)集示例

      2.2 標(biāo)注

      數(shù)據(jù)集使用在線標(biāo)注工具對(duì)圖片進(jìn)行標(biāo)注,標(biāo)注的結(jié)果利用格式轉(zhuǎn)換腳本轉(zhuǎn)換為yolo_txt格式進(jìn)行保存,每個(gè)標(biāo)注txt文件存放一個(gè)圖片的目標(biāo)信息,文件的每一行存放一個(gè)目標(biāo)的信息,包括標(biāo)注標(biāo)簽的種類class,目標(biāo)框的中點(diǎn)x坐標(biāo)x_center,中點(diǎn)y坐標(biāo)y_center,寬度width以及高度height。標(biāo)注標(biāo)簽的種類包含電力桿塔tower和電力線line。

      為了通過(guò)目標(biāo)檢測(cè)的方式對(duì)電力線進(jìn)行識(shí)別,本文對(duì)電力線采用分段標(biāo)注的方式,如圖3所示,將圖片中電力線逐一分段,每一小段打上一個(gè)電力線的標(biāo)簽,這種方式相比較于一個(gè)框標(biāo)注一整條電力線,可以減少大量不必要的背景信息引入,同時(shí)分段小框還能用于在電力線走向的判別上,將連續(xù)的分段小框中心點(diǎn)連接起來(lái),可以形成一條帶方向的電力線。

      圖3 標(biāo)注示意圖

      2.3 樣本分析

      自制電力線數(shù)據(jù)集過(guò)程中,電力線的長(zhǎng)度和不同傾斜角度都會(huì)影響分段真實(shí)框的大小,采用人工分段不可避免存在真實(shí)框長(zhǎng)寬不完全統(tǒng)一的情況,這種偏差會(huì)在一定程度上使得模型訓(xùn)練出來(lái)的目標(biāo)框和真實(shí)框大小也會(huì)有存在偏差,并且一個(gè)分段電力線真實(shí)框尺寸本身也比較小。當(dāng)且僅當(dāng)目標(biāo)框同樣大小且位置高度重合,目標(biāo)框和真實(shí)框的IoU才可能較高,而在其他大部分情況下,由于上述標(biāo)注誤差和電力線目標(biāo)較小,目標(biāo)框和真實(shí)框是較難高度重合,IoU偏小。對(duì)于常見長(zhǎng)度和角度的電力線,在標(biāo)注之前,提前固定真實(shí)框長(zhǎng)度和寬度在一個(gè)區(qū)間內(nèi),盡可能減少引入較大的標(biāo)注誤差。

      3 檢測(cè)算法改進(jìn)

      本文主要從兩個(gè)方面改進(jìn)檢測(cè)算法:(1)優(yōu)化特征提取層網(wǎng)絡(luò)結(jié)構(gòu),加快算法移植在嵌入式平臺(tái)上的部署推理;(2)結(jié)合實(shí)際電力線識(shí)別的場(chǎng)景,改進(jìn)NMS算法,提高識(shí)別效果。

      3.1 輕量化特征提取網(wǎng)絡(luò)

      對(duì)特征提取網(wǎng)絡(luò)輕量化的優(yōu)化工作主要分為修改各C3層中Bottleneck數(shù)量比例和簡(jiǎn)化特征提取網(wǎng)絡(luò)中參數(shù)量大的卷積結(jié)構(gòu)兩個(gè)部分,在不損失過(guò)多模型精度前提下,減少模型的參數(shù)量和計(jì)算復(fù)雜度。

      3.1.1 修改Bottleneck數(shù)量比例

      YOLOv5s特征提取網(wǎng)絡(luò)的C3層主要是對(duì)殘差特征進(jìn)行學(xué)習(xí)的模塊,比CSP結(jié)構(gòu)更簡(jiǎn)單和更快,但是C3層采用多路分離卷積并且通道數(shù)較高,容易占用較多的緩存空間,降低算法運(yùn)行速度,C3層的工作邏輯如下:

      1)原始輸入i進(jìn)入一分支執(zhí)行標(biāo)準(zhǔn)卷積模塊,輸出結(jié)果賦值給a;

      2)將a傳入由Bottleneck組成的模塊,使用Bottleneck的數(shù)量在定義網(wǎng)絡(luò)的時(shí)候確定,輸出結(jié)果賦值給b;

      3)原始輸入i進(jìn)入另一分支只執(zhí)行標(biāo)準(zhǔn)卷積模塊,輸出結(jié)果賦值給c;

      4)特征拼接b和c,輸出結(jié)果為d;

      5)對(duì)結(jié)果d執(zhí)行標(biāo)準(zhǔn)卷積操作,最后返回輸出。

      其中Bottleneck結(jié)構(gòu)如圖4所示,通過(guò)1×1的標(biāo)準(zhǔn)卷積將輸入特征圖的通道數(shù)減小一半,再通過(guò)3×3的標(biāo)準(zhǔn)卷積將通道數(shù)擴(kuò)大一倍,獲得需要的特征并且通道數(shù)不發(fā)生改變,還有一個(gè)shortcut參數(shù)控制是否進(jìn)行殘差連接,在特征提取層默認(rèn)為True,最后使用add操作進(jìn)行特征融合。

      圖4 Bottleneck結(jié)構(gòu)圖

      神經(jīng)網(wǎng)絡(luò)中模塊的寬度、深度和數(shù)量是可以根據(jù)不同數(shù)據(jù)集需要進(jìn)行定制化的設(shè)計(jì),減少卷積的操作可以有效的減少網(wǎng)絡(luò)的計(jì)算量,提升網(wǎng)絡(luò)的目標(biāo)檢測(cè)速度。

      ResNet網(wǎng)絡(luò)中跨階段計(jì)算分布的原始設(shè)計(jì)在很大程度上是經(jīng)驗(yàn)值,借鑒ConvNeXt網(wǎng)絡(luò)修改方法,將layer0到layer3層中block數(shù)量從ResNet-50的(3,4,6,3)改為(3,3,9,3)后降低計(jì)算復(fù)雜度,提高識(shí)別精度[21]。YOLOv5s的特征提取網(wǎng)絡(luò)中包含4個(gè)C3層,分別位于第二到第五層下采樣卷積層的下一層,本文將各C3層中Bottleneck數(shù)量從(3,6,9,3)改為(1,1,3,1),數(shù)量比例也是1:1:3:1,修改后特征提取網(wǎng)絡(luò)中各個(gè)C3層的結(jié)構(gòu)如圖5所示。

      圖5 修改后各C3層結(jié)構(gòu)

      從圖4和圖5可以看出,減少各個(gè)C3層中Bottleneck模塊的數(shù)量,可以減少Bottleneck中卷積和特征融合的參數(shù)量和計(jì)算量,精簡(jiǎn)網(wǎng)絡(luò)結(jié)構(gòu),減少緩存的使用,提高模型的目標(biāo)檢測(cè)速度。

      3.1.2 引入深度可分離卷積

      在特征提取的過(guò)程中,隨著網(wǎng)絡(luò)深度的增加,特征圖的通道數(shù)也在不斷增加,使用傳統(tǒng)卷積對(duì)深層特征圖提取特征時(shí),必然會(huì)有較大的參數(shù)量產(chǎn)生,導(dǎo)致算法計(jì)算運(yùn)行速度較慢。本文采用深度可分離卷積[22]來(lái)替換YOLOv5s特征提取網(wǎng)絡(luò)中最后一個(gè)卷積層結(jié)構(gòu),這個(gè)卷積的參數(shù)量是最大的,可以有效減少參數(shù)量和計(jì)算量,并且這樣不會(huì)影響上層卷積的特征提取效果。

      深度可分離卷積是將一個(gè)標(biāo)準(zhǔn)卷積分解成一個(gè)深度卷積(depthwise convolution)和一個(gè)點(diǎn)卷積(pointwise convolution),如圖6所示,拆分了卷積中通道和空間相關(guān)性的聯(lián)合映射,可以實(shí)現(xiàn)與傳統(tǒng)卷積同樣的效果且不會(huì)損失過(guò)多的識(shí)別精度。

      圖6 深度可分離卷積

      假設(shè)輸入特征圖大小為W×H×C,標(biāo)準(zhǔn)卷積核大小為K×K×C,個(gè)數(shù)為N個(gè),輸出特征圖大小為W×H×N,那么該標(biāo)準(zhǔn)卷積的參數(shù)量為卷積核大小與輸入輸出特征圖通道數(shù)的乘積,計(jì)算過(guò)程如式(6)如示,計(jì)算量的計(jì)算過(guò)程如式(7)所示:

      ParaSC=K×K×C×N

      (6)

      OSC=W×H×C×K×K×N

      (7)

      標(biāo)準(zhǔn)卷積核拆分之后得到深度卷積核大小為K×K×1,個(gè)數(shù)與上一層通道數(shù)相同為C個(gè),是在二維平面上進(jìn)行卷積,點(diǎn)卷積核大小為1×1×C,個(gè)數(shù)為N個(gè),得到該深度可分離卷積的參數(shù)量為深度和點(diǎn)卷積核參數(shù)量的相加,計(jì)算過(guò)程如式(8)如示,同理計(jì)算量也為兩者相加,如式(9)所示:

      ParaDSC=K×K×C+C×N

      (8)

      ODSC=W×H×C×K×K+W×H×C×N

      (9)

      因此,該深度可分離卷積與標(biāo)準(zhǔn)卷積的參數(shù)量和計(jì)算量壓縮比分別為:

      (10)

      (11)

      可以看出,對(duì)于一個(gè)3×3大小的標(biāo)準(zhǔn)卷積,在輸出通道數(shù)為4的情況下,經(jīng)過(guò)深度可分離卷積的替換,參數(shù)量和計(jì)算量均可以減少到原來(lái)的36.1%,當(dāng)輸出通道數(shù)遠(yuǎn)遠(yuǎn)大于卷積核大小乘積,一個(gè)標(biāo)準(zhǔn)卷積的計(jì)算量壓縮比可以大約為1/9。本文針對(duì)的卷積結(jié)構(gòu)為輸入特征圖通道數(shù)為256個(gè),輸出特征圖通道數(shù)為512個(gè)的卷積層,是特征提取網(wǎng)絡(luò)中下采樣的最后一層卷積,替換為深度可分離卷積后,參數(shù)量有較大下降,模型計(jì)算復(fù)雜度降低。

      3.1.3 特征提取網(wǎng)絡(luò)搭建

      本文經(jīng)過(guò)改進(jìn)后YOLOv5s特征提取網(wǎng)絡(luò)結(jié)構(gòu)如表1所示,其中網(wǎng)絡(luò)的深度超參數(shù)設(shè)置為0.33,寬度超參數(shù)設(shè)置為0.50。

      表1 特征提取網(wǎng)絡(luò)結(jié)構(gòu)

      從表1可見,本文算法特征提取網(wǎng)絡(luò)包含5個(gè)卷積層,4個(gè)C3層和1個(gè)SPPF模塊,第5層卷積層為深度可分離卷積,卷積核大小3×3,卷積的步長(zhǎng)為2,最后經(jīng)過(guò)特征提取后得到通道數(shù)為512的特征圖,將輸入到Neck和Prediction用于后續(xù)目標(biāo)預(yù)測(cè)。

      3.2 改進(jìn)NMS算法

      當(dāng)一幅待測(cè)試的圖像輸入到訓(xùn)練好的目標(biāo)檢測(cè)網(wǎng)絡(luò),每個(gè)目標(biāo)網(wǎng)格區(qū)域都會(huì)產(chǎn)生多個(gè)候選框,這些候選框之間會(huì)有重疊部分,NMS是一種非極大值抑制算法,用于將冗余的候選框去除,盡可能找到最佳的預(yù)測(cè)框,即一個(gè)目標(biāo)對(duì)應(yīng)一個(gè)預(yù)測(cè)框,原算法步驟如下:(1)將候選框集合根據(jù)置信度得分進(jìn)行排序;(2)選擇置信度最高的候選框添加到最終輸出列表中,將其從候選框列表中刪除;(3)計(jì)算所有候選框的面積,并計(jì)算置信度最高的候選框與其它候選框的IoU,刪除IoU大于閾值的候選框;(4)重復(fù)上述過(guò)程,直至候選框列表為空。

      置信度評(píng)分是通過(guò)候選框與對(duì)應(yīng)待檢測(cè)目標(biāo)的概率以及候選框和真實(shí)框IoU乘積來(lái)表示該目標(biāo)框預(yù)測(cè)的精度[23],其計(jì)算公式如式(12)所示:

      confidence=Pr(Object)×IoU

      (12)

      其中:Pr(Object)表示YOLOv5s模型的候選框內(nèi)存在目標(biāo)的可能性,如果候選框內(nèi)不存在目標(biāo),則Pr(Object)=0,IoU表示候選框位置的準(zhǔn)確性。

      由于手工標(biāo)注誤差的存在,IoU偏小,使得置信度整體偏小且不能很好體現(xiàn)位置信息。原NMS算法對(duì)電力線候選框篩選后得到的結(jié)果如圖7所示。從圖中可以看到,預(yù)測(cè)框沒有完全覆蓋整條電力線,出現(xiàn)了空缺漏檢的情況。漏檢的情況出現(xiàn),可能會(huì)導(dǎo)致無(wú)人機(jī)因?yàn)槭?shí)際電力線的定位信息而發(fā)生飛偏等意外事故。

      圖7 標(biāo)準(zhǔn)NMS算法檢測(cè)效果

      在實(shí)際的電力線識(shí)別當(dāng)中,需要盡可能地將整條電力線路完整清晰的識(shí)別出來(lái)。原NMS算法采用置信度分?jǐn)?shù)高低來(lái)對(duì)候選框進(jìn)行優(yōu)先篩選,但是分類置信度高的預(yù)測(cè)框不一定擁有與真實(shí)框最接近的位置,容易將定位更為準(zhǔn)確的候選框抑制去掉[24]。本文根據(jù)電力線具有連續(xù)性這個(gè)特征,將原算法步驟(1)中根據(jù)置信度得分進(jìn)行排序修改為根據(jù)候選框縱坐標(biāo)y1作為排序標(biāo)準(zhǔn),檢測(cè)效果如圖8所示,更能反映預(yù)測(cè)框位置信息。

      圖8 改進(jìn)NMS算法檢測(cè)效果

      從圖8中可以看出,修改后的預(yù)選框可以不重疊并且更加清晰緊密地將電力線識(shí)別出來(lái),按照電力線的走向逐一排列,提高了目標(biāo)檢測(cè)效果。

      4 實(shí)驗(yàn)及結(jié)果

      實(shí)驗(yàn)中使用到的硬件配置如表2所示,軟件操作系統(tǒng)為Ubuntu20.04,搭建環(huán)境有:CUDA版本為10.1,cuDNN版本為7.6.5,深度學(xué)習(xí)框架使用Pytorch1.10.2,圖形處理工具使用OpenCV4,編程語(yǔ)言使用Python 3.8等。

      表2 硬件配置表

      4.1 數(shù)據(jù)增強(qiáng)

      在電力線和電力桿塔檢測(cè)模型訓(xùn)練階段,使用包括Mosaic,Mixup[25],圖片平移、縮放、翻轉(zhuǎn)等數(shù)據(jù)增強(qiáng)方法,豐富數(shù)據(jù)集,提高模型的訓(xùn)練效果。

      Mosaic數(shù)據(jù)增強(qiáng)能隨機(jī)將4張電力線路圖片進(jìn)行縮放和裁剪,并且以不同的排布隨機(jī)拼接成一副圖片,如圖9所示為一個(gè)批次大小(batch size)數(shù)量的圖片經(jīng)過(guò)Mosaic處理后的結(jié)果,在對(duì)原始圖片拼接處理之后,還會(huì)以像素填充的形式將圖片長(zhǎng)和寬縮放到同一尺寸。經(jīng)過(guò)這樣的方式處理數(shù)據(jù)后,每次送進(jìn)網(wǎng)絡(luò)的圖片,相當(dāng)于包含了4張?jiān)紙D片的數(shù)據(jù)信息,豐富了電力線路圖片之間的關(guān)聯(lián)信息,對(duì)于單GPU訓(xùn)練,可以減少batch size,提高訓(xùn)練精度。

      圖9 訓(xùn)練圖片Mosaic處理

      Mixup數(shù)據(jù)增強(qiáng)是利用線性插值的方法形成新的樣本,本文增強(qiáng)系數(shù)為0.2,通過(guò)隨機(jī)取出兩張電力線路圖片,將它們的特征向量和標(biāo)簽,對(duì)應(yīng)地加權(quán)相加,得到新樣本的特征向量和標(biāo)簽,新樣本融合了兩張?jiān)紙D片的信息,同樣可以增強(qiáng)模型的抗干擾能力。

      4.2 訓(xùn)練參數(shù)及策略

      在整個(gè)訓(xùn)練過(guò)程中,訓(xùn)練參數(shù)設(shè)置如下:最大訓(xùn)練迭代次數(shù)(epoch)為100,batch size為16,初始學(xué)習(xí)率為0.01,動(dòng)量(momentum)為0.937,權(quán)重衰減(decay)為0.000 5,在一定程度上降低模型出現(xiàn)過(guò)擬合的可能。

      訓(xùn)練策略用warmup來(lái)優(yōu)化訓(xùn)練的效果[26],在模型剛開始訓(xùn)練時(shí),模型的權(quán)重(weights)是隨機(jī)初始化的,若選擇預(yù)先設(shè)定好的學(xué)習(xí)率,可能會(huì)比較大,導(dǎo)致模型出現(xiàn)振蕩的不穩(wěn)定情況,而選擇warmup預(yù)熱學(xué)習(xí)率的方式,將前三個(gè)epoch設(shè)置為預(yù)熱學(xué)習(xí)輪數(shù),預(yù)熱學(xué)習(xí)初始動(dòng)量設(shè)置為0.8,學(xué)習(xí)率較小,模型可以降低訓(xùn)練的誤差,慢慢趨于穩(wěn)定,等模型相對(duì)穩(wěn)定后再使用預(yù)先設(shè)置的學(xué)習(xí)率0.01進(jìn)行訓(xùn)練,使得模型收斂速度變得更快,模型效果更佳。

      本文在多次調(diào)整訓(xùn)練參數(shù)后得到如圖10所示的損失下降曲線,其中橫坐標(biāo)表示訓(xùn)練epoch,縱坐標(biāo)為損失值,從圖中可以看到,YOLOv5s損失函數(shù)中三個(gè)方面的損失整體均趨于收斂,通過(guò)數(shù)據(jù)表明,模型達(dá)到較好的擬合效果,呈現(xiàn)穩(wěn)定狀態(tài),可以用于接下來(lái)進(jìn)行驗(yàn)證和測(cè)試。

      圖10 訓(xùn)練損失下降曲線

      4.3 評(píng)價(jià)指標(biāo)

      在評(píng)估目標(biāo)檢測(cè)算法識(shí)別效果的時(shí)候,通常根據(jù)數(shù)據(jù)集特性,應(yīng)用場(chǎng)景側(cè)重等不同,合理選擇使用一些特定的量化指標(biāo)進(jìn)行評(píng)判。

      本文在電力線和電力桿塔檢測(cè)任務(wù)當(dāng)中,對(duì)算法的識(shí)別精確度,采用準(zhǔn)確率(P,precision)和召回率(R,recall)來(lái)衡量不同算法的分類和檢測(cè)性能,除此之外,針對(duì)無(wú)人機(jī)攜帶的嵌入式平臺(tái)算力有限的算法效率優(yōu)化,采用模型參數(shù)量,模型體積和每秒幀數(shù)(FPS,frames per second)作為改進(jìn)算法的衡量指標(biāo)。P和R的計(jì)算公式如下:

      (13)

      (14)

      其中:TP表示算法檢測(cè)為電力線和電力桿塔目標(biāo)當(dāng)中判斷正確的數(shù)目,F(xiàn)P為判斷錯(cuò)誤的數(shù)目,F(xiàn)N表示算法沒有檢測(cè)出真實(shí)電力線和電力桿塔目標(biāo)的數(shù)目。在判斷目標(biāo)框是TP還是FP時(shí),首先是網(wǎng)絡(luò)產(chǎn)生大量的預(yù)測(cè)框,通過(guò)NMS算法篩選出符合要求閾值的預(yù)測(cè)框,再分別計(jì)算真實(shí)框和這些預(yù)測(cè)框的IoU,此時(shí)如果存在符合IoU條件的預(yù)測(cè)框,那么IoU最大的預(yù)測(cè)框就確定為這個(gè)真實(shí)框的唯一正確判斷結(jié)果,最后沒有判斷正確的預(yù)測(cè)框,均確定為錯(cuò)誤判斷結(jié)果。

      從實(shí)際工程應(yīng)用的角度來(lái)看,分段標(biāo)注的目的在于能將分段的目標(biāo)框用于無(wú)人機(jī)沿著線飛行的指引,而不是將分段的目標(biāo)框和真實(shí)框一一對(duì)應(yīng)起來(lái),因此本文將上述的IoU條件設(shè)置為0.3,充分考慮到手工標(biāo)注的誤差存在和工程應(yīng)用的需求,允許目標(biāo)框位置上存在一定的偏差,更能反映不同目標(biāo)檢測(cè)算法的檢測(cè)效果。

      4.4 實(shí)驗(yàn)設(shè)計(jì)與結(jié)果分析

      本節(jié)將從特征提取網(wǎng)絡(luò)Bottleneck數(shù)量比例選取,不同目標(biāo)檢測(cè)算法對(duì)比和嵌入式平臺(tái)部署三個(gè)方面設(shè)計(jì)實(shí)驗(yàn)并分析改進(jìn)對(duì)實(shí)驗(yàn)結(jié)果的影響,其中對(duì)于算法測(cè)試過(guò)程中NMS算法用到的參數(shù)設(shè)置如下:IoU閾值為0.01,置信度閾值為0.25。

      4.4.1 Bottleneck數(shù)量比例改進(jìn)對(duì)比

      在特征提取網(wǎng)絡(luò)輕量化的改進(jìn)中,本文針對(duì)各C3層中Bottleneck數(shù)量進(jìn)行了修改。為了對(duì)比使用不同Bottleneck數(shù)量對(duì)算法的影響,在YOLOv5s原始特征提取網(wǎng)絡(luò)上采用4種不同的數(shù)量比進(jìn)行實(shí)驗(yàn),得到對(duì)應(yīng)的準(zhǔn)確率、召回率和參數(shù)量指標(biāo),最終算法在測(cè)試集上結(jié)果如表3所示。

      表3 不同Bottleneck比例效果對(duì)比

      原始YOLOv5s特征提取網(wǎng)絡(luò)中Bottleneck數(shù)量比為(3,6,9,3),從表3可以看出,其準(zhǔn)確率為96.6%,召回率為88.9%,參數(shù)量為6.69 MB,不斷減少各層Bottleneck數(shù)量,參數(shù)量不斷下降,但是對(duì)準(zhǔn)確率和召回率的影響并不明顯,最后當(dāng)數(shù)量比為(1,1,3,1)時(shí),參數(shù)量為6.34 MB,減少了5.2%,準(zhǔn)確率和召回率均有少量提升。從實(shí)驗(yàn)結(jié)果可以看到,Bottleneck數(shù)量比例改進(jìn)是可行的,在識(shí)別精度有所提高的情況下能有效降低模型的參數(shù)量。

      4.4.2 目標(biāo)檢測(cè)算法對(duì)比

      為了驗(yàn)證本文算法的有效性,將本文算法與雙階段算法Faster R-CNN,單階段算法SSD,輕量化的YOLOv4-tiny[27]和YOLOv5s進(jìn)行對(duì)比,計(jì)算各個(gè)算法的準(zhǔn)確率、召回率、模型體積和FPS指標(biāo),結(jié)果如表4所示。

      表4 不同算法性能和參數(shù)對(duì)比

      表4的數(shù)據(jù)均在自制電力線路數(shù)據(jù)集的訓(xùn)練集上進(jìn)行訓(xùn)練,通過(guò)測(cè)試集得出的結(jié)果。從表中可以看出,YOLOv5s獲得了96.6%的準(zhǔn)確率,88.9%的召回率,兩者均優(yōu)于Faster R-CNN和YOLOv4-tiny,相比于SSD的召回率雖然低了8.8%,但是高了SSD的準(zhǔn)確率37.8%,再看模型體積和FPS,YOLOv5s相比于其他算法具有絕對(duì)的優(yōu)勢(shì),模型體積為14.0 MB,僅為SSD模型體積的15.4%,F(xiàn)PS為YOLOv4-tiny的兩倍以上。

      本文算法將YOLOv5s作為基礎(chǔ)算法,在特征提取網(wǎng)絡(luò)中引入深度可分離卷積并且減少Bottleneck數(shù)量,同時(shí)也改進(jìn)了NMS算法,優(yōu)化目標(biāo)框的篩選機(jī)制,從表中可以看出本算法模型體積進(jìn)一步壓縮20.7%,有效降低了算法的參數(shù)量和計(jì)算量,在GTX1080Ti上FPS提高了17.7,雖然準(zhǔn)確率有2.6%的下降,但是召回率有6.1%的提升,彌補(bǔ)了YOLOv5s在召回率上的不足,在實(shí)際電力線路檢測(cè)當(dāng)中,出于防止無(wú)人機(jī)巡檢事故發(fā)生的角度,更加看重召回率。從對(duì)比實(shí)驗(yàn)可以看到,本文提出的算法在平衡識(shí)別精度和識(shí)別速度上更具有優(yōu)勢(shì)。

      4.4.3 嵌入式平臺(tái)實(shí)驗(yàn)

      為了進(jìn)一步驗(yàn)證本算法在實(shí)際場(chǎng)景中的實(shí)用性,將目標(biāo)檢測(cè)算法移植部署到嵌入式平臺(tái)Jetson Nano上。

      Jetson Nano是一款嵌入式系統(tǒng)主板,體積較小,適合搭載在無(wú)人機(jī)上。硬件系統(tǒng)其CPU為4核的Cortex-A57,GPU為基于MaxwellTM架構(gòu)的128核集成CPU,有64位的4 GB LPDDR4內(nèi)存,在算力方面具有472 GFLOPs,可以基本滿足小型目標(biāo)檢測(cè)算法的實(shí)時(shí)推理過(guò)程;軟件系統(tǒng)本文安裝的是JetPack 4.4.1 SDK。

      目標(biāo)檢測(cè)模型在訓(xùn)練階段,更加注重識(shí)別精度的提升,但在模型部署階段,部署端平臺(tái)的性能會(huì)有較大的下降,因此在算法實(shí)際部署到嵌入式平臺(tái)這個(gè)過(guò)程中,一般都需要加速優(yōu)化算法的推理過(guò)程,包括降低計(jì)算精度、運(yùn)算合并以及內(nèi)存使用的優(yōu)化等。本實(shí)驗(yàn)利用TensorRT加速推理,通過(guò)自制的測(cè)試集進(jìn)行測(cè)試,同時(shí)還設(shè)置了與YOLOv5s的對(duì)比實(shí)驗(yàn),對(duì)比部署后的算法模型體積和每一秒檢測(cè)圖片的數(shù)量,實(shí)驗(yàn)結(jié)果如表5所示,其中精度設(shè)置為半精度浮點(diǎn)型(FP16),輸入圖片大小為640×640。

      表5 嵌入式平臺(tái)算法性能對(duì)比

      從表5可以看到,本文改進(jìn)算法,模型體積為14.6 MB,下降了22.3%,這意味著嵌入式平臺(tái)可以減少這部分模型的計(jì)算,能有更多算力完成其他功能。在識(shí)別速度上,F(xiàn)PS達(dá)到17.2,在原算法基礎(chǔ)上增加了1.6,在運(yùn)算資源有限的情況下基本滿足實(shí)時(shí)檢測(cè)的需求,測(cè)試效果如圖11所示,電力線和電力桿塔能同時(shí)準(zhǔn)確的識(shí)別出來(lái)。

      圖11 Jetson Nano測(cè)試效果圖

      為了進(jìn)一步驗(yàn)證使用目標(biāo)檢測(cè)識(shí)別電力線來(lái)使無(wú)人機(jī)沿線路巡檢的效果,本文將電力線目標(biāo)框的中心點(diǎn)連接起來(lái),如圖12所示,給無(wú)人機(jī)的飛行提供電力線的方向,從而可以更好完成巡檢的工作。

      圖12 測(cè)試驗(yàn)證圖

      實(shí)驗(yàn)結(jié)果表明,本文在模型結(jié)構(gòu)上壓縮計(jì)算量和參數(shù)量的方式,能有效優(yōu)化算法在嵌入式平臺(tái)上推理的速度,提高實(shí)時(shí)性。

      5 結(jié)束語(yǔ)

      針對(duì)電力線和電力桿塔檢測(cè)任務(wù),為了解決深度學(xué)習(xí)算法計(jì)算量大的問(wèn)題,本文構(gòu)建并標(biāo)注了一個(gè)新的數(shù)據(jù)集,使用YOLOv5s作為基礎(chǔ)目標(biāo)檢測(cè)算法,通過(guò)使用數(shù)量更少的Bottleneck完成對(duì)輸入目標(biāo)的特征提取,采用深度可分離卷積技術(shù)降低卷積計(jì)算的參數(shù)量,有效降低算法的計(jì)算復(fù)雜度,優(yōu)化NMS算法,進(jìn)一步提升了目標(biāo)檢測(cè)的召回率。通過(guò)多組對(duì)比實(shí)驗(yàn)表明,改進(jìn)的YOLOv5s算法比原始算法在檢測(cè)召回率度、模型體積和FPS指標(biāo)均有一定的提升,能在嵌入式平臺(tái)上同時(shí)完成電力線和電力桿塔的檢測(cè),具有較好的實(shí)時(shí)性?,F(xiàn)有數(shù)據(jù)集所能覆蓋的場(chǎng)景有限,接下來(lái)需要獲取到更多原始電力線路樣本數(shù)據(jù),從而進(jìn)一步驗(yàn)證算法的魯棒性。

      猜你喜歡
      候選框電力線特征提取
      重定位非極大值抑制算法
      面向自然場(chǎng)景文本檢測(cè)的改進(jìn)NMS算法
      基于Soft-NMS的候選框去冗余加速器設(shè)計(jì)*
      基于Daubechies(dbN)的飛行器音頻特征提取
      電子制作(2018年19期)2018-11-14 02:37:08
      一種針對(duì)特定目標(biāo)的提議算法
      基于電力線載波通信的智能限電裝置
      電子制作(2017年14期)2017-12-18 07:07:59
      Bagging RCSP腦電特征提取算法
      一種壓縮感知電力線信道估計(jì)機(jī)制
      基于MED和循環(huán)域解調(diào)的多故障特征提取
      電力線載波通信標(biāo)準(zhǔn)PRIME和G3-PLC的研究
      海门市| 卓资县| 离岛区| 东山县| 安陆市| 明星| 广灵县| 九龙城区| 普宁市| 望城县| 南涧| 手游| 稷山县| 长岛县| 阳朔县| 图片| 彰化县| 荔浦县| 同心县| 拉孜县| 吉安县| 昆山市| 区。| 太和县| 唐海县| 贵定县| 庐江县| 噶尔县| 灵武市| 元谋县| 峨山| 车致| 肇东市| 石台县| 封丘县| 神农架林区| 绥阳县| 柞水县| 昌都县| 邵东县| 子长县|