• 
    

    
    

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

      ?

      面向小目標(biāo)檢測(cè)的改進(jìn)YOLOv3算法

      2022-08-11 06:09:22徐思源儲(chǔ)開(kāi)斌馮成濤
      電光與控制 2022年8期
      關(guān)鍵詞:錨框淺層特征提取

      徐思源, 儲(chǔ)開(kāi)斌, 張 繼, 馮成濤

      (常州大學(xué),江蘇 常州 213000)

      0 引言

      近年來(lái),無(wú)人機(jī)以其靈活機(jī)動(dòng)、操作簡(jiǎn)單等優(yōu)點(diǎn)在軍事和民用領(lǐng)域迅速發(fā)展,伴隨著無(wú)人機(jī)技術(shù)的日益成熟,無(wú)人機(jī)的應(yīng)用場(chǎng)景也不斷增加,同時(shí)也促進(jìn)了許多現(xiàn)代技術(shù)與無(wú)人機(jī)技術(shù)的融合,無(wú)人機(jī)加目標(biāo)檢測(cè)也是當(dāng)前的熱點(diǎn)方向。

      傳統(tǒng)的目標(biāo)檢測(cè)算法,如VIOLA等[1-2]提出的基于滑動(dòng)窗口的VJ檢測(cè)器等,算法冗余,且設(shè)計(jì)窗口時(shí)還需要考慮物體長(zhǎng)寬比,手工設(shè)計(jì)的特征魯棒性較差,效率低下,不適用于對(duì)實(shí)時(shí)性要求較高的檢測(cè)任務(wù)。而基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法主要分為T(mén)wo-stage和One-stage兩種。Two-stage代表性算法有R-CNN[3],F(xiàn)ast R-CNN[4],F(xiàn)aster R-CNN[5]等,其特點(diǎn)是生成的錨框會(huì)映射到特征圖的區(qū)域,然后將該區(qū)域重新輸入到全連接層再進(jìn)行分類(lèi)和回歸,每個(gè)錨框映射的區(qū)域都要進(jìn)行這樣的分類(lèi)和回歸,會(huì)耗費(fèi)大量的時(shí)間;One-stage代表性算法有YOLO[6],SSD[7],YOLOv2[8],YOLOv3[9]等,與Two-stage的不同在于錨框是一個(gè)邏輯結(jié)構(gòu),只需對(duì)這個(gè)數(shù)據(jù)塊進(jìn)行分類(lèi)和回歸即可,因此擁有更高的檢測(cè)幀率。但是YOLOv3對(duì)小目標(biāo)的識(shí)別能力有限,目前已有許多學(xué)者對(duì)此展開(kāi)了研究:由ZENG等[10]提出的改進(jìn)型YOLOv3模型充分利用淺層網(wǎng)絡(luò),在第2次下采樣后額外引出這一層的特征圖,并與上一個(gè)尺度中特征圖進(jìn)行拼接,增加一個(gè)小目標(biāo)檢測(cè)能力更強(qiáng)的尺度,提高對(duì)小目標(biāo)的檢測(cè)能力;戴偉聰?shù)萚11]利用YOLOv3進(jìn)行單目標(biāo)物體檢測(cè)時(shí),對(duì)特征提取網(wǎng)絡(luò)進(jìn)行裁剪,另根據(jù)數(shù)據(jù)集特性對(duì)網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行調(diào)整,使改進(jìn)后的YOLOv3 模型檢測(cè)精度與速度都有所提升;文獻(xiàn)[11]還指出,簡(jiǎn)單的卷積神經(jīng)網(wǎng)絡(luò)模型具有更好的泛化性,尤其是在數(shù)據(jù)集較小、數(shù)據(jù)復(fù)雜多變的情況下,且YOLOv3參數(shù)量大,在較小數(shù)據(jù)集的檢測(cè)任務(wù)中容易過(guò)擬合。

      針對(duì)YOLOv3對(duì)高空視角下的小目標(biāo)檢出率低、檢測(cè)精度差的問(wèn)題,本文提出了一種在高空視角下基于YOLOv3的小目標(biāo)檢測(cè)改進(jìn)算法。改進(jìn)算法在提升小目標(biāo)檢測(cè)精度的同時(shí),幀率無(wú)明顯下降,保證了網(wǎng)絡(luò)檢測(cè)的實(shí)時(shí)性。

      1 YOLOv3概述

      YOLO算法最初是由REDMON等于2015年提出的一種基于回歸的目標(biāo)識(shí)別方法[6]。YOLO算法只需要做一遍前向運(yùn)算即可對(duì)多種物體進(jìn)行檢測(cè),將目標(biāo)識(shí)別轉(zhuǎn)化為回歸任務(wù)來(lái)解決,以端到端的方式極大地提高了計(jì)算效率,繞開(kāi)了候選區(qū)域的生成與評(píng)估,使得YOLO系列算法的檢測(cè)速度很快。

      YOLOv3主體部分是由特征提取網(wǎng)絡(luò)與多尺度檢測(cè)器兩部分組成,其特征提取網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。

      特征提取網(wǎng)絡(luò)主要用于提取圖像特征,而多尺度檢測(cè)器在特征提取網(wǎng)絡(luò)的基礎(chǔ)上進(jìn)一步抽象和融合后得到3個(gè)尺度的預(yù)測(cè)特征,在3個(gè)尺度上進(jìn)行檢測(cè),最終輸出圖像中的物體類(lèi)別與檢測(cè)框坐標(biāo)。

      在YOLOv3算法中,將一幅圖像劃分成S×S個(gè)網(wǎng)格,如果待檢測(cè)目標(biāo)存在于某網(wǎng)格中,那么此網(wǎng)格就負(fù)責(zé)檢測(cè)該目標(biāo)。每個(gè)網(wǎng)格負(fù)責(zé)檢測(cè)B個(gè)預(yù)測(cè)框信息,具體包括5個(gè)信息,即x,y,w,h,Cdeg,其中,(x,y),w,h分別代表預(yù)測(cè)框的中心坐標(biāo)與寬高值相對(duì)于所在網(wǎng)格的相對(duì)值,Cdeg為置信度,算式為

      Cdeg=Pr(Obj)*IoU

      (1)

      式中:Pr(Obj)表示該網(wǎng)格中是否存在待檢測(cè)物體,存在為1,不存在為0;IoU為預(yù)測(cè)框與真實(shí)框的交并比。

      YOLOv3的目標(biāo)損失函數(shù)由坐標(biāo)預(yù)測(cè)損失、置信度預(yù)測(cè)損失、類(lèi)別預(yù)測(cè)損失3部分組成。其中,置信度預(yù)測(cè)損失和類(lèi)別預(yù)測(cè)損失均由YOLOv1,YOLOv2的誤差平方和改為對(duì)于類(lèi)別以及置信度預(yù)測(cè)效果更好的交叉熵。損失函數(shù)為

      (2)

      式中:I為網(wǎng)格中的第I個(gè)錨框;C為物體的真實(shí)值;classes為不同物體的分類(lèi)。

      相較于其他算法,YOLOv3的網(wǎng)絡(luò)參數(shù)更少、檢測(cè)速度更快,更適合在計(jì)算資源有限、實(shí)時(shí)性要求更高的無(wú)人機(jī)平臺(tái)上應(yīng)用。但YOLOv3對(duì)淺層網(wǎng)絡(luò)利用不充分,對(duì)于高空視角下出現(xiàn)的小目標(biāo)存在檢測(cè)精度低、檢出率低的問(wèn)題。本文從兩個(gè)方面著手,在提升小目標(biāo)檢測(cè)精度的同時(shí)減小網(wǎng)絡(luò)計(jì)算量,達(dá)到與原始YOLOv3相近的幀率。

      2 改進(jìn)的YOLOv3小目標(biāo)檢測(cè)

      2.1 基于K-means的錨框聚類(lèi)

      K-means是機(jī)器學(xué)習(xí)中的非監(jiān)督學(xué)習(xí),是一種典型的基于距離的聚類(lèi)算法,該算法將相似的數(shù)據(jù)劃分為一個(gè)集合或稱為“一簇”。YOLOv3模型是基于錨框尺寸微調(diào)實(shí)現(xiàn)對(duì)邊界框預(yù)測(cè)的,其在COCO數(shù)據(jù)集上得到了9個(gè)初始的錨框,并平均地分給3個(gè)尺度,用于加強(qiáng)模型對(duì)不同大小目標(biāo)的檢測(cè)能力。其中,小尺度的特征圖對(duì)應(yīng)大的錨框,大尺度的特征圖對(duì)應(yīng)小的錨框。

      但是,由于所有的錨框尺寸都是在COCO數(shù)據(jù)集上聚類(lèi)計(jì)算得到的,并不一定適用于其他數(shù)據(jù)集(如本文的飛機(jī)遙感數(shù)據(jù)集)的尺寸,因此需要對(duì)錨框尺寸進(jìn)行重新聚類(lèi)。本文測(cè)試了4~16個(gè)聚類(lèi)中心對(duì)應(yīng)的平均IoU,結(jié)果如圖2所示。可以發(fā)現(xiàn),平均IoU隨著聚類(lèi)中心個(gè)數(shù)的增加而提升,這表明增加聚類(lèi)中心的個(gè)數(shù)能提高錨框與數(shù)據(jù)集標(biāo)注的一致性。但是過(guò)多的聚類(lèi)中心也會(huì)讓網(wǎng)絡(luò)的計(jì)算量增大,從而影響檢測(cè)的實(shí)時(shí)性。本文選擇在曲線變平緩的區(qū)間內(nèi)選擇網(wǎng)絡(luò)的聚類(lèi)中心個(gè)數(shù),因?yàn)樵谶@一區(qū)間錨框數(shù)量的增加對(duì)于平均IoU的提升幅度開(kāi)始減小,繼續(xù)增加錨框數(shù)量反而會(huì)影響檢測(cè)速度,另外,考慮到本文將原有YOLOv3的3個(gè)輸出尺度改進(jìn)為4個(gè),所以聚類(lèi)中心個(gè)數(shù)最好是4的倍數(shù),使得錨框平均地分配在4個(gè)尺度上。綜合考慮以上因素,本文選擇12個(gè)錨框,并對(duì)本文的訓(xùn)練集進(jìn)行重新聚類(lèi),得到的12個(gè)錨框尺寸分別為(14×29), (20×34),(21×47),(28×43),(26×54),(27×66),(34×56),(33×72),(41×70),(36×87),(47×89)和(57×113)。

      圖2 不同的聚類(lèi)中心數(shù)量對(duì)應(yīng)的IoU變化Fig.2 IoU changes with the number of cluster centers

      2.2 特征提取網(wǎng)絡(luò)改進(jìn)與多尺度輸出

      卷積神經(jīng)網(wǎng)絡(luò)在結(jié)構(gòu)上的特點(diǎn)是,最開(kāi)始淺層網(wǎng)絡(luò)卷積得到的特征圖較大,維度較小,隨著網(wǎng)絡(luò)越來(lái)越深,特征圖會(huì)越來(lái)越小,維度較大。因此,在卷積神經(jīng)網(wǎng)絡(luò)中,淺層網(wǎng)絡(luò)主要用于提取待檢測(cè)目標(biāo)物體的細(xì)節(jié)特征,每個(gè)像素點(diǎn)對(duì)應(yīng)的感受野重疊區(qū)域較小,能保留更多的小目標(biāo)信息,而深層特征圖反映的是抽象的語(yǔ)義信息,主要用來(lái)檢測(cè)大目標(biāo)物體。

      為了提升對(duì)小目標(biāo)的檢測(cè)能力,本文進(jìn)一步充分利用YOLOv3淺層網(wǎng)絡(luò),設(shè)計(jì)的網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。初始YOLOv3的特征提取網(wǎng)絡(luò)由5次下采樣組成,每次下采樣后的殘差塊分別為1,2,8,8,4,本文繼續(xù)沿用這一經(jīng)典的特征提取結(jié)構(gòu),但是對(duì)殘差塊的數(shù)量進(jìn)行重新配置,在小目標(biāo)信息更豐富的第1,2次下采樣各增加1個(gè)殘差塊,從而使淺層卷積層的特征提取更加充分。第3,4次下采樣因?yàn)椴簧婕暗叫∧繕?biāo)尺度,為了使模型能更好地適應(yīng)小數(shù)據(jù)集,擁有更好的泛化性,殘差塊數(shù)量減少為4,6。第5次下采樣保持不變,依然設(shè)置為4個(gè)殘差塊。

      除了改進(jìn)特征提取網(wǎng)絡(luò)的小目標(biāo)提取能力,本文還利用到了更多小目標(biāo)信息。從第2次下采樣引出一個(gè)特征圖輸出,并與上一個(gè)尺度融合。相比于拼接前,特征拼接后待檢測(cè)目標(biāo)的細(xì)節(jié)信息更加豐富。

      卷積網(wǎng)絡(luò)參數(shù)Ppara算式為

      Ppara=(Kh*Kw*Cin)*Cout+Cout

      (3)

      式中:Kh與Kw分別為卷積核的高和寬;Cin與Cout分別是輸入通道數(shù)與輸出通道數(shù)。改動(dòng)淺層網(wǎng)絡(luò)對(duì)網(wǎng)絡(luò)總參數(shù)的影響較小,所以本文在特征提取網(wǎng)絡(luò)上修改對(duì)幀率的影響也較小。

      圖3 改進(jìn)后的框架可視化結(jié)構(gòu)圖Fig.3 Visualization structure of the improved framework

      3 實(shí)驗(yàn)對(duì)比

      3.1 測(cè)試環(huán)境

      本文實(shí)驗(yàn)所采用的操作系統(tǒng)為Ubuntu18.04,GPU為NVIDIA GeForce RTX3090,以及Python3.8.5,Open CV3.4等工具包,采用的深度學(xué)習(xí)框架為Darknet。

      3.2 算法對(duì)比和檢測(cè)可視化

      本文采用平均檢測(cè)精度PmAP、精確率P、召回率R、交并比IoU、幀率以及F1作為檢測(cè)模型的評(píng)價(jià)指標(biāo)。其中

      (4)

      P=PT/(PT+PF)

      (5)

      R=PT/(PT+NF)

      (6)

      式中:PT為真正例,PF為假正例,NT為真反例,NF為假反例;Nclasses為類(lèi)別個(gè)數(shù);PclassAve為不同類(lèi)別的平均精度。

      (7)

      式中:X表示預(yù)測(cè)框;Y表示真實(shí)框。

      (8)

      本文使用遙感飛機(jī)數(shù)據(jù)集UCAS-AOD[12],共900幅遙感飛機(jī)圖像,其中,700幅用于制作訓(xùn)練集,200幅為測(cè)試集。訓(xùn)練過(guò)程中損失函數(shù)可視化圖如圖4所示。

      圖4 模型訓(xùn)練中的損失函數(shù)可視化圖Fig.4 Loss visualization in model training

      表1對(duì)比了本文算法和YOLOv3以及一個(gè)未對(duì)特征提取網(wǎng)絡(luò)做改進(jìn),但使用了與本文相同的4個(gè)尺度輸出思想的文獻(xiàn)[13]算法。

      表1 3種檢測(cè)算法對(duì)比

      可以看出,本文算法因?yàn)閷?duì)特征提取網(wǎng)絡(luò)中淺層網(wǎng)絡(luò)使用了更多的殘差塊,保留了更多的小目標(biāo)信息和邊緣信息,除幀率指標(biāo)外對(duì)比其他兩種算法都有提升。其中,mAP的提升最大,對(duì)比YOLOv3提高5.84%。除幀率稍低于YOLOv3外,各項(xiàng)模型評(píng)估指標(biāo)都有提高,幀率有略微的降低是因?yàn)槟P图訌?qiáng)了小目標(biāo)檢測(cè)能力的同時(shí),增加了一個(gè)完整的輸出尺度,不可避免地加深了網(wǎng)絡(luò),使得總參數(shù)量增加,降低了模型的檢測(cè)速度。但是因?yàn)楸疚乃惴ê?jiǎn)化了特征提取網(wǎng)絡(luò),使其實(shí)時(shí)性下降得并不明顯,對(duì)比YOLOv3幀率僅下降1.3幀/s。

      為驗(yàn)證本文算法對(duì)小目標(biāo)檢測(cè)能力的提升,將其與原YOLOv3算法、文獻(xiàn)[13]算法對(duì)測(cè)試集部分圖像做可視化檢測(cè),如圖5所示。

      圖5 3種算法檢測(cè)結(jié)果對(duì)比

      在圖5所示3組圖像中,共含有待檢測(cè)目標(biāo)16個(gè)。圖5(a)為YOLOv3的檢測(cè)結(jié)果,漏檢數(shù)為6,可以看出YOLOv3對(duì)于部分小目標(biāo)會(huì)出現(xiàn)比較嚴(yán)重的漏檢;圖5(b)為文獻(xiàn)[13]算法的檢測(cè)結(jié)果,漏檢數(shù)為4,相較于YOLOv3有提升但不明顯,對(duì)于靠近登機(jī)橋的目標(biāo)仍然會(huì)出現(xiàn)漏檢,原因是其仍然沿用原YOLOv3的特征提取網(wǎng)絡(luò),即使從淺層網(wǎng)絡(luò)引出輸出尺度,檢測(cè)效果提高的程度也很有限;圖5(c)為本文算法的檢測(cè)結(jié)果,沒(méi)有出現(xiàn)漏檢的情況,驗(yàn)證了改進(jìn)特征提取網(wǎng)絡(luò)并從淺層網(wǎng)絡(luò)引出輸出尺度,可以有效提升YOLOv3對(duì)于小目標(biāo)的檢測(cè)效果。

      為驗(yàn)證本文算法的泛化性,選用了4類(lèi)低質(zhì)量圖像做測(cè)試,共含有待檢測(cè)目標(biāo)20個(gè),檢測(cè)結(jié)果如圖6所示。圖6(a)為YOLOv3的檢測(cè)結(jié)果,漏檢數(shù)為2且模糊環(huán)境圖左側(cè)出現(xiàn)了誤檢;圖6(b)為文獻(xiàn)[13]算法的檢測(cè)結(jié)果,漏檢數(shù)為1;圖6(c)為本文算法的檢測(cè)結(jié)果,漏檢數(shù)為0。實(shí)驗(yàn)證明本文算法有更好的泛化性,在惡劣環(huán)境下、圖像欠曝光和過(guò)度曝光等情況下的檢測(cè)任務(wù)中也有更好的表現(xiàn)。

      圖6 3種算法在低質(zhì)量圖像上的檢測(cè)結(jié)果Fig.6 Detection results of three algorithms on low-quality images

      4 總結(jié)

      本文針對(duì)原有YOLOv3特征提取網(wǎng)絡(luò)進(jìn)行改進(jìn),重新配置每次下采樣殘差塊數(shù)量,并且在輸出端融合一個(gè)淺層的尺度特征以獲得更多小目標(biāo)信息,用于遙感圖像中飛機(jī)小目標(biāo)的檢測(cè)。在數(shù)據(jù)集UCAS-AOD上的實(shí)驗(yàn)表明:本文算法相比YOLOv3在檢測(cè)速度幾乎不變的情況下,大幅提升了檢測(cè)精度,同時(shí)對(duì)于特殊場(chǎng)景下的圖像(霧天、模糊、欠曝光、過(guò)度曝光)也有很好的檢測(cè)效果。

      猜你喜歡
      錨框淺層特征提取
      基于YOLOv3錨框優(yōu)化的側(cè)掃聲吶圖像目標(biāo)檢測(cè)
      錨框策略匹配的SSD飛機(jī)遙感圖像目標(biāo)檢測(cè)
      基于SSD算法的輕量化儀器表盤(pán)檢測(cè)算法*
      基于GA-RoI Transformer的遙感圖像任意方向目標(biāo)檢測(cè)
      淺層換填技術(shù)在深厚軟土路基中的應(yīng)用
      基于淺層曝氣原理的好氧顆粒污泥的快速培養(yǎng)
      基于Daubechies(dbN)的飛行器音頻特征提取
      電子制作(2018年19期)2018-11-14 02:37:08
      Bagging RCSP腦電特征提取算法
      淺層地下水超采區(qū)劃分探究
      包氣帶淺層地?zé)崛萘坑?jì)算方法商榷
      图们市| 宁明县| 塔城市| 西盟| 杨浦区| 诸城市| 涪陵区| 新巴尔虎左旗| 凤庆县| 汉沽区| 宁武县| 响水县| 舞钢市| 遂川县| 抚远县| 黄骅市| 化德县| 黔西| 济宁市| 辽宁省| 论坛| 龙南县| 杭锦旗| 孝昌县| 洞口县| 临安市| 泸溪县| 甘南县| 衡山县| 青铜峡市| 尖扎县| 河津市| 和平区| 定结县| 吉首市| 如皋市| 大邑县| 高密市| 公安县| 沈阳市| 平顺县|