• 
    

    
    

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

      基于深度學(xué)習(xí)的YOLO目標(biāo)檢測(cè)綜述

      2022-10-29 03:37:06邵延華楚紅雨張曉強(qiáng)饒?jiān)撇?/span>
      電子與信息學(xué)報(bào) 2022年10期
      關(guān)鍵詞:邊界預(yù)測(cè)函數(shù)

      邵延華 張 鐸 楚紅雨 張曉強(qiáng) 饒?jiān)撇?/p>

      ①(西南科技大學(xué)信息工程學(xué)院 綿陽 621010)

      ②(電子科技大學(xué) 成都 610054)

      1 引言

      1.1 背景和意義

      目標(biāo)檢測(cè)是計(jì)算機(jī)視覺中的一個(gè)研究熱點(diǎn),在很多領(lǐng)域都有應(yīng)用需求,例如監(jiān)控安全、自動(dòng)駕駛、交通監(jiān)控和機(jī)器人視覺等場(chǎng)景[1]。目標(biāo)檢測(cè)一般是檢測(cè)一些預(yù)定義類別的目標(biāo)實(shí)例(例如人和車等)。

      傳統(tǒng)目標(biāo)檢測(cè)依賴精巧的手工特征設(shè)計(jì)與提取[1,2],例如方向梯度直方圖(Histogram of Oriented Gradient, HOG)[3]。2012年,基于深度卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN)的AlexNet[4]以顯著優(yōu)勢(shì)奪得ImageNet圖像識(shí)別比賽冠軍,從此深度學(xué)習(xí)開始受到廣泛的關(guān)注[5]。目標(biāo)檢測(cè)也逐步進(jìn)入深度學(xué)習(xí)時(shí)代[1,2]。

      基于深度學(xué)習(xí)的目標(biāo)檢測(cè)依據(jù)檢測(cè)方式被分為兩類[6]:兩階段檢測(cè)和單階段檢測(cè),前者是一個(gè)“從粗到細(xì)”的過程;而后者端到端“一步完成”[2]。通常,兩階段檢測(cè)的定位和目標(biāo)識(shí)別精度較高,單階段檢測(cè)速度較快[6]。限于篇幅,兩階段檢測(cè)算法的分析可參見文獻(xiàn)[1,6]。

      通常,單階段檢測(cè)嘗試直接將每個(gè)感興趣區(qū)域分類為背景或目標(biāo)對(duì)象[7]。即只通過一個(gè)階段便可直接給出物體的類別概率和位置坐標(biāo)值。典型代表有YOLO(You Only Look Once)[8]等。

      2015年的YOLOv1[8]直接將圖像劃分為若干區(qū)域,并同時(shí)預(yù)測(cè)每個(gè)區(qū)域的邊界框和概率,檢測(cè)速度得到極大提高。但與當(dāng)時(shí)的兩階段檢測(cè)器相比,定位精度有所欠缺,特別是對(duì)小目標(biāo)。

      YOLO[8]是一種先進(jìn)的單階段目標(biāo)檢測(cè)框架,經(jīng)歷了v1~v4的演變,到目前為止已發(fā)展到結(jié)合傳統(tǒng)壓縮感知的YOLOR(You Only Learn One Representation)[9]和不依賴錨框的YOLOX[10]。如圖1所示,簡(jiǎn)要展示了YOLO檢測(cè)模型的發(fā)展歷程[8–15]。

      1.2 YOLO的基本思想

      YOLOv1[8]的基本框架如圖2所示,首先調(diào)整輸入圖片大小到448×448,送入CNN提取特征,然后處理網(wǎng)絡(luò)預(yù)測(cè)結(jié)果,實(shí)現(xiàn)端到端的目標(biāo)檢測(cè)。

      YOLOv1放棄傳統(tǒng)的滑動(dòng)窗口技術(shù),其CNN將輸入圖片劃分成S×S網(wǎng)格,然后每個(gè)單元格負(fù)責(zé)去檢測(cè)那些中心點(diǎn)落在該網(wǎng)格內(nèi)的目標(biāo),每個(gè)單元格會(huì)預(yù)測(cè)B個(gè)邊界框及邊界框的置信度。置信度包含該邊界框含有目標(biāo)的可能性大小和該邊界框的準(zhǔn)確度。每個(gè)邊界框預(yù)測(cè)5個(gè)元素:(x,y,w,h,c),分別表示邊界框的位置、大小與置信度。每個(gè)單元格預(yù)測(cè)(B×5+C)個(gè)值,其中C為類別數(shù)。之后利用非極大值抑制(Non-Maximum Suppression,NMS)算法進(jìn)行網(wǎng)絡(luò)預(yù)測(cè)。

      后續(xù)YOLO系列均傳承該基本思想。另外,基于PyTorch開發(fā)的YOLOv5[14]尚處于快速發(fā)展的實(shí)驗(yàn)階段,且沒有論文公開發(fā)表,其特點(diǎn)是代碼更容易理解和擴(kuò)展。因此,本文后續(xù)進(jìn)行相關(guān)模塊的介紹,重點(diǎn)是YOLOv1[8]和里程碑的YOLOv3[12],以及在COCO(Common Objects in COntext)數(shù)據(jù)集[16]上表現(xiàn)更佳的最新的YOLOv4[13,15]和YOLOX[10]。

      1.3 綜述對(duì)比

      本文調(diào)研大量目標(biāo)檢測(cè)技術(shù)論文和綜述,進(jìn)而對(duì)YOLO算法做出更全面的總結(jié)。Wu等人[7]系統(tǒng)地分析了現(xiàn)有的目標(biāo)檢測(cè)框架,并將其總結(jié)為檢測(cè)組件、學(xué)習(xí)策略及應(yīng)用和數(shù)據(jù)集3個(gè)主要部分。Zou等人[2]對(duì)檢測(cè)器、數(shù)據(jù)集和指標(biāo)等都進(jìn)行了分析,還對(duì)行人、人臉和文本等檢測(cè)進(jìn)行了概括綜述,并分析了面臨的挑戰(zhàn)。Liu等人[1]的研究主要包括檢測(cè)框架、目標(biāo)特征表示、目標(biāo)建議生成、上下文建模、訓(xùn)練策略和評(píng)估指標(biāo)。Jiao等人[6]對(duì)各類檢測(cè)都進(jìn)行了說明。同時(shí),參考國內(nèi)最新出版的綜述[17],發(fā)現(xiàn)檢測(cè)領(lǐng)域發(fā)展迅速,但限于篇幅和側(cè)重點(diǎn),上述綜述對(duì)YOLOv3之后的發(fā)展基本尚未提及。因此,業(yè)界急需對(duì)YOLO更專注、更細(xì)致和更新的調(diào)研分析。

      1.4 文章的結(jié)構(gòu)

      本文結(jié)構(gòu)如下。第2節(jié)討論了YOLO家族的網(wǎng)絡(luò)結(jié)構(gòu)。第3節(jié)對(duì)目標(biāo)檢測(cè)領(lǐng)域最具代表性的損失函數(shù)進(jìn)行了闡述。第4節(jié)描述了常用的數(shù)據(jù)集、指標(biāo)和性能評(píng)估。然后,根據(jù)5個(gè)典型領(lǐng)域,在第5節(jié)對(duì)YOLO系列的幾個(gè)主流的改進(jìn)和應(yīng)用進(jìn)行了分析。最后,給出了本文總結(jié),并對(duì)今后的工作和發(fā)展趨勢(shì)進(jìn)行了討論。

      2 YOLO系列的網(wǎng)絡(luò)結(jié)構(gòu)

      檢測(cè)器通常由兩部分組成,一個(gè)是提取特征的主干網(wǎng)絡(luò)(backbone),即基礎(chǔ)網(wǎng)絡(luò),一般在ImageNet數(shù)據(jù)集上進(jìn)行預(yù)訓(xùn)練。另一個(gè)是預(yù)測(cè)對(duì)象類別和邊界框的頭部(Head)[12,13]。近幾年,頸部(Neck)被構(gòu)建在主干與頭部之間,用于匯集不同的特征圖,YOLOv4對(duì)該部分進(jìn)行了詳細(xì)的對(duì)比實(shí)驗(yàn)。

      下面將對(duì)YOLO的基礎(chǔ)網(wǎng)絡(luò)進(jìn)行詳細(xì)分析。其中關(guān)于頸部和頭部的更多描述可參見文獻(xiàn)[13]。

      2.1 YOLO家族的基礎(chǔ)網(wǎng)絡(luò)演變

      2.1.1 YOLOv1的網(wǎng)絡(luò)結(jié)構(gòu)

      YOLOv1[8]使用了類似GoogleNet[18]的主干網(wǎng)絡(luò),有24個(gè)卷積層和2個(gè)全連接層。在ImageNet上進(jìn)行預(yù)訓(xùn)練,然后遷移到檢測(cè)任務(wù),在VOC(Visual Object Classes)數(shù)據(jù)集[19]上進(jìn)行驗(yàn)證。

      YOLOv1將輸入圖片分為7× 7的網(wǎng)格,每個(gè)網(wǎng)格預(yù)測(cè)兩個(gè)邊界框,因此有7× 7× 2個(gè)邊界框。最多識(shí)別49個(gè)目標(biāo)。因此YOLOv1不利于識(shí)別密集型目標(biāo)和小目標(biāo)。

      2.1.2 YOLOv2的網(wǎng)絡(luò)結(jié)構(gòu)

      YOLOv2[11]在v1基礎(chǔ)上,借鑒了VGG網(wǎng)絡(luò),構(gòu)建新的主干網(wǎng)絡(luò)Darknet-19。

      YOLOv1利用全連接層直接預(yù)測(cè)邊界框,丟失空間信息較多,引發(fā)定位不準(zhǔn)。因此YOLOv2引入錨框代替v1的全連接層來預(yù)測(cè)邊界框。同時(shí),YOLOv2將輸入尺寸修為416 ×416,最后得到13× 13的特征圖,維數(shù)為奇數(shù),所得特征圖恰好只有一個(gè)中心。利用這個(gè)中心位置預(yù)測(cè)中心點(diǎn)落入該位置的目標(biāo),對(duì)該類目標(biāo)的檢測(cè)會(huì)更容易。圖3展現(xiàn)了其邊界框的預(yù)測(cè)方法。

      圖3虛線矩形框?yàn)橄闰?yàn)框,實(shí)線矩形框?yàn)橥ㄟ^網(wǎng)絡(luò)預(yù)測(cè)的偏移量得到的預(yù)測(cè)邊界框。其中(cx,cy)表示單元網(wǎng)格左上角的坐標(biāo),(pw,ph)為先驗(yàn)框的寬和高,(tx,ty) 和(tw,th)分別為網(wǎng)絡(luò)預(yù)測(cè)邊界框的中心偏移量和寬高縮放比;特征圖中真值坐標(biāo)為(Gx,Gy,Gw,Gh)。 (bx,by,bw,bh)為最終預(yù)測(cè)的目標(biāo)邊界框,從預(yù)設(shè)邊界框到預(yù)測(cè)邊界框的轉(zhuǎn)換過程如圖3右側(cè)公式所示,其中σ函數(shù)是Sigmoid函數(shù),其目的是將預(yù)測(cè)偏移量縮放到0~1,加快網(wǎng)絡(luò)收斂。

      YOLOv2[11]開創(chuàng)性地提出聯(lián)合使用分類和檢測(cè)的訓(xùn)練方法,擴(kuò)展目標(biāo)檢測(cè)到缺乏檢測(cè)樣本的對(duì)象。明顯提升預(yù)測(cè)準(zhǔn)確性的同時(shí)保持了推理快的優(yōu)勢(shì)。

      2.1.3 YOLOv3的網(wǎng)絡(luò)結(jié)構(gòu)

      YOLOv3[12]的基礎(chǔ)網(wǎng)絡(luò)為Darknet-53,它借鑒了ResNet[20]的殘差結(jié)構(gòu),加深網(wǎng)絡(luò)結(jié)構(gòu)的同時(shí),又防止了網(wǎng)絡(luò)梯度爆炸引發(fā)的網(wǎng)絡(luò)難以收斂的問題。前向傳播過程中,移除池化層和全連接層,通過改變卷積核的步長(zhǎng)來改變張量的尺寸。與v2類似,Darknet-53會(huì)將輸出特征縮小到輸入的1/32,因此通常要求輸入圖片分辨率是32的倍數(shù)。

      同時(shí)YOLOv3采用張量拼接擴(kuò)充張量的維度,以提取更多信息,具體操作是將Darknet-53中間層和后面的某一層經(jīng)過上采樣之后進(jìn)行拼接。

      Darknet-53從第0~74層,共有53個(gè)卷積層,其余為殘差層[12]。第75~105層為YOLOv3的特征融合層,其中YOLOv3增加了多尺度檢測(cè)(相當(dāng)于頸部),使用了3種尺度,其輸出分別是52 ×52, 26× 26,13× 13用于檢測(cè)小、中、大目標(biāo),每種尺度預(yù)測(cè)3個(gè)錨框。

      總之,YOLOv3的預(yù)測(cè)框較YOLOv2增加了10多倍,且它們是在不同尺度上進(jìn)行的,所以整體檢測(cè)精度以及對(duì)小物體的檢測(cè)準(zhǔn)確率都有很大的提升,故成為單階段檢測(cè)中的里程碑算法之一。

      2.1.4 YOLOv4的網(wǎng)絡(luò)結(jié)構(gòu)

      YOLOv4[13]將v3之后的各類改進(jìn)方法進(jìn)行總結(jié),分為免費(fèi)包和特價(jià)包。其中,前者表示提升訓(xùn)練而對(duì)推理速度沒有影響的模塊,后者表示對(duì)推理時(shí)間影響較小而性能回報(bào)較高的模塊,例如主干網(wǎng)絡(luò)中采用的局部跨階段結(jié)構(gòu) (Cross Stage Partial,CSP)[21]在保持較高推理速度的同時(shí),仍具有較高的精度。同時(shí),YOLOv4更適合在單個(gè)顯卡上訓(xùn)練[13]。

      Bochkovskiy等人[13]發(fā)現(xiàn)模型分類最優(yōu)時(shí),其檢測(cè)未必是最佳的,例如CSPResNeXt-50的分類精度比CSPDarknet-53要高,但后者檢測(cè)精度更高。同時(shí)使用免費(fèi)包和Mish[22]提高了檢測(cè)的準(zhǔn)確率。因此YOLOv4選用CSPDarknet-53為主干網(wǎng)絡(luò)。

      基礎(chǔ)網(wǎng)絡(luò)部分,YOLOv4的整體架構(gòu)與YOLOv3相同,但對(duì)各個(gè)子結(jié)構(gòu)都進(jìn)行了改進(jìn)。圖4展現(xiàn)了Darknet-53與CSPDarknet-53[21]兩種網(wǎng)絡(luò)結(jié)構(gòu),其中黑色表示Darknet-53,CSPDarknet-53網(wǎng)絡(luò)只需換為紅色框中的結(jié)構(gòu),同時(shí)將濾波器的數(shù)值換為括號(hào)中的紅色數(shù)值即可,YOLOv4刪去了最后的池化層、全連接層以及Softmax層,其主干網(wǎng)絡(luò)有5個(gè)CSP模塊[13]。

      頸部模塊,YOLOv4引入空間金字塔池化(Spatial Pyramid Pooling, SPP)與路徑聚合網(wǎng)絡(luò)(Path Aggregation Network, PANet)[23]模塊。其中,SPP顯著增加了感受野,在不降低運(yùn)行速度的情況下分離了重要的上下文特征。PANet[23]代替YOLOv3中的特征金字塔網(wǎng)絡(luò)(Feature Pyramid Network, FPN)[24,25]進(jìn)行參數(shù)聚合,并使用張量連接代替原來的短連接。

      頭部模塊,YOLOv4繼承了YOLOv3的多尺度思想來進(jìn)行預(yù)測(cè)。

      2.1.5 YOLOv5的網(wǎng)絡(luò)結(jié)構(gòu)

      YOLOv5[14]基本結(jié)構(gòu)與YOLOv4類似,最大不同為根據(jù)不同通道的尺度縮放,依據(jù)模型從小到大構(gòu)建了YOLOv5-N/S/M/L/X 5種模型。

      2.1.6 YOLOX的網(wǎng)絡(luò)結(jié)構(gòu)

      YOLOX[10]依據(jù)YOLOv3[12]和YOLOv5[14],使用了CSPNet[21],SiLU[26]激活函數(shù)以及PANet[23],并遵循縮放規(guī)則設(shè)計(jì)了YOLOX-S/M/L/X 4種模型;然后將模型進(jìn)一步縮小構(gòu)建了YOLOX-Tiny和面向移動(dòng)邊緣設(shè)備的YOLOX-Nano。

      2.2 輕量化

      部分檢測(cè)算法的計(jì)算量較大或模型較大,對(duì)計(jì)算能力和功耗受限的邊緣計(jì)算設(shè)備或物聯(lián)網(wǎng)場(chǎng)景的部署提出了巨大的挑戰(zhàn)。

      當(dāng)前,輕量化主要有兩個(gè)方式:一種是設(shè)計(jì)輕量化的基礎(chǔ)網(wǎng)絡(luò),比如MobileNet系列[27]、Shuffle-Net系列[28]等。主要通過深度可分離卷積、分組卷積、可調(diào)超參數(shù)降低空間分辨率和減少通道數(shù)。另一種是壓縮整體網(wǎng)絡(luò)參數(shù),減少卷積層等設(shè)計(jì)一些“小而薄”的網(wǎng)絡(luò),例如YOLO的tiny系列。李成躍等人[29]基于YOLOv3,保留對(duì)提取特征有較大幫助的全卷積結(jié)構(gòu)、FPN以及ResNet的同時(shí),盡可能減少每層的參數(shù)量和殘差層數(shù),并加入密集連接網(wǎng)絡(luò)和SPP。最終檢測(cè)速度大幅度優(yōu)化,且檢測(cè)精度優(yōu)于YOLOv3-tiny。

      2.3 注意力

      YOLO還可通過引入注意力機(jī)制來提高算法的檢測(cè)精度。注意力機(jī)制[30–32]被應(yīng)用于許多計(jì)算機(jī)視覺任務(wù),如圖像分類[30]等。從原理上來講,注意力模型可分為空間型、通道型和混合型3種。

      文獻(xiàn)[31]通過添加全局上下文(Global Context,GC),提升檢測(cè)效果,其GC對(duì)來自空間和通道維度的輸入特征分配不同的權(quán)重,以突出有用的信息。

      YOLOv4嘗試了多種注意力機(jī)制[13,30,32],并最終選用空間注意力機(jī)制[32]。對(duì)新場(chǎng)景和新算法的實(shí)驗(yàn)有一定的指導(dǎo)意義。

      3 損失函數(shù)與激活函數(shù)

      大多數(shù)深度學(xué)習(xí)算法都涉及某種形式的優(yōu)化[6]。目標(biāo)檢測(cè)也是如此,它不僅定位目標(biāo),還需要分類。損失函數(shù)、交并比(Intersection over Union,IoU)損失[33,34]和激活函數(shù)這3部分對(duì)YOLO至關(guān)重要。下面對(duì)它們分別進(jìn)行分析和總結(jié)。

      3.1 YOLO的損失函數(shù)

      YOLOv1的一個(gè)主要?jiǎng)?chuàng)新是設(shè)計(jì)了一個(gè)巧妙的損失函數(shù),涵蓋了目標(biāo)檢測(cè)中必要的幾個(gè)損失函數(shù)模塊,如邊界框、目標(biāo)置信度和目標(biāo)類別。定義為

      YOLOv1的損失函數(shù)中,大小物體的IoU誤差在網(wǎng)絡(luò)訓(xùn)練中對(duì)損失函數(shù)貢獻(xiàn)值接近。因此,對(duì)于小物體,小的IoU誤差也會(huì)對(duì)網(wǎng)絡(luò)優(yōu)化過程造成很大的影響,從而降低物體檢測(cè)的定位準(zhǔn)確性。

      3.1.2 YOLOv3的損失函數(shù)

      YOLOv3[12]的損失函數(shù)如式(7)—式(9)所示,其Lobj采用了二分交叉熵。由于YOLOv3在3種不同尺度下進(jìn)行預(yù)測(cè),所以最終的損失函數(shù)為3種尺度下?lián)p失函數(shù)之和

      在訓(xùn)練過程中,利用網(wǎng)格本身滿足條件的最佳錨框來回歸寬高的坐標(biāo)偏差

      YOLOv3訓(xùn)練中忽略了大量背景產(chǎn)生的損失,在一定程度上提升了正樣本的作用。

      3.1.3 YOLOv4的損失函數(shù)

      YOLOv4[13]認(rèn)為(x,y,w,h)并不獨(dú)立,需要一個(gè)損失函數(shù)表達(dá)它們之間的相互關(guān)系,采用CIoU(Complete-IoU)[33]取得較好效果。關(guān)于IoU[33,34]的內(nèi)容將在下節(jié)進(jìn)行分析。

      3.2 IoU

      IoU[33]是目標(biāo)檢測(cè)的一個(gè)重要評(píng)價(jià)指標(biāo),可衡量預(yù)測(cè)框和真值之間的距離。常用來計(jì)算Lbbox,多個(gè)檢測(cè)框可能有相同大小的損失,但I(xiàn)oU可能差異很大,為此需引入IoU損失。其定義為

      3.2.2 DIoU (Distance-IoU)

      當(dāng)目標(biāo)框完全包裹預(yù)測(cè)框時(shí),IoU和GIoU的值相等,此時(shí)GIoU退化為IoU,即GIoU嚴(yán)重依賴IoU,因此在兩個(gè)垂直方向,誤差大,難收斂。由此提出DIoU[33]

      DIoU的懲罰項(xiàng)直接最小化兩個(gè)中心點(diǎn)之間的距離,對(duì)包含兩個(gè)框在水平方向和垂直方向上的情況,可加速模型回歸。

      同時(shí),NMS是目標(biāo)檢測(cè)的主流后處理方法,可過濾預(yù)測(cè)同一物體、但效果差的邊界框,僅保留較好的邊界框?;贒IoU的NMS,其結(jié)果更加合理和有效[35]。

      3.2.3 CIoU (Complete-IoU)

      目標(biāo)框損失應(yīng)考慮3個(gè)重要的幾何因素:重疊面積、中心點(diǎn)距離和長(zhǎng)寬比。而DIoU未考慮到檢測(cè)框的長(zhǎng)寬比。長(zhǎng)寬比更接近的邊框應(yīng)有更低的損失,因此提出了CIoU[33]

      文獻(xiàn)[30]對(duì)各種IoU在YOLOv3上用VOC 2007數(shù)據(jù)集進(jìn)行了豐富的消融實(shí)驗(yàn),可知各IoU對(duì)YOLOv3的提升程度。YOLOv3引入CIoU結(jié)合DIoU-NMS,可帶來5.91%平均精度(Average Precision, AP)的巨大改進(jìn)[33]。

      3.2.4 其他

      面向具有高“長(zhǎng)寬比”和復(fù)雜背景的對(duì)象時(shí),PIoU(Pixels-IoU)[36]可顯著提高方向邊界框檢測(cè)性能,優(yōu)于GIoU。

      3.3 激活函數(shù)

      YOLOv1-v2的最后一層使用Softmax激活函數(shù),對(duì)每個(gè)框分配一個(gè)類別(得分最大的一個(gè)),不適合目標(biāo)可能存在重疊類別標(biāo)簽的數(shù)據(jù)集。同時(shí),Softmax可被多個(gè)獨(dú)立的Logistic替代,且準(zhǔn)確率不會(huì)下降。因此v3采用Logistic回歸,用于對(duì)錨框包圍的部分進(jìn)行目標(biāo)性評(píng)分,即該位置是目標(biāo)的可能性(得分)有多大。這一步是在預(yù)測(cè)之前進(jìn)行的,可去掉不必要錨框,減少計(jì)算量。

      YOLOv4[13]在主干網(wǎng)絡(luò)中采用了Mish激活函數(shù)[23],其特點(diǎn)有低成本、平滑、非單調(diào)、無上界、有下界等,與線性整流函數(shù)(Rectified Linear Unit, ReLU)、Swish等常用函數(shù)相比,提高了性能[23]。

      YOLOv5[14]尚處于快速發(fā)展的實(shí)驗(yàn)階段,中間層使用Leaky ReLU激活函數(shù),最后的檢測(cè)層使用Sigmoid激活函數(shù)。

      YOLOR[9]與YOLOX[10]選用SiLU激活函數(shù)[26]。

      4 數(shù)據(jù)集與性能評(píng)估

      4.1 數(shù)據(jù)集

      大量可靠的帶標(biāo)注數(shù)據(jù)集是深度學(xué)習(xí)成功的前提之一。數(shù)據(jù)集不僅是衡量算法性能的基礎(chǔ),還極大地推動(dòng)了目標(biāo)檢測(cè)的發(fā)展,不同數(shù)據(jù)集特點(diǎn)不同[1,2,6,7]。本節(jié)將分析VOC[19], COCO[16]和Vis-Drone[37]等目標(biāo)檢測(cè)領(lǐng)域中的部分典型數(shù)據(jù)集。

      4.1.1 VOC數(shù)據(jù)集

      VOC數(shù)據(jù)集[19]是計(jì)算機(jī)視覺中常用的數(shù)據(jù)集之一,主要任務(wù)有分類、檢測(cè)和分割。針對(duì)檢測(cè)任務(wù),典型的VOC2007由train/val/test 3部分組成,而VOC2012則將訓(xùn)練集和驗(yàn)證集組合起來分為trainval/test兩部分。

      VOC中物體可分4大類,亦可細(xì)粒度的分為20類,其中,“person”類實(shí)例最多,“sheep”是數(shù)據(jù)實(shí)例最少的類,此外,VOC還存在一定的檢測(cè)難度,例如“cat”和“dog”在視覺上較相似。

      4.1.2 COCO數(shù)據(jù)集

      隨著深度學(xué)習(xí)的發(fā)展,VOC數(shù)據(jù)集的規(guī)模略顯不足,業(yè)界需要新的數(shù)據(jù)集,其中COCO[16]是最著名的一個(gè)。其官網(wǎng)為:http://mscoco.org/??捎脕韴D像識(shí)別、分割、檢測(cè)等任務(wù)。分為訓(xùn)練集、驗(yàn)證集和測(cè)試集。具體來講,目標(biāo)檢測(cè)賽道的主要特點(diǎn)如下:(1)多目標(biāo);(2)部分對(duì)象存在遮擋與噪聲;(3)包含各種尺寸的物體;(4)超過300000張圖片;(5)超過2000000個(gè)實(shí)例;(6)80個(gè)目標(biāo)類別[16]。

      COCO中單圖的平均目標(biāo)數(shù)是VOC的3倍左右,且小目標(biāo)居多。在種類方面,COCO平均每幅圖片包含3.5個(gè)類別。

      4.1.3 VisDrone數(shù)據(jù)集

      截至目前,各領(lǐng)域?qū)τ跓o人機(jī)的應(yīng)用需求非常廣泛。VisDrone數(shù)據(jù)集[37]發(fā)布于2018年,并在2019年由天津大學(xué)等進(jìn)行擴(kuò)展。為目標(biāo)檢測(cè)提供了10209張圖片,其中6471張圖像用于訓(xùn)練,548張用于驗(yàn)證,3190張用于測(cè)試,同時(shí)還提供了96個(gè)用于目標(biāo)檢測(cè)的視頻剪輯,包括56個(gè)用于訓(xùn)練(共計(jì)24201幀),7個(gè)用于驗(yàn)證(共計(jì)2819幀)和33個(gè)用于測(cè)試(共計(jì)12968幀)[37]。相對(duì)而言,VisDrone數(shù)據(jù)集場(chǎng)景復(fù)雜,遮擋情況嚴(yán)重,同時(shí)標(biāo)簽密集,對(duì)算法的要求也隨之上升。其部分典型場(chǎng)景如圖5所示。

      4.1.4 其他

      除了上述典型數(shù)據(jù)集,各行業(yè)的具體需求催生一些檢測(cè)比賽,使智能檢測(cè)應(yīng)用至各個(gè)領(lǐng)域。如中國模式識(shí)別與計(jì)算機(jī)視覺學(xué)術(shù)會(huì)議(chinese conference on Pattern Recognition and Computer Vision, PRCV)對(duì)火焰、后廚老鼠、安全帽的檢測(cè)比賽,以及Kaggle比賽對(duì)小麥的檢測(cè)等[38],其數(shù)據(jù)集示例如圖6所示。YOLO在這些比賽中通常都會(huì)占有一席之地。促進(jìn)了YOLO的進(jìn)步和落地實(shí)戰(zhàn),更加驗(yàn)證了其優(yōu)勢(shì)。

      4.2 指標(biāo)

      如何評(píng)估檢測(cè)器的有效性?不同的數(shù)據(jù)集給出了不同的指標(biāo)答案。

      4.2.1 VOC數(shù)據(jù)集的指標(biāo)

      對(duì)于VOC數(shù)據(jù)集,使用插值平均精度來評(píng)估分類和檢測(cè)。其設(shè)計(jì)是為了在出現(xiàn)重檢測(cè)、誤檢測(cè)以及目標(biāo)丟失時(shí)對(duì)算法進(jìn)行懲罰。主要指標(biāo)為[6]

      精確度(precision)即預(yù)測(cè)為真的真實(shí)正例與所有預(yù)測(cè)正例的比值,召回率(recall)即預(yù)測(cè)為真與所有真實(shí)正例的比值[1,6]。幾乎所有的目標(biāo)檢測(cè)論文中,基于0.5IoU的平均精度均值(mean AP, mAP)已成為多年來目標(biāo)檢測(cè)問題最重要的實(shí)際度量標(biāo)準(zhǔn)之一[2]。在判斷檢測(cè)速度方面,每秒處理幀數(shù)(Frames Per Second, fps)是公認(rèn)的度量方法。

      4.2.2 COCO數(shù)據(jù)集的指標(biāo)

      COCO的指標(biāo)比VOC更嚴(yán)格,采用多IoU評(píng)估方法更關(guān)注邊界框的準(zhǔn)確性。在閾值設(shè)置方面,不同于VOC的常值0.5,COCO將其分為以0.5為起始值,0.95為終止值,間隔為0.05的10個(gè)值[16]。通過計(jì)算不同閾值的平均精度,來確定度量標(biāo)準(zhǔn),更能反映檢測(cè)算法的綜合性能。此外,COCO還分別計(jì)算了大、中、小3類物體的平均精度,來衡量檢測(cè)器檢測(cè)不同尺度目標(biāo)的性能。在COCO評(píng)價(jià)指標(biāo)中,所有的AP默認(rèn)為mAP[16]。

      VisDrone數(shù)據(jù)集采用COCO的度量指標(biāo)。

      4.3 表現(xiàn)

      4.3.1 VOC數(shù)據(jù)集

      表1列舉了不同YOLO在VOC2012上的檢測(cè)結(jié)果。其中,當(dāng)輸入尺寸增大時(shí),精度會(huì)隨之增加,相應(yīng)的檢測(cè)速度會(huì)隨之降低。

      表1 YOLO系列在VOC2012的檢測(cè)結(jié)果

      由于YOLOv4在速度和精度方面相較之前版本都有了重大提升,因此YOLOv4之后的模型一般在規(guī)模更大的COCO數(shù)據(jù)集上進(jìn)行測(cè)試。

      4.3.2 COCO數(shù)據(jù)集

      表2列舉了幾種典型的YOLO算法在COCO數(shù)據(jù)集的結(jié)果,并給出了其使用的圖形處理器(Graphics Processing Unit, GPU)類別??梢奀OCO數(shù)據(jù)集對(duì)目前的檢測(cè)器來說仍是一個(gè)巨大的挑戰(zhàn)。

      表2 各類YOLO算法在COCO test2017上的表現(xiàn)

      4.3.3 VisDrone數(shù)據(jù)集

      盡管在通用目標(biāo)檢測(cè)場(chǎng)景有了巨大進(jìn)步,但是面向航拍場(chǎng)景的目標(biāo)檢測(cè),精度依然較低[41]。另外,無人機(jī)的機(jī)載計(jì)算能力通常受限,因此航拍目標(biāo)檢測(cè)仍是一個(gè)巨大的挑戰(zhàn)[37]。

      歷年VisDrone比賽中YOLO被許多團(tuán)隊(duì)采用并改進(jìn),詳情可在VisDrone官方網(wǎng)址:http://aiskyeye.com/visdrone-2020-leaderboard/中查詢。

      4.4 YOLO程序框架

      YOLO的代碼實(shí)現(xiàn)主要基于Darknet和PyTorch。Darknet[8]是一種基于CUDA (Compute Unified Device Architecture) 和 C的較PyTorch與Tensor-Flow輕量的開源框架。其支持中央處理器(Central Processing Unit, CPU)與GPU,具有易安裝,編譯速度快、依賴少和易部署等優(yōu)點(diǎn),因此其更適合用來研究底層。YOLOv1-v4的文獻(xiàn)開源代碼均基于Darknet。YOLOv5代碼基于PyTorch,且代碼不再適配Darknet的數(shù)據(jù)組織方式。

      5 改進(jìn)與應(yīng)用

      除常規(guī)場(chǎng)景外,YOLO還被應(yīng)用到其他場(chǎng)景中。例如3D場(chǎng)景[42–44]、邊緣計(jì)算[45,46]、航拍場(chǎng)景[47–49]等。針對(duì)不同的場(chǎng)景和需求,眾多研究者對(duì)YOLO提出了不同的改進(jìn)策略。

      5.1 3D場(chǎng)景

      對(duì)于目標(biāo)抓取這一典型應(yīng)用場(chǎng)景,不僅需要物體的3D空間位置(x,y,z),同時(shí)還需要物體的旋轉(zhuǎn)狀態(tài)。Tekin等人[42]提出一種僅使用一張2D圖片來預(yù)測(cè)物體6D姿態(tài)的方法。除此之外,結(jié)合視覺語義[43]和引入3D-IoU[44]被證明是有效的手段。

      5.2 移動(dòng)端邊緣計(jì)算

      邊緣計(jì)算需要更好的平衡精度和網(wǎng)絡(luò)體積[40]。其中自動(dòng)售貨機(jī)也是邊緣計(jì)算檢測(cè)的一種典型應(yīng)用場(chǎng)景,例如Lee等人[46]通過消除對(duì)不感興趣區(qū)域的計(jì)算,在精度下降2.81%的情況下,將YOLOv3的運(yùn)算速度提高了3.29倍。基于現(xiàn)場(chǎng)可編程邏輯門陣列的YOLO加速實(shí)現(xiàn)了體積小、運(yùn)行速度快、功耗小的需求[45]。

      5.3 模型縮放

      為了應(yīng)對(duì)不同平臺(tái)的部署需求,研究人員提出了尺度縮放網(wǎng)絡(luò),基于基礎(chǔ)結(jié)構(gòu),通過加深、加寬網(wǎng)絡(luò)或者改變網(wǎng)絡(luò)分辨率從而實(shí)現(xiàn)神經(jīng)網(wǎng)的尺度縮放[15]。典型的YOLOv4-tiny適合部署在低端設(shè)備。最新的YOLOX[10]更是推出了6個(gè)不同大小的模型面對(duì)不同的需求。

      5.4 航拍場(chǎng)景

      隨著無人機(jī)的廣泛應(yīng)用,航拍目標(biāo)檢測(cè)應(yīng)運(yùn)而生。其主要問題有:目標(biāo)尺度變化大、背景復(fù)雜以及場(chǎng)景明暗變化等問題[47–49]。針對(duì)上述問題,通道隨機(jī)混合、分組卷積、可變形卷積模塊[47]和剪枝[49]被證明是有效的。自Tijtgat等人[48]在NVIDIA Jetson TX2上成功部署YOLOv2以后,NVIDIA Jetson TX2已成為航拍算法驗(yàn)證的標(biāo)準(zhǔn)平臺(tái)之一。

      5.5 其他

      5.5.1 交通

      當(dāng)前,面向交通場(chǎng)景的YOLO應(yīng)用越來越多。例如,汽車牌照檢測(cè)[50]、卡車的盲區(qū)檢測(cè)[51]、汽車類型檢測(cè)[52]和車輛徽標(biāo)檢測(cè)[53]??蛇M(jìn)一步提升車輛行駛安全以及交通管制的智能化程度。

      5.5.2 農(nóng)業(yè)

      YOLO目標(biāo)檢測(cè)在農(nóng)業(yè)方面也有重要需求和應(yīng)用。例如農(nóng)業(yè)溫室檢測(cè)[54]、蘋果花實(shí)時(shí)檢測(cè)[55]和青芒果檢測(cè)[56]。

      5.5.3 醫(yī)學(xué)

      在醫(yī)學(xué)領(lǐng)域,2020年便有多篇應(yīng)用YOLO的論文發(fā)表[57,58]。例如,基于YOLOv2的白細(xì)胞定位[57]和基于YOLO心臟矢量流映射分析與評(píng)價(jià)方法[58]。上述研究證明了YOLO在醫(yī)學(xué)領(lǐng)域的適應(yīng)性。

      5.5.4 行人檢測(cè)

      行人檢測(cè)是智能自動(dòng)駕駛中的重要領(lǐng)域[59,60]。針對(duì)紅外感知場(chǎng)景,在U-FOV紅外行人數(shù)據(jù)集上,通過構(gòu)建特征金字塔和注意力模塊,對(duì)比YOLOv3提升了26.49%[60]。Kri?to等人[61]使用YOLOv3在熱圖像中自動(dòng)檢測(cè)人,同時(shí)給出了人體和動(dòng)物在熱圖像中的識(shí)別結(jié)果。

      5.5.5 工業(yè)

      YOLO算法在電力[62]、建筑足跡[63]以及航空工業(yè)[64]等方面也有一定的應(yīng)用。例如,Liu等人[62]基于改進(jìn)的YOLOv3進(jìn)行了輸電線路檢測(cè);Xie等人[63]基于YOLO實(shí)現(xiàn)檢測(cè)小目標(biāo)與密集分布的建筑足跡;Luo等人[64]基于YOLOv3-tiny的改進(jìn)模型,使得渦旋區(qū)域檢測(cè)有了更好更快的提升。

      6 總結(jié)與展望

      本文根據(jù)YOLO的模型結(jié)構(gòu)、損失函數(shù)、交并比等的改進(jìn),對(duì)YOLO系列的幾個(gè)重要版本進(jìn)行了詳細(xì)的分析與總結(jié)。并對(duì)經(jīng)注意力、輕量化等方式改進(jìn)后的YOLO算法進(jìn)行了對(duì)比分析,體現(xiàn)了其被廣泛使用的原因。之后對(duì)常用的典型數(shù)據(jù)集進(jìn)行了介紹,展現(xiàn)了YOLO系列算法目前所能達(dá)到的效果。最后,分析了YOLO在不同場(chǎng)景下的應(yīng)用。

      綜合當(dāng)前目標(biāo)檢測(cè)的研究現(xiàn)狀,對(duì)今后的研究做出如下展望:

      (1) 盡管YOLO系列是目標(biāo)檢測(cè)領(lǐng)域中速度-精度均衡的佼佼者,但其主要工作是面向電腦端。當(dāng)前,邊緣計(jì)算已成為人工智能(Artificial Intelligence,AI)發(fā)展的重要趨勢(shì)之一。面向Nvidia Jetson TX2,Nano和樹莓派等嵌入式AI計(jì)算設(shè)備,如何使YOLO更輕更快是一個(gè)值得深思的問題。

      (2) 技術(shù)角度講,自里程碑式的YOLOv3到集成創(chuàng)新大成者YOLOv4,再到最新的結(jié)合傳統(tǒng)壓縮感知的YOLOR[9]和不依賴錨框的YOLOX[10]。融合各種先進(jìn)的算法成為YOLO算法發(fā)展的重要方式,例如探索融入注意力聚合FPN,變結(jié)構(gòu)IoU損失以及廣義焦點(diǎn)損失等。

      (3) 經(jīng)過數(shù)年的發(fā)展,YOLO算法雖取得了顯著的進(jìn)步,但在解決更多現(xiàn)實(shí)問題時(shí)仍需要進(jìn)一步的研究,例如旋轉(zhuǎn)矩形框、3D目標(biāo)、少樣本、航拍場(chǎng)景以及如何將所研究算法進(jìn)行TensorRT等優(yōu)化部署等。

      猜你喜歡
      邊界預(yù)測(cè)函數(shù)
      無可預(yù)測(cè)
      黃河之聲(2022年10期)2022-09-27 13:59:46
      選修2-2期中考試預(yù)測(cè)卷(A卷)
      選修2-2期中考試預(yù)測(cè)卷(B卷)
      拓展閱讀的邊界
      二次函數(shù)
      第3講 “函數(shù)”復(fù)習(xí)精講
      二次函數(shù)
      函數(shù)備考精講
      論中立的幫助行為之可罰邊界
      不必預(yù)測(cè)未來,只需把握現(xiàn)在
      定边县| 云和县| 芜湖县| 朔州市| 佛坪县| 塘沽区| 启东市| 陆良县| 江达县| 绥德县| 洞口县| 赣榆县| 星子县| 如皋市| 密云县| 丰原市| 来凤县| 渑池县| 贵港市| 洛南县| 巴南区| 醴陵市| 登封市| 福建省| 二手房| 万源市| 社旗县| 新建县| 许昌县| 义乌市| 元朗区| 项城市| 中阳县| 沙坪坝区| 都昌县| 宝丰县| 曲阳县| 静乐县| 巨野县| 紫阳县| 漳浦县|