許德剛,王 露,李 凡
1.河南工業(yè)大學(xué) 糧食信息處理與控制教育部重點(diǎn)實(shí)驗(yàn)室,鄭州450001
2.河南工業(yè)大學(xué) 信息科學(xué)與工程學(xué)院,鄭州450001
目標(biāo)檢測(cè)作為計(jì)算機(jī)視覺(jué)領(lǐng)域的研究方向之一,能夠?yàn)閳D像和視頻的語(yǔ)義理解提供有價(jià)值的信息。其本質(zhì)是對(duì)目標(biāo)進(jìn)行定位和分類,主要任務(wù)是準(zhǔn)確高效地找出給定圖像中所有感興趣的目標(biāo),利用矩形邊界框來(lái)定位被檢測(cè)目標(biāo)的位置和大小,與目標(biāo)分類、語(yǔ)義分割、實(shí)例分割有一定聯(lián)系。目標(biāo)檢測(cè)在科學(xué)發(fā)展和實(shí)際工業(yè)中扮演著重要的角色,例如人臉識(shí)別、文本檢測(cè)、標(biāo)志檢測(cè)等。在目標(biāo)檢測(cè)過(guò)程中,由于圖像中各類目標(biāo)物體的外觀、姿態(tài)、形狀、數(shù)量各異,還受到光照、遮擋等各種因素的干擾,導(dǎo)致目標(biāo)發(fā)生畸變,使目標(biāo)檢測(cè)難度增加[1],許多學(xué)者對(duì)目標(biāo)檢測(cè)算法進(jìn)行了研究探索。
目標(biāo)檢測(cè)算法主要分為傳統(tǒng)檢測(cè)算法和基于深度學(xué)習(xí)的檢測(cè)算法。傳統(tǒng)檢測(cè)方法是建立在手工制作特征和淺層可訓(xùn)練架構(gòu)上的,這種方法從目標(biāo)檢測(cè)器和場(chǎng)景分類器中結(jié)合大量低水平圖像特征和高水平語(yǔ)義信息構(gòu)建成復(fù)雜系統(tǒng)的性能不高。傳統(tǒng)目標(biāo)檢測(cè)算法主要包括DPM(Deformable Parts Model)[2]、選擇性搜索(Selective Search)[3]、Oxford-MKL[4]和NLPR-HOGLBP[5]等,其基本結(jié)構(gòu)主要包括以下三個(gè)部分:
(1)區(qū)域選擇器。首先對(duì)給定圖像設(shè)置不同大小和比例的滑動(dòng)窗口,將整個(gè)圖像從左到右、從上到下進(jìn)行遍歷以框出待檢測(cè)圖像中的某一部分作為候選區(qū)域。
(2)特征提取。提取候選區(qū)域的視覺(jué)特征,例如在人臉和普通目標(biāo)檢測(cè)中常用的尺度不變特征變換(Scale-Invariant Feature Transform,SIFT)[6]、Haar[7]、方向梯度直方圖(Histogram of Oriented Gradient,HOG)[8]等特征,對(duì)每個(gè)區(qū)域進(jìn)行提取特征。
(3)分類器分類。使用訓(xùn)練好的分類器對(duì)特征進(jìn)行目標(biāo)類別識(shí)別,如常用的形變部件模型(DPM)、Adaboot[9]支持向量機(jī)(Support Vector Machines,SVM)[10]等分類器。
傳統(tǒng)目標(biāo)檢測(cè)方法取得了一定的成果,但也暴露了其固有的弊端。首先,采用滑動(dòng)窗口進(jìn)行區(qū)域選擇會(huì)導(dǎo)致較高的時(shí)間復(fù)雜度和窗口冗余。其次,外觀形態(tài)的多姿性、光照變化的不定性和背景的多樣性導(dǎo)致人工手動(dòng)設(shè)計(jì)特征的方法魯棒性不好[11],泛化性差,繁雜的算法步驟導(dǎo)致檢測(cè)效率慢、精度不高[12]。傳統(tǒng)的檢測(cè)方法已經(jīng)難以滿足人們對(duì)目標(biāo)檢測(cè)高性能效果的需求。
近年來(lái),深度學(xué)習(xí)得到了快速發(fā)展,引入了一些能學(xué)習(xí)語(yǔ)義、高水平、深層次特征的工具來(lái)解決傳統(tǒng)體系結(jié)構(gòu)中存在問(wèn)題,使模型在網(wǎng)絡(luò)架構(gòu)、訓(xùn)練策略和優(yōu)化功能方面性能提升。Hinton 等[13]在2012 年首次將深層卷積神經(jīng)網(wǎng)絡(luò)AlexNet[14]應(yīng)用于大規(guī)模圖像分類中,在目標(biāo)檢測(cè)數(shù)據(jù)集ImageNet[15]大規(guī)模視覺(jué)識(shí)別挑戰(zhàn)的分類任務(wù)中獲得冠軍。隨著深度卷積神經(jīng)網(wǎng)絡(luò)獲得的重大研究進(jìn)展,DCNN 逐漸成為人們關(guān)注的焦點(diǎn),也成為目標(biāo)檢測(cè)新的研究方向。
主流的深度學(xué)習(xí)目標(biāo)檢測(cè)算法主要分為雙階段檢測(cè)算法和單階段檢測(cè)算法,如圖1所示。雙階段檢測(cè)算法是以R-CNN系列為代表的基于候選區(qū)域的目標(biāo)檢測(cè)算法;單階段檢測(cè)算法是以YOLO、SSD 為代表的基于回歸分析的目標(biāo)檢測(cè)算法。
圖1 基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法
數(shù)據(jù)集在目標(biāo)檢測(cè)研究中扮演著十分重要的角色,在進(jìn)行目標(biāo)檢測(cè)任務(wù)時(shí),適用性強(qiáng)的數(shù)據(jù)集可以有效測(cè)試和評(píng)估算法的性能,并且推動(dòng)相關(guān)領(lǐng)域的研究發(fā)展?;谏疃葘W(xué)習(xí)的目標(biāo)檢測(cè)任務(wù)中應(yīng)用最廣泛的數(shù)據(jù)集有:PASCAL VOC2007[16]、PASCAL VOC2012[17]、Microsoft COCO[18]、ImageNet[15]和OICOD(the Open Image Challenge Object Detection)[19]等。
PASCAL VOC(The PASCAL Visual Object Classification)數(shù)據(jù)集在2005 年首次發(fā)布,至2012 年更新了多個(gè)版本,主要用于圖像分類、圖像識(shí)別、目標(biāo)檢測(cè)任務(wù)。目前主流的是PASCAL 2007 和PASCAL 2012 兩個(gè)版本,包含20個(gè)類別,數(shù)據(jù)集圖像都有對(duì)應(yīng)的格式標(biāo)簽文件對(duì)目標(biāo)位置和類別進(jìn)行標(biāo)注。PASCAL VOC2007包含9 963 張標(biāo)注過(guò)的圖片,標(biāo)注出24 640 個(gè)目標(biāo)物體;PASCAL VOC2012 包含11 540 張圖片,一共標(biāo)注出27 450個(gè)目標(biāo)物體。
Microsoft COCO 數(shù)據(jù)集在2015 年首次發(fā)布,是一種基于日常復(fù)雜場(chǎng)景的常見(jiàn)目標(biāo)數(shù)據(jù)庫(kù),具有小目標(biāo)物體多、單幅圖片目標(biāo)多等特點(diǎn),一共包含30多萬(wàn)張完全分割的圖像,平均每張圖像含有7 個(gè)目標(biāo)實(shí)例,共標(biāo)注出250萬(wàn)個(gè)目標(biāo)物體,包含91個(gè)物體類別。主要用于圖像標(biāo)題生成、目標(biāo)檢測(cè)、實(shí)例分割等任務(wù),該數(shù)據(jù)集是圖像分割領(lǐng)域最大的數(shù)據(jù)集,極大推動(dòng)了該領(lǐng)域的發(fā)展。
ImageNet 數(shù)據(jù)集于2010 年發(fā)布,增加了類和圖像的數(shù)量,提高了目標(biāo)檢測(cè)任務(wù)的訓(xùn)練和評(píng)估標(biāo)準(zhǔn),主要用于圖像分類、目標(biāo)定位、目標(biāo)檢測(cè)、場(chǎng)景分類和場(chǎng)景解析等任務(wù)。該數(shù)據(jù)集的圖像數(shù)量增加到1 200 萬(wàn)多張,2.2萬(wàn)個(gè)類別,約103萬(wàn)張圖片進(jìn)行了目標(biāo)物體和類別標(biāo)注,包含200個(gè)對(duì)象類別。ImageNet數(shù)據(jù)集是圖像識(shí)別最大的可視化數(shù)據(jù)庫(kù),推動(dòng)了深度學(xué)習(xí)的浪潮;另一方面,由于數(shù)據(jù)集大,類別數(shù)目多,導(dǎo)致訓(xùn)練所用的計(jì)算量很大,目標(biāo)檢測(cè)難度增加。
OICOD 數(shù)據(jù)集是在OpenImageV4 基礎(chǔ)上提出的最大的公共使用數(shù)據(jù)集,與ILSVRC(ImageNet Large Scale Visual Recognition Challenge)和MS COCO目標(biāo)檢測(cè)數(shù)據(jù)集不同,它提供了更多的類、圖像、邊界框、實(shí)例分割分支和大量的注釋過(guò)程,OICOD 為目標(biāo)實(shí)例提供了人工確認(rèn)的標(biāo)簽。OpenImageV4 使用分類器注釋圖像,并且只使用人工驗(yàn)證得分很高的標(biāo)簽。ILSVRC和MS COCO是一個(gè)完整的注釋數(shù)據(jù)集。
目標(biāo)檢測(cè)算法的性能主要通過(guò)以下幾個(gè)參數(shù)評(píng)估:交并比(Intersection over Union,IoU)[20]、檢測(cè)速度(Frame Per Second,F(xiàn)PS)、準(zhǔn)確率(Accuracy,A)、召回率(Recall,R)、精確度(Precision,P)、平均精確度(Average Precision,AP)和平均精確度均值(mean Average Precision,mAP)[21]。其中AP 由P-R 曲線和坐標(biāo)圍起來(lái)的面積組成,mAP是AP的均值。
目標(biāo)檢測(cè)模型的分類和定位能力是其最主要的性能體現(xiàn),而mAP 值是其最直觀的表達(dá)方式,mAP 值越大,表明該模型的精度越高;檢測(cè)速度代表了目標(biāo)檢測(cè)模型的計(jì)算性能,用FPS值來(lái)體現(xiàn),F(xiàn)PS值越大,說(shuō)明算法模型實(shí)時(shí)性越好。在實(shí)際應(yīng)用中,評(píng)估目標(biāo)檢測(cè)模型的性能時(shí),一般結(jié)合平均精確度均值mAP 和檢測(cè)速度FPS兩者來(lái)判斷。
雙階段目標(biāo)檢測(cè)方法主要通過(guò)選擇性搜索(Selective Search)或者Edge Boxes[22]等算法對(duì)輸入圖像選取可能包含檢測(cè)目標(biāo)的候選區(qū)域(Region Proposal)[23],再對(duì)候選區(qū)域進(jìn)行分類和位置回歸以得到檢測(cè)結(jié)果。典型的算法有R-CNN[24]系列、R-FCN[25]、Mask R-CNN[26]等。
2.1.1 OverFeat算法
Sermanet 等[27]改進(jìn)AlexNet 提出了OverFeat 算法。該算法結(jié)合AlexNet通過(guò)多尺度滑動(dòng)窗口[28]實(shí)現(xiàn)特征提取功能,共享特征提取層,并應(yīng)用于圖像分類、定位和目標(biāo)檢測(cè)等任務(wù)。在ILSVRC 2013[29]數(shù)據(jù)集上的mAP達(dá)24.3%,檢測(cè)效果相比傳統(tǒng)檢測(cè)方法有顯著提升。該算法對(duì)深度學(xué)習(xí)的目標(biāo)檢測(cè)算法有啟發(fā)式意義,但對(duì)小目標(biāo)物體檢測(cè)效果不好,存在較高錯(cuò)誤率。
2.1.2 R-CNN算法
2014年,Girshick等將卷積神經(jīng)網(wǎng)絡(luò)CNN應(yīng)用于目標(biāo)檢測(cè)任務(wù),提出了典型的雙階段目標(biāo)檢測(cè)算法R-CNN[24],R-CNN將AlexNet與選擇性搜索算法相結(jié)合,包含區(qū)域建議、基于CNN 的深度特征提取、分類回歸三個(gè)模塊:(1)使用選擇性算法從每張圖像中提取2 000 個(gè)左右可能包含目標(biāo)物體的區(qū)域候選框;(2)對(duì)候選區(qū)域進(jìn)行歸一化操作縮放成固定大小,進(jìn)行特征提取;(3)使用AlexNet將候選區(qū)域特征逐個(gè)輸進(jìn)SVM進(jìn)行分類,通過(guò)使用邊界框回歸(Bounding Box Regression)和非極大值抑制(Non-Maximum Suppression,NMS)對(duì)區(qū)域得分進(jìn)行調(diào)整和過(guò)濾,在全連接網(wǎng)絡(luò)進(jìn)行位置回歸。
R-CNN算法在ILSVRC2013數(shù)據(jù)集上mAP提升至31.4%,在VOC2007 數(shù)據(jù)集上mAP 為58.5%,相比傳統(tǒng)目標(biāo)檢測(cè)算法,性能得到改進(jìn)。但仍存在以下問(wèn)題:
(1)訓(xùn)練是一個(gè)多階段通道,緩慢且難以優(yōu)化,因?yàn)槊總€(gè)階段都必須分別進(jìn)行培訓(xùn)。
(2)對(duì)于SVM分類器和邊界框回歸器的訓(xùn)練,無(wú)論是在磁盤空間還是時(shí)間上都是昂貴的,因?yàn)镃NN 特征需要從每幅圖像的每個(gè)目標(biāo)建議中提取,這對(duì)大規(guī)模檢測(cè)來(lái)說(shuō)是巨大的挑戰(zhàn),尤其是在非常深的網(wǎng)絡(luò)下,如VGG16。
(3)測(cè)試速度慢,因?yàn)镃NN特征需要在每個(gè)測(cè)試圖像的目標(biāo)建議提取,沒(méi)有共享計(jì)算。
2.1.3 SPP-Net算法
針對(duì)R-CNN對(duì)所有候選區(qū)域分別提取特征、計(jì)算量大的問(wèn)題,2015 年He 等[30]提出空間金字塔網(wǎng)絡(luò)(Spatial Pyramid Pooling Network,SPP-Net)。SPP-Net 在最后一個(gè)卷積層和全連接層之間加入空間金字塔結(jié)構(gòu);使用多個(gè)標(biāo)準(zhǔn)尺度微調(diào)器對(duì)圖像進(jìn)行分割,將量化后的局部特征融合生成中層表達(dá),在第五個(gè)卷積層的特征圖上生成固定長(zhǎng)度的特征向量,一次性提取特征避免重復(fù)特征提取,打破了固定尺寸輸入的束縛。
以上改進(jìn)使SPP-Net 算法比R-CNN 算法檢測(cè)速度提高24~102倍,在PASCAL 2007數(shù)據(jù)集上mAP提高至59.2%。但以下問(wèn)題仍需改進(jìn):(1)需存儲(chǔ)大量的特征,空間消耗大;(2)依然使用SVM 分類器,訓(xùn)練步驟繁瑣且周期長(zhǎng)。
2.1.4 Fast R-CNN算法
為克服SPP-Net 存在的問(wèn)題,2015 年Girshick 等提出基于邊界框和多任務(wù)損失分類的Fast R-CNN[31]算法。該算法將SPP 層簡(jiǎn)化,設(shè)計(jì)出單尺度的ROI Pooling 池化層結(jié)構(gòu);將整張圖像的候選區(qū)域采樣成固定大小,生成特征圖后作SVD分解,通過(guò)RoI Pooling層得到Softmax的分類得分和BoundingBox 外接矩形框的窗口回歸兩個(gè)向量;用Softmax 代替SVM 提出多任務(wù)損失函數(shù)思想,將深度網(wǎng)絡(luò)和SVM分類兩個(gè)階段整合,即將分類問(wèn)題和邊框回歸問(wèn)題進(jìn)行合并。
Fast R-CNN 使用VGG-16 代替AlexNet,將特征提取、目標(biāo)分類和位置回歸都整合到一個(gè)模型中,降低了復(fù)雜度,提高了檢測(cè)精度和速度。在VOC2007 數(shù)據(jù)集上mAP 提高到70%,訓(xùn)練速度較R-CNN 相比,提升了9倍。但該算法使用選擇性搜索算法對(duì)候選區(qū)域進(jìn)行特征提取會(huì)生成正負(fù)樣本候選框,消耗大量時(shí)間,實(shí)時(shí)性問(wèn)題沒(méi)有得到解決。
2.1.5 Faster R-CNN算法
邊界框、選擇性搜索等使用候選區(qū)域生成方法大大阻礙了精確度的提高。針對(duì)該問(wèn)題,2017 年Ren 等[32]提出了Faster R-CNN,引入了區(qū)域建議網(wǎng)絡(luò)(Region Proposal Network,RPN)取代選擇性搜索算法,RPN 將區(qū)域建議提取集成到DCNN,與整個(gè)檢測(cè)過(guò)程共享所有圖像的卷積特征。RPN 在每個(gè)位置同時(shí)預(yù)測(cè)目標(biāo)邊界框和類別置信度分?jǐn)?shù),實(shí)現(xiàn)了目標(biāo)檢測(cè)端到端的訓(xùn)練,加快了網(wǎng)絡(luò)的計(jì)算速度。Faster R-CNN網(wǎng)絡(luò)由卷積層、RPN網(wǎng)絡(luò)、RoI Pooling層、分類和回歸層等4部分組成。
Faster R-CNN使用VGG-16骨干網(wǎng)絡(luò),在PASCAL VOC 2007 數(shù)據(jù)集上mAP 為73.2%。但仍存在問(wèn)題:(1)在特征圖上采用anchor機(jī)制時(shí)候選框設(shè)置的尺度不適用于所有目標(biāo),尤其對(duì)小目標(biāo)檢測(cè)效果不好;(2)只采用VGG-16網(wǎng)絡(luò)的最后一層卷積層所輸出特征做預(yù)測(cè),經(jīng)過(guò)RoI Pooling 層后導(dǎo)致網(wǎng)絡(luò)特征喪失平移不變性,降低準(zhǔn)確性;(3)ROI 池化層對(duì)高度重疊的區(qū)域存在重復(fù)計(jì)算,降低檢測(cè)速度;(4)RPN生成包含背景的類似目標(biāo)的區(qū)域,而不是目標(biāo)實(shí)例,在處理非常大或者有形狀的目標(biāo)時(shí)效果不好。
2.1.6 R-FCN算法
R-CNN系列算法的思想和性能決定了目標(biāo)檢測(cè)的里程碑。該系列結(jié)構(gòu)本質(zhì)上由兩個(gè)子網(wǎng)組成(Faster RCNN 添加了PRN,由三個(gè)子網(wǎng)組成),前一個(gè)子網(wǎng)是提取特征的骨干網(wǎng)絡(luò),后一個(gè)子網(wǎng)用于完成目標(biāo)檢測(cè)的分類和定位。RoI池化層在兩個(gè)子網(wǎng)之間,將多尺度特征映射轉(zhuǎn)換成固定大小的特征映射,但該步驟破壞了網(wǎng)絡(luò)的平移不變性,不利于目標(biāo)分類。2016年,Dai等[25]在基于區(qū)域的全卷積網(wǎng)絡(luò)(Region based Fully Convolutional Networks,R-FCN)算法中提出了包含目標(biāo)位置信息的位置敏感分?jǐn)?shù)圖(Position-Sensitive Score Maps),采用ResNet-101[33]骨干網(wǎng)絡(luò)。R-FCN 區(qū)域檢測(cè)是基于整個(gè)圖像的全卷積計(jì)算且共享全卷積網(wǎng)絡(luò),使用位置敏感映射圖RoI 池來(lái)協(xié)調(diào)整個(gè)卷積層的平移不變性和平移敏感性,提高目標(biāo)定位。
R-FCN 在PASCALVOC2007 測(cè)試集上的mAP 達(dá)83.6%,在PASCAL VOC 2012測(cè)試集上mAP為82.0%,每張圖片檢測(cè)時(shí)間縮短至170 ms,較Faster R-CNN 提高了2.5~20倍。
2.1.7 Mask R-CNN算法
實(shí)例分割任務(wù)非常具有挑戰(zhàn)性,由目標(biāo)檢測(cè)和實(shí)例分割兩個(gè)獨(dú)立功能組成。2017 年,He 等提出的Mask R-CNN[26]是Faster R-CNN的擴(kuò)展,采用ResNet-101-FPN骨干網(wǎng)絡(luò)。Mask R-CNN 將多任務(wù)損失與分割分支損失、分類、邊界框回歸損失相結(jié)合,在目標(biāo)分類和邊框回歸的基礎(chǔ)上增加了一個(gè)用于RoI預(yù)測(cè)分割的Mask網(wǎng)絡(luò)分支,實(shí)現(xiàn)實(shí)時(shí)的目標(biāo)檢測(cè)和實(shí)例分割。由于RoI池的整數(shù)量化,特征圖區(qū)域和原始圖像區(qū)域不對(duì)齊,因此在預(yù)測(cè)像素級(jí)掩碼時(shí)會(huì)產(chǎn)生一個(gè)偏差。為解決在下采樣和RoI 池層等比例縮放對(duì)特征圖尺度做取整操作引入誤差的問(wèn)題,He 等提出RoIAlign[34]層代替RoI 池層,使用雙線性差值填補(bǔ)非整數(shù)位置的像素實(shí)現(xiàn)像素級(jí)對(duì)齊,提高目標(biāo)檢測(cè)分支的精度。在COCO數(shù)據(jù)集的mAP提升至39.8%,檢測(cè)速度為5 frame/s。但是檢測(cè)速度仍然難以滿足實(shí)時(shí)要求,且實(shí)例分割標(biāo)注代價(jià)過(guò)大。
2.1.8 Chained Cascade Network和Cascade RCNN算法
Cascade級(jí)聯(lián)的本質(zhì)是通過(guò)使用多階段分類器學(xué)習(xí)更多的判別型分類器,即前期階段丟棄大量簡(jiǎn)易負(fù)樣本以便后期集中處理較困難樣本。兩階段目標(biāo)檢測(cè)可以看作是一個(gè)級(jí)聯(lián),第一階段檢測(cè)器去除大量背景,第二階段對(duì)剩余區(qū)域進(jìn)行分類。最近,超過(guò)兩級(jí)聯(lián)分類器的端到端學(xué)習(xí)和通用目標(biāo)檢測(cè)的DCNNs提出了鏈接級(jí)聯(lián)網(wǎng)絡(luò)(Chained Cascade Network)[35]、級(jí)聯(lián)RCNN 的擴(kuò)展[36]以及申請(qǐng)同步目標(biāo)檢測(cè)和實(shí)例分割[37],在2018 年COCO檢測(cè)挑戰(zhàn)獲得成功。
2.1.9 Light Head RCNN算法
為了進(jìn)一步提高R-FCN的檢測(cè)速度,Li等[38]提出了Light Head RCNN,使檢測(cè)網(wǎng)絡(luò)的頭部盡可能輕,以減少RoI 計(jì)算。特別地,文獻(xiàn)[38]應(yīng)用了卷積來(lái)生成具有小信道數(shù)(例如,COCO 有490 個(gè)信道)和低成本RCNN子網(wǎng)的薄特征圖,從而實(shí)現(xiàn)了速度和精度的良好平衡。
2.1.10 雙階段目標(biāo)檢測(cè)算法性能對(duì)比分析
雙階段目標(biāo)檢測(cè)實(shí)現(xiàn)了級(jí)聯(lián)結(jié)構(gòu),且在COCO數(shù)據(jù)集上取得了實(shí)例分割的成功,檢測(cè)精度一直在不斷提高,但是檢測(cè)速度普遍較慢。表1總結(jié)了雙階段目標(biāo)檢測(cè)算法的骨干網(wǎng)絡(luò)以及在VOC2007測(cè)試集、VOC 2012測(cè)試集以及COCO 測(cè)試集上的檢測(cè)精度(mAP)和檢測(cè)速度,“—”表示沒(méi)有相關(guān)數(shù)據(jù)。表2總結(jié)了這些基于候選區(qū)域的目標(biāo)檢測(cè)算法的優(yōu)缺點(diǎn)和適用場(chǎng)景。算法輸入圖像的大小、使用的的骨干網(wǎng)絡(luò)和計(jì)算機(jī)配置會(huì)有差別,在一定程度上會(huì)影響算法結(jié)果,總體來(lái)說(shuō)算法性能結(jié)果的對(duì)比還是客觀公平的。
從表1可以看出,雙階段目標(biāo)檢測(cè)器引入了更深層的ResNet[39]、ResNeXt[40]等骨干網(wǎng)絡(luò),檢測(cè)精度可以達(dá)到83.6%,但算法模型擴(kuò)大引起計(jì)算量增加,檢測(cè)速度只有11 frame/s,無(wú)法滿足實(shí)時(shí)性要求。
從表2可以看出,雙階段目標(biāo)檢測(cè)算法一直在彌補(bǔ)之前算法的缺陷,但帶來(lái)的模型規(guī)模大、檢測(cè)速度慢等問(wèn)題沒(méi)有得到解決。對(duì)此,一些研究者提出一種將目標(biāo)檢測(cè)轉(zhuǎn)化到回歸問(wèn)題上的思路,簡(jiǎn)化算法模型,在提高檢測(cè)精度的同時(shí)提高檢測(cè)速度。
表1 雙階段目標(biāo)檢測(cè)算法性能對(duì)比
表2 雙階段目標(biāo)檢測(cè)算法的優(yōu)缺點(diǎn)及適用場(chǎng)景
單階段的目標(biāo)檢測(cè)算法采用了回歸分析的思想,也稱為基于回歸分析的目標(biāo)檢測(cè)算法。單階段目標(biāo)檢測(cè)器省略了候選區(qū)域生成階段,直接得到目標(biāo)分類和位置信息,以YOLO系列和SSD系列為典型代表。
2.2.1 YOLO及其改進(jìn)目標(biāo)檢測(cè)算法
針對(duì)雙階段目標(biāo)檢測(cè)算法的低效問(wèn)題,2016 年,Redmon 等提出了一種單階段目標(biāo)檢測(cè)器YOLO(You Only Look Once)[41]。YOLO架構(gòu)由24個(gè)卷積層和2個(gè)FC層組成,使用最頂層的特征圖來(lái)預(yù)測(cè)邊界框,直接評(píng)估每個(gè)類別的概率,使用P-Relu激活函數(shù)。YOLO將每個(gè)圖像劃分成S×S的網(wǎng)格單元,每個(gè)網(wǎng)格單元只負(fù)責(zé)預(yù)測(cè)網(wǎng)格中心的目標(biāo),該算法舍去了候選區(qū)域生成階段,將特征提取、回歸和分類放在一個(gè)卷積網(wǎng)絡(luò)中,簡(jiǎn)化了網(wǎng)絡(luò)網(wǎng)絡(luò)。在實(shí)時(shí)情況下,YOLO檢測(cè)速度為45 frame/s,平均檢測(cè)精度mAP 為63.4%。但YOLO 對(duì)小尺度目標(biāo)的檢測(cè)效果不佳,目標(biāo)重疊遮擋環(huán)境下容易漏檢。
針對(duì)YOLO 定位不準(zhǔn),召回率和檢測(cè)精度低等缺陷,2017 年,Redmon 等改進(jìn)了YOLO 的網(wǎng)絡(luò)結(jié)構(gòu),提出了YOLOv2[42]算法。該模型以DarkNet-19[43]為骨干網(wǎng)絡(luò),增加了批量歸一化預(yù)處理;采用更高分辨率的分類器;使用2 個(gè)不同尺度的特征,以K-Means 聚類的方式計(jì)算更好的anchor模板,即多尺度訓(xùn)練機(jī)制;采用binary cross-entropy 損失函數(shù)替換Softmax 損失函數(shù),召回率和準(zhǔn)確性得到了顯著提升,檢測(cè)速度達(dá)到67 frame/s,在VOC2007 數(shù)據(jù)集上mAP 提升到78.6%。但是對(duì)重疊度高和小尺度目標(biāo)檢測(cè)仍需改進(jìn)。
2018 年,Redmon 等又在YOLOv2 的基礎(chǔ)上改進(jìn)提出了YOLOv3[44]。該版本采用了全新設(shè)計(jì)的更深層次的DarkNet-53[45]殘差網(wǎng)絡(luò)來(lái)進(jìn)行特征提取,并結(jié)合FPN網(wǎng)絡(luò);使用了3 個(gè)尺度的特征圖進(jìn)行邊界框的預(yù)測(cè),同時(shí)增加了anchor 數(shù)量。YOLOv3 算法在COCO 數(shù)據(jù)集上AP為33.0%,mAP為57.9%。YOLOv3模型結(jié)構(gòu)更復(fù)雜,使檢測(cè)速度有所降低,同時(shí)多尺度預(yù)測(cè)使對(duì)小目標(biāo)的檢測(cè)性能有明顯提高,但是當(dāng)IOU>0.5 時(shí),檢測(cè)精度沒(méi)有明顯提升。
2020 年4 月,Bochkovskiy 等在YOLOv3 的基礎(chǔ)上進(jìn)行改進(jìn),提出了YOLOv4[46]。該模型主要做了以下改進(jìn):(1)采用CSPDarkNet53[47]主干網(wǎng)絡(luò)代替DarkNet-53;(2)用SPP+PAN(Path Aggregation Network)代替FPN來(lái)融合不同尺寸特征圖的特征信息,SPP模塊增加了感受野,PAN 進(jìn)行多通道特征融合;(3)采用了CutMix 數(shù)據(jù)增強(qiáng)和馬賽克(Mosaic)數(shù)據(jù)增強(qiáng);(4)DropBlock正則化。相較于YOLOv3,YOLOv4 在保證速度的同時(shí),大幅度提高了模型的檢測(cè)精度。在目前所有實(shí)時(shí)性目標(biāo)檢測(cè)算法中精度最高,在COCO 數(shù)據(jù)集上的mAP 為43.5%。
2020 年6 月,Jocher 提出了YOLOv5[48]。YOLOv5一共有YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x 四個(gè)網(wǎng)絡(luò)模型。YOLOv5的網(wǎng)絡(luò)結(jié)構(gòu)分為輸入端、Backbone、Neck、Prediction四個(gè)部分:(1)輸入端采用了Mosaic數(shù)據(jù)增強(qiáng)、自適應(yīng)錨框計(jì)算、自適應(yīng)圖片縮放。(2)Backbone中加入了Focus 結(jié)構(gòu)和CSP 結(jié)構(gòu),F(xiàn)ocus 結(jié)構(gòu)用來(lái)實(shí)現(xiàn)切片操作,例如在YOLOv5s中,原始608×608×3的圖像輸入Focus 結(jié)構(gòu)后,采用切片操作,先變成304×304×12的特征圖,再經(jīng)過(guò)一次32個(gè)卷積核的卷積操作,最終變成304×304×32 的特征圖;YOLOv4 中只有主干網(wǎng)絡(luò)使用了CSP 結(jié)構(gòu),而YOLOv5 中設(shè)計(jì)了兩種CSP 結(jié)構(gòu),以YOLOv5s 網(wǎng)絡(luò)為例,CSP1_X 結(jié)構(gòu)應(yīng)用于Backbone 主干網(wǎng)絡(luò),另一種CSP2_X 結(jié)構(gòu)則應(yīng)用于Neck 中。(3)與YOLOv4 相 同,YOLOv5 的Neck 采 用FPN+PAN 的 結(jié)構(gòu),另外Neck結(jié)構(gòu)中的CSP2_X結(jié)構(gòu)加強(qiáng)了網(wǎng)絡(luò)特征融合。(4)Prediction部分采用GIOU_Loss做Bounding Box的損失函數(shù)。YOLOv5的檢測(cè)速度很快,每幅圖片的推理時(shí)間達(dá)到0.007 s,也就是140 frame/s。
YOLO 系列在處理不常見(jiàn)的比例目標(biāo)的泛化過(guò)程效果不好,需多次下采樣得到標(biāo)準(zhǔn)特征。而且由于邊界框預(yù)測(cè)時(shí)空間限制的影響,使其對(duì)小目標(biāo)檢測(cè)的檢測(cè)效果不好。
2.2.2 SSD及其改進(jìn)目標(biāo)檢測(cè)算法
RCNN 系列和YOLO 在速度和準(zhǔn)確性上各有優(yōu)勢(shì)。RCNN 系列具有較高的檢測(cè)精度,但速度較慢。YOLO雖然檢測(cè)速度快,但對(duì)大維度變化目標(biāo)的泛化能力好,對(duì)小目標(biāo)的檢測(cè)效果較弱。結(jié)合Faster RCNN和YOLO 的優(yōu)點(diǎn),Liu 等提出SSD(Single Shot multi-box Detector)算法[49]來(lái)平衡檢測(cè)精度和檢測(cè)速度,SSD使用VGG-16 骨干網(wǎng)絡(luò)進(jìn)行特征提取,用第6、第7 卷積層代替FC6 和FC7,并添加了4 個(gè)卷積層。SSD 網(wǎng)絡(luò)的設(shè)計(jì)思想是分層提取特征,將單級(jí)網(wǎng)絡(luò)劃分為6 級(jí),每個(gè)階段提取不同語(yǔ)義層次的特征圖進(jìn)行目標(biāo)分類和邊界框回歸,多尺度特征圖與anchor機(jī)制相結(jié)合提升了算法對(duì)不同尺度目標(biāo)的檢測(cè)能力。另外,SSD還采用了目標(biāo)預(yù)測(cè)機(jī)制,依據(jù)anchor在不同尺度上得到的候選框來(lái)判別目標(biāo)種類和位置。這種機(jī)制存在以下優(yōu)點(diǎn):(1)通過(guò)卷積層預(yù)測(cè)目標(biāo)位置和類別,減少了計(jì)算量;(2)沒(méi)有對(duì)目標(biāo)檢測(cè)過(guò)程設(shè)置空間限制,可以有效檢測(cè)成群的小目標(biāo)物體。SSD在Nvida Titan X的運(yùn)行速度提升至59 frame/s,明顯優(yōu)于YOLO;在VOC2007 數(shù)據(jù)集上的mAP 達(dá)到79.8%,是Faster R-CNN的3倍??墒?,SSD對(duì)小目標(biāo)的分類效果不好,由于不同尺度的特征圖相互獨(dú)立,造成不同尺寸的檢測(cè)框?qū)ν荒繕?biāo)重復(fù)檢測(cè)。
2017 年,Jeong 等提出了R-SSD(Rainbow SSD)[50]檢測(cè)模型,增加了反卷積模塊和預(yù)測(cè)模塊。每個(gè)預(yù)測(cè)層包含預(yù)測(cè)模塊中的殘差單元,然后將殘差塊和預(yù)測(cè)層的輸出因子相加;反卷積模塊通過(guò)提高特征圖的分辨率來(lái)增強(qiáng)特征,經(jīng)過(guò)一個(gè)預(yù)測(cè)模塊后,每一個(gè)反卷積層都可以預(yù)測(cè)不同大小的目標(biāo)。提升了小目標(biāo)物體檢測(cè)效果。R-SSD 算法在VOC2007 數(shù)據(jù)集輸入300×300 尺寸時(shí)的mAP達(dá)到78.5%,檢測(cè)速度為35 frame/s;在VOC2012數(shù)據(jù)集輸入512×512尺寸時(shí)mAP達(dá)到80.8%,檢測(cè)速度為16.6frame/s。
為了提高SSD 低層特征圖的表達(dá)能力,同年Fu 等提出了DSSD[51]檢測(cè)模型。DSSD 以ResNet-101 為骨干網(wǎng)絡(luò),增強(qiáng)網(wǎng)絡(luò)特征提取能力;添加了反卷積模塊和跳躍連接,增強(qiáng)了低層特征圖的表達(dá),實(shí)現(xiàn)了一定程度的特征融合;設(shè)計(jì)預(yù)測(cè)模塊,通過(guò)融合后的結(jié)構(gòu)特征圖進(jìn)行目標(biāo)檢測(cè)。DSSD 在VCO2007 數(shù)據(jù)集的mAP 達(dá)到81.5%,在VOC2012 數(shù)據(jù)集上mAP 為80.0%,在COCO數(shù)據(jù)集的mAP為33.2%。提升了小目標(biāo)檢測(cè)精度,但由于Resnet-101骨干網(wǎng)絡(luò)太深,訓(xùn)練變慢,降低了檢測(cè)速度。
2017 年,Li 等提出了F-SSD(Feature Fusion Single Shot Multibox Detector)[52]。該模型充分融合了不同層和不同尺度的特征,通過(guò)下采樣塊生成新的特征金字塔,將其反饋給多盒檢測(cè)器來(lái)預(yù)測(cè)最終的檢測(cè)結(jié)果,檢測(cè)精度得到明顯提升。在PASCAL VOC2007數(shù)據(jù)集上mAP達(dá)到82.7%,速度為65.8 frame/s。
Shen等提出了深度監(jiān)督對(duì)象檢測(cè)器(Deeply Learning Supervised Object Detectors,DSOD)[53]算法。該模型采用了DenseNet 特征提取網(wǎng)絡(luò)結(jié)構(gòu)來(lái)避免梯度消失;利用Dense Prediction 結(jié)構(gòu),大大減少模型參數(shù)量;設(shè)計(jì)stem 結(jié)構(gòu)來(lái)減少圖片信息的丟失,以提升檢測(cè)精度。DSOD檢測(cè)框架不需要預(yù)訓(xùn)練模型從零開(kāi)始訓(xùn)練數(shù)據(jù),其目標(biāo)檢測(cè)效果相比SSD得到了提升。
單階段檢測(cè)器(YOLO 和SSD)由于其輕量級(jí)骨架網(wǎng)絡(luò)比雙階段框架需要更少的時(shí)間,在檢測(cè)中避免了預(yù)處理算法,需要很少的候選區(qū)域。骨干網(wǎng)絡(luò)的特征提取器在目標(biāo)檢測(cè)中耗時(shí)較長(zhǎng),使用性能更好的骨干網(wǎng)絡(luò)加快了檢測(cè)速度。
2.2.3 RetinaNet算法
2017年,Lin等[54]借鑒了Faster R-CNN和多尺度目標(biāo)檢測(cè)[55]的思想設(shè)計(jì)訓(xùn)練出RetinaNet目標(biāo)檢測(cè)器,該模型的主要思想是通過(guò)重塑Focal Loss 損失函數(shù)來(lái)解決之前檢測(cè)模型在訓(xùn)練過(guò)程中訓(xùn)練樣本中出現(xiàn)的正負(fù)樣本類不平衡問(wèn)題。RetinaNet網(wǎng)絡(luò)是由ResNet骨干網(wǎng)絡(luò)和兩個(gè)有特定任務(wù)的FCN 子網(wǎng)絡(luò)組成的單一網(wǎng)絡(luò),骨干網(wǎng)絡(luò)負(fù)責(zé)在整個(gè)圖像上計(jì)算卷積特征,Regression 子網(wǎng)絡(luò)在骨干網(wǎng)絡(luò)的輸出上執(zhí)行圖像分類任務(wù),Classification子網(wǎng)絡(luò)負(fù)責(zé)卷積邊框回歸。
在單階段檢測(cè)器中,前景背景的類別不平衡是導(dǎo)致網(wǎng)絡(luò)訓(xùn)練收斂的主要原因。在訓(xùn)練階段,F(xiàn)ocal Loss避免了大量簡(jiǎn)單負(fù)例,集中于難訓(xùn)練樣本。通過(guò)訓(xùn)練不平衡正實(shí)例和負(fù)實(shí)例,繼承了單階段檢測(cè)器的速度。實(shí)驗(yàn)結(jié)果表明,在MS COCO 測(cè)試集上,RetinaNet 使用ResNet-101-FPN骨干網(wǎng)絡(luò)與DSSD513相比,AP提升了6%;使用ResNeXt-101-FPN,RetinaNet的AP提升了9%。
2.2.4 Tiny RetinaNet算法
2020 年,Cheng 等[56]提 出Tiny RetinaNet,使 用MobileNetV2-FPN作為骨干網(wǎng)絡(luò)進(jìn)行特征提取,主要由Stem 塊骨干網(wǎng)絡(luò)和SEnet 以及兩個(gè)具有特定任務(wù)的子網(wǎng)組成,提高了準(zhǔn)確性,減少了信息損失,使用RetinaNet Focal Loss 作為分類損失。在PASCAL VOC2007 和PASCAL VOC2012數(shù)據(jù)集的mAP分別為71.4%和73.8%。
2.2.5 M2Det算法
2019 年,Zhao 等提出了基于多級(jí)特征金字塔網(wǎng)絡(luò)(Multi-Level Feature Pyramid Network,ML-FPN)的M2Det[57],解決了目標(biāo)實(shí)例之間尺度變化的問(wèn)題。該模型通過(guò)三個(gè)步驟來(lái)實(shí)現(xiàn)最終的增量特征金字塔:(1)從骨干網(wǎng)絡(luò)的大量層中提取多層特征融合為基本特征;(2)將基層特征送入TUM(Thinned U-shape Modules)模塊和FFM(Feature Fusion Modules)模塊連接組成的一個(gè)塊中,得到TUM 解碼層作為下一步驟的輸入;(3)等效尺度的解碼層集成構(gòu)造出多層特征的特征金字塔。
M2Det 采用VGG 骨干網(wǎng)絡(luò),在MS COCO 測(cè)試數(shù)據(jù)集上采用單尺度推理策略以1.8 frame/s 速度獲得41.0%AP,采用多尺度推理策略獲得44.2%AP。
2.2.6 CornerNet和CenterNet算法
最近,Law和Deng[58]對(duì)錨框在SoA目標(biāo)檢測(cè)框架中所起的主導(dǎo)作用提出質(zhì)疑。文獻(xiàn)[58]認(rèn)為錨框的使用,特別是在單階段檢測(cè)器中有缺陷,例如在正例和負(fù)例之間造成巨大的不平衡,減慢訓(xùn)練速度和引入額外的超參數(shù)。借用了在多人姿態(tài)估計(jì)中關(guān)聯(lián)嵌入的思想,提出了CornerNet,將邊界框目標(biāo)檢測(cè)定義為檢測(cè)左上角和右下角的一對(duì)關(guān)鍵點(diǎn)。在CornerNet 的骨干網(wǎng)由兩個(gè)stacked Hourglass Network 組成[59],采用簡(jiǎn)單的角池方法更好地定位角。CornerNet在COCO的AP達(dá)到42.1%,優(yōu)于以往所有單階段檢測(cè)器;然而,在Titan X GPU 上的平均推斷時(shí)間約為4 frame/s,明顯低于SSD和YOLO。因?yàn)镃ornerNet很難判斷哪些對(duì)關(guān)鍵點(diǎn)應(yīng)該被分組到相同的目標(biāo)中,所以會(huì)產(chǎn)生錯(cuò)誤的邊界框。為了進(jìn)一步改進(jìn)CornerNet,Duan 等[60]提出了CenterNet,通過(guò)在建議的中心額外引入一個(gè)關(guān)鍵點(diǎn)作為一個(gè)關(guān)鍵點(diǎn)的三元組來(lái)檢測(cè)每個(gè)目標(biāo),將在COCO的AP提高到47.0%,但推理速度比CornerNet慢。
2.2.7 單階段目標(biāo)檢測(cè)算法性能對(duì)比
單階段目標(biāo)檢測(cè)算法起步晚于雙階段目標(biāo)檢測(cè)算法,但借助其結(jié)構(gòu)更精簡(jiǎn)、計(jì)算高效的優(yōu)勢(shì)得到了很多研究者的關(guān)注,發(fā)展過(guò)程十分迅速。早期的單階段目標(biāo)檢測(cè)算法往往檢測(cè)速度快,但檢測(cè)精度與兩階段檢測(cè)算法差距大。隨著計(jì)算機(jī)視覺(jué)的快速發(fā)展,目前單階段目標(biāo)檢測(cè)框架的速度和精度性能都有很大的提升。表3總結(jié)了單階段檢測(cè)算法的骨干網(wǎng)絡(luò)以及在PASCAL VOC2007 測(cè)試集、PASCAL VOC2012 測(cè)試集和COCO測(cè)試集上的檢測(cè)精度(mAP)和檢測(cè)速度,“—”表示無(wú)數(shù)據(jù)。表4 總結(jié)了單階段目標(biāo)檢測(cè)算法的優(yōu)缺點(diǎn)及適用場(chǎng)景。
從表3看出,單階段目標(biāo)檢測(cè)算法引入了新的骨干網(wǎng)絡(luò)Darknet-53[45]和MobileNet[61],檢測(cè)速度在不斷提高,且檢測(cè)精度也在不斷提升并超過(guò)雙階段目標(biāo)檢測(cè)算法。YOLOv4 在速度和精度達(dá)到較高的平衡,YOLOv5的小尺寸模型使其可以快速部署、嵌入移動(dòng)端。RetinaNet對(duì)中小型目標(biāo)的檢測(cè)精度有顯著提高。
從表4看出,單階段目標(biāo)檢測(cè)算法使用金字塔來(lái)處理姿態(tài)變化和小目標(biāo)檢測(cè)問(wèn)題、新的訓(xùn)練策略、數(shù)據(jù)增加、不同骨干網(wǎng)絡(luò)的結(jié)合、多種檢測(cè)框架等來(lái)提升目標(biāo)檢測(cè)的性能。YOLO 系列對(duì)小尺度和密集目標(biāo)檢測(cè)效果不佳,SSD系列對(duì)此進(jìn)行了改進(jìn),實(shí)現(xiàn)了高精度、多尺度檢測(cè)。
表3 單階段目標(biāo)檢測(cè)算法性能對(duì)比
表4 單階段目標(biāo)檢測(cè)算法優(yōu)缺點(diǎn)及適用場(chǎng)景
Goodfellow 等[62]于2014 年提出了對(duì)抗生成網(wǎng)絡(luò)(Generative Adversarial Networks,GANs),是一種無(wú)監(jiān)督生成模型,基于最大似然原則工作,并使用對(duì)抗訓(xùn)練。對(duì)抗學(xué)習(xí)的思想是通過(guò)對(duì)抗網(wǎng)絡(luò)生成遮擋和變形圖像樣本來(lái)訓(xùn)練檢測(cè)網(wǎng)絡(luò),是生成數(shù)據(jù)分布的常用生成模型方法之一。GAN 不僅僅是一個(gè)圖像生成工具,它還從訓(xùn)練數(shù)據(jù)中檢索有用的信息,以便在不同的領(lǐng)域中執(zhí)行目標(biāo)檢測(cè)、分割和分類任務(wù)。
2.3.1 A-Fast-RCNN算法
2017 年Wang 等[63]引入了對(duì)抗網(wǎng)絡(luò)的思想,提出了使用對(duì)抗網(wǎng)絡(luò)生成困難正樣本的A-Fast-RCNN 算法。A-Fast-RCNN 將對(duì)抗學(xué)習(xí)與Fast R-CNN 結(jié)合,通過(guò)GANs 來(lái)生成困難樣本(Hard Example),以增加遮擋和姿態(tài)變化的目標(biāo)的數(shù)量。區(qū)別于傳統(tǒng)直接生成樣本圖像的方法,該方法在特征圖上采用了一些變換:(1)在處理遮擋的對(duì)抗網(wǎng)絡(luò)(Adversarial Spatial Dropout Network,ASDN)中,添加了一個(gè)Mask 層來(lái)實(shí)現(xiàn)特征的部分遮擋,根據(jù)loss選擇Mask;(2)在處理形變的對(duì)抗網(wǎng)絡(luò)(Adversarial Spatial Transformer Network,ASTN)中,通過(guò)操縱特征相應(yīng)來(lái)實(shí)現(xiàn)特征的部分變形。STN 包括定位網(wǎng)絡(luò)(localisation network)、網(wǎng)格生成器(grid generator)和采樣器(sampler)三部分。定位網(wǎng)絡(luò) 估計(jì)形變參數(shù)(如旋轉(zhuǎn)、平移距離和縮放因子),網(wǎng)格生成器和采樣器用這些參數(shù)來(lái)產(chǎn)生形變后的特征圖。ASDN 和ASTN提供了兩種不同的變化,通過(guò)將這兩種變形相結(jié)合(ASDN輸出作為ASTN的輸入),檢測(cè)器可以訓(xùn)練得更加魯棒。ASTN和隨機(jī)抖動(dòng)(random jittering)做了對(duì)比,使用AlexNet,mAP 分別是58.1%和57.3%,使用VGG16,mAP分別是69.9%和68.6%,ASTN的表現(xiàn)都比隨機(jī)抖動(dòng)效果好。在與OHEM(Online Hard Example Mining)方法對(duì)比中,在VOC 2007 數(shù)據(jù)集上,該方法略好(71.4% vs. 69.9%),而在VOC 2012 數(shù)據(jù)集上,OHEM 更好(69.0%vs. 69.8%)。將對(duì)抗網(wǎng)絡(luò)引入目標(biāo)檢測(cè),確實(shí)開(kāi)了先河,從改善效果上來(lái)講,并不比OHEM 有多好的效果,某些遮擋樣本可能會(huì)導(dǎo)致錯(cuò)分的情況。
2.3.2 SOD-MTGAN算法
為了提升小目標(biāo)檢測(cè)精度,2018 年Bai 等[64]提出了一種端到端的多任務(wù)生成對(duì)抗網(wǎng)絡(luò)(Small Object Detection via Multi-Task Generative Adversarial Network,SOD-MTGAN)算法。其生成器是一個(gè)超分辨率網(wǎng)絡(luò),可以將小的模糊圖像上采樣到精細(xì)圖像,并恢復(fù)詳細(xì)信息以進(jìn)行更精確的檢測(cè)。判別器是一個(gè)多任務(wù)網(wǎng)絡(luò),該網(wǎng)絡(luò)用真/虛分?jǐn)?shù)、目標(biāo)類別分?jǐn)?shù)和邊界框回歸量來(lái)描述每個(gè)超分辨圖像塊。此外,為了使生成器獲得更多細(xì)節(jié)信息以便于檢測(cè),在訓(xùn)練過(guò)程中,將判別器中的分類和回歸損失反向傳播到生成器中。在COCO 數(shù)據(jù)集上進(jìn)行的大量實(shí)驗(yàn)證明了該方法從模糊的小圖像中恢復(fù)清晰的超分辨圖像的有效性,并表明檢測(cè)性能(特別是對(duì)于小型物體)比最新技術(shù)有所提高。
2.3.3 SAGAN算法
傳統(tǒng)的卷積生成對(duì)抗網(wǎng)絡(luò)CGANs僅在低分辨率的特征地圖上生成空間局部點(diǎn)的函數(shù),從而生成高分辨率的細(xì)節(jié)。Zhang 等[65]提出的自注意生成對(duì)抗網(wǎng)絡(luò)(Self-Attention Generative Adversarial Network,SA-GAN),允許注意驅(qū)動(dòng)和長(zhǎng)期依賴建模的圖像生成任務(wù)。其可以通過(guò)所有特征位置的線索生成細(xì)節(jié),還應(yīng)用了光譜歸一化來(lái)增強(qiáng)訓(xùn)練的動(dòng)態(tài)性,并取得了顯著的效果。
2.3.4 Your Local GAN算法
Daras等[66]提出了一種二維局部注意力機(jī)制的生成模型(Two Dimensional Local Attention Mechanisms for Generative Models),引入了新的保留了二維幾何和局部性的局部稀疏注意層。其替換了SAGAN(Self-Attention Generative Adversarial Networks)的密集注意力層,在ImageNet 上,F(xiàn)ID 分?jǐn)?shù)從18.65 優(yōu)化到15.94。該方法中提出的新層的稀疏注意模式使用信息流圖的新信息理論準(zhǔn)則來(lái)設(shè)計(jì),同時(shí)還提出了一種新的逆轉(zhuǎn)對(duì)抗生成網(wǎng)絡(luò)注意的方法。
2.3.5 MSG-GAN穩(wěn)定圖像合成算法
生成對(duì)抗網(wǎng)絡(luò)GAN雖然在圖像合成任務(wù)中取得了一部分成就,但其無(wú)法適應(yīng)不同的數(shù)據(jù)集,部分原因是訓(xùn)練期間的不穩(wěn)定性和對(duì)超參數(shù)的敏感性。造成這種不穩(wěn)定性的一個(gè)原因是當(dāng)真實(shí)和虛擬分布的支持沒(méi)有足夠的重疊時(shí),從鑒別器傳遞到生成器的梯度將變得信息不足。針對(duì)以上問(wèn)題,Karnewar等[67]提出了多尺度梯度生成對(duì)抗網(wǎng)絡(luò)(Multi-Scale Gradient Generative Adversarial Network ,MSG-GAN),其允許梯度在多個(gè)尺度上從鑒別器到流向產(chǎn)生器,為高分辨率圖像合成提供了一種穩(wěn)定的方法。MSG-GAN在不同大小、分辨率和域的數(shù)據(jù)集,以及不同的損失函數(shù)和架構(gòu)上都可以穩(wěn)定收斂。
研究者還派生出了大量的GAN 變體,如CGAN、WGAN、Progressive GAN、圖像到圖像翻譯GAN、循環(huán)GAN、SR GAN、文本到圖像GAN、面部修復(fù)GAN、文本到語(yǔ)音GAN 等,用于各種應(yīng)用。圖2 按時(shí)間順序展示了一些流行的GAN的演變過(guò)程。
2.4.1 基于單階段、雙階段目標(biāo)檢測(cè)算法的結(jié)合
圖2 主流GAN演變過(guò)程
目前,學(xué)者們對(duì)雙階段目標(biāo)檢測(cè)算法和單階段目標(biāo)檢測(cè)算法都已經(jīng)進(jìn)行了大量的研究,使之都具備了一定的理論基礎(chǔ)。雙階段目標(biāo)檢測(cè)算法在檢測(cè)精度上占優(yōu)勢(shì),需要不斷改進(jìn)以提高檢測(cè)速度;單階段目標(biāo)檢測(cè)算法在檢測(cè)速度上占優(yōu)勢(shì),需要不斷提升模型以增加檢測(cè)精度,所以有研究者將兩類算法模型結(jié)合起來(lái)以平衡檢測(cè)精度和檢測(cè)速度。
(1)RON算法
2017 年,RON(Reverse connection with Objectness prior Networks)[68]算法是在以Faster R-CNN 為代表的雙階段檢測(cè)框架和以YOLO、SSD為代表的單階段檢測(cè)框架的基礎(chǔ)上提出的高效通用的目標(biāo)檢測(cè)算法框架。在全卷積網(wǎng)絡(luò)下,與SSD 相似,RON 使用VGG-16 作為骨干網(wǎng)絡(luò),不同之處在于RON 將VGG-16 網(wǎng)絡(luò)的第14與第15全連接層變成了核大小為2×2、步長(zhǎng)為2的卷積層以實(shí)現(xiàn)特征圖降采樣處理,同時(shí)采用反向連接方式將相鄰位置的待檢測(cè)特征圖聯(lián)系起來(lái),實(shí)現(xiàn)多尺度目標(biāo)定位并達(dá)到更好的效果;與Faster R-CNN相似,RON提出了與RPN 網(wǎng)絡(luò)思想類似的目標(biāo)先驗(yàn)(Objectness Prior)策略,具體來(lái)說(shuō),在Softmax后添加一個(gè)3×3×2的卷積核來(lái)指示在每個(gè)參考框中是否存在物體,通過(guò)多任務(wù)損失函數(shù)優(yōu)化反向連接、目標(biāo)先驗(yàn)和目標(biāo)檢測(cè)器連接,從而使RON可以直接從各個(gè)特征圖的各個(gè)位置預(yù)測(cè)最終的搜索結(jié)果,大大減少目標(biāo)的搜索空間。在測(cè)試中,RON達(dá)到了先進(jìn)的目標(biāo)檢測(cè)性能,輸入384×384 尺寸圖片,在PASCAL VOC2007 數(shù)據(jù)集的mAP 達(dá)到81.3%,在PASCAL VOC 2012數(shù)據(jù)集上mAP提升至80.7%。
(2)RefineDet算法
2018 年,Zhang 等設(shè)計(jì)了RefineDet[69]算法,繼承了單階段檢測(cè)器和雙階段檢測(cè)器的優(yōu)點(diǎn)。RefineDet 用VGG-16 或者ResNet-101 作為骨干網(wǎng)絡(luò)進(jìn)行特征提取,將頸部結(jié)構(gòu)(特征金字塔和特征融合)集成到頭部結(jié)構(gòu)中。RefineDet 的頭部結(jié)構(gòu)由ARM(Anchor Refinement Module)模型、傳遞連接TCB(Transfer Connection)和目標(biāo)檢測(cè)模塊(Object Detection Module,ODM)組成:
①ARM 的四個(gè)特征圖來(lái)自骨干網(wǎng)絡(luò)的不同層,ARM旨從密集的候選框粗略地過(guò)濾負(fù)樣本減少分類器的搜索空間,調(diào)整定義框的位置和大小,即分類和回歸步驟。
②TCB旨在將Refined box轉(zhuǎn)移到ODM,并將ARM的淺層和深層特征信息融合。
③ODM類似于SSD結(jié)構(gòu),將refined box作為TCB的輸入,輸出預(yù)測(cè)多類別標(biāo)簽和refined box 的定位,即分類和回歸步驟。在測(cè)試階段,通過(guò)NMS 處理得到圖像補(bǔ)丁級(jí)的預(yù)測(cè)結(jié)果。
作為一種單階段目標(biāo)檢測(cè)模型,RefineDet 具有兩階段模型(即兩步級(jí)聯(lián)回歸和兩級(jí)分類)的特點(diǎn),可以更好地預(yù)測(cè)難檢測(cè)的目標(biāo),尤其對(duì)小目標(biāo)的準(zhǔn)確定位。RefineDet 在VOC2007 和VOC2012 數(shù)據(jù)集的mAP 分別為85.8%和86.8%,輸入320×320 尺寸時(shí)運(yùn)行速度為40.2 frame/s。
2.4.2 Relation Networkfor Detecting Objects算法
圖像中呈現(xiàn)的不同目標(biāo)具有不同的外觀特征和幾何信息,需要相互作用??紤]這一需求,2018年,Hu等[70]提出了Relation network 目標(biāo)檢測(cè)算法,增加一種改進(jìn)的注意力網(wǎng)絡(luò),稱為對(duì)象關(guān)系模塊,該模塊插入到網(wǎng)絡(luò)的兩個(gè)完全連接層之前,提取優(yōu)越的特征,以便對(duì)目標(biāo)對(duì)象進(jìn)行適當(dāng)?shù)姆诸惡投ㄎ?。這種增加的關(guān)聯(lián)單元為回歸器和分類器提供了更好的特征,但代替了NMS 后處理步驟,從而提高了整體檢測(cè)精度。
2.4.3 DCN算法
常規(guī)卷積神經(jīng)網(wǎng)絡(luò)考慮了預(yù)先定義的正方形大小核的特征,這使得可服從區(qū)域字段不能完全覆蓋目標(biāo)對(duì)象的整個(gè)像素區(qū)域。Zhu 等[71]提出了可變形卷積網(wǎng)絡(luò)(Deformable Convolutional Network v2,DCNv2)算法,該模型反映了目標(biāo)空間支持區(qū)域的幾何不變性??勺冃尉矸e網(wǎng)絡(luò)產(chǎn)生可變形核,而且從網(wǎng)絡(luò)中學(xué)習(xí)固定尺寸初始卷積核的偏移量。但可變形RoI 可以提高不同形狀的目標(biāo)定位。DCN 的檢測(cè)精度比傳統(tǒng)convents 提高了近4%,并在MSCOCO 上實(shí)現(xiàn)了37.5%的mAP。DCNv2 比DCNv1 使用更多的層,可學(xué)習(xí)標(biāo)量對(duì)所有可變形層進(jìn)行調(diào)制,提高了精度和可變形效果。
2.4.4 NAS-FPN算法
2019年,NAS-FPN[72](Neural Architecture Search Feature Pyramid Network)是從谷歌大腦適應(yīng)性神經(jīng)結(jié)構(gòu)搜索中發(fā)現(xiàn)的一種新特征金字塔結(jié)構(gòu),為不同尺度的特征融合提供了自頂向下和自底向上的連接。在搜索階段,它重復(fù)N次FPN 結(jié)構(gòu)并以紀(jì)念性結(jié)構(gòu)的形式串聯(lián)起來(lái),通過(guò)高級(jí)特征層模擬任意級(jí)別的特征。大多數(shù)高效結(jié)構(gòu)通過(guò)利用高分辨率輸入特征圖和輸出層之間的連接產(chǎn)生高分辨特征來(lái)識(shí)別小目標(biāo)。其采用大容量架構(gòu)、疊加金字塔網(wǎng)絡(luò)和增加特征維數(shù)顯著提高了檢測(cè)精度。在COCO 測(cè)試集上,NAS-FPN 算法的平均檢測(cè)精度mAP 比原來(lái)采用ResNet-50 骨干網(wǎng)絡(luò)的FPN 提升了2.9%,NAS-FPN 使用AmoebaNet[73]骨干網(wǎng)絡(luò)在COCO測(cè)試集達(dá)到48.3%mAP。
2.4.5 其他改進(jìn)算法的性能對(duì)比
除了單、雙階段目標(biāo)檢測(cè)算法,研究者還探究了以上其他改進(jìn)算法,總體而言,這些算法的檢測(cè)精度和速度都有提高,實(shí)現(xiàn)了多尺度目標(biāo)檢測(cè)。表5總結(jié)了上述改進(jìn)算法的骨干網(wǎng)絡(luò)以及在PASCAL VOC2007 測(cè)試集、PASCAL VOC2012 測(cè)試集和COCO 測(cè)試集上的檢測(cè)精度(mAP)和檢測(cè)速度,“—”表示無(wú)數(shù)據(jù)。表6總結(jié)了這些檢測(cè)算法的優(yōu)缺點(diǎn)及適用場(chǎng)景。
從表5可以看出,結(jié)合單、雙階段的RON和RefineDet算法的檢測(cè)精度很高,NAS-FPN 算法的檢測(cè)速度為92.1 frame/s,達(dá)到最快。
從表6可以看出,研究者們?cè)噲D從多方面來(lái)改進(jìn)算法的性能,增加小目標(biāo)和遮擋目標(biāo)的檢測(cè)效果,DCNv2可以對(duì)幾何變換建模學(xué)習(xí),使其可以應(yīng)用到更多現(xiàn)實(shí)場(chǎng)景。
目標(biāo)檢測(cè)作為計(jì)算機(jī)視覺(jué)的三大基本任務(wù)之一,在現(xiàn)實(shí)場(chǎng)景中得到了廣泛的應(yīng)用。在實(shí)際應(yīng)用場(chǎng)景中根據(jù)不同的任務(wù)需求實(shí)現(xiàn)了不同的技術(shù),主要包括人臉檢測(cè)、顯著目標(biāo)檢測(cè)、行人檢測(cè)、遙感圖像檢測(cè)、醫(yī)學(xué)圖像檢測(cè)和糧蟲(chóng)檢測(cè)等重要領(lǐng)域。
人臉檢測(cè)是目標(biāo)檢測(cè)中最重要的應(yīng)用領(lǐng)域,是人臉識(shí)別、人臉對(duì)齊、性別識(shí)別、情緒分析的基礎(chǔ)。在實(shí)際場(chǎng)景中,由于面部特征、光照、亮度、遮擋、分辨率、噪聲和相機(jī)畸變等多方面因素影響,使目標(biāo)檢測(cè)更具挑戰(zhàn)性。
人臉檢測(cè)的目的是確定圖像中是否有人臉并找出其位置。隨著深度學(xué)習(xí)時(shí)代的到來(lái),基于深度學(xué)習(xí)的人臉檢測(cè)取得了很大的成功。Li 等提出了一種Cascade CNN[74],其包含大量的級(jí)聯(lián)DCNN分類器在一定程度上解決了實(shí)際場(chǎng)景中光照和角度的敏感性問(wèn)題。Zhang等[75]提出了一種使用CascasdeRCNN 級(jí)聯(lián)架構(gòu)的多任務(wù)人臉檢測(cè)算法,即MTCNN(Multi-Task Cascaded Convolutional Neural Networks)。為提升分類器的性能,Jiang等[76]提出了一種基于Faster RCNN 的Face RCNN,添加了基于softmax 的中心損失。Najibi 等[77]提出SSH(Single Stage Headless)通過(guò)檢測(cè)不同尺度特征圖來(lái)實(shí)現(xiàn)多尺度人臉檢測(cè)。
行人檢測(cè)在智能監(jiān)控、自動(dòng)駕駛和機(jī)器人導(dǎo)航中得到了廣泛的應(yīng)用。行人檢測(cè)面臨的問(wèn)題比目標(biāo)檢測(cè)要復(fù)雜得多,行人目標(biāo)同時(shí)具有靜態(tài)和動(dòng)態(tài)的特點(diǎn),更容易受到姿態(tài)、抓捕的角度、模糊程度、背景、光照的影響,使行人檢測(cè)的難度更高。
表5 其他改進(jìn)算法性能對(duì)比
表6 其他改進(jìn)算法優(yōu)缺點(diǎn)及適用場(chǎng)景
Faster RCNN在行人檢測(cè)中的效果并不好。Zhang等[78]分析后提出利用基于Faster RCNN 的RPN 處理小目標(biāo)和負(fù)樣本,然后使用隨機(jī)森林對(duì)候選區(qū)域分類。對(duì)于行人的多尺度問(wèn)題,Li等[79]設(shè)計(jì)了兩個(gè)子網(wǎng)絡(luò)同時(shí)檢測(cè)大尺度和小尺度目標(biāo),然后利用scale-aware合并兩個(gè)子網(wǎng)絡(luò)。為了解決遮擋問(wèn)題,Tian 等[80]提出了DeepParts,將人體分割成多個(gè)部分進(jìn)行檢測(cè),然后再合并。
遙感影像檢測(cè)主要用于軍事偵察、國(guó)土資源調(diào)查、城市規(guī)劃和交通導(dǎo)航等領(lǐng)域。這些目標(biāo)包括飛機(jī)、船舶、車輛、道路、港口和各種建筑物。遙感圖像主要存在以下困難:(1)遙感圖像視距大導(dǎo)致圖像分辨率大,對(duì)于圖像中較小尺寸的目標(biāo)在大視點(diǎn)角度下,導(dǎo)致遙感圖像小目標(biāo)檢測(cè)比較困難;(2)常見(jiàn)圖像中的目標(biāo)大多都是水平的,在拍攝遙感圖像時(shí),目標(biāo)的旋轉(zhuǎn)不變性也是一個(gè)重要的問(wèn)題;(3)遙感圖像的背景相當(dāng)復(fù)雜。
目前,基于深度學(xué)習(xí)的遙感圖像檢測(cè)正致力于解決這些問(wèn)題。Etten[81]基于高速YOLOv2提出了YOLT(You Only Look Twice),通過(guò)兩次檢測(cè)提高了高分辨率遙感圖像的檢測(cè)速度。同時(shí),為了提升小目標(biāo)檢測(cè)效率,提高了特征圖的分辨率,Long等[82]提出了一種結(jié)合非最大抑制的無(wú)監(jiān)督評(píng)分邊界框回歸(Unsupervised Score-Based Bounding Box Regression,USB-BBR)方法來(lái)優(yōu)化邊界框,增強(qiáng)對(duì)小目標(biāo)物體的定位能力。Wang 等[83]提出一種端到端多尺度視覺(jué)注意力網(wǎng)絡(luò)(Multi-Scale Visual Attention Network,MS-VANs),核心思想是為每個(gè)尺度的特征圖學(xué)習(xí)一個(gè)注意網(wǎng)絡(luò),以突出目標(biāo)和抑制背景。
醫(yī)學(xué)圖像檢測(cè)可以幫助醫(yī)生快速找出病變區(qū)域,提高醫(yī)學(xué)診斷的準(zhǔn)確性,減少醫(yī)生的人工工作量。
Li 等[84]將基于DCNN 的注意機(jī)制應(yīng)用于青光眼的檢測(cè)。Kawahara 等[85]提出了Multi-stream CNN 對(duì)皮膚損傷進(jìn)行分類。Kong等[86]提出了一種結(jié)合LSTM-RNN和CNN 檢測(cè)心臟(Magnetic Resonance Imaging,MRI)圖像中的舒張末期和收縮末期框架的方法。Hwang等[87]提出了弱監(jiān)督深度學(xué)習(xí)的方法來(lái)檢測(cè)結(jié)節(jié)中的病變和胸部X-rays。
糧蟲(chóng)檢測(cè)是目標(biāo)檢測(cè)在農(nóng)業(yè)研究領(lǐng)域的重要應(yīng)用之一。儲(chǔ)糧過(guò)程中,谷蟲(chóng)侵虐會(huì)造成糧食品質(zhì)下降,高效檢測(cè)儲(chǔ)糧害蟲(chóng)可以減少經(jīng)濟(jì)損失,提升儲(chǔ)糧環(huán)境質(zhì)量。在實(shí)際糧蟲(chóng)檢測(cè)中,糧蟲(chóng)圖像檢測(cè)存在諸多問(wèn)題,如谷蟲(chóng)與糧粒之間的混淆、谷粒對(duì)谷蟲(chóng)的遮擋、谷蟲(chóng)對(duì)谷蟲(chóng)的遮擋等。
為解決真實(shí)場(chǎng)景中蟲(chóng)害多的問(wèn)題,研究者們做了大量研究工作。Shen 等[88]采用Faster R-CNN 模型對(duì)6 類儲(chǔ)糧害蟲(chóng)的檢測(cè)準(zhǔn)確率達(dá)88.02%。Liu 等[89]提出了PestNet 網(wǎng)絡(luò)結(jié)構(gòu),并使用RPN 和位置評(píng)分敏感性等技術(shù)對(duì)田間害蟲(chóng)進(jìn)行了檢測(cè),取得了不錯(cuò)的效果。Xia等[90]提出基于神經(jīng)網(wǎng)絡(luò)的區(qū)域建議網(wǎng)絡(luò)來(lái)檢測(cè)農(nóng)作物中的昆蟲(chóng),取得了較高的準(zhǔn)確率。Shi等[91]提出改進(jìn)的R-FCN網(wǎng)絡(luò)結(jié)構(gòu)解決了8種常見(jiàn)儲(chǔ)糧害蟲(chóng)的檢測(cè)和分類問(wèn)題。
顯著目標(biāo)檢測(cè)的作用是突出圖像中的主要目標(biāo)區(qū)域,也稱作顯著區(qū)域,是視頻中目標(biāo)檢測(cè)的一個(gè)重要而活躍的領(lǐng)域,越來(lái)越受到研究者的關(guān)注。
DCNN 由于其較強(qiáng)的特征表達(dá)能力被引入顯著目標(biāo)檢測(cè)。Zhao 等[92]提出了一種多情景深度學(xué)習(xí)框架(Multi-Context Deep Learning,MCDL),基于多層感知器(Multi-Layer Perceptron,MLP)提取局部和全局上下文,對(duì)前景和背景進(jìn)行分類。雖然基于多層感知器的方法在性能上有所提高,但它對(duì)空間信息不敏感,且耗時(shí)較長(zhǎng)。目標(biāo)最先進(jìn)的顯著目標(biāo)檢測(cè)是基于全卷積網(wǎng)絡(luò)的。Hu等[93]提出了一種深度網(wǎng)絡(luò)集來(lái)生成一種緊湊而統(tǒng)一的顯著性映射從物體邊界中區(qū)分像素。Kousik 等[94]結(jié)合RCNN建立了一個(gè)利用時(shí)間、空間和局部約束線索來(lái)實(shí)現(xiàn)全局優(yōu)化的時(shí)空模型,實(shí)現(xiàn)在基準(zhǔn)動(dòng)態(tài)視頻數(shù)據(jù)集中尋找顯著目標(biāo)的任務(wù)。
異常檢測(cè)技術(shù)在欺詐檢測(cè)、醫(yī)療保健監(jiān)測(cè)和天氣監(jiān)視中發(fā)揮了重要作用。目前的異常檢測(cè)技術(shù)使用逐點(diǎn)標(biāo)準(zhǔn)[95]來(lái)研究數(shù)據(jù)。為了分析連續(xù)時(shí)間和空間間隔,Barz 等[96]提出了一種稱為最大發(fā)散間隔的無(wú)監(jiān)督異常檢測(cè)技術(shù)。
3D 點(diǎn)云目標(biāo)檢測(cè)提供了深度信息,可以進(jìn)一步精確定位目標(biāo)和表征形狀?;诩す饫走_(dá)點(diǎn)云的3D目標(biāo)檢測(cè)在自動(dòng)駕駛、機(jī)器人和虛擬現(xiàn)實(shí)應(yīng)用中發(fā)揮著重要作用。但該技術(shù)還面臨著激光雷達(dá)點(diǎn)云稀疏、3D 空間采樣不一致、遮擋和相對(duì)位姿變化等挑戰(zhàn)。Qi等[97]開(kāi)發(fā)了一種稱為PointNet的端到端深度神經(jīng)網(wǎng)絡(luò),可以直接從激光雷達(dá)云學(xué)習(xí)特征。為了有效地映射和處理海量3D 數(shù)據(jù),Engelcke 等[98]提出了稀疏卷積層和L1 正則化。Zhou 等[99]開(kāi)發(fā)了一種名為VoxelNet 的通用端到端3D 目標(biāo)檢測(cè)框架,它可以通過(guò)學(xué)習(xí)點(diǎn)云的鑒別特征表示來(lái)預(yù)測(cè)正確的3D邊界框。
細(xì)粒度視覺(jué)識(shí)別的目的是在每個(gè)基本層次類別中識(shí)別一個(gè)確切的目標(biāo)類別,比如識(shí)別汽車的模型或識(shí)別哺乳動(dòng)物的種類。不同類別間的視覺(jué)差異極小,而且易受姿勢(shì)、目標(biāo)的位置和給定圖像中的視點(diǎn)等因素影響。Krause等[100]利用3D目標(biāo)表達(dá)在位置和局部特征的層次上跨多個(gè)視點(diǎn)進(jìn)行泛化。Lin 等[101]提出了由兩個(gè)CNN流組成的雙線性模型,其中兩個(gè)CNN 流的輸出在每個(gè)圖像位置使用外積相乘,然后將外積合并在一起得到一個(gè)圖像描述符。He 等[102]提出一種基于顯著性引導(dǎo)的faster R-CNN的細(xì)粒度判別定位方法,后來(lái)又提出了一種用于快速細(xì)粒度圖像分類的弱監(jiān)督版本。
小目標(biāo)普遍存在像素低、被遮擋現(xiàn)象,造成誤檢、漏檢等檢測(cè)精度不高的問(wèn)題,很多學(xué)者對(duì)小目標(biāo)檢測(cè)展開(kāi)了很多研究。馮小雨等[103]對(duì)Faster RCNN進(jìn)行改進(jìn)優(yōu)化使其在對(duì)空中目標(biāo)檢測(cè)時(shí)彌補(bǔ)了對(duì)弱小目標(biāo)和被遮擋目標(biāo)不敏感的缺陷,提高了檢測(cè)速度和精度。梁延禹等[104]提出了一種多尺度非局部注意力網(wǎng)絡(luò)的小目標(biāo)檢測(cè)方法,在淺層利用非局部通道注意力模塊整合特征的全局空間信息,進(jìn)而對(duì)通道間的信息進(jìn)行校準(zhǔn),提升了小目標(biāo)的檢測(cè)精度。奚琦等[105]提出一種改進(jìn)的MDSSD 小目標(biāo)實(shí)時(shí)檢測(cè)算法,在VOC2007 數(shù)據(jù)集的mAP 達(dá)到81.7%。岳曉新等[106]通過(guò)對(duì)YOLOv3 進(jìn)行改進(jìn),然后對(duì)道路小目標(biāo)檢測(cè),使檢測(cè)精度提升了2.36%。
基于深度學(xué)習(xí)的目標(biāo)檢測(cè)技術(shù)由于其強(qiáng)大的學(xué)習(xí)能力和在處理遮擋、尺度變化和背景交換方面的優(yōu)越性,使其成為一個(gè)高度熱門的研究領(lǐng)域。本文介紹了基于深度卷積神經(jīng)網(wǎng)絡(luò)的目標(biāo)檢測(cè)算法的發(fā)展情況,在網(wǎng)絡(luò)架構(gòu)層面總結(jié)了單階段、雙階段兩大類目標(biāo)檢測(cè)器,即基于區(qū)域的目標(biāo)檢測(cè)網(wǎng)絡(luò)和基于回歸分析的目標(biāo)檢測(cè)網(wǎng)絡(luò)以及其他改進(jìn)算法;深入分析了各類算法的網(wǎng)絡(luò)結(jié)構(gòu)、優(yōu)勢(shì)缺點(diǎn)和適用場(chǎng)景,并對(duì)比分析常用數(shù)據(jù)集以及各類相關(guān)算法在主流數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果,最后總結(jié)了目標(biāo)檢測(cè)的一些應(yīng)用領(lǐng)域以全面了解目標(biāo)檢測(cè),并分析了其未來(lái)發(fā)展趨勢(shì)。隨著視覺(jué)目標(biāo)檢測(cè)器在安全、交通、軍事等領(lǐng)域的應(yīng)用日益強(qiáng)大,目標(biāo)檢測(cè)的應(yīng)用也隨之急劇增加。盡管取得了這些進(jìn)步,但仍有許多進(jìn)一步發(fā)展的空間。下面提供了這一領(lǐng)域的一些最新趨勢(shì),以促進(jìn)使用深度學(xué)習(xí)進(jìn)行視覺(jué)目標(biāo)檢測(cè)的未來(lái)研究。
(1)視頻目標(biāo)檢測(cè):視頻目標(biāo)檢測(cè)存在運(yùn)動(dòng)目標(biāo)不均勻、目標(biāo)非常微小、截?cái)嗪驼趽醯葐?wèn)題,很難實(shí)現(xiàn)高精度和高效率。因此,研究基于運(yùn)動(dòng)的目標(biāo)和視頻序列等多方面數(shù)據(jù)源將是最有前景的未來(lái)研究領(lǐng)域之一。
(2)弱監(jiān)督目標(biāo)檢測(cè):弱監(jiān)督目標(biāo)檢測(cè)模型旨在于利用一小組完全注釋的圖像來(lái)檢測(cè)大量的非注釋的對(duì)應(yīng)目標(biāo)。因此,使用大量帶有目標(biāo)物體和邊界框的標(biāo)注和標(biāo)記圖像來(lái)高效訓(xùn)練網(wǎng)絡(luò)以達(dá)到較高的有效性,是未來(lái)研究的一個(gè)重要問(wèn)題。
(3)多領(lǐng)域目標(biāo)檢測(cè):針對(duì)區(qū)域的檢測(cè)器往往性能更好,在預(yù)定義的數(shù)據(jù)集上實(shí)現(xiàn)了較高的檢測(cè)精度。因此,開(kāi)發(fā)一種通用的目標(biāo)檢測(cè)器使其能夠在沒(méi)有任何先驗(yàn)知識(shí)的情況下檢測(cè)出多領(lǐng)域的目標(biāo)是未來(lái)的基本研究方向。
(4)顯著目標(biāo)檢測(cè):指該區(qū)域用于強(qiáng)調(diào)圖像中的顯著目標(biāo)區(qū)域。顯著性目標(biāo)檢測(cè)應(yīng)用范圍廣泛,適用于不同領(lǐng)域的目標(biāo)檢測(cè)應(yīng)用。在每一幀中突出的目標(biāo)重要區(qū)域有助于準(zhǔn)確檢測(cè)連續(xù)場(chǎng)景或視頻序列中的目標(biāo)。因此,在重要的識(shí)別和檢測(cè)任務(wù)中,顯著性引導(dǎo)的目標(biāo)檢測(cè)可以看作是一個(gè)初步的過(guò)程。
(5)多任務(wù)學(xué)習(xí):為了提高檢測(cè)性能,積累主干架構(gòu)的多層特征是一個(gè)重要的步驟。同時(shí)執(zhí)行目標(biāo)檢測(cè)、語(yǔ)義和實(shí)例分割等多種計(jì)算機(jī)視覺(jué)任務(wù)可以利用更豐富的信息在很大程度上提高性能。采用這種方法可以有效地將多個(gè)任務(wù)組合在一個(gè)模型中,如何在不影響處理速度的情況下提高檢測(cè)精度是研究人員面臨的一系列挑戰(zhàn)。
(6)無(wú)監(jiān)督目標(biāo)檢測(cè):研究自動(dòng)標(biāo)注技術(shù)以擺脫人工標(biāo)注是無(wú)監(jiān)督目標(biāo)檢測(cè)的一個(gè)令人渴望和有前景的趨勢(shì)。對(duì)于尖銳的檢測(cè)任務(wù),無(wú)監(jiān)督目標(biāo)檢測(cè)是未來(lái)的研究方向。
(7)遙感實(shí)時(shí)檢測(cè):遙感圖像在軍事和農(nóng)業(yè)領(lǐng)域都有廣泛的應(yīng)用。自動(dòng)檢測(cè)模型和集成硬件單元將促進(jìn)這些領(lǐng)域的快速發(fā)展。
(8)基于GAN的目標(biāo)檢測(cè)器:基于深度學(xué)習(xí)的目標(biāo)檢測(cè)器通常需要大量的數(shù)據(jù)來(lái)進(jìn)行訓(xùn)練,而基于GAN的目標(biāo)檢測(cè)器是一種影響較大的結(jié)構(gòu),它會(huì)產(chǎn)生虛擬的圖像。結(jié)合真實(shí)場(chǎng)景和GAN 生成的模擬數(shù)據(jù),有助于檢測(cè)器獲得更好的魯棒性,并獲得更強(qiáng)的泛化能力。
基于深度學(xué)習(xí)的目標(biāo)檢測(cè)技術(shù)的研究還需要進(jìn)一步深入。希望基于深度學(xué)習(xí)的目標(biāo)檢測(cè)器未來(lái)能夠?yàn)楸憷藗兩钭龀龈嘭暙I(xiàn)。