目標視覺檢測是計算機視覺領域的一個重要問題,在視頻監控、自主駕駛、人機交互等方面具有重要的研究意義和應用價值.近年來,深度學習在圖像分類研究中取得了突破性進展,也帶動著目標視覺檢測取得突飛猛進的發展.本文綜述了深度學習在目標視覺檢測中的應用進展與展望.首先對目標視覺檢測的基本流程進行總結,并介紹了目標視覺檢測研究常用的公共數據集;然后重點介紹了目前發展迅猛的深度學習方法在目標視覺檢測中的最新應用進展;最后討論了深度學習方法應用于目標視覺檢測時存在的困難和挑戰,并對今后的發展趨勢進行展望.
目標視覺檢測是計算機視覺領域中一個非常重要的研究問題.隨著電子設備的應用在社會生產和人們生活中越來越普遍,數字圖像已經成為不可缺少的信息媒介,每時每刻都在產生海量的圖像數據.與此同時,對圖像中的目標進行精確識別變得越來越重要[1].我們不僅關注對圖像的簡單分類,而且希望能夠準確獲得圖像中存在的感興趣目標及其位置[2],并將這些信息應用到視頻監控、自主駕駛等一系列現實任務中,因此目標視覺檢測技術受到了廣泛關注[3].
目標視覺檢測具有巨大的實用價值和應用前景.應用領域包括智能視頻監控、機器人導航、數碼相機中自動定位和聚焦人臉的技術、飛機航拍或衛星圖像中道路的檢測、車載攝像機圖像中的障礙物檢測等.同時,目標視覺檢測也是眾多高層視覺處理和分析任務的重要前提,例如行為分析、事件檢測、場景語義理解等都要求利用圖像處理和模式識別技術,檢測出圖像中存在的目標,確定這些目標對象的語義類型,并且標出目標對象在圖像中的具體區域[4].
在自然環境條件下,目標視覺檢測經常遇到以下幾個方面的挑戰:
1)類內和類間差異
對于很多物體,它們自身就存在很大的差異性,同類物體的不同實例在顏色、材料、形狀等方面可能存在巨大的差異,很難訓練一個能夠包含所有類內變化的特征描述模型.另外,不同類型物體之間又可能具有很大的相似性,甚至非專業人員從外觀上很難區分它們.類內差異可能很大,而類間差異可能很小,給目標視覺檢測提出了挑戰.
2)圖像采集條件
在圖像采集過程中,由于環境、光照、天氣、拍攝視角和距離的不同、物體自身的非剛體形變以及可能被其他物體部分遮擋,導致物體在圖像中的表觀特征具有很大的多樣性,對視覺算法的魯棒性提出了很高要求.
3)語義理解的差異
對同一幅圖像,不同的人可能會有不同的理解,這不僅與個人的觀察視角和關注點有關,也與個人的性格、心理狀態和知識背景等有關,這明顯增加了從仿生或類腦角度來研究視覺算法的難度.
4)計算復雜性和自適應性
目標視覺檢測的計算復雜性主要來自于待檢測目標類型的數量、特征描述子的維度和大規模標記數據集的獲取.由于在真實世界中存在大量的目標類型,每種類型都包含大量的圖像,同時識別每種類型需要很多視覺特征,這導致高維空間稀疏的特征描述[4].另外,目標模型經常從大規模標記數據集中學習得到,在許多情況下,數據采集和標注很困難,需要耗費大量的人力物力.這些情況導致目標檢測的計算復雜性很高,需要設計高效的目標檢測算法.同時,在動態變化的環境中,為了提高目標檢測精度,還需要探索合適的機制來自動更新視覺模型,提高模型對復雜環境的自適應能力.
為了克服上述挑戰,已經提出了許多目標視覺檢測算法,它們在目標區域建議、圖像特征表示、候選區域分類等步驟采用了不同的處理策略.近年來,隨著深度學習技術的發展,很多基于深度學習的目標視覺檢測方法陸續被提出,在精度上顯著優于傳統方法,成為最新的研究熱點.本文首先介紹目標視覺檢測的基本流程,然后重點介紹深度學習在目標視覺檢測中的應用進展.
本文內容安排如下:第1節介紹目標視覺檢測的基本流程;第2節對目標視覺檢測研究常用的公共數據集進行概述;第3節介紹深度學習技術在目標視覺檢測中的最新應用進展;第4節討論深度學習技術應用于目標視覺檢測時存在的困難和挑戰,并對今后的發展趨勢進行展望;第5節對本文進行總結.
1目標視覺檢測的基本流程
目標視覺檢測的根本問題是估計特定類型目標出現在圖像中的哪些位置.如圖1所示,目標視覺檢測技術在流程上大致分為三個步驟:區域建議(Region proposal)、特征表示(Feature representation)和區域分類(Region classification).首先對圖像中可能的目標位置提出建議,也就是提出一些可能含有目標的候選區域.然后采用合適的特征模型得到特征表示.最后借助分類器判斷各個區域中是否含有特定類型的目標,并且通過一些后處理操作,例如非極大值抑制、邊框位置回歸等,得到最終的目標邊框.該基本流程被許多工作所采用,例如文獻[5]提出的HOG-SVM檢測方法、文獻[6]提出的Selective search區域建議方法、目前在PASCAL VOC、MS COCO、ImageNet等數據集上取得領先精度的Faster R-CNN[7]檢測方法以及Faster R-CNN采用的特征表示和區域分類方法ResNet[8]等.
圖1目標視覺檢測的基本流程
Figure 1Basic procedure for object detection
本節接下來從區域建議、特征表示和區域分類三個方面來總結目標視覺檢測的關鍵技術.
1.1區域建議
目標檢測要求獲得目標的位置和尺度信息,這需要借助區域建議來實現.區域建議是指在輸入圖像中搜尋特定類型目標的可能區域的一種策略.傳統的區域建議策略包括三種[4]:基于滑動窗的區域建議、基于投票機制的區域建議和基于圖像分割的區域建議.
1.1.1基于滑動窗的區域建議
基于滑動窗的方法是在輸入圖像所有可能的子窗口中執行目標檢測算法來定位潛在的目標.在文獻[5]中,檢測窗口是一個給定大小的矩形框,在整幅圖像的所有位置和尺度上進行掃描,并對區域分類結果做非極大值抑制.基于滑動窗的區域建議方法采用窮舉搜索,原理簡單,易于實現,但是計算復雜性高,太過耗時.于是一些研究者提出加快窗口搜索的方法. Lampert等[9]提出了一種高效的子窗口搜索策略(簡稱為ESS),采用分支限界法來減少搜索范圍.但是它的性能在很大程度上取決于輸入圖像中的物體,當沒有物體出現時,該算法退化到窮舉搜索. An等[10]提出一種改進的ESS算法. Wei等[11]提出一種在直方圖維度上具有常數復雜度的滑動窗口策略. Van de Sande等[12]引入圖像分割信息,將其作為目標假設區域,從而只對這些假設區域進行目標檢測.
1.1.2基于投票機制的區域建議
基于投票機制的方法主要用于基于部件的模型,通常投票機制的實現可歸納為兩步[13-14]: 1)找到輸入圖像與模型中各個局部區域最匹配的區域,并最大化所有局部區域的匹配得分; 2)利用拓撲評價方法取得最佳的結構匹配.由于投票機制是一種貪心算法,可能得不到最優的拓撲假設,并且部件匹配通常采用窮舉搜索來實現,計算代價很高.
1.1.3基于圖像分割的區域建議
基于圖像分割的區域建議建立在圖像分割的基礎上,分割的圖像區域就是目標的位置候選.語義分割是一種最直接的圖像分割方法,需要對每個像素所屬的目標類型進行標注[15].目前主要采用的方法是概率圖模型,例如采用CRF[16]或MRF[17]方法來鼓勵相鄰像素之間的標記一致性.圖像分割是一個耗時而又復雜的過程,而且很難將單個目標完整地分割出來.
不同于以上策略,文獻[6]先將圖片分割成若干小區域,然后再聚合,通過對聚合后的區域打分并排序,獲得較有可能是目標區域的窗口.文獻[18-19]中采用生成大量窗口并打分,然后過濾掉低分的方法.文獻[20]對這些方法進行了討論和比較.這些方法存在的主要問題是,采樣數目較少時召回率不高、定位精度較低等.對于一個目標檢測系統來說,少量的候選區域不僅可以減少運行時間,而且使得檢測準確率更高,因此保證采樣數目少的情況下召回率仍然很高是至關重要的.為了解決這些問題,一些研究者開始采用深度學習方法來產生候選區域.在MultiBox[21-22]中,通過采用深度神經網絡回歸模型定位出若干可能的包圍邊框.在Deepbox[23]中, Kuo等采用訓練卷積神經網絡模型來給通過EdgeBoxes[19]產生的候選區域進行排序.在DeepProposal[24]中, Ghodrati等評估了用卷積神經網絡產生目標候選區域的質量,發現最后一層卷積層可以以很高的召回率找到感興趣的目標,但是定位精度很低,而第一層網絡可以很好地定位目標,但是召回率很低.基于此發現,他們設計了一種通過多層CNN特征由粗到細地串聯來產生候選區域的方法.文獻[7]提出區域建議網絡(Region proposal network, RPN),把產生候選區域和區域分類聯合到一個深度神經網絡,通過端到端訓練,在提高精度的同時降低了計算時間.最近, Gidaris等[25]使用概率預測方式來進一步提高目標檢測的定位精度,不同于邊框位置回歸的方法,該方法首先將搜索區域劃分成若干個水平區域和豎直區域,然后給搜索區域的每列或每行分配概率,利用這些概率信息來不斷迭代獲得更精確的檢測框.
1.2特征表示
特征表示是實現目標視覺檢測必備的步驟,選擇合適的特征模型將圖像區域映射為特征向量,然后利用從訓練樣本學習到的分類器對該特征向量進行分類,判斷其所屬類型.特征的表達能力直接影響分類器精度,決定了算法的最終性能.特征模型主要分為手工設計的特征和自動學習的特征.
1.2.1手工設計的特征
在深度學習熱潮之前,主要采用手工設計的特征.手工特征數目繁多,可以分為三大類:基于興趣點檢測的方法、基于密集提取的方法和基于多種特征組合的方法.
1)基于興趣點檢測的方法
興趣點檢測方法通過某種準則,選擇具有明確定義并且局部紋理特征比較明顯的像素、邊緣和角點等[3].其中Sobel、Prewitt、Roberts、Canny和LoG (Laplacian of Gaussian)等是典型的邊緣檢測算子[26-29].而Harris、FAST (Features from accelerated segment test)、CSS (Curvature scale space)和DOG (Difference of Gaussian)等是典型的角點檢測算子[30-32].興趣點檢測方法通常具有一定的幾何不變性,能夠以較小的計算代價得到有意義的表達.
2)基于密集提取的方法
密集提取方法主要提取局部特征.區別于顏色直方圖等全局特征,局部特征有利于處理目標部分遮擋問題.常用的局部特征有SIFT (Scale-invariant feature transform)[33]、HOG (Histogram of oriented gradient)[5]、Haar-like[34]和LBP (Local binary pattern)[35-36]等.局部特征包含的信息豐富、獨特性好,并且具有較強的不變性和可區分性,能夠最大程度地對圖像進行底層描述.但是其計算一般比較復雜,近些年圖像的局部特征正在向快速和低存儲方向發展.
3)基于多種特征組合的方法
手工特征具有良好的可擴展性,將興趣點檢測與密集提取相結合的多種特征組合方法,能夠彌補利用單一特征進行目標表示的不足. DPM (Deformable part-based model)[2]提出了一種有效的多種特征組合模型,被廣泛應用于目標檢測任務并取得了良好效果,例如行人檢測[37-38]、人臉檢測[39-40]和人體姿態估計[41]等.另外,文獻[42]提出了一種改進的DPM方法,大大提升了檢測速度.
依靠手工設計特征,需要豐富的專業知識并且花費大量的時間.特征的好壞在很大程度上還要依靠經驗和運氣,往往整個算法的測試和調節工作都集中于此,需要手工完成,十分費力.與之相比,近年來受到廣泛關注的深度學習理論中的一個重要觀點就是手工設計的特征描述子作為視覺計算的第一步,往往過早地丟失掉有用信息,而直接從圖像中學習到與任務相關的特征表示,比手工設計特征更加有效[3].
1.2.2自動學習的特征
近年來,深度學習在圖像分類和目標檢測等領域取得了突破性進展,成為目前最有效的自動特征學習方法.深度學習模型具有強大的表征和建模能力,通過監督或非監督的方式,逐層自動地學習目標的特征表示,將原始數據經過一系列非線性變換,生成高層次的抽象表示,避免了手工設計特征的繁瑣低效.深度學習在目標視覺檢測中的研究現狀是本文的核心內容,將在第3節進行詳細介紹.
1.3區域分類
區域分類是指把候選區域的特征向量作為分類器輸入,預測候選區域所屬的目標類型.分類器在目標檢測中的作用可以概括為:先利用訓練數據集進行模型學習,然后利用學習到的模型對新的候選區域進行類型預測.分類器一般是利用監督學習方法訓練得到的,常用的有支持向量機(Support vector machine, SVM)、Adaboost、隨機森林、神經網絡等.目前,圖像識別任務中廣泛采用一對多(One-vs-others)的分類器訓練方式[43],就是把其中一類模式作為正樣本,其余模式作為負樣本,針對每一類模式分別訓練一個分類器;在測試階段,將圖像特征分別輸入到所有的分類器,選擇分類器響應最大的一類模式作為類型預測. Girshick等[44]就是采用這種方式,提取候選區域的特征表示,利用一對多SVM分類器實現對PASCAL VOC圖像集20種目標的檢測.
2目標視覺檢測的公共數據集
為了促進目標視覺檢測的研究進展,建設大規模的公共數據集成為必然要求.目前,目標視覺檢測研究常用的公共數據集有ImageNet、PASCAL VOC、SUN和MS COCO等.下面將從這些數據集包含的圖像數目、類型數目、每類樣本數等方面對它們進行介紹.直觀對比如圖2所示.
圖2幾種公共數據集的對比圖
Figure 2Comparison of several common datasets
1) ImageNet數據集[45]
該數據集是目前世界上最大的圖像分類數據集,包含1 400萬幅圖像、2.2萬個類型,平均每個類型包含1 000幅圖像.此外, ImgeNet還建立了一個包含1 000類物體,有120萬圖像的數據集,并將該數據集作為圖像識別競賽的數據平臺.
2) PASCAL VOC數據集[46]
2005 ~ 2012年,該數據集每年都發布關于圖像分類、目標檢測和圖像分割等任務的數據集,并在相應數據集上舉行算法競賽,極大地推動了計算機視覺領域的研究進展.該數據集最初只提供了4個類型的圖像,到2007年穩定在20個類;測試圖像的數量從最初的1 578幅,到2011年穩定在11 530幅.雖然該數據集類型數目比較少,但是由于圖像中物體變化極大,每幅圖像可能包含多個不同類型目標對象,并且目標尺度變化很大,因而檢測難度非常大.
3) SUN數據集[47]
該數據集是一個覆蓋較大場景、位置、物體變化的數據集,其中的場景名主要是從WorldNet中描述場景、位置、環境等任何具體的名詞得來. SUN數據集包含兩個評測集:一個是場景識別數據集,稱為SUN 397,共包含397類場景,每類至少包含100幅圖像,總共有108 754幅圖像;另一個評測集為物體檢測數據集,稱為SUN 2012,包含16 873幅圖像.
4) MS COCO數據集[48]
該數據集包含約30多萬幅圖像、200多萬個標注物體、91個物體類型.雖然比ImageNet和SUN包含的類型少,但是每一類物體的圖像多,另外圖像中包含精確的分割信息,是目前每幅圖像平均包含目標數最多的數據集. MS COCO不但能夠用于目標視覺檢測研究,還能夠用來研究圖像中目標之間的上下文關系.
3深度學習在目標視覺檢測中的應用進展
3.1深度學習簡介
深度學習模型具有強大的表征和建模能力,通過監督或非監督的訓練方式,能夠逐層、自動地學習目標的特征表示,實現對物體層次化的抽象和描述. 1986年, Rumelhart等[49]提出人工神經網絡的反向傳播(Back propagation, BP)算法. BP算法指導機器如何從后一層獲取誤差而改變前一層的內部參數,深度學習能夠利用BP算法發現大數據中的復雜結構,把原始數據通過一些簡單的非線性函數變成高層次的抽象表達[50],使計算機自動學習到模式特征,從而避免了手工設計特征的繁瑣低效問題. Hinton等[51-52]于2006年首次提出以深度神經網絡為代表的深度學習技術,引起學術界的關注.之后, Bengio[53]、LeCun[54]和Lee[55]等迅速開展了重要的跟進工作,開啟了深度學習研究的熱潮.深度學習技術首先在語音識別領域取得了突破性進展[56].在圖像識別領域, Krizhevsky等[57]于2012年構建深度卷積神經網絡,在大規模圖像分類問題上取得了巨大成功.隨后在目標檢測任務中,深度學習方法[7,44,58]也超過了傳統方法。
目前應用于圖像識別和分析研究的深度學習模型主要包括堆疊自動編碼器(Stacked auto-encoders, SAE)[53]、深度信念網絡(Deep belief network, DBN)[51-52]和卷積神經網絡(Convolutional neural networks, CNN)[59]等.
SAE模型的實質是多個自動編碼器(Auto-encoder, AE)的堆疊.一個自動編碼器是由編碼器和解碼器兩部分組成,能夠盡可能復現輸入信號.作為一種無監督學習的非線性特征提取方法,其輸出與輸入具有相同的維度,隱藏層則被用來進行原始數據的特征表示或編碼. SAE模型將前一層自動編碼器的輸出作為后一層自動編碼器的輸入,逐層地對自動編碼器進行預訓練,然后利用BP算法對整個網絡進行微調.目前基于SAE的擴展模型有很多,例如,堆疊去噪自動編碼器(Stacked denoising autoencoders, SDA)[60],以及堆疊卷積自動編碼器(Stacked convolutional auto-encoders, SCAE)[61].
DBN類似于SAE,它的基本單元是受限玻爾茲曼機(Restricted Boltzmann machines, RBM),整個網絡的訓練分為兩個階段:預訓練和全局微調.首先以原始輸入為可視層,訓練一個單層的RBM,該RBM訓練完成后,其隱層輸出作為下一層RBM的輸入,繼續訓練下一層RBM.以此類推,逐層訓練,直至將所有RBM訓練完成,通過這種貪婪式的無監督訓練,使整個DBN模型得到一個比較好的初始值,然后加入數據標簽對整個網絡進行有監督的微調,進一步改善網絡性能.
CNN是圖像和視覺識別中的研究熱點,近年來取得了豐碩成果.圖3給出了由LeCun等[59]提出的用于數字手寫體識別的CNN網絡結構, CNN通常包含卷積層、池化層和全連接層.卷積層通過使用多個濾波器與整個圖像進行卷積,可以得到圖像的多個特征圖表示;池化層實際上是一個下采樣層,通過求局部區域的最大值或平均值來達到降采樣的目的,進一步減少特征空間;全連接層用于進行高層推理,實現最終分類. CNN的權值共享和局部連接大大減少了參數的規模,降低了模型的訓練復雜度,同時卷積操作保留了圖像的空間信息,具有平移不變性和一定的旋轉、尺度不變性. 2012年, Krizhevsky等[57]將CNN模型用于ImageNet大規模視覺識別挑戰賽(ImageNet large scale visual recognition challenge, ILSVRC)的圖像分類問題,使錯誤率大幅降低,在國際上引起了對CNN模型的高度重視,也因此推動了目標視覺檢測的研究進展.
圖3卷積神經網絡的基本結構[59]
Figure 3Basic structure of convolutional neural network[59]
3.2 AlexNet及其改進模型
隨著深度學習的發展,人們將深度學習應用于圖像分類和目標檢測任務中,在許多公開競賽中取得了明顯優于傳統方法的結果. Krizhevsky等[57]提出了一種新型卷積神經網絡模型AlexNet,隨后其他研究者相繼提出ZFNet[62]、VGG[63]、GoogLeNet[64]和ResNet[8]等改進模型,進一步提高了模型精度.表1顯示了幾種經典CNN模型在圖像分類任務中的性能對比. ILSVRC的圖像分類錯誤率每年都在被刷新,如圖4所示.隨著模型變得越來越深,圖像分類的Top-5錯誤率也越來越低,目前已經降低到3.08%附近[65].而在同樣的ImageNet數據集上,人眼的辨識錯誤率大約在5.1%.盡管這些模型都是針對圖像分類來做的,但是都在解決一個最根本的問題,即更強大的特征表示.采用這些CNN模型得到更強大的特征表示,然后應用到目標檢測任務,可以獲得更高的檢測精度.
表1經典CNN模型在ILSVRC圖像分類任務上的性能對比
Table 1Performance comparison of classical CNN model in image classification task of ILSVRC
圖4ILSVRC圖像分類任務歷年冠軍方法的Top-5錯誤率(下降曲線)和網絡層數(上升曲線)
Figure 4Top-5 error rate (descent curve) and network layers (rise curve) of the champion methods each year in image classification task of ILSVRC
AlexNet[57]在ILSVRC 2012圖像分類任務上取得了Top-5錯誤率16.4%,明顯優于基于傳統方法的第2名的結果(Top-5錯誤率26.2%). AlexNet神經網絡由5個卷積層、最大池化層、Dropout層和3個全連接層組成,網絡能夠對1 000個圖像類型進行分類.由于AlexNet的成功,許多研究人員開始關注和改進CNN結構. Zeiler等[62]通過可視化AlexNet網絡,發現第1層濾波器是非常高頻和低頻信息的混合,很少覆蓋中間頻率.并且由于第2層卷積采用比較大的步長,導致第2層出現混疊失真(Aliasing artifacts).為了解決這些問題,他們將第1層濾波器的尺寸從11 × 11減小到7 × 7,將步長從4減小到2,形成ZFNet模型. ZFNet在網絡的第1層和第2層保留了更多信息,降低了分類錯誤率.
Simonyan等[63]隨后提出VGG網絡,探索在網絡參數總數基本不變的情況下, CNN隨著層數的增加,導致其性能的變化.不同于AlexNet, VGG采用的濾波器尺寸是3 × 3,通過將多個3 × 3濾波器堆疊的方式來代替一個大尺寸的濾波器,因為多個3 × 3尺寸的卷積層比一個大尺寸濾波器卷積層具有更高的非線性,使模型更有判別能力,而且多個3 × 3尺寸的卷積層比一個大尺寸的濾波器有更少的參數.通過加入1 × 1卷積層,在不影響輸入輸出維數的情況下,進一步增加網絡的非線性表達能力.
Szegedy等[64]提出了一種新的深度CNN模型GoogLeNet,習慣上稱為Inception-v1.只利用了比AlexNet[57]少12倍的參數,但分類錯誤率更低. GoogLeNet采用Inception結構,上一層的輸出經過1×1、3×3、5×5的卷積層和3×3的池化層,然后拼接在一起作為Inception的輸出.并且在3×3、5 × 5卷積層之前采用1×1卷積層來降維,既增加了網絡的深度,又減少了網絡參數. Inception結構既提高了網絡對尺度的適應性,又提高了網絡計算資源的利用率.但是深度網絡在訓練時,由于模型參數在不斷更新,各層輸入的概率分布在不斷變化,因此必須使用較小的學習率和較好的參數初值,導致網絡訓練很慢,同時也導致采用飽和的非線性激活函數(例如Sigmoid)時訓練困難.為了解決這些問題,又出現了GoogLeNet的續作Inception-v2[66].它加入了批規范化(Batch normalization)處理,將每一層的輸出都進行規范化,保持各層輸入的分布穩定,使得梯度受參數初值的影響減小.批規范化加快了網絡訓練速度,并且在一定程度上起到正則化的作用. Inception-v2在ILSVRC 2012圖像分類任務上的Top-5錯誤率降低到4.8%.隨著Szegedy等研究GoogLeNet的深入,網絡的復雜度也逐漸提高. Inception-v3[67]變得更加復雜,它通過將大的濾波器拆解成若干個小的濾波器的堆疊,在不降低網絡性能的基礎上,增加了網絡的深度和非線性. Inception-v3在ILSVRC 2012圖像分類任務上的Top-5錯誤率降低到3.5%.
2015年, He等[8]提出了深度高達上百層的殘差網絡ResNet,網絡層數(152層)比以往任何成功的神經網絡的層數多5倍以上,在ImageNet測試集上的圖像分類錯誤率低至3.57%. ResNet使用一種全新的殘差學習策略來指導網絡結構的設計,重新定義了網絡中信息流動的方式,重構了網絡學習的過程,很好地解決了深度神經網絡層數與錯誤率之間的矛盾(即網絡達到一定層數后,更深的網絡導致更高的訓練和測試錯誤率). ResNet具有很強的通用性,不但在圖像分類任務,而且在ImageNet數據集的目標檢測、目標定位任務以及MS COCO數據集的目標檢測和分割任務上都取得了當時最好的競賽成績.此后, Szegedy等[65]通過將Inception結構與ResNet結構相結合,提出了Inception-ResNet-v1和Inception-ResNet-v2兩種混合網絡,極大地加快了訓練速度,并且性能也有所提升.除了這種混合結構,他們還設計了一個更深更優化的Inception-v4網絡,單純依靠Inception結構,達到與Inception-ResNet-v2相近的性能. Szegedy等[65]將3個Inception-ResNet-v2網絡和1個Inception-v4網絡相集成,在ILSVRC 2012圖像分類任務上的Top-5錯誤率降低到3.08%.
3.3深度學習在目標視覺檢測中的應用
深度學習技術的發展,極大推動了目標視覺檢測研究.目標檢測與圖像分類最主要的不同在于目標檢測關注圖像的局部結構信息,而圖像分類關注圖像的全局表達.與圖像分類一樣,目標檢測的輸入也是整幅圖像.目標檢測和圖像分類在特征表示和分類器設計上有很大的相通性.
接下來,我們從基于區域建議的方法和無區域建議的方法兩方面來介紹深度學習在目標視覺檢測中的研究現狀.
3.3.1基于區域建議(Proposal-based)的方法
Girshick等[44]提出的R-CNN (Region-based convolutional neural networks)方法,是近年來基于深度學習的目標檢測研究的重要參考方法. R-CNN將目標區域建議(Region proposal)和CNN相結合,在PASCAL VOC 2012上的檢測平均精度mAP (Mean average precision)達到53.3%,比傳統方法有了明顯改進. R-CNN的基本流程如圖5所示,首先對每一幅輸入圖像,采用選擇性搜索(Selective search)[6]來提取候選區域;然后用CNN網絡從每個區域提取一個固定長度的特征向量,這里采用AlexNet[57]結構,圖像經過5個卷積層和2個全連接層,得到一個4 096維的特征向量;接著把提取到的特征向量送入支持向量機進行分類.由于一些區域存在高度交疊, Girshick等采用非極大值抑制(Non-maximum suppression)來舍棄那些與更高得分區域的IoU (Intersection-over-Union)過大的區域.為了得到更精確的結果,還采用了邊框回歸方法來進一步改善檢測結果.在R-CNN模型的訓練過程中,由于目標檢測標注數據集的規模不夠, Girshick等先將網絡在大規模數據集ImageNet上進行預訓練,然后用N+1類(N個目標類和1個背景類)的輸出層來替換1 000類的Softmax層,再針對目標檢測任務,用PASCAL VOC數據集進行微調.這種方法很好地解決了訓練數據不足的問題,進一步提升了檢測精度.得益于CNN的參數共享以及更低維度的特征,整個檢測算法更加高效.但是, R-CNN也存在一些不容忽視的問題: 1)候選區域之間的交疊使得特征被重復提取,造成了嚴重的速度瓶頸,降低了計算效率; 2)將候選區域直接縮放到固定大小,破壞了物體的長寬比,可能導致物體的局部細節損失; 3)使用邊框回歸有助于提高物體的定位精度,但是如果待檢測物體存在遮擋,該方法將難以奏效.
圖5R-CNN的計算流程[44]
Figure 5Calculation flow of R-CNN[44]
He等[68]針對R-CNN速度慢{以及要求輸入圖像塊尺寸固定}的問題,提出空間金字塔池化(Spatial pyramid pooling, SPP)模型.在R-CNN中,要將提取到的目標候選區域變換到固定尺寸,再輸入到卷積神經網絡, He等加入了一個空間金字塔池化層來避免了這個限制. SPP-net網絡不論輸入圖像的尺寸大小,都能產生固定長度的特征表示. SPP-net是對整幅圖像提取特征,在最后一層卷積層得到特征圖后,再針對每個候選區域在特征圖上進行映射,由此得到候選區域的特征.因為候選區域的尺寸各不相同,導致它們映射所得到的特征圖大小也不同,但CNN的全連接層需要固定維度的輸入,因此引入了空間金字塔池化層來把特征轉換到相同的維度.空間金字塔池化的思想來源于空間金字塔模型(Spatial pyramid model, SPM)[43],它采用多個尺度的池化來替代原來單一的池化. SPP層用不同大小的池化窗口作用于卷積得到的特征圖,池化窗口的大小和步長根據特征圖的尺寸進行動態計算. SPP-net對于一幅圖像的所有候選區域,只需要進行一次卷積過程,避免了重復計算,顯著提高了計算效率,而且空間金字塔池化層使得檢測網絡可以處理任意尺寸的圖像,因此可以采用多尺度圖像來訓練網絡,從而使得網絡對目標的尺度有很好的魯棒性.該方法在速度上比R-CNN提高24 ~ 102倍,并且在PASCAL VOC 2007和Caltech 101數據集上取得了當時最好的成績.但是它存在以下缺點: 1) SPP-net的檢測過程是分階段的,在提取特征后用SVM分類,然后還要進一步進行邊框回歸,這使得訓練過程復雜化; 2) CNN提取的特征存儲需要的空間和時間開銷大; 3)在微調階段, SPP-net只能更新空間金字塔池化層后的全連接層,而不能更新卷積層,這限制了檢測性能的提升.
后來, Girshick等[58]對R-CNN和SPP-net進行了改進,提出能夠實現特征提取、區域分類和邊框回歸的端到端聯合訓練的Fast R-CNN算法,計算流程如圖6所示.與R-CNN類似, Fast R-CNN首先在圖像中提取感興趣區域(Regions of Interest, RoI);然后采用與SPP-net相似的處理方式,對每幅圖像只進行一次卷積,在最后一個卷積層輸出的特征圖上對每個RoI進行映射,得到相應的RoI的特征圖,并送入RoI池化層(相當于單層的SPP層,通過該層把各尺寸的特征圖統一到相同的大小);最后經過全連接層得到兩個輸出向量,一個進行Softmax分類,另一個進行邊框回歸.在微調階段, Fast R-CNN采用一種新的層級采樣方法,先采樣圖像,再從采樣出的圖像中對RoI進行采樣,同一幅圖像的RoI共享計算和內存,使得訓練更加高效. Fast R-CNN采用Softmax分類與邊框回歸一起進行訓練,省去了特征存儲,提高了空間和時間利用率,同時分類和回歸任務也可以共享卷積特征,相互促進.與R-CNN相比,在訓練VGG網絡時, Fast R-CNN的訓練階段快9倍,測試階段快213倍;與SPP-net相比, Fast R-CNN的訓練階段快3倍,測試階段快10倍,并且檢測精度有一定提高.然而, Fast R-CNN仍然存在速度上的瓶頸,就是區域建議步驟耗費了整個檢測過程的大量時間.
圖6Fast R-CNN的計算流程[58]
Figure 6Calculation flow of Fast R-CNN[58]
為了解決區域建議步驟消耗大量計算資源,導致目標檢測不能實時的問題, Ren等[7]提出區域建議網絡(Region proposal network, RPN),并且把RPN和Fast R-CNN融合到一個統一的網絡(稱為Faster R-CNN),共享卷積特征. RPN將一整幅圖像作為輸入,輸出一系列的矩形候選區域.它是一個全卷積網絡模型,通過在與Fast R-CNN共享卷積層的最后一層輸出的特征圖上滑動一個小型網絡,這個網絡與特征圖上的小窗口全連接,每個滑動窗口映射到一個低維的特征向量,再輸入給兩個并列的全連接層,即分類層(cls layer)和邊框回歸層(reg layer),由于網絡是以滑動窗的形式來進行操作,所以全連接層的參數在所有空間位置是共享的.因此該結構由一個卷積層后連接兩個并列的1×1卷積層實現,如圖7所示.對于每個小窗口,以中心點為基準點選取k(作者采用k=9)個不同尺度、不同長寬比的Anchor.對于每個Anchor,分類層輸出2個值,分別表示其屬于目標的概率與屬于背景的概率;邊框回歸層輸出4個值,表示其坐標位置. RPN的提出,以及與Fast R-CNN進行卷積特征的共享,使得區域建議步驟的計算代價很小.與以前的方法相比,提取的候選區域數量大幅減少,同時改進了候選區域的質量,從而提高了整個目標檢測網絡的性能,幾乎可以做到實時檢測.在PASCAL VOC 2007和2012、MS COCO等數據集上, Faster R-CNN取得了當時最高的檢測精度.但是由于深度特征丟失了物體的細節信息,造成定位性能差, Faster R-CNN對小尺寸物體的檢測效果不好.
圖7區域建議網絡的基本結構[7]
Figure 7Basic structure of region proposal network[7]
Bell等[69]提出的ION (Inside-outside net)也是基于區域建議的目標檢測方法.為了提高檢測精度, ION同時利用RoI的內部和外部信息.其中內部信息是指多尺度的信息提取.不同于以前的方法將最后一層卷積層輸出作為特征圖, Bell等將不同卷積層的特征連接在一起,作為一個多尺度特征用來預測,這樣做的目的是對于一些很小的物體,不會丟失在低層的高分辨率信息. RoI的外部信息是指上下文信息,在視覺識別中上下文信息具有很重要的作用.為了得到上下文特征, Bell等采用沿著圖像的橫軸或縱軸獨立地使用RNN的方法,并把它們的輸出組合在一起,重復該過程得到的輸出作為上下文特征.最后把這兩種特征組合在一起,并調整到固定的大小輸入到全連接層,進行Softmax分類和邊框回歸.該方法在檢測小物體上的性能比以前的方法更好,在PASCAL VOC 2012目標檢測任務上將平均精度mAP從73.9 %提高到76.4 %,在MS COCO 2015目標檢測任務上取得第3名的成績.
Yang等[70]為了處理不同尺度的目標,并且提高對候選區域的計算效率,提出了兩個策略,統稱為SDP-CRC.一個策略是采用與尺度相關的池化層(Scale-dependent pooling, SDP),由于不同尺寸的物體可能在不同的卷積層上得到不同的響應,小尺寸物體會在淺層得到強響應,而大尺寸物體可能在深層得到強響應.基于這一思想, SDP根據每個候選區域的尺寸,從對應的卷積特征圖上池化特征.對于小尺度的候選區域,從第三層卷積特征圖上池化特征;對于中等尺度的候選區域,從第四層卷積特征圖上池化特征;對于大尺度的候選區域,從第五層卷積特征圖上池化特征.另一個策略是采用級聯拒絕分類器(Cascaded rejection classifier, CRC),快速排除一些明顯不包含目標的候選區域,只保留那些更可能包含目標的候選區域,交由Fast R-CNN做最終分類.與Fast R-CNN相比,該方法能夠更加準確地檢測小尺寸目標,在平均檢測精度和檢測速度上都有很大提升.
為了提高Fast R-CNN訓練時的效率, Shrivastava等[71]提出了困難樣本在線挖掘(Online hard example mining, OHEM)的思想,該方法利用Bootstrapping[72]技術,對隨機梯度下降算法進行修改,使得在訓練過程中加入在線挖掘困難樣本的策略. OHEM機制的加入提高了Fast R-CNN方法在PASCAL VOC 2007和2012上的檢測精度.
在Faster R-CNN基礎上, Kong等[73]提出了HyperNet,計算流程如圖8所示.通過把不同卷積層得到的特征圖像聚集起來得到超特征(Hyper feature)來獲得質量更高的候選區域.由于不同卷積層的輸出尺寸不同,較淺層的特征圖像分辨率較高,邊框定位精度高,但是召回率低;較深層的特征圖像分辨率低,對小尺寸物體的邊框定位精度低,但是這些特征有利于提高召回率.因此,他們通過多層特征的融合,解決了對小物體很難提取到精細特征的問題.該方法在每幅圖像中僅提取100個候選區域,在PASCAL VOC 2007和2012數據集上獲得了很好的檢測效果.
圖8HyperNet的計算流程[73]
Figure 8Calculation flow of HyperNet[73]
許多基于區域建議的目標檢測方法存在一個共同問題,就是有一部分子網絡需要重復計算.例如最早提出的R-CNN,每一個候選區域都要經歷一次CNN網絡提取特征,這導致目標檢測速度非常慢.之后提出的Fast R-CNN和Faster R-CNN等方法,在最后一個卷積層通過RoI pooling把每一個候選區域變成一個尺寸一致的特征圖,但是對于每一個特征圖,還要經過若干次全連接層才能得到結果.于是, Dai等[74]提出了一種新的基于區域的全卷積網絡檢測方法R-FCN.為了給網絡引入平移變化,用專門的卷積層構建位置敏感的分數圖(Position-sensitive score maps),編碼感興趣區域的相對空間位置信息.該網絡解決了Faster R-CNN由于重復計算全連接層而導致的耗時問題,實現了讓整個網絡中所有的計算都可以共享.
最近, Kim等[75]提出PVANET網絡,在TITAN X上實現了基于輕量級模型的目標檢測,處理一幅圖像僅需要46 ms,在PASCAL VOC 2012數據集上的檢測平均精度達到82.5 %.為了減少網絡參數, PVANET采用了Concatenated ReLU[76]結構,在不損失精度的情況下使通道數減少一半,并在拼接操作之后加入了尺度變化和偏移.網絡中還加入了Inception[64]模型來更有效地捕捉各種尺度的物體,以及HyperNet[73]中多尺度特征融合的思想,來增加對細節的提取.
3.3.2無區域建議(Proposal-free)的方法
基于區域建議的目標檢測方法不能利用局部目標在整幅圖像中的空間信息,所以一些研究者開展了無區域建議的目標檢測研究,主要采用回歸的思想.早期提出的無區域建議的方法,檢測效果不太理想.
DPM模型[2]是一種性能較好的傳統目標檢測模型.它對目標內在部件進行結構化建模,可以更好地適應非剛體目標的較大形變,大大提高了檢測性能.但是DPM模型的構建需要關于物體結構的先驗知識(例如部件個數),并且模型訓練也比較復雜. Szegedy等[1]將目標檢測看做一個回歸問題,估計圖像中的目標位置和目標類型概率.作者通過采用基于深度神經網絡(Deep neural network, DNN)的回歸來輸出目標包圍窗口的二元掩膜(Mask),從掩膜中提取目標窗口.該方法的運行框架如圖9所示,網絡中采用的卷積神經網絡是AlexNet結構,但是用回歸層代替最后一層.基于DNN的回歸不僅能學習到有利于分類的特征表示,還能捕獲到很強的目標幾何信息, Szegedy等還采用DNN定位器進一步提高了定位準確度.由于用單一的掩膜很難區分出識別的前景是單個物體還是粘連的多個物體,作者采用了多個掩膜,為每種掩膜訓練一個單獨的DNN,這也使得網絡訓練復雜度很高,很難擴展到多種目標類型.
圖9基于DNN回歸的目標檢測框架[1]
Figure 9Object detection framework based on DNN regression[1]
Sermanet等[77]提出Overfeat模型,把一個卷積神經網絡同時用于分類、定位和檢測這幾個不同的任務.卷積層作為特征提取層保持不變,只需要針對不同的任務改變網絡的最后幾層為分類或回歸層. Overfeat的模型結構與AlexNet結構[57]基本相同.其中,前面5個卷積層為不同任務的共享層,其余的層則根據任務進行相應的調整,并對網絡做了一些改動.為了避免圖像的某些位置被忽略, Sermanet等采用偏置池化層來替換最后一層池化層,既實現了池化操作,也減小了采樣間隔. Overfeat訓練分類模型時只使用單個尺度(221×221)進行訓練,測試時使用多個尺度輸入圖像,沒有使用AlexNet中的對比歸一化.對于檢測問題,傳統的方法是采用不同尺寸的滑動窗對整幅圖像進行密集采樣,然后對每一個采樣所得的圖像塊進行檢測,從而確定目標物體的位置. Overfeat使用CNN來進行滑動窗操作,避免了對各圖像塊的單獨操作,提高了算法效率;而且將全連接層看作卷積層,使得輸入圖像的尺寸不受限制.但是Overfeat對于較小尺寸目標的識別依然存在困難.
近年來, Redmon等[78]提出了一種新的無區域建議的目標檢測方法,稱為YOLO (You only look once).作為一種統一的、實時的檢測框架, YOLO的檢測速度非???可以達到45 fps (Frame per second). YOLO用一個單一的卷積網絡直接基于整幅圖像來預測包圍邊框的位置及所屬類型,首先將一幅圖像分成S×S個網格,每個網格要預測B個邊框,每個邊框除了要回歸自身的位置之外,還要附帶預測一個置信度.置信度不僅反映了包含目標的可信程度,也反映了預測位置的準確度.另外對每個網格還要預測C個類型的條件概率,將這些預測結果編碼為一個S×S×(B×5+C)維的張量(Tensor).整個網絡的結構類似于GoogLeNet,包含24個卷積層和2個全連接層,卷積層用來從圖像中提取特征,全連接層預測邊框的位置坐標和類型概率. YOLO模型通過采用空間限制,減少了對同一目標的重復檢測,大大提高了效率,能夠達到實時的效果.但是YOLO的整體性能不如Fast R-CNN和Faster R-CNN,并且對于相鄰的目標和成群的小尺寸目標(例如成群的鳥)的檢測效果不好,對于新的或異常尺度的目標泛化能力較差.
與YOLO類似, Najibi等[79]提出的G-CNN模型也著重于檢測速度的提升.該方法將目標檢測模型轉化為迭代回歸問題,通過對整個圖像進行不同尺度的網格劃分得到初始檢測框,然后采用分段回歸模型多次迭代,不斷提高邊框準確度. G-CNN使用了約180個初始邊框,經過5次迭代達到與Fast R-CNN相當的檢測精度,但是計算速度比Fast R-CNN快5倍.
針對YOLO存在的不足, Liu等[80]提出SSD模型,在提高mAP的同時兼顧實時性的要求. SSD使用卷積神經網絡對圖像進行卷積后,在不同層次的特征圖上生成一系列不同尺寸和長寬比的邊框.在測試階段,該網絡對每一個邊框中分別包含各個類型的物體的可能性進行預測,并且調整邊框來適應目標物體的形狀.在PASCAL VOC、MS COCO和ILSVRC數據集上的實驗顯示, SSD在保證精度的同時,其速度要比用候選區域的方法快很多.與YOLO相比,即使是在輸入圖像較小的情況下, SSD也能取得更高的精度.例如輸入300×300尺寸的PASCAL VOC 2007測試圖像,在單臺Nvidia Titan X上的處理速度達到58 fps,平均精度mAP達到72.1%;如果輸入圖像尺寸為500×500,平均精度mAP達到75.1%.
與基于候選區域的方法相比, YOLO定位準確率低且召回率不高.因此, Redmon等[81]提出了改進的YOLO模型,記作YOLOv2,主要目標是在保持分類準確率的同時提高召回率和定位準確度.通過采用多尺度訓練、批規范化和高分辨率分類器等多種策略,提升了檢測準確率的同時速度超過其他檢測方法,例如Faster R-CNN和SSD. Redmon等還提出了一種新的聯合訓練算法,同時在檢測數據集和分類數據集上訓練物體檢測器,用檢測數據集的數據學習物體的準確位置,用分類數據集的數據增加分類的類別量,提升健壯性,采用這種方法訓練出來的YOLO9000模型可以實時地檢測超過9 000種物體分類.
3.3.3總結
基于區域建議的目標檢測方法,特別是R-CNN系列方法(包括R-CNN、SPPnet、Fast R-CNN和Faster R-CNN等),取得了非常好的檢測精度,但是在速度方面還達不到實時檢測的要求.在不損失精度的情況下實現實時檢測,或者在提高檢測精度的同時兼顧速度,逐漸成為目標檢測的研究趨勢. R-FCN比Faster R-CNN計算效率更高,在檢測精度和速度上平衡的很好. PVANET是一種輕量級的網絡結構,通過調整和結合最新的技術達到最小化計算資源的目標.無區域建議的方法(例如YOLO)雖然能夠達到實時的效果,但是其檢測精度與Faster R-CNN相比有很大的差距. SSD對YOLO進行了改進,同時兼顧檢測精度和實時性的要求,在滿足實時性的條件下,縮小了與Faster R-CNN檢測精度的差距. YOLOv2在檢測精度和速度上都超過了SSD.一些目標視覺檢測方法在公共數據集上的性能對比如圖10所示.
圖10一些目標視覺檢測方法在公共數據集上的性能比較
Figure 10Performance comparison of some object visual detection methods on public datasets
4思考與展望
近年來,由于深度學習技術的迅猛發展和應用,目標視覺檢測研究取得了很大進展.未來若干年,基于深度學習的目標視覺檢測研究仍然是該領域的主流研究方向.不同于傳統方法利用手工設計的特征,可能忽視掉一些重要的特征信息,深度學習方法可以通過端到端訓練自動學習與任務相關的特征,通過多層的非線性變換獲得圖像的高層次抽象表示.盡管深度學習在目標視覺檢測領域取得了一定成功,但是還存在一些問題:
1)深度學習理論還不完善
深度學習的優勢之一是能夠自動學習表達能力強的抽象特征,不需要由專家手工進行特征設計和選擇.但是,將深度學習模型應用于目標檢測時還缺乏足夠的理論支撐,學習到的模型的可解釋性較弱.目前的研究通常是把深度學習模型當作一個黑盒子(Black box)來直接使用,對于如何選擇和構建模型、如何確定模型的深度以及深度學習的本質等基本問題還沒有給出很好的解釋.理論的不完善導致研究時缺乏充分的原理性指導,在設計新的模型時往往只能憑借經驗和運氣. Pepik等[82]利用Pascal 3D+[83]數據集對R-CNN方法進行分析,結果表明卷積神經網絡對于場景和目標的各種外觀因素的變化不具有視覺不變性,目前大多數深度學習方法在處理多目標遮擋和小尺寸目標等困難問題時效果還不是很好,增加額外的訓練數據并不能克服這些缺陷,有必要對模型結構做出改變.因此必須進一步完善深度學習理論,為改進模型結構、加速模型訓練和提高檢測效果等提供指導.
2)大規模多樣性數據集還很缺乏
深度學習模型主要是數據驅動的,依賴于大規模多樣性的標記數據集.對一個特定的任務,增加訓練數據的規模和多樣性,可以提高深度學習模型的泛化能力,避免過擬合.但是目前缺乏可用于目標檢測的大規模多樣性數據集,即便是最大的公共數據集也只提供了很有限的標記類型,比如PASCAL VOC有20個類型, MS COCO有80個類型, ImageNet有1 000個類型.由人工采集和標注含有大量目標類型的大規模多樣性數據集非常費時耗力,并且由于光照、天氣、復雜背景、目標外觀、攝像機視角和物體遮擋等導致的復雜性和挑戰性,同一類型目標在不同圖像中可能看起來非常不同,使得人工標注變得困難甚至容易出錯.雖然可以采用眾包方法(例如Amazon MTurk[84])進行數據標注,但是同樣要耗費大量的人力財力,并且標注困難.另外在一些特殊領域(例如在醫療和軍事等領域)很難獲得大規模實際圖像.標記數據集的不足,可能導致訓練出的目標檢測模型的可靠性和魯棒性達不到要求.目前許多目標檢測模型都采用先在ImageNet數據集上進行預訓練,再針對具體任務進行微調的方式.如果針對具體的目標檢測任務,有大規模多樣性的標記數據集可供使用,那么目標檢測效果可以得到進一步提高.
為了解決上述問題,我們認為可以采用平行視覺[85-86]的思路進行研究. 2016年,王坤峰等[85]將復雜系統建模與調控的ACP (Artificial societies, computational experiments, and parallel execution)理論[87-89]推廣到視覺計算領域,提出平行視覺的基本框架和關鍵技術.其核心是利用人工場景來模擬和表示復雜挑戰的實際場景,通過計算實驗進行各種視覺模型的設計與評估,最后借助平行執行來在線優化視覺系統,實現對復雜環境的智能感知與理解.圖11顯示了平行視覺的基本框架.為了解決復雜環境下的目標視覺檢測問題,我們可以按照平行視覺的ACP三步曲開展研究.
圖11平行視覺的基本框架[85]
Figure 11Basic framework of parallel vision[85]
1)人工場景(Artificial scenes)
構建色彩逼真的人工場景,模擬實際場景中可能出現的環境條件,自動得到精確的目標位置、尺寸和類型等標注信息,生成大規模多樣性數據集.另外,實際場景通常不可重復,而人工場景具有可重復性,通過固定一些物理模型和參數,改變另外一些,可以定制圖像生成要素,以便從各種角度評價視覺算法.人工場景可以不受現有實際場景的限制,預見未來的實際場景,為視覺算法設計與評估提供超前信息.總之,人工場景能夠提供一種可靠的數據來源,是對實際場景數據的有效補充.
2)計算實驗(Computational experiments)
結合人工場景數據集和實際場景數據集,進行全面充分的計算實驗,把計算機變成視覺計算實驗室,設計和評價視覺算法,提高其在復雜環境下的性能.與基于實際場景的實驗相比,在人工場景中實驗過程可控、可觀、可重復,并且可以真正地產生實驗大數據,用于知識提取和算法優化.計算實驗包含兩種操作模式,即學習與訓練、實驗與評估.學習與訓練是針對視覺算法設計而言,實驗與評估是針對視覺算法評價而言.兩種操作模式都需要結合人工場景數據集和實際場景數據集,能夠增加實驗的深度和廣度.
3)平行執行(Parallel execution)
將視覺算法在實際場景與人工場景中平行執行,使模型訓練和評估在線化、長期化,通過實際與人工之間的虛實互動,持續優化視覺系統.由于應用環境的復雜性、挑戰性和變化性,不存在一勞永逸的解決方案,只能接受這些困難,在系統運行過程中不斷調節和改善.平行執行基于物理和網絡空間的大數據,以人工場景的在線構建和利用為主要手段,通過在線自舉(Online bootstrapping)或困難實例挖掘(Hard example mining),自動挖掘導致視覺算法失敗或性能不佳的實例,利用它們重新調節視覺算法和系統,提高對動態變化環境的自適應能力.
目前,已經有一些工作基于人工場景數據進行目標檢測模型的訓練.例如, Peng等[90]利用3D CAD模型自動合成2D圖像,使用這種虛擬圖像數據來擴大深度卷積神經網絡的訓練集非常有效,尤其是在真實的訓練數據很有限或不能很好地匹配目標領域的情況下,避免了代價昂貴的大規模手工標注. Johnson-Roberson等[91]利用游戲引擎生成逼真的虛擬圖像,用于目標檢測模型的訓練.實驗表明,在KITTI數據集上,使用大規模的虛擬圖像集訓練的模型比基于較小規模的真實世界數據集訓練的檢測器精度更高.但是,已有的工作主要集中在人工場景和計算實驗,忽視了平行執行.我們認為,將視覺算法在實際場景與人工場景中平行執行,持續優化視覺系統,提高其在復雜環境下的魯棒性和適應性是非常重要的.
許多機器學習算法假設訓練數據與測試數據具有相同的數據分布以及特征空間[92],然而使用ACP時會遇到虛擬數據與真實數據的分布差異問題.遷移學習[93]能夠很好解決分布差異問題.通過遷移學習,我們能夠運用ACP中人工模擬出的虛擬數據來不斷提高模型的精準度與魯棒性.
另外,在深度學習模型自身方面,如何提高模型的可解釋性,改善模型結構,設計新的優化方法,降低模型訓練和應用時的計算復雜性,提高計算效率,得到更加有用(More effective)和更加有效的(More efficient)深度學習模型,這些問題都需要深入研究.目前,基于候選區域的目標檢測方法精度最高,而基于回歸的SSD方法在實時性上表現最好,如何將這兩類方法相結合,借鑒和吸收彼此的優點,在檢測精度和速度上取得新的突破還有待研究.
5結論
目標視覺檢測在計算機視覺領域具有重要的研究意義和應用價值,深度學習是目前最熱門的機器學習方法,被廣泛研究和應用.本文綜述了深度學習在目標視覺檢測中的應用進展與展望.首先說明了目標視覺檢測的基本流程和常用的公共數據集,然后重點介紹了深度學習方法在目標視覺檢測中的最新應用進展,最后對深度學習在目標視覺檢測研究中的困難和挑戰進行了分析,對未來的發展趨勢進行了思考與展望.
在今后的工作中,還需要進一步完善深度學習理論,提高目標視覺檢測的精度和效率.另外,平行視覺作為一種新的智能視覺計算方法學,通過人工場景提供大規模多樣性的標記數據集,通過計算實驗全面設計和評價目標視覺檢測方法,通過平行執行在線優化視覺系統,能夠激發深度學習的潛力.我們相信,深度學習與平行視覺相結合,必將大力推動目標視覺檢測的研究和應用進展.
-
計算機視覺
+關注
關注
8文章
1696瀏覽量
45930 -
深度學習
+關注
關注
73文章
5493瀏覽量
120998
原文標題:深度學習在目標視覺檢測中的應用進展與展望
文章出處:【微信號:AItists,微信公眾號:人工智能學家】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論