李坤坤,劉正熙,熊運余
(四川大學(xué)計算機學(xué)院,成都 610065)
長期以來,目標(biāo)檢測在計算機視覺領(lǐng)域一直是具有挑戰(zhàn)性的基礎(chǔ)研究方向,與圖像分類和分割并稱為計算機視覺領(lǐng)域三大基礎(chǔ)研究任務(wù)。對于一張給定的原始圖像,目標(biāo)檢測的目標(biāo)是判斷給定圖像中是否有已知類別的目標(biāo)實例,如果存在,則輸出原始圖像中目標(biāo)實例的空間位置和相對應(yīng)的類別名稱,即用矩形邊界框定位檢測到的目標(biāo)實例并對檢測到的目標(biāo)實例進行分類。此外,目標(biāo)檢測還是解決計算機視覺領(lǐng)域復(fù)雜問題和高級視覺任務(wù)的基礎(chǔ),例如場景理解、實例分割、目標(biāo)追蹤、語義分割等。而且,目標(biāo)檢測在現(xiàn)實生活中有著廣泛的應(yīng)用,例如智能監(jiān)控、軍事偵察、醫(yī)療診斷和無人駕駛等領(lǐng)域。特別是隨著計算機計算能力的提升以及各種類型的圖像數(shù)據(jù)大量涌現(xiàn),結(jié)合深度卷積神經(jīng)網(wǎng)絡(luò)的目標(biāo)檢測算法持續(xù)更新發(fā)展。本文以一個新的角度對目標(biāo)檢測領(lǐng)域的發(fā)展進行回顧,即采用系統(tǒng)性文獻綜述方法對目標(biāo)檢測領(lǐng)域的進展進行梳理。
Kitchenham[1]的研究針對如何構(gòu)建系統(tǒng)性文獻綜述流程提供了原始指南,本文根據(jù)此指南進行系統(tǒng)性文獻綜述。系統(tǒng)性文獻綜述分為三個階段,即規(guī)劃、實施和報告。每個階段又由具有特定目的的實施步驟組成。首先,規(guī)劃的初始步驟,是對系統(tǒng)性文獻綜述的研究文獻進行識別;其次,搜集和回顧目前已存在的目標(biāo)檢測研究文獻;再次,設(shè)計文獻綜述標(biāo)準(zhǔn)。設(shè)計文獻綜述標(biāo)準(zhǔn)有兩個目的,一是直接指導(dǎo)文獻綜述過程,二是最大程度減少研究偏差。此過程的目的是為下一階段工作做準(zhǔn)備,包括研究問題、文獻搜索策略、研究文獻選擇、數(shù)據(jù)提取和數(shù)據(jù)綜合。在設(shè)計文獻綜述標(biāo)準(zhǔn)的同時,系統(tǒng)性文獻綜述實施和報告階段同步進行。
系統(tǒng)性文獻綜述的重要部分是確定研究問題。確定研究問題可以指導(dǎo)綜述過程關(guān)注重點,并且研究問題貫穿整個系統(tǒng)性文獻綜述過程。此外還要著重關(guān)注以下三點:第一,文獻搜索階段能夠識別解決研究問題的主要研究文獻;第二,數(shù)據(jù)提取階段能夠提取回答問題所需的數(shù)據(jù)條目;第三,數(shù)據(jù)分析階段能夠?qū)?shù)據(jù)進行綜合,進而得到研究問題的答案。根據(jù)Population、Intervention、Comparison、Outcomes和Context(簡稱PICOC)五個維度[1]構(gòu)建研究問題。
根據(jù)表1構(gòu)建本篇文獻綜述的研究問題,如表2所示。

表1 PICOC標(biāo)準(zhǔn)

表2 研究問題
回答問題一至問題四可以得出目標(biāo)檢測的應(yīng)用、數(shù)據(jù)集、主流深度學(xué)習(xí)網(wǎng)絡(luò)模型和框架,本文則以提煉的研究問題為牽引,梳理目標(biāo)檢測應(yīng)用、數(shù)據(jù)集、主流深度學(xué)習(xí)網(wǎng)絡(luò)模型和框架。
搜索過程由一系列步驟組成,包括選擇文獻數(shù)據(jù)庫、確定搜索關(guān)鍵詞、進行初步搜索、提煉搜索關(guān)鍵詞以及進行再次搜索。為了能夠精準(zhǔn)搜索相關(guān)研究文獻,提高搜索效率,搜索過程開始之前,需要選擇合適的數(shù)據(jù)庫。搜索包含目標(biāo)檢測領(lǐng)域的文獻數(shù)據(jù)庫,可以找到更加全面的相關(guān)研究文獻,從而使系統(tǒng)性文獻綜述覆蓋更廣泛,考慮到有些高質(zhì)量目標(biāo)檢測研究文獻在數(shù)據(jù)庫中沒有收錄,本文還使用谷歌學(xué)術(shù)進行檢索。

表3 文獻數(shù)據(jù)庫
搜索查詢是基于以下步驟構(gòu)建的:
(1)從PICOC中提煉檢索詞
(2)從構(gòu)建的研究問題中確定搜索術(shù)語
(3)確定研究的相關(guān)標(biāo)題、摘要和關(guān)鍵詞
(4)識別搜索詞的同義詞、反義詞和替代拼寫
(5)構(gòu)建高級搜索查詢
之后,調(diào)整查詢以匹配每個數(shù)據(jù)庫的特定標(biāo)準(zhǔn),在數(shù)據(jù)庫中按標(biāo)題、摘要和關(guān)鍵詞進行搜索。本文采用的關(guān)鍵詞為object detection和deep learning,搜索時間范圍為2010年至2020年。
根據(jù)表4中描述的納入和排除標(biāo)準(zhǔn)選擇主要研究文獻。研究文獻選擇過程有兩個步驟,首先根據(jù)標(biāo)題和摘要排除無關(guān)研究文獻,其次根據(jù)全文排除無關(guān)研究文獻。第一階段選定的研究清單包含162篇文獻,分析階段包括選擇過程的標(biāo)準(zhǔn)、主要研究文獻質(zhì)量評估以及主要研究與研究問題的相關(guān)性,最后篩選出156篇主要研究文獻。

表4 納入標(biāo)準(zhǔn)和排除標(biāo)準(zhǔn)
對篩選出的主要文獻進行數(shù)據(jù)提取,以得到有價值的信息,提取出的信息用于構(gòu)建研究問題的答案。表5是數(shù)據(jù)提取表,數(shù)據(jù)提取表旨在從主要研究文獻中收集研究問題相關(guān)的信息,數(shù)據(jù)提取表中的條目根據(jù)研究問題和分析流程確定。

表5 研究問題對應(yīng)的數(shù)據(jù)提取內(nèi)容
數(shù)據(jù)綜合的目的是從選定的研究文獻中收集信息,以回答先前描述的研究問題。數(shù)據(jù)綜合階段,一般來說,使用敘述式綜合方法,以與研究問題相關(guān)的方式重建數(shù)據(jù)。
目標(biāo)檢測主要有以下幾種應(yīng)用:一是人臉檢測。顧名思義,人臉檢測旨在檢測圖片中的人臉。人臉檢測是解決人臉校正、性別識別和情感分析等任務(wù)的基礎(chǔ)。二是行人檢測。行人檢測主要在安保、無人駕駛以及導(dǎo)航等領(lǐng)域使用。三是遙感圖像檢測。遙感圖像檢測主要用于軍事偵察、資源勘探、城市規(guī)劃等領(lǐng)域。四是醫(yī)學(xué)圖像檢測。醫(yī)學(xué)圖像檢測可以幫助醫(yī)生準(zhǔn)確分析病變部位,提高醫(yī)生對疾病的判斷準(zhǔn)確度,還可以減少醫(yī)生的工作量。
數(shù)據(jù)集是用于特定機器學(xué)習(xí)目的的一定數(shù)量的數(shù)據(jù)的集合。數(shù)據(jù)集在目標(biāo)檢測研究中至關(guān)重要,不同的算法可以在基準(zhǔn)數(shù)據(jù)集上進行性能比較,包含復(fù)雜場景的大規(guī)模數(shù)據(jù)集更是極大促進了目標(biāo)檢測算法的發(fā)展。對于目標(biāo)檢測,有四類著名的基準(zhǔn)數(shù)據(jù)集,如表6所示。

表6 目標(biāo)檢測基準(zhǔn)數(shù)據(jù)集
在目標(biāo)檢測算法中,深度卷積神經(jīng)網(wǎng)絡(luò)被大量使用,作為典型網(wǎng)絡(luò)模型,其主要有如下特點和優(yōu)勢:第一,卷積神經(jīng)網(wǎng)絡(luò)的層級結(jié)構(gòu)可以提取輸入圖像的多層語義特征,例如圖像的低級語義特征和高級語義特征;第二,深度卷積神經(jīng)網(wǎng)絡(luò)可以學(xué)習(xí)更復(fù)雜的函數(shù);第三,深度卷積神經(jīng)網(wǎng)絡(luò)不需要先驗知識,可以直接自動學(xué)習(xí)原始輸入圖像的特征表達。深度卷積神經(jīng)網(wǎng)絡(luò)根據(jù)網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜程度可以分為非輕量級網(wǎng)絡(luò)(如圖1)和輕量級網(wǎng)絡(luò)(如圖2),非輕量級網(wǎng)絡(luò)層次數(shù)目多、網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜、網(wǎng)絡(luò)參數(shù)數(shù)量巨大,對計算機的計算性能和存儲能力要求高,由于硬件性能限制,在移動端不能普遍進行應(yīng)用。輕量級網(wǎng)絡(luò)在保持原有特征表達能力的基礎(chǔ)上簡化網(wǎng)絡(luò)結(jié)構(gòu),可以在移動端、工業(yè)生產(chǎn)領(lǐng)域部署應(yīng)用。典型的非輕量級網(wǎng)絡(luò)有AlexNet[6]、ZFNet[7]、GoogLeNet[8]、VGGNet[9]、ResNet[10]、DetNet[11]、ResNeXt[12]、DenseNet[13]和SE ResNet[14]等,輕量級網(wǎng)絡(luò)有SqueezeNet[15]、Xception[16]、MobileNet[17]、MobileNetV2[18]、ShuffleNet[19]、ShuffleNetV2[20]和PeleeNet[21]等。

圖1 非輕量級網(wǎng)絡(luò)AlexNet網(wǎng)絡(luò)結(jié)構(gòu)[6]

圖2 輕量級網(wǎng)絡(luò)SqueezeNet網(wǎng)絡(luò)結(jié)構(gòu)[15]
基于深度卷積神經(jīng)網(wǎng)絡(luò)的目標(biāo)檢測框架可以分為兩類。第一類是兩階段目標(biāo)檢測框架,如圖3,兩階段目標(biāo)檢測框架將目標(biāo)定位和目標(biāo)分類兩個任務(wù)分開進行,即首先產(chǎn)生候選區(qū)域,然后對候選區(qū)域進行分類。典型兩階段目標(biāo)檢測框架有RCNN[22]、SPPNet[23]、Fast RCNN[24]、Faster R-CNN[25]、RFCN[26]、Mask RCNN[27]和Light Head RCNN[28]等。第二類是一階段目標(biāo)檢測框架,如圖4,將目標(biāo)實例的定位和分類合二為一。典型一階段目標(biāo)檢測框架有OverFeat[29]、YOLO[30]、YOLO9000/V2[31]、YOLOV3[32]、SSD[33]、DSSD[34]和CornerNet[35]等。

圖3 兩階段目標(biāo)檢測框架RCNN[22]

圖4 一階段目標(biāo)檢測框架YOLO[30]
本文按照系統(tǒng)性文獻綜述方法的流程和步驟對目標(biāo)檢測領(lǐng)域的156篇研究文獻進行梳理回顧,回答了根據(jù)系統(tǒng)性文獻綜述方法構(gòu)建的四個研究問題,總結(jié)了目標(biāo)檢測的應(yīng)用、數(shù)據(jù)集、主流深度學(xué)習(xí)網(wǎng)絡(luò)模型和框架。下一步的工作中,可以構(gòu)建更多的研究問題,從而使目標(biāo)檢測系統(tǒng)性文獻綜述更加全面。