• 
    

    
    

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

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

      2022-07-14 13:10:42李柯泉陳燕劉佳晨牟向偉
      計(jì)算機(jī)工程 2022年7期
      關(guān)鍵詞:錨框邊界物體

      李柯泉,陳燕,劉佳晨,牟向偉

      (1.大連海事大學(xué) 航運(yùn)經(jīng)濟(jì)與管理學(xué)院,遼寧 大連 116026;2.河北金融學(xué)院 信息工程與計(jì)算機(jī)學(xué)院,河北 保定 071051)

      0 概述

      目標(biāo)檢測(cè)是對(duì)圖像中的感興趣目標(biāo)進(jìn)行識(shí)別和定位的技術(shù),解決了圖像中的物體在哪里以及是什么的問題[1]。已有的研究表明,可靠的目標(biāo)檢測(cè)算法是實(shí)現(xiàn)對(duì)復(fù)雜場(chǎng)景進(jìn)行自動(dòng)分析與理解的基礎(chǔ)。因此,圖像目標(biāo)檢測(cè)是計(jì)算機(jī)視覺領(lǐng)域的基礎(chǔ)任務(wù),其性能好壞將直接影響后續(xù)的目標(biāo)跟蹤、動(dòng)作識(shí)別以及行為理解等中高層任務(wù)的性能,進(jìn)而也影響了人臉檢測(cè)、行為描述、交通場(chǎng)景物體識(shí)別、基于內(nèi)容的互聯(lián)網(wǎng)圖像檢索等后續(xù)人工智能(Artificial Intelligence,AI)應(yīng)用的性能[2-3]。隨著這些AI 應(yīng)用滲透到人們生產(chǎn)和生活的各個(gè)方面,目標(biāo)檢測(cè)技術(shù)在一定程度上減輕了人們的負(fù)擔(dān),改變了人類的生活方式。

      目標(biāo)檢測(cè)領(lǐng)域的研究最早可以追溯到1991年由TURK[4]等提出的人臉檢測(cè)算法。近年來,隨著計(jì)算機(jī)硬件水平的提升、深度學(xué)習(xí)技術(shù)的發(fā)展以及各種高質(zhì)量目標(biāo)檢測(cè)數(shù)據(jù)集的提出,涌現(xiàn)出越來越多優(yōu)秀的目標(biāo)檢測(cè)算法。目標(biāo)檢測(cè)算法的發(fā)展大致分為兩個(gè)階段:第一階段集中在2000 年前后,這期間所提出的方法大多基于滑動(dòng)窗口和人工特征提取,普遍存在計(jì)算復(fù)雜度高和在復(fù)雜場(chǎng)景下魯棒性差的缺陷[5],為使算法能夠滿足實(shí)際需要,研究人員通過研究更加精巧的計(jì)算方法對(duì)模型進(jìn)行加速,同時(shí)設(shè)計(jì)更加多元化的檢測(cè)算法,以彌補(bǔ)手工特征表達(dá)能力上的缺陷,代表性的成果包括Viola-Jones 檢測(cè)器[6]、HOG 行人檢測(cè)器[7]等;第二階段是2014 年至今,以文獻(xiàn)[8]提出的R-CNN 算法作為開端,這類算法利用深度學(xué)習(xí)技術(shù)自動(dòng)地抽取輸入圖像中的隱藏特征,從而對(duì)樣本進(jìn)行更高精度的分類和預(yù)測(cè)。隨著深度學(xué)習(xí)和計(jì)算機(jī)視覺的不斷突破,在R-CNN之后又涌現(xiàn)出了Fast R-CNN[9]、Faster R-CNN[10]、SPPNet[11]、YOLO[12]等基于深度學(xué)習(xí)的圖像目標(biāo)檢測(cè)算法。相比傳統(tǒng)的目標(biāo)檢測(cè)算法,基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法具有速度快、準(zhǔn)確性強(qiáng)、在復(fù)雜條件下魯棒性強(qiáng)等優(yōu)勢(shì)[13]。

      近年來,基于深度學(xué)習(xí)的目標(biāo)檢測(cè)已經(jīng)成為計(jì)算機(jī)視覺領(lǐng)域的一個(gè)熱門研究方向,研究人員提出了許多新的目標(biāo)檢測(cè)算法。本文對(duì)基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法進(jìn)行綜述,闡述目標(biāo)檢測(cè),包括圖像目標(biāo)檢測(cè)任務(wù)、數(shù)據(jù)集、評(píng)價(jià)標(biāo)準(zhǔn)、傳統(tǒng)目標(biāo)檢測(cè)算法的基本框架和存在的問題等。按照是否包含顯式的區(qū)域建議及是否顯式地定義先驗(yàn)錨框兩種標(biāo)準(zhǔn)對(duì)已有的目標(biāo)檢測(cè)算法分類,介紹各類目標(biāo)檢測(cè)算法中的代表算法并總結(jié)算法機(jī)制、優(yōu)勢(shì)、局限性和適用場(chǎng)景。基于VOC 2007 和COCO 2018 數(shù)據(jù)集展示各類算法的性能表現(xiàn)并對(duì)各類目標(biāo)檢測(cè)算法進(jìn)行比較。在此基礎(chǔ)上,分析目前基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法面臨的挑戰(zhàn)和解決方案,展望該領(lǐng)域的未來研究方向。

      1 目標(biāo)檢測(cè)算法

      1.1 目標(biāo)檢測(cè)任務(wù)、評(píng)價(jià)指標(biāo)及公開數(shù)據(jù)集

      圖像目標(biāo)檢測(cè)是計(jì)算機(jī)視覺領(lǐng)域最基本也是最具有挑戰(zhàn)性的任務(wù)之一,主要對(duì)輸入圖像中的目標(biāo)進(jìn)行識(shí)別和定位。圖1 所示為目標(biāo)檢測(cè)的一個(gè)示例。其中,目標(biāo)檢測(cè)的結(jié)果由兩部分組成:方形邊界框的顏色代表了目標(biāo)的所屬類別(識(shí)別);方形邊界框的尺寸和位置代表了目標(biāo)在輸入圖像中的位置(定位)(彩色效果見《計(jì)算機(jī)工程》官網(wǎng)HTML 版)。

      圖1 目標(biāo)檢測(cè)示例Fig.1 Example of object detection

      在目標(biāo)檢測(cè)任務(wù)中,bgt、bpred分別表示物體的真實(shí)邊界框和檢測(cè)到的邊界框。bgt、bpred的交并比(Intersection-over-Union,IoU)被用來評(píng)價(jià)所預(yù)測(cè)的邊界框的準(zhǔn)確程度:

      交并比閾值是一個(gè)預(yù)定義的常數(shù),表示為Ω。當(dāng)IIoU(bpred,bgt)>Ω時(shí),認(rèn)為bpred中的圖像為正樣本(包含物體),否則為負(fù)樣本(背景)。基于交并比和交并比閾值可以計(jì)算目標(biāo)檢測(cè)的精確率(P)和召回率(R):

      其中:TTP、FFP、FFN分別是真陽率、假陽率和假陰率,分別表示正樣本被預(yù)測(cè)正確的數(shù)量、負(fù)樣本被預(yù)測(cè)為正樣本的數(shù)量和背景被錯(cuò)誤檢測(cè)為正樣本的數(shù)量。計(jì)算精確率和召回率時(shí),一般取交并比閾值Ω=0.5。

      平均精確率(Average Precision,AP)也是目標(biāo)檢測(cè)中常用的指標(biāo),其計(jì)算公式為:

      其中:P(t)表示交并比閾值Ω=t時(shí)的精確率。對(duì)于多類別的目標(biāo)檢測(cè)任務(wù),由于待檢測(cè)物體可能存在不同的所屬類別,通常用平均精確率均值(mean Average Precision,mAP)作為評(píng)價(jià)指標(biāo),其計(jì)算公式如下:

      本文將以上評(píng)價(jià)指標(biāo)統(tǒng)稱為精度,這些指標(biāo)反映了目標(biāo)檢測(cè)算法檢測(cè)到的物體邊界框的準(zhǔn)確程度。除精度外,速度也是目標(biāo)檢測(cè)算法重要的評(píng)價(jià)指標(biāo)。最常用的描述目標(biāo)檢測(cè)算法速度的評(píng)價(jià)指標(biāo)是每秒檢測(cè)幀數(shù)(Frames Per Second,F(xiàn)PS),即算法平均每秒能夠檢測(cè)的圖像數(shù)量。

      目標(biāo)檢測(cè)算法的訓(xùn)練和評(píng)價(jià)一般在特定的數(shù)據(jù)集上進(jìn)行。目標(biāo)檢測(cè)領(lǐng)域最重要的數(shù)據(jù)集有Pascal VOC[14-15]、ILSVRC[16]和Microsoft COCO[17]等。

      Pascal VOC(Pascal Visual Object Classes)是2005 年—2012 年舉辦的一項(xiàng)計(jì)算機(jī)視覺領(lǐng)域的競(jìng)賽,其中包含了目標(biāo)檢測(cè)任務(wù)。VOC 2007 數(shù)據(jù)集是該競(jìng)賽于2005年—2007年使用的數(shù)據(jù)的集合,VOC 2012則包含了該競(jìng)賽2008 年—2012 年使用的全部數(shù)據(jù)。該數(shù)據(jù)集中的物體包含了人類、動(dòng)物、車輛和室內(nèi)物品4 個(gè)大類以及包括背景在內(nèi)的21 個(gè)小類的物體。由于該數(shù)據(jù)集中的檢測(cè)任務(wù)相對(duì)簡(jiǎn)單,近年來提出的目標(biāo)檢測(cè)算法逐漸不再采用VOC 數(shù)據(jù)集對(duì)算法的性能進(jìn)行評(píng)估。ILSVRC(ImageNet Large-Scale Visual Recognition Challenge)也是一項(xiàng)包含了目標(biāo)檢測(cè)任務(wù)的競(jìng)賽。相比VOC 數(shù)據(jù)集,LISVRC 中物體的所屬類目被擴(kuò)充到200 種,且圖像數(shù)量和標(biāo)注物體數(shù)量均明顯高于VOC 數(shù)據(jù)集。常用的LISVRC數(shù)據(jù)集有LISVRC 2014 和LISVRC 2017。Microsoft COCO 數(shù)據(jù)集是目前最有挑戰(zhàn)性的目標(biāo)檢測(cè)數(shù)據(jù)集。雖然該數(shù)據(jù)集僅包含80 個(gè)類目,但該數(shù)據(jù)集將標(biāo)注的物體按照尺度劃分為小、中、大三類。尤其是引入了大量的小目標(biāo)物體,這使得該數(shù)據(jù)集中的前景物體更加密集,增加了任務(wù)的難度。Microsoft COCO 數(shù)據(jù)集包括COCO 2005 和COCO 2018 兩個(gè)常用版本。表1 列出了不同數(shù)據(jù)集的訓(xùn)練集、驗(yàn)證集和測(cè)試集中圖像數(shù)量和標(biāo)注的物體數(shù)量,其中,括號(hào)內(nèi)的數(shù)字表示數(shù)據(jù)集中經(jīng)過標(biāo)注的物體數(shù)量,括號(hào)外的數(shù)字是數(shù)據(jù)集中的圖像數(shù)量。

      表1 目標(biāo)檢測(cè)數(shù)據(jù)集圖像數(shù)量和標(biāo)注過的物體數(shù)量Table 1 Number of images in the target detection dataset and the number of labeled objects

      1.2 傳統(tǒng)目標(biāo)檢測(cè)算法

      如圖2 所示,傳統(tǒng)的目標(biāo)檢測(cè)框架中包含了3 個(gè)階段。區(qū)域建議的目的是找出輸入圖像中可能存在目標(biāo)的區(qū)域,這些區(qū)域被稱為候選區(qū)域或感興趣區(qū)域(Regions of Interest,RoI)。由于目標(biāo)可能有不同的尺寸且可能出現(xiàn)在任何位置,傳統(tǒng)方法大多使用不同尺度的滑動(dòng)窗口對(duì)輸入圖像進(jìn)行多次遍歷得到大量的候選區(qū)域[6,18-19]。特征抽取是第二個(gè)階段,該階段常用尺度不變特征(Scale Invariant Feature Transform,SIFT)[20]、局部二值模式特征(Local Binary Pattern,LBP)[21]、梯度直方圖特征(Histogram of Oriented Gradient,HOG)[22]等人工特征抽取方法將感興趣區(qū)域中的圖像轉(zhuǎn)換為特征向量。抽取到的特征向量作為第三階段的輸入。在該階段中,預(yù)訓(xùn)練的分類器預(yù)測(cè)感興趣區(qū)域中物體的所屬類別并輸出目標(biāo)檢測(cè)的結(jié)果。級(jí)聯(lián)學(xué)習(xí)、集成學(xué)習(xí)等機(jī)器學(xué)習(xí)方法常被應(yīng)用于這一階段以提升目標(biāo)檢測(cè)的精度。

      圖2 傳統(tǒng)的目標(biāo)檢測(cè)算法框架Fig.2 Framework of traditional target detection algorithms

      傳統(tǒng)的目標(biāo)檢測(cè)算法主要存在以下3 點(diǎn)缺陷:1)在區(qū)域建議階段,不同尺度的滑動(dòng)窗口對(duì)輸入圖像進(jìn)行多次遍歷產(chǎn)生大量的感興趣區(qū)域,在后續(xù)步驟中,算法對(duì)這些區(qū)域進(jìn)行特征抽取和分類的過程存在大量冗余計(jì)算開銷,影響算法的運(yùn)行速度,另外滑動(dòng)窗口只有幾種固定的尺寸,通常不能與目標(biāo)完美匹配;2)特征抽取階段僅能獲取圖像的低級(jí)特征,這些特征表達(dá)能力不足而且特征的有效性高度依賴具體任務(wù),一旦檢測(cè)目標(biāo)有重大變動(dòng)就要重新設(shè)計(jì)算法;3)整個(gè)目標(biāo)檢測(cè)過程被割裂為獨(dú)立的3 個(gè)階段,無法找到算法的全局最優(yōu)解,算法的設(shè)計(jì)依賴設(shè)計(jì)者對(duì)檢測(cè)目標(biāo)和具體任務(wù)的先驗(yàn)知識(shí)。為了彌補(bǔ)這些缺陷,研究人員尋找更加精巧的計(jì)算方法對(duì)算法進(jìn)行加速,使算法能夠滿足實(shí)時(shí)性的要求,同時(shí)設(shè)計(jì)更多元化的檢測(cè)算法以彌補(bǔ)人工特征表達(dá)能力不足的缺陷。

      2 基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法

      深度學(xué)習(xí)是能夠通過監(jiān)督、半監(jiān)督或無監(jiān)督的訓(xùn)練方法自動(dòng)學(xué)習(xí)訓(xùn)練數(shù)據(jù)中隱藏的數(shù)據(jù)內(nèi)部結(jié)構(gòu)的一類多層神經(jīng)網(wǎng)絡(luò)算法。相比人工抽取低級(jí)特征,深度學(xué)習(xí)能夠?qū)⑤斎雸D像中的像素?cái)?shù)據(jù)轉(zhuǎn)化為更高階、更抽象化的層級(jí)特征[23]。因此,深度學(xué)習(xí)抽取到的特征比傳統(tǒng)方法具有更強(qiáng)的表征能力和魯棒性,這一優(yōu)勢(shì)使深度學(xué)習(xí)在計(jì)算機(jī)視覺領(lǐng)域的研究和應(yīng)用中體現(xiàn)出不可替代的優(yōu)越性,尤其是在目標(biāo)檢測(cè)領(lǐng)域涌現(xiàn)出大量基于深度學(xué)習(xí)的研究成果。已有的目標(biāo)檢測(cè)算法存在兩種分類標(biāo)準(zhǔn):1)是否存在顯式的區(qū)域建議[24-25];2)是否顯式定義先驗(yàn)錨框[26]。

      2.1 按是否存在顯式區(qū)域建議的算法分類

      按照算法是否存在顯式的區(qū)域建議,可將目標(biāo)檢測(cè)算法分為兩階段目標(biāo)檢測(cè)算法和一階段目標(biāo)檢測(cè)算法。其中,兩階段目標(biāo)檢測(cè)算法又稱為基于區(qū)域建議的目標(biāo)檢測(cè)算法或基于感興趣區(qū)域的目標(biāo)檢測(cè)算法。這類算法通過顯式的區(qū)域建議將檢測(cè)問題轉(zhuǎn)化為對(duì)生成的建議區(qū)域內(nèi)局部圖片的分類問題。代表性的兩階段目標(biāo)檢測(cè)算法有R-CNN、Fast R-CNN等。一階段目標(biāo)檢測(cè)算法又稱為基于回歸的目標(biāo)檢測(cè)算法。這類算法不直接生成感興趣區(qū)域,而將目標(biāo)檢測(cè)任務(wù)視為對(duì)整幅圖像的回歸任務(wù)。代表性的一階段目標(biāo)檢測(cè)算法有YOLO、SSD 等。圖3 所示為這兩類目標(biāo)檢測(cè)算法的一般框架。

      圖3 目標(biāo)檢測(cè)算法框架Fig.3 Framework of target detection algorithms

      2.1.1 兩階段目標(biāo)檢測(cè)算法

      文獻(xiàn)[8]提出的R-CNN 算法最早將深度學(xué)習(xí)技術(shù)成功應(yīng)用在目標(biāo)檢測(cè)領(lǐng)域,該算法是一種典型的兩階段目標(biāo)檢測(cè)算法。相較于傳統(tǒng)的目標(biāo)檢測(cè)算法,R-CNN 算法主要有以下3 點(diǎn)改進(jìn):1)在區(qū)域建議階段使用了選擇性搜索[27],解決了使用滑動(dòng)窗口生成候選框?qū)е掠?jì)算量過大的問題;2)使用卷積神經(jīng)網(wǎng)絡(luò)對(duì)感興趣區(qū)域進(jìn)行特征提取,解決了傳統(tǒng)方法特征表達(dá)能力不足的問題;3)在使用SVM 分類器進(jìn)行分類的同時(shí),借助回歸算法對(duì)目標(biāo)邊界進(jìn)行補(bǔ)償和修正,以減小感興趣區(qū)域與實(shí)際目標(biāo)的偏差。這些改進(jìn)使R-CNN 算法相較傳統(tǒng)的目標(biāo)檢測(cè)算法性能顯著提升。R-CNN 算法在Pascal VOC 2007 數(shù)據(jù)集上的mAP 達(dá)到了58.5%,遠(yuǎn)高于此前傳統(tǒng)方法在該數(shù)據(jù)集上獲得的最好結(jié)果(如SegDPM[28]為40.4%)。

      R-CNN 算法存在以下缺點(diǎn):1)選擇性搜索依賴低級(jí)的視覺信息,在背景復(fù)雜時(shí)很難生成有效的候選框,另外,該過程無法通過GPU 等并行計(jì)算設(shè)備進(jìn)行加速;2)在特征抽取時(shí)將圖像縮放或裁切至固定尺寸,造成信息丟失;3)深度學(xué)習(xí)方法分別提取每個(gè)感興趣區(qū)域中圖像的特征,該過程產(chǎn)生大量重復(fù)計(jì)算;4)R-CNN 中各個(gè)部分依舊是割裂的,訓(xùn)練步驟繁瑣、耗時(shí),且很難找到全局最優(yōu)解。

      文獻(xiàn)[11]提出了SPP-Net 目標(biāo)檢測(cè)算法,它是R-CNN 的一種改進(jìn),該算法借鑒了金字塔空間匹配(Spatial Pyramid Matching,SPM)算法,在第二階段引入了金字塔空間池化層(Spatial Pyramid Pooling,SPP)[29]。與R-CNN 相比,SPP-Net 首先通過骨干網(wǎng)絡(luò)直接得到整個(gè)輸入圖像的特征圖,而非分別抽取每個(gè)感興趣區(qū)域的特征,減少了計(jì)算冗余。然后SPP-Net 引入金字塔空間池化層將特征圖中與感興趣區(qū)域?qū)?yīng)的部分轉(zhuǎn)化為固定尺寸的特征。由于避免了對(duì)感興趣區(qū)域中的圖像進(jìn)行縮放和裁切等操作造成的信息丟失,SPP-Net 的精度相對(duì)R-CNN 得到了進(jìn)一步的提升,它在VOC 2007 數(shù)據(jù)集上的mAP達(dá)到了60.9%。另外,由于SPP-Net 僅需要進(jìn)行一次卷積操作,其運(yùn)行速度相對(duì)R-CNN 得到了明顯的提升。在達(dá)到與R-CNN 近似甚至更高精度的前提下,SPP-Net的運(yùn)行速度是R-CNN的24倍~102倍。SPP-Net的缺點(diǎn)在于:雖然優(yōu)化了R-CNN 時(shí)間開銷的問題,其感興趣區(qū)域中圖像的特征仍然需要單獨(dú)保存,存在較大空間開銷。此外,與R-CNN 類似,SPP-Net 中的特征提取、分類、回歸依舊是割裂的。

      針對(duì)SPP-Net 算法的不足,文獻(xiàn)[9,30]提出了Fast R-CNN算法。相對(duì)SPP-Net算法,F(xiàn)ast R-CNN算法主要有兩點(diǎn)改進(jìn):1)使用感興趣池化層(RoI Pooling layer)代替了SPP-Net 的金字塔空間池化層,感興趣池化層與金字塔空間池化層具有類似的功能,能夠?qū)⒉煌叽绲母信d趣區(qū)域?qū)?yīng)的特征劃分為相同尺寸的特征向量,但感興趣池化層更為簡(jiǎn)潔;2)提出了新的多任務(wù)損失函數(shù),該函數(shù)將分類任務(wù)與邊框回歸任務(wù)整合到主干卷積神經(jīng)網(wǎng)絡(luò)中,使這兩個(gè)任務(wù)能夠共享主干卷積神經(jīng)網(wǎng)絡(luò)的參數(shù),從而進(jìn)一步降低了目標(biāo)檢測(cè)所需的計(jì)算資源。這兩點(diǎn)改進(jìn)使得Fast R-CNN 的檢測(cè)速度明顯提升,并初步實(shí)現(xiàn)了端到端的目標(biāo)檢測(cè)。該算法在VOC2007 數(shù)據(jù)集上的檢測(cè)率分別達(dá)到了70.0%。

      Fast R-CNN 在區(qū)域建議階段依舊使用選擇性搜索生成感興趣區(qū)域。由于選擇性搜索無法使用GPU進(jìn)行加速,制約了目標(biāo)檢測(cè)的訓(xùn)練和運(yùn)行速度。文獻(xiàn)[10]提出的Faster R-CNN 算法用區(qū)域預(yù)測(cè)網(wǎng)絡(luò)(Region Proposal Network,RPN)代替?zhèn)鹘y(tǒng)的感興趣區(qū)域預(yù)測(cè)方法。由于提取候選區(qū)域網(wǎng)絡(luò)是基于深度學(xué)習(xí)的方法,因此可以借助GPU 加速,提升Faster R-CNN 算法訓(xùn)練和運(yùn)行的速度。

      Faster R-CNN 算法使用骨干網(wǎng)絡(luò)獲取輸入圖像的特征。骨干網(wǎng)絡(luò)通常是多個(gè)卷積層的堆疊,雖然能夠獲取圖像的高級(jí)特征,但這些特征具有平移不變性[31-32],不利于對(duì)目標(biāo)框的檢測(cè)。為了解決這一問題,該算法在第二階段使用全連接層消除所抽取到特征的平移不變性,但這造成了該算法的兩點(diǎn)缺陷:1)第二階段無法實(shí)現(xiàn)對(duì)多個(gè)感興趣區(qū)域進(jìn)行計(jì)算時(shí)的參數(shù)共享,產(chǎn)生額外的計(jì)算開銷,影響算法速度;2)全連接層的加入消除了特征的平移不變性的同時(shí),也造成了信息的丟失,影響算法的精度。

      針對(duì)Faster R-CNN 算法這兩點(diǎn)缺陷,文獻(xiàn)[33]提出了R-FCN 算法。該算法主要有兩點(diǎn)創(chuàng)新:1)將全卷積網(wǎng)絡(luò)(Fully Convolutional Network,F(xiàn)CN)應(yīng)用于Faster R-CNN,使算法第二階段的計(jì)算也實(shí)現(xiàn)了參數(shù)共享,提升了檢測(cè)速度;2)提出了位敏得分圖和位敏池化層對(duì)目標(biāo)檢測(cè)任務(wù)中的平移不變性和平移可變性進(jìn)行權(quán)衡,使R-FCN 在提升了檢測(cè)速度的基礎(chǔ)上達(dá)到和Faster R-CNN 接近的精度。

      圖4 對(duì)有代表性的兩階段目標(biāo)檢測(cè)算法進(jìn)行總結(jié)。這些算法的演化主要存在2 個(gè)趨勢(shì):1)實(shí)現(xiàn)參數(shù)共享以提升算法運(yùn)行速度;2)提出新的訓(xùn)練策略使算法從多個(gè)割裂的步驟逐步向端到端演化。

      圖4 兩階段目標(biāo)檢測(cè)算法Fig.4 Two-stage target detection algorithms

      2.1.2 一階段目標(biāo)檢測(cè)算法

      兩階段目標(biāo)檢測(cè)算法在第一階段生成區(qū)域建議,在第二階段僅針對(duì)感興趣區(qū)域中的內(nèi)容進(jìn)行分類和回歸,丟失了局部目標(biāo)在整幅圖像中的空間信息。為此,研究人員提出了一階段目標(biāo)檢測(cè)算法來解決這一缺陷。

      文獻(xiàn)[34]提出的基于二進(jìn)制掩膜的目標(biāo)檢測(cè)算法是一種早期的一階段目標(biāo)檢測(cè)算法。該算法采用AlexNet[35]作為骨干網(wǎng)絡(luò),但將網(wǎng)絡(luò)的最后一層替換成回歸層。通過回歸預(yù)測(cè)目標(biāo)的二進(jìn)制掩膜并以此為依據(jù)提取目標(biāo)邊界框。由于單一掩膜難以區(qū)分識(shí)別的目標(biāo)是單一的物體還是多個(gè)相鄰的物體,算法需要輸出多個(gè)掩膜。這使網(wǎng)絡(luò)訓(xùn)練變得困難,也導(dǎo)致該算法很難應(yīng)用于對(duì)多個(gè)類別目標(biāo)的檢測(cè)。文獻(xiàn)[36]提出的Overfeat 算法也是一種一階段目標(biāo)檢測(cè)算法的早期嘗試。該算法針對(duì)分類、定位、檢測(cè)3 個(gè)不同的任務(wù)將骨干網(wǎng)絡(luò)的最后一層替換成不同的分類或回歸層,這些任務(wù)共享骨干網(wǎng)絡(luò)的參數(shù)。骨干網(wǎng)絡(luò)由AlexNet 實(shí)現(xiàn),但該算法用偏置池化代替了原本的最大池化以消除特征粒度不足的問題。該算法借助卷積層代替了滑動(dòng)窗口的操作,大幅提升了目標(biāo)檢測(cè)的速度,但是該算法難以實(shí)現(xiàn)對(duì)小尺寸目標(biāo)的檢測(cè)。

      文獻(xiàn)[12]提出的YOLO 算法是最早具有實(shí)際應(yīng)用價(jià)值的一階段目標(biāo)檢測(cè)算法。該算法的骨干網(wǎng)絡(luò)采用了類似GoogLeNet[37]的結(jié)構(gòu),直接基于整幅輸入圖像預(yù)測(cè)圖像中物體的類別和邊界框的位置、尺寸等信息。該算法將輸入圖像劃分為S×S個(gè)網(wǎng)格,并對(duì)每個(gè)網(wǎng)格預(yù)測(cè)B個(gè)邊界框,對(duì)每個(gè)網(wǎng)格中的物體分別進(jìn)行預(yù)測(cè)。因此,對(duì)于具有C個(gè)類別的目標(biāo)檢測(cè)任務(wù),YOLO 算法的輸出y是一個(gè)尺寸為S×S×(B×5+C)的矩陣,其中,yi,j表示對(duì)第i行第j列網(wǎng)格的預(yù)測(cè)結(jié)果。每個(gè)預(yù)測(cè)的結(jié)果包括邊界框的位置、尺寸、置信度以及邊界框中的物體屬于各個(gè)類別的概率。這種劃分網(wǎng)格的方法避免了大量的重復(fù)計(jì)算,使YOLO 算法達(dá)到了較快的檢測(cè)速度。在VOC 2007數(shù)據(jù)集中達(dá)到了45 frame/s 的檢測(cè)速度。另外,由于YOLO 算法基于整個(gè)輸入圖像進(jìn)行檢測(cè),而非基于局部進(jìn)行推斷,這使其背景誤檢率只有13.6%,遠(yuǎn)小于已有的兩階段目標(biāo)檢測(cè)算法。然而,該算法仍存在以下不足:1)精度相對(duì)較差,在VOC 2007 上的精確性只有63.4%,低于Faster R-CNN 等同時(shí)期的兩階段目標(biāo)檢測(cè)算法;2)對(duì)于成群的小目標(biāo)、多個(gè)相鄰的目標(biāo)或具有異常尺寸的目標(biāo)檢測(cè)效果較差。

      YOLO 算法取得的成功引起了眾多研究者的關(guān)注,YOLOv2[38]、YOLOv3[39]、YOLOv4[40]等YOLO 算法的改進(jìn)型算法被陸續(xù)提出。其中,YOLOv2 應(yīng)用了批量正則化、高分辨率分類器、基于聚類的邊界框預(yù)測(cè)、新的骨干網(wǎng)絡(luò)和聯(lián)合訓(xùn)練方法等技術(shù)來獲得更高的精確度。在此基礎(chǔ)上,作者訓(xùn)練了名為YOLO9000 的目標(biāo)檢測(cè)算法,使YOLO9000 可以檢測(cè)目標(biāo)類別的種類達(dá)到了9 000 種。YOLOv3 使用了更加復(fù)雜的骨干網(wǎng)絡(luò),該網(wǎng)絡(luò)參考了Resnet101[41]使運(yùn)行速度更快。YOLOv3 還使用了多尺度的特征融合以獲取更多小目標(biāo)的有用信息,從而提升算法對(duì)小目標(biāo)檢測(cè)的精確度。YOLOv4 應(yīng)用了新的骨干網(wǎng)絡(luò)并結(jié)合空間金字塔池化和路徑聚合網(wǎng)絡(luò)(Path Aggregation Network,PAN)[42]進(jìn)行特征融合,從而獲得更高的性能。這些方法都為新的一階段目標(biāo)檢測(cè)算法的設(shè)計(jì)提供了借鑒,也證明了骨干網(wǎng)絡(luò)設(shè)計(jì)、高效特征融合等技術(shù)對(duì)提升目標(biāo)檢測(cè)性能具有重要意義。

      針對(duì)YOLO 算法在小目標(biāo)檢測(cè)中的不足,文獻(xiàn)[43]提出了SSD 算法,該算法采用了與YOLO 算法類似的網(wǎng)格劃分的方法。與YOLO 算法相比,該算法主要有以下4 點(diǎn)改進(jìn):1)使用了多尺度特征進(jìn)行檢測(cè);2)舍棄了YOLO 算法中的全連接層,改用全卷積網(wǎng)絡(luò);3)為每個(gè)網(wǎng)格設(shè)定多個(gè)具有不同長(zhǎng)寬比的先驗(yàn)邊界框;4)使用了數(shù)據(jù)擴(kuò)增[44]技術(shù)。這些改進(jìn)可使SSD 算法在運(yùn)行速度上媲美YOLO 算法,同時(shí)在性能上不遜于Faster R-CNN,其在VOC 2007 數(shù)據(jù)集中的mAP 達(dá)到了74.3%。但該算法仍存在以下2 點(diǎn)不足:1)先驗(yàn)邊界框的尺度需要人工設(shè)置而非從數(shù)據(jù)中學(xué)習(xí)而來,導(dǎo)致該算法的訓(xùn)練非常依賴經(jīng)驗(yàn);2)對(duì)小目標(biāo)的檢測(cè)效果依舊弱于兩階段目標(biāo)檢測(cè)算法。

      針對(duì)SSD 算法在小目標(biāo)檢測(cè)中存在的不足,文獻(xiàn)[45]提出了DSSD 算法。該算法將SSD 算法的骨干網(wǎng)絡(luò)替換為Resnet101 以增強(qiáng)算法的特征提取能力,并引入了反卷積層將抽取到的低級(jí)特征轉(zhuǎn)化為較高層次的語義信息。在此基礎(chǔ)上,作者又提出一種特征融合方法,將反卷積得到的語義信息與卷積獲得的低級(jí)特征融合,從而提升了算法的檢測(cè)精度,尤其是對(duì)小目標(biāo)的檢測(cè)精度。該算法在VOC 2007數(shù)據(jù)集中的mAP 達(dá)到了81.5%,高于SSD 算法。其在COCO 2018 數(shù)據(jù)集中對(duì)小目標(biāo)檢測(cè)的AP 值也達(dá)到了13.0%,高于YOLO 算法的10.2%。此外,SSD 的改進(jìn)算法還有FSSD[46]、RefineDet[47]、M2Det[48]等,這些改進(jìn)均為SSD 算法的性能帶來了提升。

      生成的候選框中的內(nèi)容存在類別不均衡是已有的一階段目標(biāo)檢測(cè)算法精確度普遍低于兩階段目標(biāo)檢測(cè)算法的一個(gè)重要原因[49]。針對(duì)這一問題,文獻(xiàn)[50]提出了RetinaNet 算法,基于標(biāo)準(zhǔn)交叉熵?fù)p失改進(jìn)得到焦點(diǎn)損失函數(shù)。焦點(diǎn)損失的應(yīng)用可以使算法根據(jù)候選框中的內(nèi)容自動(dòng)地調(diào)節(jié)正負(fù)樣本對(duì)損失的貢獻(xiàn)度,使算法更關(guān)注于低置信度的樣本,從而減小類別不均衡對(duì)算法精確度的影響。該算法在多個(gè)數(shù)據(jù)集上達(dá)到了接近兩階段目標(biāo)檢測(cè)算法的精確度,但是該算法的運(yùn)行速度明顯低于YOLO、SSD 等一階段目標(biāo)檢測(cè)算法。

      圖5 所示為一階段目標(biāo)檢測(cè)算法。一階段目標(biāo)算法的演化存在以下2 個(gè)趨勢(shì):1)構(gòu)建具有更強(qiáng)表征能力的骨干網(wǎng)絡(luò)以提升算法的精度;2)提出新的損失函數(shù)以解決目標(biāo)檢測(cè)過程中遇到的樣本不均衡等問題。

      圖5 一階段目標(biāo)檢測(cè)算法Fig.5 One-stage target detection algorithms

      2.2 按是否定義先驗(yàn)錨框的算法分類

      按照是否定義先驗(yàn)錨框可以將已有的目標(biāo)檢測(cè)算法分為基于錨框的目標(biāo)檢測(cè)算法和無錨框目標(biāo)檢測(cè)算法。

      2.2.1 基于錨框的目標(biāo)檢測(cè)算法

      基于錨框的目標(biāo)檢測(cè)算法通過顯式或隱式的方式創(chuàng)建一系列具有不同尺寸、長(zhǎng)寬比的檢測(cè)框(錨框),然后對(duì)錨框中的內(nèi)容進(jìn)行分類或回歸。前文介紹的大部分目標(biāo)檢測(cè)算法,如R-CNN、Faster R-CNN、SSD 均是基于錨框的目標(biāo)檢測(cè)算法。其中,基于錨框的兩階段目標(biāo)檢測(cè)算法利用選擇性搜索等方法顯式地創(chuàng)建一系列錨框,基于錨框的一階段目標(biāo)檢測(cè)算法在骨干網(wǎng)絡(luò)提取輸入圖像特征的同時(shí),按照預(yù)定義的錨框?qū)傩噪[式地獲取檢測(cè)框中圖像的特征。

      基于錨框的目標(biāo)檢測(cè)算法需要根據(jù)物體的尺寸、長(zhǎng)寬比在訓(xùn)練數(shù)據(jù)中的分布確定錨框的尺度、長(zhǎng)寬比、生成錨框數(shù)量、交并比閾值等超參數(shù)。這些超參數(shù)的值的選取會(huì)影響算法精度。其中的一個(gè)示例是錨框超參數(shù)的選取對(duì)RetinaNet 算法在COCO 數(shù)據(jù)集中的精確度造成至少4%的改變[50]。這種影響使基于錨框的算法在更換應(yīng)用場(chǎng)景后往往無法達(dá)到令人滿意的性能。因此,在目標(biāo)檢測(cè)算法中應(yīng)用錨框不但依賴先驗(yàn)知識(shí),也使算法缺乏泛化能力。

      在算法的訓(xùn)練過程中,基于錨框的目標(biāo)檢測(cè)算法分別計(jì)算每個(gè)錨框與物體的真實(shí)邊界框的交并比。該過程增加了算法的計(jì)算量且無法借助GPU等并行計(jì)算設(shè)備提升速度。因此,錨框的應(yīng)用提升了算法的計(jì)算復(fù)雜度,降低了目標(biāo)檢測(cè)算法的訓(xùn)練速度。

      算法基于錨框獲得檢測(cè)結(jié)果:首先兩階段目標(biāo)檢測(cè)算法對(duì)錨框內(nèi)的圖像分類,然后通過回歸等方式調(diào)整錨框邊界得到物體邊界框;一階段目標(biāo)檢測(cè)算法直接基于生成的錨框預(yù)測(cè)目標(biāo)的邊界框。生成錨框的過程忽略了錨框中前景(物體)與背景的比例,導(dǎo)致訓(xùn)練樣本中負(fù)樣本(只包含背景的錨框)的數(shù)目明顯多于正樣本(包含物體的錨框),存在嚴(yán)重的類別不平衡問題,這是限制目標(biāo)檢測(cè)算法精度的一個(gè)主要原因。此外,錨框難以檢測(cè)到異常物體,這導(dǎo)致基于錨框的算法在檢測(cè)尺度、長(zhǎng)寬比異常的物體時(shí)召回率過低。因此,錨框的應(yīng)用限制了目標(biāo)檢測(cè)算法的精度。

      綜上所述,雖然基于錨框的目標(biāo)檢測(cè)算法取得了成功,但同時(shí)存在以下4 點(diǎn)缺陷:1)錨框的設(shè)計(jì)依賴先驗(yàn)知識(shí),缺乏泛化能力;2)訓(xùn)練過程大量計(jì)算錨框與真實(shí)邊界框的交并比,造成冗余計(jì)算;3)基于錨框生成的訓(xùn)練樣本中正負(fù)樣本失衡,影響檢測(cè)精度;4)對(duì)異常物體檢測(cè)精度較差。

      2.2.2 無錨框目標(biāo)檢測(cè)算法

      針對(duì)基于錨框的目標(biāo)檢測(cè)算法的缺陷,研究人員提出了無錨框目標(biāo)檢測(cè)算法,這類算法移除了預(yù)設(shè)錨框的過程,直接預(yù)測(cè)物體的邊界框。因此,這種方法存在3 個(gè)優(yōu)點(diǎn):1)錨框的參數(shù)從數(shù)據(jù)中學(xué)習(xí)而來,魯棒性強(qiáng);2)訓(xùn)練過程中無需大量重復(fù)計(jì)算錨框與真實(shí)邊界框的交并比,節(jié)省了訓(xùn)練時(shí)間;3)可以避免訓(xùn)練過程中樣本失衡的問題。

      無錨框目標(biāo)檢測(cè)算法可以分為基于中心域的目標(biāo)檢測(cè)算法和基于關(guān)鍵點(diǎn)的目標(biāo)檢測(cè)算法。

      基于中心域的目標(biāo)檢測(cè)算法直接預(yù)測(cè)物體的中心區(qū)域坐標(biāo)和邊界框的尺度信息。文獻(xiàn)[51]提出的DenseBox 算法是一種早期的基于中心域的算法。它將每一個(gè)像素作為中心點(diǎn),分別預(yù)測(cè)該點(diǎn)到其所在的物體上下左右邊界的距離以及物體屬于不同類別的概率,即對(duì)輸入圖像的每一個(gè)像素預(yù)測(cè)一個(gè)邊界框。然后通過非極大值抑制(Non-Maximum Suppression,NMS)對(duì)這些邊界框進(jìn)行篩選。該方法在人臉檢測(cè)等小目標(biāo)檢測(cè)任務(wù)的精度明顯高于基于錨框的算法,但該算法也被證實(shí)不適用于通用目標(biāo)檢測(cè),且對(duì)重疊物體檢測(cè)效果較差。YOLO 算法也是一種早期的基于中心域的目標(biāo)檢測(cè)算法,該算法將輸入圖像劃分為S×S個(gè)網(wǎng)格,對(duì)每個(gè)網(wǎng)格,算法預(yù)測(cè)網(wǎng)格中物體的中心點(diǎn)橫、縱坐標(biāo)(中心點(diǎn))、物體邊界框的長(zhǎng)度和寬度(邊界框的尺度信息)以及物體屬于各類別的概率。由于YOLO 算法只檢測(cè)離中心點(diǎn)距離最近的物體,導(dǎo)致其召回率偏低,算法的精度低于同時(shí)期基于錨框的一階段目標(biāo)檢測(cè)算法,因此無錨框方法在其后續(xù)版本的YOLOv2 和YOLOv3 沒有被繼續(xù)采用。盡管其在性能上存在局限性,但DenseBox 算法和YOLO 算法的思想為后續(xù)的無錨框目標(biāo)檢測(cè)算法提供了借鑒。

      文獻(xiàn)[52-53]提出的FCOS 算法采用了與DenseBox 算法類似的逐像素預(yù)測(cè)邊界框的思想,并給出一種基于多尺度特征的重疊物體檢測(cè)方法。在該方法中,骨干網(wǎng)絡(luò)可以提取輸入圖像的多尺度特征:淺層特征包含更多細(xì)節(jié),對(duì)小目標(biāo)檢測(cè)有利;深層特征包含更多語義信息,偏向大目標(biāo)檢測(cè)。假設(shè)重疊的物體具有較大尺度差異,使用不同層次的特征預(yù)測(cè)不同尺度的物體邊界框從而實(shí)現(xiàn)對(duì)同一區(qū)域重疊物體的檢測(cè)。FCOS 算法的不足主要體現(xiàn)在當(dāng)所預(yù)測(cè)的像素與物體實(shí)際的中心點(diǎn)存在較遠(yuǎn)距離時(shí)檢測(cè)結(jié)果容易受到重疊物體語義交疊的影響。

      文獻(xiàn)[54]提出的FoveaBox 算法解決了FCOS 算法的不足。該算法使用了與FCOS 算法相同的思路解決物體重疊的問題,但是引入了可調(diào)節(jié)的正負(fù)樣本衰減機(jī)制增強(qiáng)了訓(xùn)練過程中正負(fù)樣本之間的判別度,從而避免重疊區(qū)域語義交疊的影響。此外,該算法并非直接預(yù)測(cè)中心點(diǎn)與邊界框各邊的距離而是從數(shù)據(jù)中學(xué)習(xí)所預(yù)測(cè)中心點(diǎn)與邊界框各邊的映射關(guān)系從而實(shí)現(xiàn)了更強(qiáng)的魯棒性。

      另一類無錨框算法是基于關(guān)鍵點(diǎn)的目標(biāo)檢測(cè)算法,一般以熱力圖的方式預(yù)測(cè)輸入圖像中各個(gè)點(diǎn)是邊界框中的關(guān)鍵點(diǎn)的概率,然后將多組熱力圖組合得到物體邊界框。

      文獻(xiàn)[55]提出的CornerNet 算法是一種代表性的基于關(guān)鍵點(diǎn)的算法。它首先使用骨干網(wǎng)絡(luò)抽取輸入圖像的特征,然后基于這些特征生成兩組不同的熱力圖分別預(yù)測(cè)圖像中各個(gè)像素是錨框的左上角點(diǎn)和右下角點(diǎn)的概率、角點(diǎn)對(duì)應(yīng)物體的所屬類別信息以及錨框的誤差信息,最后根據(jù)這些信息配對(duì)預(yù)測(cè)的角點(diǎn)得到物體邊界框。該算法完全擺脫了錨框的約束,僅依靠關(guān)鍵點(diǎn)預(yù)測(cè)物體的邊界框且取得了較高的精度。該算法的缺點(diǎn)是僅關(guān)注物體的邊界信息,忽略了待檢測(cè)物體本身的特征,對(duì)物體的分類不夠準(zhǔn)確。

      文獻(xiàn)[56]提出的CenterNet算法改進(jìn)了CornerNet算法的缺陷。該算法在CornerNet 基礎(chǔ)上加入了對(duì)物體中心點(diǎn)的預(yù)測(cè),這項(xiàng)改進(jìn)使算法在預(yù)測(cè)邊界框時(shí)考慮到邊界框內(nèi)部物體的特征從而提升算法的精度。

      以上算法都需要在算法的最后使用非極大值抑制去除冗余的邊界框,影響算法速度。文獻(xiàn)[57]提出CenterNe(tObject as Point)算法,不再需要去除冗余邊框。首先,該算法采用了基于關(guān)鍵點(diǎn)的思想,使用熱力圖預(yù)測(cè)物體的中心點(diǎn)。然后,采用基于中心預(yù)測(cè)的思想,利用所預(yù)測(cè)中心點(diǎn)處獲取的特征預(yù)測(cè)邊界框的長(zhǎng)度和寬度從而得到檢測(cè)結(jié)果。這種混合方法的應(yīng)用使算法不需要借助非極大值抑制去除冗余結(jié)構(gòu),因此計(jì)算比已有的目標(biāo)檢測(cè)算法更加簡(jiǎn)潔。

      無錨框目標(biāo)檢測(cè)算法的提出是為了彌補(bǔ)基于錨框的目標(biāo)檢測(cè)算法在小目標(biāo)檢測(cè)的缺陷,在特定場(chǎng)景的小目標(biāo)檢測(cè)中的表現(xiàn)優(yōu)于基于錨框的目標(biāo)檢測(cè)算法,但許多無錨框算法也被指出不適合應(yīng)用于通用目標(biāo)檢測(cè)。由于這類算法出現(xiàn)較晚,因此仍有較大潛力實(shí)現(xiàn)進(jìn)一步提升。

      表2 對(duì)各類目標(biāo)檢測(cè)算法的機(jī)制、優(yōu)勢(shì)、局限性和適用場(chǎng)景進(jìn)行了總結(jié)。

      表2 各類目標(biāo)檢測(cè)算法的機(jī)制、優(yōu)勢(shì)、局限性及適用場(chǎng)景Table 2 Mechanism,advantages,limitations and application scenarios of each category of target detection algorithms

      3 算法性能比較與分析

      本節(jié)對(duì)一些代表性的基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法的性能進(jìn)行比較。

      表3 和表4 分別展示了不同目標(biāo)檢測(cè)算法在VOC 2007 和COCO 2018 數(shù)據(jù)集中的性能。其中,注釋為“*”的算法為兩階段目標(biāo)檢測(cè)算法,未使用“*”注釋的算法為一階段目標(biāo)檢測(cè)算法,注釋為“?”的算法為無錨框目標(biāo)檢測(cè)算法,未使用“?”注釋的算法為基于錨框的目標(biāo)檢測(cè)算法,在表4 中,APS、APM 和APL 分別表示算法對(duì)小尺寸物體、中等尺寸物體和大尺寸物體檢測(cè)的AP 值。這些算法具有不同的骨干網(wǎng)絡(luò)、輸入圖像的分辨率、超參數(shù)以及硬件條件,這些因素可能影響算法的最終性能。為了保證所列出數(shù)據(jù)的參考價(jià)值,表中給出的結(jié)果盡量選擇了已有文獻(xiàn)中算法在近似條件下的性能。

      表3 目標(biāo)檢測(cè)算法在VOC 2007 數(shù)據(jù)集中的性能Table 3 Performance of target detection algorithms on VOC 2007 dataset

      表4 目標(biāo)檢測(cè)算法在COCO 2018 數(shù)據(jù)集中的性能Table 4 Performance of target detection algorithms on COCO 2018 dataset %

      從表3、表4 可以得出5 點(diǎn)結(jié)論:1)盡管兩階段目標(biāo)檢測(cè)算法的運(yùn)行速度在不斷演化中得到提升,依舊明顯慢于一階段目標(biāo)檢測(cè)算法;2)借助更復(fù)雜的骨干網(wǎng)絡(luò)以及一些高級(jí)深度學(xué)習(xí)技術(shù),一階段目標(biāo)檢測(cè)算法的精度能夠接近甚至超過兩階段目標(biāo)檢測(cè)算法,說明骨干網(wǎng)絡(luò)的設(shè)計(jì)對(duì)一階段目標(biāo)檢測(cè)算法精度的提升具有重要意義;3)在一階段目標(biāo)檢測(cè)算法中,DSSD 和ASSD 的精度明顯高于其他算法,但速度也明顯慢于其他算法,類似地,YOLO 及其衍生算法速度較快,但精度低于其他一階段目標(biāo)檢測(cè)算法,說明算法的速度和精度依舊難以兼得;4)由于引入了大量小目標(biāo)物體,增大了目標(biāo)檢測(cè)的難度,所有算法在COCO 2018 數(shù)據(jù)集中的精度均有所降低,說明小目標(biāo)檢測(cè)是目前目標(biāo)檢測(cè)的一個(gè)重要挑戰(zhàn);5)無錨框目標(biāo)檢測(cè)算法在COCO 2018 數(shù)據(jù)集中的精度,尤其是對(duì)小物體檢測(cè)的精度要高于基于錨框的算法,這證明了無錨框目標(biāo)檢測(cè)算法是未來重要的發(fā)展方向。

      4 未來研究方向

      目前,基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法處于快速發(fā)展階段,產(chǎn)生了許多新的理論、方法和應(yīng)用。本文將未來的研究方向歸納如下:

      1)如何獲取高質(zhì)量的目標(biāo)檢測(cè)數(shù)據(jù)集?;谏疃葘W(xué)習(xí)的目標(biāo)檢測(cè)算法是一類數(shù)據(jù)驅(qū)動(dòng)的算法,算法的精度和魯棒性依賴于數(shù)據(jù)集的規(guī)模和質(zhì)量[58]。目標(biāo)檢測(cè)數(shù)據(jù)集的構(gòu)建依賴于人工標(biāo)注,工作量極大而且成本高昂。目前這一問題主要有兩種解決方法:一種方法是提升對(duì)已有數(shù)據(jù)集的利用效率,如同時(shí)使用多個(gè)數(shù)據(jù)集中的數(shù)據(jù)訓(xùn)練算法[59]或借助數(shù)據(jù)增強(qiáng)[60]、遷移學(xué)習(xí)[61]等技術(shù)對(duì)算法進(jìn)行訓(xùn)練;另一種方法是借助半自動(dòng)標(biāo)注技術(shù)[62-63]降低數(shù)據(jù)標(biāo)注的成本,但這些方法都不能從根本上解決缺乏大規(guī)模目標(biāo)檢測(cè)訓(xùn)練數(shù)據(jù)的問題。隨著深度學(xué)習(xí)技術(shù)的發(fā)展,半監(jiān)督和無監(jiān)督的深度學(xué)習(xí)方法在目標(biāo)檢測(cè)領(lǐng)域的應(yīng)用能夠大幅降低目標(biāo)檢測(cè)數(shù)據(jù)集的標(biāo)注成本。

      2)如何提升骨干網(wǎng)絡(luò)的性能。深度學(xué)習(xí)強(qiáng)大的特征提取能力是基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法取得成功的關(guān)鍵。骨干網(wǎng)絡(luò)對(duì)目標(biāo)檢測(cè)算法性能的影響主要體現(xiàn)在精度和性能兩個(gè)方面:一方面,更加復(fù)雜的骨干網(wǎng)絡(luò)通常具有更強(qiáng)的特征抽取能力,使目標(biāo)檢測(cè)算法具有更高的精度,文獻(xiàn)[64]通過實(shí)驗(yàn)證明了骨干網(wǎng)絡(luò)的深度、寬度和輸入圖像的分辨率都會(huì)對(duì)算法的精度產(chǎn)生影響,另外卷積、反卷積、殘差網(wǎng)絡(luò)等深度學(xué)習(xí)基本模塊和Transformer[65]、圖神經(jīng)網(wǎng)絡(luò)(Graph Neural Network,GNN)[66-67]等新的神經(jīng)網(wǎng)絡(luò)架構(gòu)在目標(biāo)檢測(cè)領(lǐng)域的應(yīng)用都能提升算法的精度;另一方面,骨干網(wǎng)絡(luò)的速度決定了目標(biāo)檢測(cè)算法的檢測(cè)速度,SqueezeNet[68]、MobileNet[69]、ShuffleNet[70]等輕量化骨干網(wǎng)絡(luò)在目標(biāo)檢測(cè)領(lǐng)域的應(yīng)用提升了算法的速度,這些骨干網(wǎng)絡(luò)存在的共同點(diǎn)是它們都是研究者手工設(shè)計(jì)的,設(shè)計(jì)的過程非常耗時(shí)且設(shè)計(jì)的結(jié)果并非全局最優(yōu)?;谏窠?jīng)架構(gòu)搜索(Neural Architecture Search,NAS)[71]的自動(dòng)化網(wǎng)絡(luò)設(shè)計(jì)和基于AutoML[72]的自動(dòng)網(wǎng)絡(luò)壓縮能夠在較少人工干預(yù)下自動(dòng)求解最優(yōu)的網(wǎng)絡(luò)結(jié)構(gòu)。這些技術(shù)在目標(biāo)檢測(cè)領(lǐng)域的應(yīng)用有助于構(gòu)建出具有更高性能的骨干網(wǎng)絡(luò)。

      3)如何提升算法對(duì)異常尺度目標(biāo)的檢測(cè)精度。已有的目標(biāo)檢測(cè)算法在檢測(cè)異常尺度目標(biāo)尤其是成群的小目標(biāo)時(shí)存在檢測(cè)精度偏低的問題。多數(shù)算法采用特征金字塔等多尺度的特征抽取方法和構(gòu)造的損失函數(shù)提升算法對(duì)異常尺度目標(biāo)的檢測(cè)精度[73]。這些方法均缺乏對(duì)圖像中內(nèi)容的理解,雖然在一定程度上使問題得到了改善,但都沒有從根本上解決這一問題。上下文學(xué)習(xí)是一種通過算法學(xué)習(xí)輸入圖像中“目標(biāo)與場(chǎng)景”、“目標(biāo)與目標(biāo)”之間存在的共存關(guān)系的機(jī)器學(xué)習(xí)技術(shù)。未來將借助基于類別語義池的上下文記憶模型[74]、圖推理[75]和知識(shí)圖譜[76]等技術(shù),能使算法根據(jù)抽取到的特征推斷目標(biāo)的存在,從而提升檢測(cè)精度。

      4)如何實(shí)現(xiàn)面向開放世界的目標(biāo)檢測(cè)。已有的目標(biāo)檢測(cè)算法大多基于封閉的數(shù)據(jù)集進(jìn)行訓(xùn)練,僅能實(shí)現(xiàn)對(duì)數(shù)據(jù)集中所包含的特定類別的目標(biāo)檢測(cè)。在現(xiàn)實(shí)應(yīng)用中,目標(biāo)檢測(cè)算法需要檢測(cè)的目標(biāo)的類別往往是動(dòng)態(tài)化和多樣化的,如在自動(dòng)駕駛、植物表型分析、醫(yī)療保健和視頻監(jiān)控的場(chǎng)景下,算法在訓(xùn)練時(shí)無法全面了解推理時(shí)預(yù)期的類別,只能在部署后學(xué)習(xí)新的類別,大部分已有的算法無法解決這些需求。面向開放世界的目標(biāo)檢測(cè)能夠在沒有明確監(jiān)督的前提下,將未知的目標(biāo)識(shí)別為“未知”類別,并且能夠在獲得這些“未知”類別的標(biāo)簽后逐步對(duì)新的類別進(jìn)行學(xué)習(xí)而不遺忘舊的類別。這類方法的研究將使基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法在現(xiàn)實(shí)中得到更多的應(yīng)用。

      5)如何基于深度學(xué)習(xí)進(jìn)行其他形式的目標(biāo)檢測(cè)。目前對(duì)目標(biāo)檢測(cè)的研究主要集中在圖像目標(biāo)檢測(cè),對(duì)于其他形式的目標(biāo)檢測(cè),如3D 目標(biāo)檢測(cè)、視頻目標(biāo)檢測(cè)涉及較少。這些目標(biāo)檢測(cè)任務(wù)對(duì)自動(dòng)駕駛、工業(yè)機(jī)器人等領(lǐng)域具有重要意義。由于安全性、實(shí)時(shí)性的要求,導(dǎo)致對(duì)目標(biāo)檢測(cè)算法的精度和速度有更高的要求,因此難度較高。這些領(lǐng)域背后蘊(yùn)含著巨大的市場(chǎng)和經(jīng)濟(jì)效益,使這些形式的目標(biāo)檢測(cè)算法的研究具有較好的發(fā)展前景。

      5 結(jié)束語

      深度學(xué)習(xí)技術(shù)可有效提升目標(biāo)檢測(cè)算法的性能并使其適用于復(fù)雜環(huán)境。本文以是否存在顯式的區(qū)域建議與是否定義先驗(yàn)錨框兩種分類標(biāo)準(zhǔn)對(duì)已有基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法進(jìn)行分類,總結(jié)各類算法的機(jī)制、演進(jìn)路線、優(yōu)勢(shì)、局限性及適用場(chǎng)景,并對(duì)各類目標(biāo)檢測(cè)算法在VOC 2007 和COCO 2018 數(shù)據(jù)集中的性能進(jìn)行對(duì)比和分析。在此基礎(chǔ)上,對(duì)基于深度學(xué)習(xí)的目標(biāo)檢測(cè)未來研究方向進(jìn)行展望。

      猜你喜歡
      錨框邊界物體
      基于YOLOv3錨框優(yōu)化的側(cè)掃聲吶圖像目標(biāo)檢測(cè)
      錨框策略匹配的SSD飛機(jī)遙感圖像目標(biāo)檢測(cè)
      基于SSD算法的輕量化儀器表盤檢測(cè)算法*
      基于GA-RoI Transformer的遙感圖像任意方向目標(biāo)檢測(cè)
      拓展閱讀的邊界
      深刻理解物體的平衡
      我們是怎樣看到物體的
      論中立的幫助行為之可罰邊界
      為什么同一物體在世界各地重量不一樣?
      “偽翻譯”:“翻譯”之邊界行走者
      绵阳市| 大方县| 资源县| 平舆县| 容城县| 崇信县| 札达县| 五河县| 双辽市| 乐业县| 安新县| 南郑县| 景德镇市| 石渠县| 阿勒泰市| 宁城县| 新安县| 湄潭县| 区。| 文安县| 交城县| 郸城县| 那曲县| 甘泉县| 五大连池市| 龙南县| 宜黄县| 石城县| 舒城县| 奉贤区| 抚宁县| 和静县| 敦煌市| 香格里拉县| 沙湾县| 浪卡子县| 苍溪县| 丽水市| 怀来县| 华蓥市| 泰顺县|