極市導(dǎo)讀 目標(biāo)檢測(cè)領(lǐng)域發(fā)展至今已有二十余載,本文將對(duì)目標(biāo)檢測(cè)領(lǐng)域近20年的發(fā)展做一次系統(tǒng)性的介紹,并為目標(biāo)檢測(cè)構(gòu)建一個(gè)完整的知識(shí)體系架構(gòu)。 引言目標(biāo)檢測(cè)領(lǐng)域發(fā)展至今已有二十余載,從早期的傳統(tǒng)方法到如今的深度學(xué)習(xí)方法,精度越來(lái)越高的同時(shí)速度也越來(lái)越快,這得益于深度學(xué)習(xí)等相關(guān)技術(shù)的不斷發(fā)展。本文將對(duì)目標(biāo)檢測(cè)領(lǐng)域的發(fā)展做一個(gè)系統(tǒng)性的介紹,旨在為讀者構(gòu)建一個(gè)完整的知識(shí)體系架構(gòu),同時(shí)了解目標(biāo)檢測(cè)相關(guān)的技術(shù)棧及其未來(lái)的發(fā)展趨勢(shì)。由于編者水平有限,本文若有不當(dāng)之處還請(qǐng)指出與糾正,歡迎大家評(píng)論交流! 本文將從以下九大方面進(jìn)行展開:
1. 背景目標(biāo)檢測(cè)任務(wù)是找出圖像或視頻中人們感興趣的物體,并同時(shí)檢測(cè)出它們的位置和大小。不同于圖像分類任務(wù),目標(biāo)檢測(cè)不僅要解決分類問(wèn)題,還要解決定位問(wèn)題,是屬于Multi-Task的問(wèn)題。如下圖1-1所示: 作為計(jì)算機(jī)視覺的基本問(wèn)題之一,目標(biāo)檢測(cè)構(gòu)成了許多其它視覺任務(wù)的基礎(chǔ),例如實(shí)例分割,圖像標(biāo)注和目標(biāo)跟蹤等等;從檢測(cè)應(yīng)用的角度看:行人檢測(cè)、面部檢測(cè)、文本檢測(cè)、交通標(biāo)注與紅綠燈檢測(cè),遙感目標(biāo)檢測(cè)統(tǒng)稱為目標(biāo)檢測(cè)的五大應(yīng)用。 2. 目標(biāo)檢測(cè)發(fā)展脈絡(luò)目標(biāo)檢測(cè)的發(fā)展脈絡(luò)可以劃分為兩個(gè)周期:傳統(tǒng)目標(biāo)檢測(cè)算法時(shí)期(1998年-2014年)和基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法時(shí)期(2014年-至今)。而基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法又發(fā)展成了兩條技術(shù)路線:Anchor based方法(一階段,二階段)和Anchor free方法。下圖2-1展示了從2001年至2021年目標(biāo)檢測(cè)領(lǐng)域中,目標(biāo)檢測(cè)發(fā)展路線圖。 2.1 傳統(tǒng)目標(biāo)檢測(cè)算法不同于現(xiàn)在的卷積神經(jīng)網(wǎng)絡(luò)可以自動(dòng)提取高效特征進(jìn)行圖像表示,以往的傳統(tǒng)目標(biāo)檢測(cè)算法主要基于手工提取特征。傳統(tǒng)檢測(cè)算法流程可概括如下:
2.1.1 Viola Jones DetectorVJ[1] (Viola Jones)檢測(cè)器采用滑動(dòng)窗口的方式以檢查目標(biāo)是否存在窗口之中,該檢測(cè)器看起來(lái)似乎很簡(jiǎn)單穩(wěn)定,但由于計(jì)算量龐大導(dǎo)致時(shí)間復(fù)雜度極高,為了解決該項(xiàng)問(wèn)題,檢測(cè)器通過(guò)合并三項(xiàng)技術(shù)極大提高了檢測(cè)速度,這三項(xiàng)技術(shù)分別是:1)特征的快速計(jì)算方法-積分圖,2)有效的分類器學(xué)習(xí)方法-AdaBoost,以及3)高效的分類策略-級(jí)聯(lián)結(jié)構(gòu)的設(shè)計(jì)。 2.1.2 HOG DetectorHOG[2](Histogram of Oriented Gradients)檢測(cè)器于2005年提出,是當(dāng)時(shí)尺度特征不變性(Scale Invariant Feature Transform)和形狀上下文(Shape Contexts)的重要改進(jìn),為了平衡特征不變性(包括平移,尺度,光照等)和非線性(區(qū)分不同的對(duì)象類別),通過(guò)在均勻間隔單元的密集網(wǎng)格上計(jì)算重疊的局部對(duì)比度歸一化來(lái)提高檢測(cè)準(zhǔn)確性,因此檢測(cè)器是基于本地像素塊進(jìn)行特征直方圖提取的一種算法,它在目標(biāo)局部變形和受光照影響下都有很好的穩(wěn)定性。為后期很多檢測(cè)方法奠定了重要基礎(chǔ),相關(guān)技術(shù)被廣泛應(yīng)用于計(jì)算機(jī)視覺各大應(yīng)用。 2.1.3 DPM Detector作為VOC 2007-2009目標(biāo)檢測(cè)挑戰(zhàn)賽的冠軍,DPM[3] (Deformable Parts Model)是目標(biāo)檢測(cè)傳統(tǒng)算法中當(dāng)之無(wú)愧的SOTA(State Of The Art)算法。于2008年提出,相比于,作了很多改進(jìn),因此該算法可以看作的延申算法。算法由一個(gè)主過(guò)濾器(Root-filter)和多個(gè)輔過(guò)濾器(Part-filters)組成,通過(guò)硬負(fù)挖掘(Hard negative mining),邊框回歸(Bounding box regression)和上下文啟動(dòng)(Context priming)技術(shù)改進(jìn)檢測(cè)精度。作為傳統(tǒng)目標(biāo)檢測(cè)算法的SOTA,方法運(yùn)算速度快,能夠適應(yīng)物體形變,但它無(wú)法適應(yīng)大幅度的旋轉(zhuǎn),因此穩(wěn)定性差。 2.1.4 局限性基于手工提取特征的傳統(tǒng)目標(biāo)檢測(cè)算法主要有以下三個(gè)缺點(diǎn):
2.2 Anchor-Based中的Two-stage目標(biāo)檢測(cè)算法基于手工提取特征的傳統(tǒng)目標(biāo)檢測(cè)算法進(jìn)展緩慢,性能低下。直到2012年卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks, CNNs)的興起將目標(biāo)檢測(cè)領(lǐng)域推向了新的臺(tái)階?;贑NNs的目標(biāo)檢測(cè)算法主要有兩條技術(shù)發(fā)展路線:anchor-based和anchor-free方法,而anchor-based方法則包括一階段和二階段檢測(cè)算法(二階段目標(biāo)檢測(cè)算法一般比一階段精度要高,但一階段檢測(cè)算法速度會(huì)更快)。 二階段檢測(cè)算法主要分為以下兩個(gè)階段 2.2.1 RCNN> 論文鏈接:https://openaccess./content\_cvpr\_2014/papers/Girshick\_Rich\_Feature\_Hierarchies\_2014\_CVPR\_paper.pdf 【簡(jiǎn)介】 RCNN[4] 由Ross Girshick于2014年提出,RCNN首先通過(guò)選擇性搜索算法Selective Search從一組對(duì)象候選框中選擇可能出現(xiàn)的對(duì)象框,然后將這些選擇出來(lái)的對(duì)象框中的圖像resize到某一固定尺寸的圖像,并喂入到CNN模型(經(jīng)過(guò)在ImageNet數(shù)據(jù)集上訓(xùn)練過(guò)的CNN模型,如AlexNet)提取特征,最后將提取出的特征送入到分類器來(lái)預(yù)測(cè)該對(duì)象框中的圖像是否存在待檢測(cè)目標(biāo),并進(jìn)一步預(yù)測(cè)該檢測(cè)目標(biāo)具體屬于哪一類。 【性能】 RCNN算法在VOC-07數(shù)據(jù)集上取得了非常顯著的效果,平均精度由33.7%(DPM-V5, 傳統(tǒng)檢測(cè)的SOTA算法)提升到58.5%。相比于傳統(tǒng)檢測(cè)算法,基于深度學(xué)習(xí)的檢測(cè)算法在精度上取得了質(zhì)的飛躍。 【不足】 雖然RCNN算法取得了很大進(jìn)展,但缺點(diǎn)也很明顯:重疊框(一張圖片大2000多個(gè)候選框)特征的冗余計(jì)算使得整個(gè)網(wǎng)絡(luò)的檢測(cè)速度變得很慢(使用GPU的情況下檢測(cè)一張圖片大約需要14S)。 為了減少大量重疊框帶來(lái)的冗余計(jì)算,K. He等人提出了SPPNet。 2.2.2 SPPNet
【簡(jiǎn)介】 SPPNet[5] 提出了一種空間金字塔池化層(Spatial Pyramid Pooling Layer, SPP)。它的主要思路是對(duì)于一副圖像分成若干尺度的圖像塊(比如一副圖像分成1份,4份,8份等),然后對(duì)每一塊提取的特征融合在一起,從而兼顧多個(gè)尺度的特征。SPP使得網(wǎng)絡(luò)在全連接層之前能生成固定尺度的特征表示,而不管輸入圖片尺寸如何。當(dāng)使用SPPNet網(wǎng)絡(luò)用于目標(biāo)檢測(cè)時(shí),整個(gè)圖像只需計(jì)算一次即可生成相應(yīng)特征圖,不管候選框尺寸如何,經(jīng)過(guò)SPP之后,都能生成固定尺寸的特征表示圖,這避免了卷積特征圖的重復(fù)計(jì)算。 【性能】 相比于RCNN算法,SPPNet在Pascal-07數(shù)據(jù)集上不犧牲檢測(cè)精度(VOC-07, mAP=59.2%)的情況下,推理速度提高了20多倍。 【不足】 和RCNN一樣,SPP也需要訓(xùn)練CNN提取特征,然后訓(xùn)練SVM分類這些特征,這需要巨大的存儲(chǔ)空間,并且多階段訓(xùn)練的流程也很繁雜。除此之外,SPPNet只對(duì)全連接層進(jìn)行微調(diào),而忽略了網(wǎng)絡(luò)其它層的參數(shù)。 為了解決以上存在的一些不足,2015年R. Girshick等人提出Fast RCNN 2.2.3 Fast RCNN> 論文鏈接:https://openaccess./content\_iccv\_2015/papers/Girshick\_Fast\_R-CNN\_ICCV\_2015\_paper.pdf 【簡(jiǎn)介】 Fast RCNN[6] 網(wǎng)絡(luò)是RCNN和SPPNet的改進(jìn)版,該網(wǎng)路使得我們可以在相同的網(wǎng)絡(luò)配置下同時(shí)訓(xùn)練一個(gè)檢測(cè)器和邊框回歸器。該網(wǎng)絡(luò)首先輸入圖像,圖像被傳遞到CNN中提取特征,并返回感興趣的區(qū)域ROI,之后再ROI上運(yùn)用ROI池化層以保證每個(gè)區(qū)域的尺寸相同,最后這些區(qū)域的特征被傳遞到全連接層的網(wǎng)絡(luò)中進(jìn)行分類,并用Softmax和線性回歸層同時(shí)返回邊界框。 【性能】 Fast RCNN在VOC-07數(shù)據(jù)集上將檢測(cè)精度mAP從58.5%提高到70.0%,檢測(cè)速度比RCNN提高了200倍。 【不足】 Fast RCNN仍然選用選擇性搜索算法來(lái)尋找感興趣的區(qū)域,這一過(guò)程通常較慢,與RCNN不同的是,F(xiàn)ast RCNN處理一張圖片大約需要2秒,但是在大型真實(shí)數(shù)據(jù)集上,這種速度仍然不夠理想。 那么問(wèn)題來(lái)了: “我們可以使用CNN模型來(lái)直接生成候選框嗎?”,基于此,F(xiàn)aster RCNN的提出完美回答這一問(wèn)題。 2.2.4 Faster RCNN
【簡(jiǎn)介】 Faster RCNN[7] 是第一個(gè)端到端,最接近于實(shí)時(shí)性能的深度學(xué)習(xí)檢測(cè)算法,該網(wǎng)絡(luò)的主要?jiǎng)?chuàng)新點(diǎn)就是提出了區(qū)域選擇網(wǎng)絡(luò)用于申城候選框,能幾大提升檢測(cè)框的生成速度。該網(wǎng)絡(luò)首先輸入圖像到卷積網(wǎng)絡(luò)中,生成該圖像的特征映射。在特征映射上應(yīng)用Region Proposal Network,返回object proposals和相應(yīng)分?jǐn)?shù)。應(yīng)用Rol池化層,將所有proposals修正到同樣尺寸。最后,將proposals傳遞到完全連接層,生成目標(biāo)物體的邊界框。 【性能】 該網(wǎng)絡(luò)在當(dāng)時(shí)VOC-07,VOC-12和COCO數(shù)據(jù)集上實(shí)現(xiàn)了SOTA精度,其中COCO mAP@.5=42.7%, COCO mAP@[.5,.95]=21.9%, VOC07 mAP=73.2%, VOC12 mAP=70.4%, 17fps with ZFNet 【不足】 雖然Faster RCNN的精度更高,速度更快,也非常接近于實(shí)時(shí)性能,但它在后續(xù)的檢測(cè)階段中仍存在一些計(jì)算冗余;除此之外,如果IOU閾值設(shè)置的低,會(huì)引起噪聲檢測(cè)的問(wèn)題,如果IOU設(shè)置的高,則會(huì)引起過(guò)擬合。 2.2.5 FPN> 論文鏈接:http://openaccess./content\_cvpr\_2017/papers/Lin\_Feature\_Pyramid\_Networks\_CVPR\_2017\_paper.pdf 【簡(jiǎn)介】 2017年,T.-Y.Lin等人在Faster RCNN的基礎(chǔ)上進(jìn)一步提出了特征金字塔網(wǎng)絡(luò)FPN[8](Feature Pyramid Networks)技術(shù)。在FPN技術(shù)出現(xiàn)之前,大多數(shù)檢測(cè)算法的檢測(cè)頭都位于網(wǎng)絡(luò)的最頂層(最深層),雖說(shuō)最深層的特征具備更豐富的語(yǔ)義信息,更有利于物體分類,但更深層的特征圖由于空間信息的缺乏不利于物體定位,這大大影響了目標(biāo)檢測(cè)的定位精度。為了解決這一矛盾,F(xiàn)PN提出了一種具有橫向連接的自上而下的網(wǎng)絡(luò)架構(gòu),用于在所有具有不同尺度的高底層都構(gòu)筑出高級(jí)語(yǔ)義信息。FPN的提出極大促進(jìn)了檢測(cè)網(wǎng)絡(luò)精度的提高(尤其是對(duì)于一些待檢測(cè)物體尺度變化大的數(shù)據(jù)集有非常明顯的效果)。 【性能】 將FPN技術(shù)應(yīng)用于Faster RCNN網(wǎng)絡(luò)之后,網(wǎng)絡(luò)的檢測(cè)精度得到了巨大提高(COCO mAP@.5=59.1%, COCO mAP@[.5,.95]=36.2%),再次成為當(dāng)前的SOTA檢測(cè)算法。此后FPN成為了各大網(wǎng)絡(luò)(分類,檢測(cè)與分割)提高精度最重要的技術(shù)之一。 2.2.6 Cascade RCNN
【簡(jiǎn)介】 Faster RCNN完成了對(duì)目標(biāo)候選框的兩次預(yù)測(cè),其中RPN一次,后面的檢測(cè)器一次,而Cascade RCNN[9] 則更進(jìn)一步將后面檢測(cè)器部分堆疊了幾個(gè)級(jí)聯(lián)模塊,并采用不同的IOU閾值訓(xùn)練,這種級(jí)聯(lián)版的Faster RCNN就是Cascade RCNN。通過(guò)提升IoU閾值訓(xùn)練級(jí)聯(lián)檢測(cè)器,可以使得檢測(cè)器的定位精度更高,在更為嚴(yán)格的IoU閾值評(píng)估下,Cascade R-CNN帶來(lái)的性能提升更為明顯。Cascade RCNN將二階段目標(biāo)檢測(cè)算法的精度提升到了新的高度。 【性能】 Cascade RCNN在COCO檢測(cè)數(shù)據(jù)集上,不添加任何Trick即可超過(guò)現(xiàn)有的SOTA單階段檢測(cè)器,此外使用任何基于RCNN的二階段檢測(cè)器來(lái)構(gòu)建Cascade RCNN,mAP平均可以提高2-4個(gè)百分點(diǎn)。 2.3 Anchor-based中的one-stage目標(biāo)檢測(cè)算法一階段目標(biāo)檢測(cè)算法不需要region proposal階段,直接產(chǎn)生物體的類別概率和位置坐標(biāo)值,經(jīng)過(guò)一個(gè)階段即可直接得到最終的檢測(cè)結(jié)果,因此有著更快的檢測(cè)速度。 2.3.1 YOLO v1> 論文鏈接:https://www./openaccess/content\_cvpr\_2016/papers/Redmon\_You\_Only\_Look\_CVPR\_2016\_paper.pdf 【簡(jiǎn)介】 YOLO v1[10] 是第一個(gè)一階段的深度學(xué)習(xí)檢測(cè)算法,其檢測(cè)速度非??欤撍惴ǖ乃枷刖褪菍D像劃分成多個(gè)網(wǎng)格,然后為每一個(gè)網(wǎng)格同時(shí)預(yù)測(cè)邊界框并給出相應(yīng)概率。例如某個(gè)待檢測(cè)目標(biāo)的中心落在圖像中所劃分的一個(gè)單元格內(nèi),那么該單元格負(fù)責(zé)預(yù)測(cè)該目標(biāo)位置和類別。 【性能】 YOLO v1檢測(cè)速度非???,在VOC-07數(shù)據(jù)集上的mAP可達(dá)52.7%,實(shí)現(xiàn)了155 fps的實(shí)時(shí)性能,其增強(qiáng)版性能也很好(VOC-07 mAP=63.4%, 45 fps, VOC-12 mAP=57.9%),性能要優(yōu)于DPM和RCNN。 【不足】 相比于二階段的目標(biāo)檢測(cè)算法,盡管YOLO v1算法的檢測(cè)速度有了很大提高,但精度相對(duì)教低(尤其是對(duì)于一些小目標(biāo)檢測(cè)問(wèn)題)。 2.3.2 SSD
【簡(jiǎn)介】 SSD[11] 算法的主要?jiǎng)?chuàng)新點(diǎn)是提出了Multi-reference和Multi-resolution的檢測(cè)技術(shù)。SSD算法和先前的一些檢測(cè)算法的區(qū)別在于:先前的一些檢測(cè)算法只是在網(wǎng)絡(luò)最深層的分支進(jìn)行檢測(cè),而SSD有多個(gè)不同的檢測(cè)分支,不同的檢測(cè)分支可以檢測(cè)多個(gè)尺度的目標(biāo),所以SSD在多尺度目標(biāo)檢測(cè)的精度上有了很大的提高,對(duì)小目標(biāo)檢測(cè)效果要好很多。 【性能】 相比于YOLO v1算法,SSD進(jìn)一步提高了檢測(cè)精度和速度(VOC-07 mAP=76.8%, VOC-12 mAP=74.9%, COCO mAP@.5=46.5%, mAP@[.5,.95]=26.8%, SSD的精簡(jiǎn)版速度達(dá)到59 fps)。 2.3.3 YOLO v2> 論文鏈接:https://openaccess./content\_cvpr\_2017/papers/Redmon\_YOLO9000\_Better\_Faster\_CVPR\_2017\_paper.pdf ![]() 【簡(jiǎn)介】 相比于YOLO v1,YOLO v2[12] 在精度、速度和分類數(shù)量上都有了很大的改進(jìn)。在速度上(Faster),YOLO v2使用DarkNet19作為特征提取網(wǎng)絡(luò),該網(wǎng)絡(luò)比YOLO v2所使用的VGG-16要更快。在分類上(Stronger),YOLO v2使用目標(biāo)分類和檢測(cè)的聯(lián)合訓(xùn)練技巧,結(jié)合Word Tree等方法,使得YOLO v2的檢測(cè)種類擴(kuò)充到了上千種。下圖2-2展示了YOLO v2相比于YOLO v1在提高檢測(cè)精度(Better)上的改進(jìn)策略。 ![]() 【性能】 YOLO v2算法在VOC 2007數(shù)據(jù)集上的表現(xiàn)為67 FPS時(shí),mAP為76.8,在40FPS時(shí),mAP為78.6。 【不足】 YOLO v2算法只有一條檢測(cè)分支,且該網(wǎng)絡(luò)缺乏對(duì)多尺度上下文信息的捕獲,所以對(duì)于不同尺寸的目標(biāo)檢測(cè)效果依然較差,尤其是對(duì)于小目標(biāo)檢測(cè)問(wèn)題。 2.3.4 RetinaNet
![]() 【簡(jiǎn)介】 盡管一階段檢測(cè)算推理速度快,但精度上與二階段檢測(cè)算法相比還是不足。RetinaNet[13] 論文分析了一階段網(wǎng)絡(luò)訓(xùn)練存在的類別不平衡問(wèn)題,提出能根據(jù)Loss大小自動(dòng)調(diào)節(jié)權(quán)重的Focal loss,代替了標(biāo)準(zhǔn)的交叉熵?fù)p失函數(shù),使得模型的訓(xùn)練更專注于困難樣本。同時(shí),基于FPN設(shè)計(jì)了RetinaNet,在精度和速度上都有不俗的表現(xiàn)。 【性能】 RetinaNet在保持高速推理的同時(shí),擁有與二階段檢測(cè)算法相媲美的精度(COCO mAP@.5=59.1%, mAP@[.5, .95]=39.1%)。 2.3.5 YOLO v3> 論文鏈接:https:///pdf/1804.02767.pdf ![]() 【簡(jiǎn)介】 相比于YOLO v2,YOLO v3[14] 將特征提取網(wǎng)絡(luò)換成了DarkNet53,對(duì)象分類用Logistic取代了Softmax,并借鑒了FPN思想采用三條分支(三個(gè)不同尺度/不同感受野的特征圖)去檢測(cè)具有不同尺寸的對(duì)象。 【性能】 YOLO v3在VOC數(shù)據(jù)集,Titan X上處理608608圖像速度達(dá)到20FPS,在COCO的測(cè)試數(shù)據(jù)集上mAP@0.5達(dá)到57.9%。其精度比SSD高一些,比Faster RCNN相比略有遜色(幾乎持平),比RetinaNet差,但速度是SSD、RetinaNet和Faster RCNN至少2倍以上,而簡(jiǎn)化后的Yolov3 tiny可以更快。 【不足】 YOLO v3采用MSE作為邊框回歸損失函數(shù),這使得YOLO v3對(duì)目標(biāo)的定位并不精準(zhǔn),之后出現(xiàn)的IOU,GIOU,DIOU和CIOU等一系列邊框回歸損失大大改善了YOLO v3對(duì)目標(biāo)的定位精度。 2.3.6 YOLO v4
![]() 【簡(jiǎn)介】 相比于YOLO v4,YOLO v4[15] 在輸入端,引入了Mosaic數(shù)據(jù)增強(qiáng)、cmBN、SAT自對(duì)抗訓(xùn)練;在特征提取網(wǎng)絡(luò)上,YOLO v4將各種新的方式結(jié)合起來(lái),包括CSPDarknet53,Mish激活函數(shù),Dropblock;在檢測(cè)頭中,引入了SPP模塊,借鑒了FPN+PAN結(jié)構(gòu);在預(yù)測(cè)階段,采用了CIOU作為網(wǎng)絡(luò)的邊界框損失函數(shù),同時(shí)將NMS換成了DIOU_NMS等等??傮w來(lái)說(shuō),YOLO v4具有極大的工程意義,將近年來(lái)深度學(xué)習(xí)領(lǐng)域最新研究的tricks都引入到了YOLO v4做驗(yàn)證測(cè)試,在YOLO v3的基礎(chǔ)上更進(jìn)一大步。 【性能】 YOLO v4在COCO數(shù)據(jù)集上達(dá)到了43.5%AP(65.7% AP50),在Tesla V100顯卡上實(shí)現(xiàn)了65 fps的實(shí)時(shí)性能,下圖2-3展示了在COCO檢測(cè)數(shù)據(jù)集上YOLO v4和其它SOTA檢測(cè)算法的性能對(duì)比。 ![]() 2.3.7 YOLO V5> 代碼鏈接:https://github.com/ultralytics/yolov5 ![]() 【簡(jiǎn)介】 目前YOLO V5公布了源代碼,但尚未發(fā)表論文;與YOLO V4有點(diǎn)相似,都大量整合了計(jì)算機(jī)視覺領(lǐng)域的State-of-the-art,從而顯著改善了YOLO對(duì)目標(biāo)的檢測(cè)性能。相比于YOLO V4,YOLO V5在性能上稍微遜色,但其靈活性與速度上遠(yuǎn)強(qiáng)于YOLO V4,而且在模型的快速部署上也具有極強(qiáng)優(yōu)勢(shì)。 【性能】 。如下圖2-4展示了在COCO檢測(cè)數(shù)據(jù)集上YOLO v5和其它SOTA檢測(cè)算法的性能對(duì)比。 ![]() 2.3.8 Anchor-based目標(biāo)檢測(cè)算法局限性基于Anchor的目標(biāo)檢測(cè)算法主要有以下四大缺點(diǎn):
2.4 Anchor-Free中的目標(biāo)檢測(cè)算法基于Anchor的物體檢測(cè)問(wèn)題通常被建模成對(duì)一些候選區(qū)域進(jìn)行分類和回歸的問(wèn)題,在一階段檢測(cè)器中,這些候選區(qū)域就是通過(guò)滑窗方式產(chǎn)生Anchor box,而在二階段檢測(cè)器中,候選區(qū)域是RPN生成的Proposal,但是RPN本身仍然是對(duì)滑窗方式產(chǎn)生的Anchor進(jìn)行分類和回歸。基于Anchor的檢測(cè)算法由于Anchor太多導(dǎo)致計(jì)算復(fù)雜,及其所帶來(lái)的大量超參數(shù)都會(huì)影響模型性能。近年的Anchor free技術(shù)則摒棄Anchor,通過(guò)確定關(guān)鍵點(diǎn)的方式來(lái)完成檢測(cè),大大減少了網(wǎng)絡(luò)超參數(shù)的數(shù)量。 2.4.1 CornerNet
![]() 【簡(jiǎn)介】 CornerNet[16] 是Anchor free技術(shù)路線的開創(chuàng)之作,該網(wǎng)絡(luò)提出了一種新的對(duì)象檢測(cè)方法,將網(wǎng)絡(luò)對(duì)目標(biāo)邊界框的檢測(cè)轉(zhuǎn)化為一對(duì)關(guān)鍵點(diǎn)的檢測(cè)(即左上角和右下角),通過(guò)將對(duì)象檢測(cè)為成對(duì)的關(guān)鍵點(diǎn),而無(wú)需設(shè)計(jì)Anchor box作為先驗(yàn)框。 【性能】 實(shí)驗(yàn)表明,CornerNet在COCO數(shù)據(jù)集上實(shí)現(xiàn)了42.1%AP,該精度優(yōu)于所有現(xiàn)有的單階段檢測(cè)網(wǎng)絡(luò)。下圖2-3展示了在COCO檢測(cè)數(shù)據(jù)集上CornerNet和其它SOTA檢測(cè)算法的性能對(duì)比。 ![]() 【不足】 CornerNet只關(guān)注邊緣和角點(diǎn),缺乏目標(biāo)內(nèi)部信息,容易產(chǎn)生FP;該網(wǎng)絡(luò)還是需要不少的后處理,比如如何選取分?jǐn)?shù)最高的點(diǎn),同時(shí)用offset來(lái)微調(diào)目標(biāo)定位,也還需要做NMS。 2.4.2 CenterNet> 論文鏈接:https://openaccess./content\_ICCV\_2019/papers/Duan\_CenterNet\_Keypoint\_Triplets\_for\_Object\_Detection\_ICCV\_2019\_paper.pdf ![]() 【簡(jiǎn)介】 與CornerNet檢測(cè)算法不同,CenterNet[17] 的結(jié)構(gòu)十分簡(jiǎn)單,它摒棄了左上角和右下角兩關(guān)鍵點(diǎn)的思路,而是直接檢測(cè)目標(biāo)的中心點(diǎn),其它特征如大小,3D位置,方向,甚至姿態(tài)可以使用中心點(diǎn)位置的圖像特征進(jìn)行回歸,是真正意義上的Anchor free。該算法在精度和召回率上都有很大提高,同時(shí)該網(wǎng)絡(luò)還提出了兩個(gè)模塊:級(jí)聯(lián)角池化模塊和中心池化模塊,進(jìn)一步豐富了左上角和右下角收集的信息,并提供了 【性能】 相比于一階段和二階段檢測(cè)算法,CenterNet的速度和精度都有不少的提高,在COCO數(shù)據(jù)集上,CenterNet實(shí)現(xiàn)了47.0%的AP,比現(xiàn)有的一階段檢測(cè)器至少高出4.9%。下圖2-4展示了在COCO檢測(cè)數(shù)據(jù)集上CenterNet和其它SOTA檢測(cè)算法的性能對(duì)比。 ![]() 【不足】 在訓(xùn)練過(guò)程中,同一類別中的如果某些物體靠的比較近,那么其Ground Truth中心點(diǎn)在下采樣時(shí)容易擠到一塊,導(dǎo)致兩個(gè)物體GT中心點(diǎn)重疊,使得網(wǎng)絡(luò)將這兩個(gè)物體當(dāng)成一個(gè)物體來(lái)訓(xùn)練(因?yàn)橹挥幸粋€(gè)中心點(diǎn)了);而在模型預(yù)測(cè)階段,如果兩個(gè)同類物體在下采樣后的中心點(diǎn)也重疊了,那么網(wǎng)絡(luò)也只能檢測(cè)出一個(gè)中心點(diǎn)。 2.4.3 FSAF
![]() 【簡(jiǎn)介】 FSAF[18] 網(wǎng)絡(luò)提出了一種FSAF模塊用于訓(xùn)練特征金字塔中的Anchor free分支,讓每一個(gè)對(duì)象都自動(dòng)選擇最合適的特征。在該模塊中,Anchor box的大小不再?zèng)Q定選擇哪些特征進(jìn)行預(yù)測(cè),使得Anchor的尺寸成為了一種無(wú)關(guān)變量,實(shí)現(xiàn)了模型自動(dòng)化學(xué)習(xí)選擇特征。 【性能】 下圖2-5展示了在COCO檢測(cè)數(shù)據(jù)集上FSAF算法和其它SOTA檢測(cè)算法的性能對(duì)比。 ![]() 2.4.4 FCOS> 論文鏈接:https://openaccess./content\_ICCV\_2019/papers/Tian\_FCOS\_Fully\_Convolutional\_One-Stage\_Object\_Detection\_ICCV\_2019\_paper.pdf ![]() 【簡(jiǎn)介】 FCOS[19] 網(wǎng)絡(luò)是一種基于FCN的逐像素目標(biāo)檢測(cè)算法,實(shí)現(xiàn)了無(wú)錨點(diǎn)(Anchor free),無(wú)提議(Proposal free)的解決方案,并且提出了中心度Center ness的思想。該算法通過(guò)去除Anchor,完全避免了Anchor的復(fù)雜運(yùn)算,節(jié)省了訓(xùn)練過(guò)程中大量的內(nèi)存占用,將總訓(xùn)練內(nèi)存占用空間減少了2倍左右。 【性能】 FCOS的性能優(yōu)于現(xiàn)有的一階段檢測(cè)器,同時(shí)FCOS還可用作二階段檢測(cè)器Faster RCNN中的RPN,并且很大程度上都要優(yōu)于RPN。下圖2-6展示了在COCO檢測(cè)數(shù)據(jù)集上FCOS算法和其它SOTA檢測(cè)算法的性能對(duì)比。 ![]() 2.4.5 SAPD
![]() 【簡(jiǎn)介】 SAPD[20] 論文作者認(rèn)為Anchor point的方法性能不高主要還是在于訓(xùn)練的不充分,主要是注意力偏差和特征選擇。因而作者提出了兩種策略:1)Soft-weighted anchor points對(duì)不同位置的樣本進(jìn)行權(quán)重分配 2)Soft-selected pyramid levels,將樣本分配到多個(gè)分辨率,并進(jìn)行權(quán)重加權(quán)。而在訓(xùn)練階段,作者前6個(gè)epoch采用FSAF的方式,而后6個(gè)epoch會(huì)將特征選擇的預(yù)測(cè)網(wǎng)絡(luò)加入進(jìn)行聯(lián)合訓(xùn)練。 【性能】 下圖2-6展示了在COCO檢測(cè)數(shù)據(jù)集上SAPD算法和其它SOTA檢測(cè)算法的性能對(duì)比。 ![]() 3. 常用數(shù)據(jù)集及評(píng)價(jià)指標(biāo)3.1 常用數(shù)據(jù)集3.1.1 四大公共數(shù)據(jù)集Pascal VOC[21],ILSVRC[22],MS-COCO[23],和OID[24] 數(shù)據(jù)集是目標(biāo)檢測(cè)使用最多的四大公共數(shù)據(jù)集,至于這四大數(shù)據(jù)集的介紹,此處不一一展開,大家可根據(jù)下方給出的鏈接了解:
下圖3-1展示了這四大檢測(cè)數(shù)據(jù)集的樣例圖片及其標(biāo)簽 ![]() 下表3-1展示了這四大檢測(cè)數(shù)據(jù)集的數(shù)據(jù)統(tǒng)計(jì)結(jié)果: ![]() 3.1.2 其它數(shù)據(jù)集檢測(cè)任務(wù)包含了很多種,其中比較常見的檢測(cè)任務(wù)有行人檢測(cè),臉部檢測(cè),文本檢測(cè),交通燈與交通標(biāo)志檢測(cè),遙感圖像目標(biāo)檢測(cè)。下表3-2至3-6分別列舉了各檢測(cè)任務(wù)下的常用公共檢測(cè)數(shù)據(jù)集。 ![]() ![]() ![]() ![]() ![]() 3.2 常用評(píng)價(jià)指標(biāo)目標(biāo)檢測(cè)常用的評(píng)價(jià)指標(biāo)有:交并比,準(zhǔn)確率,精度,召回率,FPR,F1-Score,PR曲線-AP值,ROC曲線-AUC值,和mAP值和FPS。 3.2.1 交并比(IOU)IOU = 兩個(gè)矩形交集的面積 / 兩個(gè)矩形并集的面積 ![]() 如上圖3-2,假設(shè)A是模型檢測(cè)結(jié)果,B為Ground Truth,那么IOU = (A ∩ B) / (A ∪ B),一般情況下對(duì)于檢測(cè)框的判定都會(huì)存在一個(gè)閾值,也就是IOU的閾值,一般將IOU值設(shè)置為大于0.5的時(shí)候,則可認(rèn)為檢測(cè)到目標(biāo)物體。 3.2.2 準(zhǔn)確率/精度/召回率/F1值/FPR
3.2.3 PR曲線-AP值模型精度,召回率,F(xiàn)PR和F1-Score值無(wú)法往往不能直觀反應(yīng)模型性能,因此就有了PR曲線-AP值 和 ROC曲線-AUC值 PR曲線就是Precision和Recall的曲線,我們以Precision作為縱坐標(biāo),Recall為橫坐標(biāo),可繪制PR曲線如下圖3-3所示: ![]() 評(píng)估標(biāo)準(zhǔn):如果模型的精度越高,且召回率越高,那么模型的性能自然也就越好,反映在PR曲線上就是PR曲線下面的面積越大,模型性能越好。我們將PR曲線下的面積定義為AP(Average Precision)值,反映在AP值上就是AP值越大,說(shuō)明模型的平均準(zhǔn)確率越高。 3.2.4 ROC曲線-AUC值ROC曲線就是RPR和TPR的曲線,我們以FPR為橫坐標(biāo),TPR為縱坐標(biāo),可繪制ROC曲線如下圖3-4所示: ![]() 評(píng)估標(biāo)準(zhǔn):當(dāng)TPR越大,F(xiàn)PR越小時(shí),說(shuō)明模型分類結(jié)果是越好的,反映在ROC曲線上就是ROC曲線下面的面積越大,模型性能越好。我們將ROC曲線下的面積定義為AUC(Area Under Curve)值,反映在AUC值上就是AUC值越大,說(shuō)明模型對(duì)正樣本分類的結(jié)果越好。 3.2.5 mAPMean Average Precision(mAP)是平均精度均值,具體指的是不同召回率下的精度均值。在目標(biāo)檢測(cè)中,一個(gè)模型通常會(huì)檢測(cè)很多種物體,那么每一類都能繪制一個(gè)PR曲線,進(jìn)而計(jì)算出一個(gè)AP值,而多個(gè)類別的AP值的平均就是mAP。 評(píng)估標(biāo)準(zhǔn):mAP衡量的是模型在所有類別上的好壞,屬于目標(biāo)檢測(cè)中一個(gè)最為重要的指標(biāo),一般看論文或者評(píng)估一個(gè)目標(biāo)檢測(cè)模型,都會(huì)看這個(gè)值,這個(gè)值(0-1范圍區(qū)間)越大越好。 劃重點(diǎn)?。?! 一般來(lái)說(shuō)mAP是針對(duì)整個(gè)數(shù)據(jù)集而言的,AP則針對(duì)數(shù)據(jù)集中某一個(gè)類別而言的,而percision和recall針對(duì)單張圖片某一類別的。 3.2.6 FPSFrame Per Second(FPS)指的是模型一秒鐘能檢測(cè)圖片的數(shù)量,不同的檢測(cè)模型往往會(huì)有不同的mAP和檢測(cè)速度,如下圖3-5所示: ![]() 目標(biāo)檢測(cè)技術(shù)的很多實(shí)際應(yīng)用在準(zhǔn)確度和速度上都有很高的要求,如果不計(jì)速度性能指標(biāo),只注重準(zhǔn)確度表現(xiàn)的突破,其代價(jià)是更高的計(jì)算復(fù)雜度和更多內(nèi)存需求,對(duì)于行業(yè)部署而言,可擴(kuò)展性仍是一個(gè)懸而未決的問(wèn)題。因此在實(shí)際問(wèn)題中,通常需要綜合考慮mAP和檢測(cè)速度等因素。本小節(jié)參考目標(biāo)檢測(cè)中的評(píng)價(jià)指標(biāo)有哪些[25] 4. 存在的六大難點(diǎn)與挑戰(zhàn)每一個(gè)檢測(cè)任務(wù)都有其特有的檢測(cè)難點(diǎn),比如背景復(fù)雜,目標(biāo)尺度變化大,顏色對(duì)比度低等挑戰(zhàn),這就導(dǎo)致某個(gè)檢測(cè)算法在檢測(cè)任務(wù)A上可能表現(xiàn)SOTA,但在檢測(cè)任務(wù)B上表現(xiàn)得可能不盡如人意。因此,分析研究每一個(gè)檢測(cè)任務(wù)存在的難點(diǎn)與挑戰(zhàn)至關(guān)重要,這有利于我們針對(duì)不同的檢測(cè)難點(diǎn)設(shè)計(jì)出不同的技術(shù)以解決該項(xiàng)問(wèn)題,從而使得我們提出的算法能夠在特定的任務(wù)上表現(xiàn)SOTA。 我們對(duì)大部分檢測(cè)任務(wù)加以分析,概括出了以下幾點(diǎn)在檢測(cè)任務(wù)可能存在的檢測(cè)難點(diǎn)與挑戰(zhàn):
劃重點(diǎn)!?。?/strong> 以上六大檢測(cè)難點(diǎn)基本覆蓋檢測(cè)任務(wù)中存在的所有挑戰(zhàn),對(duì)于我們所做過(guò)的每一份檢測(cè)任務(wù)數(shù)據(jù)集,都可以在上述找到相應(yīng)難點(diǎn)與挑戰(zhàn),并針對(duì)具體的檢測(cè)難點(diǎn)提出相應(yīng)的解決方案! 5. 目標(biāo)檢測(cè)的五大技術(shù)及其演變5.1 Multi-Scale檢測(cè)技術(shù)的演變不同尺度,不同形狀物體的檢測(cè)是目標(biāo)檢測(cè)面臨的主要挑戰(zhàn)之一,而多尺度檢測(cè)技術(shù)是解決多尺度問(wèn)題的主要技術(shù)手段。目標(biāo)檢測(cè)發(fā)展的幾十年來(lái),多尺度檢測(cè)技術(shù)的演變經(jīng)歷了以下過(guò)程:
如下圖5-1展示了多尺度檢測(cè)技術(shù)的演變歷程。 ![]() 5.2 邊框回歸技術(shù)的演變邊框回歸(The Bounding Box regression)是目標(biāo)檢測(cè)非常重要的技術(shù)。它的目的是根據(jù)初始設(shè)定的anchor box來(lái)進(jìn)一步改進(jìn)修正預(yù)測(cè)框的位置。目標(biāo)檢測(cè)發(fā)展的幾十年來(lái),多尺度檢測(cè)技術(shù)的演變經(jīng)歷了以下過(guò)程:
如下圖5-2展示了邊框回歸技術(shù)的演變歷程。 ![]() 5.3 上下文信息提取技術(shù)的演變目標(biāo)檢測(cè)領(lǐng)域中每一個(gè)目標(biāo)都被周圍背景所包圍,而我們對(duì)于一個(gè)目標(biāo)的認(rèn)知會(huì)根據(jù)其周圍的環(huán)境作出判斷,于是我們將目標(biāo)周圍的環(huán)境信息稱作上下文信息。上下文可以作為網(wǎng)絡(luò)判斷目標(biāo)類別和定位的重要輔助信息,可大大提高網(wǎng)絡(luò)檢測(cè)的精度。為網(wǎng)絡(luò)提取上下文信息有以下三種常用的方法:
如下圖5-3展示了上下文信息提取技術(shù)的演變歷程。 ![]() 5.4 非極大值抑制技術(shù)的演變目標(biāo)檢測(cè)的過(guò)程中在同一目標(biāo)的位置上會(huì)產(chǎn)生大量的候選框,這些候選框相互之間可能會(huì)有重疊,此時(shí)我們需要利用非極大值抑制找到最佳的目標(biāo)邊界框,消除冗余的邊界框。非極大值抑制算法的流程如下:
非極大值抑制算法逐漸發(fā)展成為以下三條路線:
如下圖5-4展示了非極大值抑制算法的技術(shù)演變歷程。 ![]() 5.5 難分負(fù)樣本挖掘技術(shù)的演變目標(biāo)檢測(cè)的訓(xùn)練過(guò)程本質(zhì)上還是一個(gè)樣本數(shù)據(jù)不平衡的學(xué)習(xí)過(guò)程,因?yàn)闄z測(cè)算法中需要用到很多檢測(cè)框,而真正包含目標(biāo)的檢測(cè)框占比卻極少。在網(wǎng)絡(luò)訓(xùn)練過(guò)程中,大量簡(jiǎn)單的負(fù)樣本(背景)會(huì)主導(dǎo)學(xué)習(xí)方向而不利于網(wǎng)絡(luò)往正確的方向加以優(yōu)化,因此這需要采取一定的策略來(lái)解決這一問(wèn)題。難分負(fù)樣本挖掘(Hard Negative Mining, HNM)技術(shù)正是解決訓(xùn)練過(guò)程中的數(shù)據(jù)不平衡問(wèn)題的一項(xiàng)關(guān)鍵技術(shù)。 難分負(fù)樣本挖掘技術(shù)的演變主要經(jīng)歷了以下過(guò)程:
如下圖5-5展示了難分負(fù)樣本挖掘技術(shù)的演變歷程。 ![]() 6. 模型加速技術(shù)目前卷積神經(jīng)網(wǎng)絡(luò)在移動(dòng)端的部署仍然具有不小挑戰(zhàn),一個(gè)高精度的模型若計(jì)算量大,則在工業(yè)落地的時(shí)候需要購(gòu)買昂貴的設(shè)備去運(yùn)行該模型,這會(huì)極大提高工業(yè)生產(chǎn)成本,阻礙模型落地進(jìn)程。因此模型在高精度的同時(shí),還需要速度快。學(xué)術(shù)界研究學(xué)者致力于研究出高精度的輕量化網(wǎng)絡(luò)架構(gòu),而工業(yè)界工程師則致力于從硬件的角度出發(fā),開發(fā)一系列模型壓縮與量化技術(shù)來(lái)提高模型運(yùn)算速度。近年來(lái)出現(xiàn)的一些加速技術(shù)大體可分為以下三類:
6.1 輕量化網(wǎng)絡(luò)設(shè)計(jì)設(shè)計(jì)輕量化網(wǎng)絡(luò)架構(gòu)可以使模型在輕量化的同時(shí)保持較高的精度,在輕量化網(wǎng)絡(luò)設(shè)計(jì)中,除了降低網(wǎng)絡(luò)通道數(shù)和卷積層數(shù)等一些通用的網(wǎng)絡(luò)設(shè)計(jì)準(zhǔn)則外,一些其它的方法也被用于構(gòu)建輕量化的網(wǎng)絡(luò):
6.1.1 卷積分解卷積分解是最簡(jiǎn)單也最常用的用于構(gòu)建輕量級(jí)網(wǎng)絡(luò)的技巧,卷積分解的方式主要有兩種: ![]() 第一種方法是:將大卷積核分解為多個(gè)小卷積核,如上圖6-1(b)所示,可以將一個(gè)77的卷積核分解成3個(gè)33的卷積核,它們擁有相同的感受野,但后者計(jì)算效率會(huì)更高;或者將的卷積核分解為和的卷積核。 ![]() 第二種方法是:將一組大卷積在其通道維度上分解為兩小組卷積,如上圖6-2所示,我們可以用,然后再運(yùn)用個(gè)卷積核將特征圖的通道數(shù)調(diào)整為。通過(guò)此種方式,復(fù)雜度可以降低到 6.1.2 分組卷積![]() 分組卷積的目的是通過(guò)將特征通道分成多個(gè)不同的組來(lái)減少卷積層中的參數(shù)數(shù)量,然后對(duì)每個(gè)組獨(dú)立進(jìn)行卷積,如上圖6-3所示。如果我們將特征通道平均劃分成組,卷積的計(jì)算復(fù)雜度理論上會(huì)降低到之前的1/。 6.1.3 深度可分離卷積![]() 如上圖6-4所示,深度可分離卷積是用于構(gòu)建輕量化網(wǎng)絡(luò)的一種常見方法,當(dāng)組數(shù)設(shè)置為通道數(shù)時(shí),可以將其視為組卷積的特例。假設(shè)我們有一個(gè)帶有個(gè)卷積濾波器的卷積層和一個(gè)具有個(gè)通道數(shù)的特征圖,每個(gè)卷積濾波器的大小是。對(duì)于深度可分離卷積,每個(gè)的卷積濾波器首先分成大小為的切片,然后在每個(gè)通道中對(duì)濾波器的每個(gè)切片單獨(dú)進(jìn)行卷積,最后使用多個(gè)卷積濾波器進(jìn)行維度變換,以便最終輸出相同的通道。通過(guò)使用深度可分離卷積,計(jì)算復(fù)雜度可以從 降低到。 6.1.4 Bottle-neck設(shè)計(jì)Bottle-neck已被廣泛用于設(shè)計(jì)輕量級(jí)網(wǎng)絡(luò),Bottle-neck的核心思想就是運(yùn)用少量的參數(shù)/計(jì)算量進(jìn)行信息壓縮。在Bottle-neck的設(shè)計(jì)中,一種常見的方法是壓縮檢測(cè)器的輸入層使得檢測(cè)器在一開始就減少計(jì)算量;另一種方法是壓縮檢測(cè)器的輸出來(lái)降低通道數(shù),從而使其在后續(xù)檢測(cè)階段更加高效。 6.1.5 神經(jīng)架構(gòu)搜索NAS![]() NAS技術(shù)已應(yīng)用于大規(guī)模圖像分類、對(duì)象檢測(cè)和圖像分割任務(wù),神經(jīng)網(wǎng)絡(luò)架構(gòu)搜索主要有三大流程:
定義搜索空間是指待搜索網(wǎng)絡(luò)結(jié)構(gòu)的候選集合,搜索空間大致分為全局搜索空間和局部搜索空間,前者代表搜索整個(gè)網(wǎng)絡(luò)結(jié)構(gòu),后者只搜索一些小的結(jié)構(gòu),通過(guò)堆疊、拼接的方法組合成完整的大網(wǎng)絡(luò);執(zhí)行搜索策略即如何在搜索空間進(jìn)行選擇,根據(jù)方法不同,搜索策略可大致分為:1)基于強(qiáng)化學(xué)習(xí)的方法 2)基于進(jìn)化算法的方法 3)基于梯度的方法;而性能評(píng)估即在目標(biāo)數(shù)據(jù)集上評(píng)估網(wǎng)絡(luò)結(jié)構(gòu)的性能好壞,從而篩選出最優(yōu)網(wǎng)絡(luò)結(jié)構(gòu)。 6.2 模型壓縮與量化模型壓縮與量化是兩種常用于加速CNN模型的技術(shù),這其中所涉及到的技術(shù)有模型剪枝,量化與知識(shí)蒸餾。其中模型剪枝是指修剪網(wǎng)絡(luò)結(jié)構(gòu)或權(quán)重從而減小規(guī)模的一種技術(shù);模型量化則是指將模型一些浮點(diǎn)計(jì)算轉(zhuǎn)成低Bit的定點(diǎn)計(jì)算的技術(shù),它可以有效降低模型計(jì)算強(qiáng)度、參數(shù)大小和內(nèi)存消耗;而知識(shí)蒸餾則是指將大網(wǎng)絡(luò)所學(xué)習(xí)到的'知識(shí)'有效傳遞到小網(wǎng)絡(luò)中的一種技術(shù)。 6.2.1 網(wǎng)絡(luò)剪枝網(wǎng)絡(luò)剪枝最早可以追溯到1980年代,而近年來(lái)的網(wǎng)絡(luò)剪枝方法通常采用迭代訓(xùn)練的方式進(jìn)行剪枝,即在每個(gè)訓(xùn)練階段后僅去除一小部分不重要的權(quán)重,并重復(fù)此操作直到模型達(dá)到較小量級(jí)且精度滿足落地要求。由于傳統(tǒng)的網(wǎng)絡(luò)剪枝只是簡(jiǎn)單的去除一些不重要的權(quán)重,這可能會(huì)導(dǎo)致卷積濾波器連的連接變得稀疏,因此不能直接用于壓縮CNN模型。而解決這一問(wèn)題的方案就是移除整個(gè)過(guò)濾器而不是獨(dú)立的權(quán)重。 6.2.2 模型量化近年來(lái)關(guān)于模型量化的工作主要集中在網(wǎng)絡(luò)二值化,其目的是通過(guò)將網(wǎng)絡(luò)的參數(shù)權(quán)重量化為二進(jìn)制變量(例如0或1)來(lái)進(jìn)行網(wǎng)絡(luò)加速,以便將一些浮點(diǎn)運(yùn)算轉(zhuǎn)換為AND,OR,NOT等邏輯運(yùn)算。模型參數(shù)的二值化可以顯著加快其計(jì)算速度并減少網(wǎng)絡(luò)存儲(chǔ),從而使得網(wǎng)絡(luò)更容易地部署在移動(dòng)設(shè)備上。而實(shí)現(xiàn)以上思路的一種方法就是用最小二乘法通過(guò)二進(jìn)制變量來(lái)近似卷積操作,并使用多個(gè)二值化卷積的線性組合來(lái)不斷提高模型精度。此外,一些研究人員還進(jìn)一步開發(fā)了用于二值化計(jì)算的GPU加速庫(kù),并取得了更顯著的模型加速效果。 6.2.3 知識(shí)蒸餾知識(shí)蒸餾是一種將大型網(wǎng)絡(luò)所學(xué)習(xí)到的'知識(shí)'有效傳遞到小網(wǎng)絡(luò)中,使得小網(wǎng)絡(luò)接近于大網(wǎng)絡(luò)預(yù)測(cè)能力的一種技術(shù),此處我們將大網(wǎng)絡(luò)稱作“Teacher Net”,將小網(wǎng)絡(luò)稱作“Student Net”,近年來(lái)這一技術(shù)成功用于目標(biāo)檢測(cè)算法的加速。使用知識(shí)蒸餾一個(gè)最直接的方法就是使用Teacher Net來(lái)指導(dǎo)輕量級(jí)的Student Net,以便Student Net可以用于檢測(cè)的加速;而知識(shí)蒸餾的另一個(gè)方法就是對(duì)候選區(qū)域進(jìn)行變換,以最小化Student Net和Teacher Net之間特征的距離,這種方法直接使得模型的檢測(cè)速度提高了2倍,而同時(shí)又保持了很高的檢測(cè)精度。 6.3 數(shù)值加速技術(shù)目標(biāo)檢測(cè)中常用的數(shù)值加速方法主要有以下四種,具體實(shí)現(xiàn)方法此處就不一一展開了,有興趣的讀者可自行搜索資料進(jìn)行了解。
7. 提高目標(biāo)檢測(cè)模型精度的五大技術(shù)接下來(lái),本小節(jié)帶你簡(jiǎn)單回顧近幾年年目標(biāo)檢測(cè)領(lǐng)域中用于提高模型精度的幾大技術(shù)。 7.1 特征提取網(wǎng)絡(luò)特征提取網(wǎng)絡(luò)(Backbone)對(duì)于目標(biāo)檢測(cè)模型性能的提升至關(guān)重要,一些經(jīng)典的特征提取網(wǎng)絡(luò)對(duì)目標(biāo)檢測(cè)任務(wù)精度起到了重要的推動(dòng)作用,如AlexNet、VGG、GoogLeNet、ResNet、DenseNet、SENet等等。隨著卷積神經(jīng)網(wǎng)絡(luò)的發(fā)展,業(yè)界不斷涌現(xiàn)出了一些新的特征提取網(wǎng)絡(luò),性能更是步步攀升。一些先進(jìn)的特征提取網(wǎng)絡(luò)被應(yīng)用于目標(biāo)檢測(cè)模型的特征提取Backbone,使得目標(biāo)檢測(cè)模型的精度與速度不斷提升,比如STDN,DSOD,TinyDSOD和DenseNet等等。作為當(dāng)時(shí)實(shí)力分割的SOTA算法,Mask RCNN采用了ResNeXt作為網(wǎng)絡(luò)的Backbone。 7.2 高效的特征融合高效的特征表示是提升目標(biāo)檢測(cè)性能的關(guān)鍵,近年來(lái),許多研究學(xué)者在特征提取網(wǎng)絡(luò)中加入一些Trick去提高網(wǎng)絡(luò)的特征提取能力。而用于提高網(wǎng)絡(luò)表征能力的兩項(xiàng)最重要的方法便是:1)高效的特征融合 和2)學(xué)習(xí)出具備大感受野的高分辨率特征表示。 7.2.1 為什么特征融合如此重要呢?平移不變性和等變性是圖像特征表示中的兩個(gè)重要特性:特征的平移不變性有利于圖像分類,因?yàn)樗荚趯W(xué)習(xí)高級(jí)語(yǔ)義信息;而特征的平移等變性更有利于目標(biāo)定位,因?yàn)樗荚趨^(qū)分位置和尺度變化。由于目標(biāo)檢測(cè)由圖像識(shí)別和目標(biāo)定位兩個(gè)子任務(wù)組成,因此目標(biāo)檢測(cè)算法需要同時(shí)學(xué)習(xí)特征平移不變性和等變性。 近年來(lái),特征融合在目標(biāo)檢測(cè)中得到了廣泛的應(yīng)用,由于CNN模型由一系列卷積和池化層組成,因此更深層的特征具有更強(qiáng)的平移不變性但缺乏一定的平移等變性,這雖然更有利于物體識(shí)別,但它對(duì)目標(biāo)定位的精度低。相反,較淺層的特征具有更強(qiáng)的平移等變性且包含更多的邊緣輪廓信息,這雖然有利于目標(biāo)定位,但由于缺乏一定的語(yǔ)義信息而不利于物體分類。因此CNN模型中深層和淺層特征的融合有助于提高特征的平移不變性和等變性,這對(duì)提高目標(biāo)檢測(cè)的精度是非常重要的。 7.2.2 實(shí)現(xiàn)高效特征融合的一些方法![]() 在目標(biāo)檢測(cè)中實(shí)現(xiàn)特征融合,首先需要確定要融合哪些特征,比如我們可以采取自底向上的特征融合,將淺層特征通過(guò)跳躍連接融入到深層特征中,如上圖7-1(a)所示;也可以采用自頂向下的特征融合,將深層特征通過(guò)跳躍連接融入到淺層特征中,如上圖7-1(b)所示;同樣也可以采用的跨不同層進(jìn)行特征融合的方式。確定要融合哪些特征之后,再確定融合的方式,比如逐元素求和,如上圖7-1(c);還是逐元素相乘,如上圖7-1(d);還是Concat融合,如上圖7-1(e)所示。 7.2.3 具備大感受野的高分辨率特征表示特征的感受野和分辨率是CNN模型需要考慮的兩個(gè)重要因素,具有較大感受野的網(wǎng)絡(luò)能夠捕獲更大尺度的上下文信息,而具備較小感受野的網(wǎng)絡(luò)可能更專注于圖像的局部細(xì)節(jié)。高分辨率的特征有利于檢測(cè)小物體,由于感受野較小缺乏一定的語(yǔ)義信息,因此不利于檢測(cè)大尺寸物體,而為了增大感受野最直接的辦法是引入池化層,但這會(huì)導(dǎo)致特征的分辨率降低而不利于檢測(cè)小物體。為了解決這一矛盾,在增加感受野的同時(shí)又喪失特征分辨率,空洞卷積是一種比較好的解決辦法,空洞卷積無(wú)需額外的參數(shù)和計(jì)算成本即可有效提高檢測(cè)算法的精度。 7.3 目標(biāo)定位改進(jìn)為了改善檢測(cè)算法對(duì)于目標(biāo)定位的精度,近年來(lái)出些的一些主要改進(jìn)方法是:1)邊框微調(diào),2)設(shè)計(jì)新的損失函數(shù)用于更精準(zhǔn)的定位。 7.3.1 邊框微調(diào)技術(shù)邊框微調(diào)是對(duì)檢測(cè)結(jié)果進(jìn)行后處理。盡管邊界框回歸已經(jīng)集成到大多數(shù)現(xiàn)代目標(biāo)檢測(cè)器中,但仍有一些目標(biāo)無(wú)法被Anchor box很好的錨定,這導(dǎo)致邊框的預(yù)測(cè)并不精確,因此一些研究學(xué)者提出邊界框微調(diào)技術(shù),通過(guò)將檢測(cè)結(jié)果迭代輸入BB回歸器,直到模型的預(yù)測(cè)收斂到正確的位置和大小。 7.3.2 改進(jìn)損失函數(shù)以提高定位精度目標(biāo)定位被認(rèn)為是一個(gè)坐標(biāo)回歸問(wèn)題,定位損失函數(shù)的演變經(jīng)歷了MSE->IOU->GIOU->DIOU->CIOU這一過(guò)程 7.4 語(yǔ)義分割促進(jìn)目標(biāo)檢測(cè)目標(biāo)檢測(cè)和語(yǔ)義分割是計(jì)算機(jī)視覺最基本的兩大任務(wù),近年來(lái)一些研究發(fā)現(xiàn)語(yǔ)義分割可以促進(jìn)目標(biāo)檢測(cè)性能的提升。 7.4.1 為什么分割可以改善檢測(cè)性能呢?分割改善檢測(cè)性能的原因主要有以下三點(diǎn)
7.4.2 分割如何改善檢測(cè)性能通過(guò)分割改善檢測(cè)性能主要有兩種方法:1)學(xué)習(xí)豐富的特征表示,2)多任務(wù)損失促進(jìn)網(wǎng)絡(luò)的學(xué)習(xí)
最簡(jiǎn)單的方法就是將分割網(wǎng)絡(luò)視為固定的特征提取器嵌入到檢測(cè)算法中,這種方式的優(yōu)點(diǎn)是容易實(shí)現(xiàn),缺點(diǎn)是分割網(wǎng)絡(luò)會(huì)帶來(lái)額外的計(jì)算。
另一種方法是在原始檢測(cè)算法中引入一個(gè)額外的分割分支,并使用多任務(wù)損失函數(shù)(分割損失 + 檢測(cè)損失)來(lái)訓(xùn)練該模型。而在模型推理階段,將分割分支去除即可。這種方法的優(yōu)點(diǎn)是檢測(cè)速度不會(huì)受到影響,缺點(diǎn)是該算法在訓(xùn)練時(shí)還需要像素級(jí)別的圖像標(biāo)注。在此基礎(chǔ)上,一些研究人員引入了弱監(jiān)督學(xué)習(xí)的思想:不基于像素級(jí)別的圖像標(biāo)注進(jìn)行模型訓(xùn)練,而是簡(jiǎn)單地基于邊界框標(biāo)注來(lái)訓(xùn)練該分割分支。 7.5 旋轉(zhuǎn)和尺度變化的魯棒性檢測(cè)物體的旋轉(zhuǎn)和尺度變換是目標(biāo)檢測(cè)面臨的重要挑戰(zhàn),CNN的平移不變性使得越來(lái)越多人投入到該項(xiàng)挑戰(zhàn)的研究當(dāng)中。 7.5.1 旋轉(zhuǎn)的魯棒性檢測(cè)物體旋轉(zhuǎn)在目標(biāo)檢測(cè)任務(wù)中非常常見,而解決這一問(wèn)題最直接方法就是數(shù)據(jù)增強(qiáng),使得任何方向的對(duì)象都可以被增強(qiáng)數(shù)據(jù)很好地覆蓋,而解決這一問(wèn)題的另一個(gè)方案就是為每個(gè)方向訓(xùn)練獨(dú)立的檢測(cè)器,除了這些方法外,近年來(lái)還出現(xiàn)了一些新的改進(jìn)方法。
7.5.2 尺度魯棒性檢測(cè)近年來(lái)的一些研究也有從訓(xùn)練和檢測(cè)階段兩個(gè)方面來(lái)改善尺度變換的魯棒性檢測(cè)
8. 五大應(yīng)用場(chǎng)景在本節(jié)中,我們將回顧過(guò)去幾年中出現(xiàn)的一些重要檢測(cè)應(yīng)用:行人檢測(cè)、人臉檢測(cè)、文本檢測(cè)、交通信號(hào)和遙感目標(biāo)檢測(cè)。 8.1 行人檢測(cè)行人檢測(cè)作為一種目標(biāo)檢測(cè)一項(xiàng)重要的應(yīng)用,在自動(dòng)駕駛、視頻監(jiān)控、刑事偵查等諸多領(lǐng)域受到廣泛關(guān)注。一些早期的行人檢測(cè)方法(如HOG檢測(cè)器和ICF檢測(cè)器)在特征表示、分類器設(shè)計(jì)和檢測(cè)加速方面為目標(biāo)檢測(cè)技術(shù)奠定了堅(jiān)實(shí)的基礎(chǔ)。近年來(lái)一些通用的目標(biāo)檢測(cè)算法,例如Faster RCNN被用于行人檢測(cè),這極大地推動(dòng)了行人檢測(cè)領(lǐng)域的進(jìn)步。 8.1.1 難點(diǎn)與挑戰(zhàn)![]() 行人檢測(cè)任務(wù)中存在的難點(diǎn)與挑戰(zhàn)可簡(jiǎn)要概括為如下四點(diǎn):
上圖8-1(a)展示了一些小尺寸行人的樣例,在Caltech數(shù)據(jù)集中,據(jù)統(tǒng)計(jì)大約15%的行人其高度都小于30個(gè)像素點(diǎn)。
如上圖8-1(b)所示,由于場(chǎng)景圖像中一些背景在視覺上與行人非常相似,這導(dǎo)致網(wǎng)絡(luò)很難將負(fù)樣本進(jìn)行正確分類,往往會(huì)將一些很像行人的背景物體預(yù)測(cè)成為行人。
如上圖8-1(c)所示,由于圖像中多存在行人密集且行人遮擋情況,這導(dǎo)致網(wǎng)絡(luò)難以精準(zhǔn)檢測(cè)出被遮擋的行人,在Caltech數(shù)據(jù)集中,據(jù)統(tǒng)計(jì)行人未遮擋的個(gè)體約占行人總數(shù)的29%。
由于一些自動(dòng)駕駛和視頻監(jiān)控等應(yīng)用需要檢測(cè)算法能夠?qū)崟r(shí)提供檢測(cè)結(jié)果以便系統(tǒng)快速做出決斷,因此視頻的實(shí)時(shí)行人檢測(cè)至關(guān)重要。 8.1.2 解決方法
即使Fast/Faster RCNN算法在當(dāng)時(shí)表現(xiàn)SOTA,但由于檢測(cè)頭所提取出的低分辨率特征,導(dǎo)致它對(duì)小目標(biāo)的檢測(cè)效果并不理想。近年來(lái)針對(duì)這個(gè)問(wèn)題的一些解決方案包括:1)特征融合[26],2)引入超高分辨率手工提取的特征[27],以及3)在多個(gè)分辨率特征圖上集成檢測(cè)結(jié)果[28]。
近年來(lái)對(duì)于改善困難負(fù)樣本的檢測(cè)方法主要有:決策樹增強(qiáng)和語(yǔ)義分割[29](作為一種上下文信息引入),此外,還引入了跨模態(tài)學(xué)習(xí)的思想,通過(guò)使用RGB和紅外圖像的方式來(lái)豐富困難負(fù)樣本的特征[30]。
CNN中深層的特征具有更豐富的語(yǔ)義信息,但對(duì)密集物體的檢測(cè)是無(wú)效的,為此一些研究學(xué)者通過(guò)考慮目標(biāo)的吸引和目標(biāo)周圍背景的排斥關(guān)系,設(shè)計(jì)了一種新的損失函數(shù)[31]。而目標(biāo)遮擋則是伴隨行人密集所出現(xiàn)的另一個(gè)問(wèn)題,部分檢測(cè)器的集成[32]和注意力機(jī)制[33] 是解決行人遮擋問(wèn)題最常見的方法。 8.2 人臉檢測(cè)早期的人臉檢測(cè)(如VJ檢測(cè)器)極大促進(jìn)了目標(biāo)檢測(cè)的發(fā)展,其中許多檢測(cè)思想即使在今天的目標(biāo)檢測(cè)也仍然發(fā)昏這重要作用。目前人臉檢測(cè)已應(yīng)用到各行各業(yè),如數(shù)碼相機(jī)中的微笑檢測(cè),電子商務(wù)中的刷臉,手機(jī)應(yīng)用中的面部化妝等等。 8.2.1 難點(diǎn)與挑戰(zhàn)![]() 人臉檢測(cè)任務(wù)中存在的難點(diǎn)與挑戰(zhàn)可簡(jiǎn)要概括為如下四點(diǎn):
如上圖8-2(a)所示,人類臉部可能出現(xiàn)各種變化,如表情,膚色,姿勢(shì)和運(yùn)動(dòng)等變化。
如上圖8-2(b)所示,人臉可能被其它物體所遮擋。
如上圖8-2(c)所示,在檢測(cè)大尺寸人臉的時(shí)候,也經(jīng)常要檢測(cè)小尺寸的人臉,因此存在多尺度檢測(cè)挑戰(zhàn)。
移動(dòng)設(shè)備上的人臉檢測(cè)應(yīng)用還需要在CPU上實(shí)現(xiàn)實(shí)時(shí)檢測(cè)的性能。 8.2.2 解決方法
級(jí)聯(lián)檢測(cè)[34] 是加速人臉檢測(cè)最常用的一種方式。其它的一些加速方法則是通過(guò)在一張圖片上預(yù)測(cè)出人臉尺度的分布[35],然后在選擇某些尺度進(jìn)行人臉檢測(cè)。
通過(guò)估計(jì)校準(zhǔn)后的參數(shù)或使用漸進(jìn)校準(zhǔn)技術(shù)可以實(shí)現(xiàn)人臉校準(zhǔn),人臉校準(zhǔn)是改善多姿態(tài)人臉檢測(cè)的主要技術(shù)手段。為了改善臉部遮擋后的人臉檢測(cè),近年來(lái)提出了兩種方法:第一個(gè)是結(jié)合注意力機(jī)制[36],以增強(qiáng)人臉特征;第二個(gè)則是使用Detection based on parts[37]來(lái)解決人臉遮擋問(wèn)題,該項(xiàng)技術(shù)借鑒了DPM的思想。
改善多尺度人臉檢測(cè)的解決方法主要是多尺度特征融合[38]與多分辨率檢測(cè)。 8.3 文本檢測(cè)文本檢測(cè)的任務(wù)是判斷一張圖片中是否存在文字,若有文字,則需要計(jì)算機(jī)對(duì)圖片中的文字進(jìn)行定位并識(shí)別文字的具體內(nèi)容,所以文本檢測(cè)具有兩個(gè)子任務(wù):文本定位與文本識(shí)別。文本檢測(cè)可以幫助視障人士閱讀路牌或貨幣,在地理信息系統(tǒng)中,門牌號(hào)和街道標(biāo)值的檢測(cè)與識(shí)別也使數(shù)字地圖的構(gòu)建變得更加容易。 8.3.1 難點(diǎn)與挑戰(zhàn)![]() 文本檢測(cè)任務(wù)中存在的難點(diǎn)與挑戰(zhàn)可簡(jiǎn)要概括為如下四點(diǎn):
如上圖8-3(a)所示,圖像中可能會(huì)出現(xiàn)不同字體,顏色和不同語(yǔ)言的文本。
如上圖8-3(b)所示,圖像中可能會(huì)出現(xiàn)具有不同視角和方向的文本。
如上圖8-3(c)所示,具有大寬高比和高密集文本的文字導(dǎo)致文本檢測(cè)算法難以精確定位。
8.3.2 解決方法
對(duì)此問(wèn)題最常見的方法是在Anchor box中,和通過(guò)旋轉(zhuǎn)與透視變化分區(qū)[39] 的ROI引入額外的參數(shù)。
基于分割的方法在密集型檢測(cè)任務(wù)中展現(xiàn)了許多優(yōu)勢(shì),為了區(qū)分相鄰的文本行,近年來(lái)一些研究學(xué)者提出了兩種解決方案:第一個(gè)是段連接方法[40],其中段指的是字符熱圖,而連接指的是兩個(gè)相鄰段之間的連接,這表明它們屬于同一單詞或文本行;第二個(gè)是增加一個(gè)額外的邊界檢測(cè)任務(wù)[41] 來(lái)幫助分離密集排列的文本。
處理字體缺失與模糊問(wèn)題的最近解決方案是使用單詞或句子級(jí)別的識(shí)別[42],而處理不同字體的文本,最有效的方法是使用合成樣本[43]進(jìn)行訓(xùn)練。 8.4 交通信號(hào)檢測(cè)隨著自動(dòng)駕駛技術(shù)的發(fā)展,交通標(biāo)志和紅綠燈的自動(dòng)檢測(cè)近年來(lái)備受關(guān)注。對(duì)于像交通燈和交通標(biāo)志這樣的固定場(chǎng)景的標(biāo)志檢測(cè),仍然具有不小的挑戰(zhàn)。 8.4.1 難點(diǎn)與挑戰(zhàn)![]() 交通標(biāo)志檢測(cè)任務(wù)中存在的難點(diǎn)與挑戰(zhàn)可簡(jiǎn)要概括為如下四點(diǎn):
如上圖8-4(a)所示,當(dāng)夜晚或者有強(qiáng)烈光照的時(shí)候,交通標(biāo)志的檢測(cè)將變得異常困難。
如上圖8-4(b)所示,由于車輛在高速行駛的時(shí)候所拍攝出來(lái)交通標(biāo)志照片會(huì)出現(xiàn)模糊的情況。
交通標(biāo)志的檢測(cè)對(duì)于自動(dòng)駕駛非常重要,所以此任務(wù)需要有很高的實(shí)時(shí)性能。 8.4.2 解決方法在深度學(xué)習(xí)時(shí)代,一些經(jīng)典的檢測(cè)算法如Faster RCNN和SSD被應(yīng)用于交通標(biāo)志/燈光的檢測(cè)任務(wù),而后在這些檢測(cè)算法的基礎(chǔ)上,出現(xiàn)的一些新技術(shù),如注意力機(jī)制[44]和對(duì)抗性訓(xùn)練[45],已被用于改進(jìn)復(fù)雜交通環(huán)境下的算法檢測(cè)性能。 8.5 遙感目標(biāo)檢測(cè)近年來(lái),隨著遙感圖像分辨率的提高,遙感圖像目標(biāo)檢測(cè)(如飛機(jī)、船舶、油罐等的檢測(cè))成為研究熱點(diǎn),遙感圖像目標(biāo)檢測(cè)具有廣泛的應(yīng)用,如軍事偵查、災(zāi)害救援、城市交通管理等等。 8.5.1 難點(diǎn)與挑戰(zhàn)![]() 交通標(biāo)志檢測(cè)任務(wù)中存在的難點(diǎn)與挑戰(zhàn)可簡(jiǎn)要概括為如下四點(diǎn):
如上圖8-5(a)所示,由于遙感圖像分辨率巨大,因此如何快速準(zhǔn)確的檢測(cè)出遙感目標(biāo)仍然是一個(gè)挑戰(zhàn)性的問(wèn)題。
如上圖8-5(b)所示,超過(guò)50%的目標(biāo)被云霧所遮擋,因此目標(biāo)遮擋問(wèn)題也是遙感圖像目標(biāo)檢測(cè)所面臨的一個(gè)挑戰(zhàn)。 由不同傳感器所捕獲的遙感圖像仍然存在很大差異。 8.5.2 解決方法在2014年RCNN取得巨大成功后,深度卷積神經(jīng)網(wǎng)絡(luò)很快便應(yīng)用于遙感圖像目標(biāo)檢測(cè),之后通用目標(biāo)檢測(cè)網(wǎng)絡(luò)Faster RCNN和SSD的提出,吸引了一大批研究學(xué)者將越來(lái)越多的注意力集中到遙感圖像目標(biāo)檢測(cè)中。 為了檢測(cè)不同方向的目標(biāo),一些研究人員改進(jìn)了ROI池化層[46],以獲得更好的旋轉(zhuǎn)不變性;為了提高領(lǐng)域適應(yīng)性,一些研究人員會(huì)從貝葉斯的角度[47]進(jìn)行檢測(cè),從而在檢測(cè)階段,模型會(huì)基于測(cè)試圖像的分布完成自適應(yīng)更新。此外,注意力機(jī)制和特征融合策略也被用于改進(jìn)小目標(biāo)檢測(cè)[48]問(wèn)題。 9. 七大發(fā)展趨勢(shì)在過(guò)去的十幾年里,目標(biāo)檢測(cè)取得了顯著的成就。本文不僅回顧了一些具備里程碑意義的檢測(cè)算法(例如VJ檢測(cè)器、HOG檢測(cè)器、DPM、Faster-RCNN、YOLO、SSD等)、關(guān)鍵技術(shù)、加速方法、檢測(cè)應(yīng)用、數(shù)據(jù)集和指標(biāo);還討論了檢測(cè)任務(wù)所遇到的幾大挑戰(zhàn),以及如何解決這幾大挑戰(zhàn)作了充分討論。在未來(lái)的一些研究工作中,目標(biāo)檢測(cè)領(lǐng)域可能主要呈現(xiàn)以下七大發(fā)展趨勢(shì): 9.1 輕量型目標(biāo)檢測(cè)為了加快目標(biāo)檢測(cè)的推理速度并使其能夠在移動(dòng)設(shè)備上快速流暢的運(yùn)行,比如在一些重要的應(yīng)用:增強(qiáng)現(xiàn)實(shí)、智能相機(jī)、人臉驗(yàn)證等等,近年來(lái)一些研究學(xué)者為此做了大量的努力,但目前的一些檢測(cè)算法速度仍然較慢。這將導(dǎo)致工業(yè)界不得不花費(fèi)更多的資金來(lái)購(gòu)買算力更高的設(shè)備去運(yùn)行該檢測(cè)算法,這在一定程度上阻礙了檢測(cè)算法的落地進(jìn)程。因此檢測(cè)算法在未來(lái)的一個(gè)發(fā)展趨勢(shì)中,輕量快速且高精度是目標(biāo)檢測(cè)永恒的主題。 9.2 與AutoML結(jié)合的目標(biāo)檢測(cè)近年來(lái)基于深度學(xué)習(xí)的檢測(cè)算法變得越來(lái)越復(fù)雜且嚴(yán)重依賴于經(jīng)驗(yàn)設(shè)計(jì),為了在使用神經(jīng)架構(gòu)搜索NAS技術(shù)設(shè)計(jì)檢測(cè)算法時(shí)減少人為參與(如何設(shè)計(jì)檢測(cè)算法的Backbone,如何設(shè)計(jì)先驗(yàn)框等等),未來(lái)的一個(gè)發(fā)展方向就是將目標(biāo)檢測(cè)與AutoML技術(shù)結(jié)合,因此AutoML可能是目標(biāo)檢測(cè)的未來(lái)。 9.3 領(lǐng)域自適應(yīng)的目標(biāo)檢測(cè)任何目標(biāo)檢測(cè)算法的訓(xùn)練過(guò)程本質(zhì)上都可以看成數(shù)據(jù)在獨(dú)立同分布(i.i.d.)下的似然估計(jì)過(guò)程,而對(duì)于不滿足(i.i.d.)的目標(biāo)檢測(cè)數(shù)據(jù)(特別是對(duì)于一些現(xiàn)實(shí)世界的應(yīng)用程序)仍然是一個(gè)挑戰(zhàn),GAN在領(lǐng)域自適應(yīng)方面已經(jīng)顯示出 了強(qiáng)大的效果,這對(duì)于目標(biāo)檢測(cè)技術(shù)來(lái)講應(yīng)該具有很大的促進(jìn)作用。 9.4 弱監(jiān)督目標(biāo)檢測(cè)基于深度學(xué)習(xí)檢測(cè)算法的訓(xùn)練通常依賴于大量高質(zhì)量標(biāo)注的圖像數(shù)據(jù)集,而標(biāo)準(zhǔn)過(guò)程通常比較耗時(shí)且效率低下。運(yùn)用弱監(jiān)督目標(biāo)檢測(cè)技術(shù),可以使檢測(cè)算法使用部分邊界框標(biāo)注的數(shù)據(jù)集進(jìn)行訓(xùn)練,因此弱監(jiān)督技術(shù)對(duì)于降低人力成本和提高檢測(cè)靈活性非常重要。 9.5 小目標(biāo)檢測(cè)在場(chǎng)景圖像中檢測(cè)小目標(biāo)一直是目標(biāo)檢測(cè)領(lǐng)域長(zhǎng)期以來(lái)所面臨的一個(gè)挑戰(zhàn),小目標(biāo)檢測(cè)研究方向的一些潛在應(yīng)用包括:利用遙感圖像統(tǒng)計(jì)野生動(dòng)物的數(shù)量,和檢測(cè)一些重要軍事目標(biāo)的狀態(tài),因此如何解決小目標(biāo)問(wèn)題一直是研究者研究的熱點(diǎn)。 9.6 視頻檢測(cè)高清視頻中的實(shí)時(shí)目標(biāo)檢測(cè)/跟蹤對(duì)于視頻監(jiān)控和自動(dòng)駕駛具有重要意義,現(xiàn)有的目標(biāo)檢測(cè)算法通常是為單張圖像的物體檢測(cè)而設(shè)計(jì)的,而忽略了視頻幀與幀之間的相關(guān)性,通過(guò)探索視頻幀序列之間的空間和時(shí)間相關(guān)性來(lái)改善檢測(cè)性能是一個(gè)重要的研究方向。 9.7 信息融合目標(biāo)檢測(cè)具有多種數(shù)據(jù)源(多模態(tài),例如RGB-D圖像、3d 點(diǎn)云、激光雷達(dá)等)的目標(biāo)檢測(cè)對(duì)于自動(dòng)駕駛和無(wú)人機(jī)應(yīng)用非常重要,一些未解決的問(wèn)題包括:如何將訓(xùn)練好的的檢測(cè)模型遷移到不同模態(tài)的數(shù)據(jù)中,如何通過(guò)信息融合以改進(jìn)檢測(cè)性能等也是未來(lái)發(fā)展的一個(gè)重要研究方向。 總結(jié)本文介紹了傳統(tǒng)目標(biāo)檢測(cè)算法到基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法發(fā)展進(jìn)程,詳細(xì)介紹了基于CNN目標(biāo)檢測(cè)算法發(fā)展的三條技術(shù)路線:一階段、二階段和Anchor free的檢測(cè)算法,同時(shí)分析了為了提高檢測(cè)模型精度和速度,近年來(lái)所出現(xiàn)的一些技術(shù)及其演變歷程,最后本文簡(jiǎn)單介紹了目標(biāo)檢測(cè)的幾大應(yīng)用場(chǎng)景及其未來(lái)發(fā)展的趨勢(shì)。希望本文能幫助各位讀者在目標(biāo)檢測(cè)領(lǐng)域構(gòu)建一個(gè)清晰的知識(shí)體系架構(gòu),并在目標(biāo)檢測(cè)發(fā)展的快車道上盡快找到屬于自己的研究方向并有所建樹! References[1] Rapid object detection using a boosted cascade of simple features 如果覺得有用,就請(qǐng)分享到朋友圈吧! |
|
來(lái)自: taotao_2016 > 《視覺》