寧 健,馬 淼,柴立臣,馮中營(yíng)
(太原工業(yè)學(xué)院理學(xué)系 山西 太原 030008)
深度學(xué)習(xí)是對(duì)人工神經(jīng)網(wǎng)絡(luò)進(jìn)行改進(jìn)形成的,為一種常用的人工智能技術(shù),其中含多個(gè)隱藏層。這種技術(shù)主要是對(duì)低層特征進(jìn)行一定模式的組合而形成高層次的特征,為數(shù)據(jù)分析提供支持[1]。在這場(chǎng)深度學(xué)習(xí)中,這種神經(jīng)網(wǎng)絡(luò)有很高應(yīng)用價(jià)值,目前人工智能中有著非常重要的地位。
目標(biāo)檢測(cè),主要是根據(jù)目標(biāo)的相關(guān)特征對(duì)圖像進(jìn)行分割,從而實(shí)現(xiàn)目標(biāo)識(shí)別目的?;谏疃葘W(xué)習(xí)的目標(biāo)檢測(cè)算法在步驟上包括雙階段(two-stage)和單階段(onestage)兩種目標(biāo)檢測(cè)框架。前一種框架在處理過程中先確定出樣本的候選框,接著對(duì)樣本通過CNN網(wǎng)絡(luò)分類;后一種框架在處理時(shí)不產(chǎn)生候選框,直接在一定回歸分析基礎(chǔ)上實(shí)現(xiàn)目標(biāo)檢測(cè)。對(duì)比分析可知這兩種方法的特性明顯不同,前者所得結(jié)果更準(zhǔn)確,不過實(shí)時(shí)性差,后者速度上占優(yōu)。各經(jīng)典算法及主流特征提取網(wǎng)絡(luò)出現(xiàn)的時(shí)間[2],如圖1所示。
圖1 各經(jīng)典算法及主流特征提取網(wǎng)絡(luò)出現(xiàn)的時(shí)間
區(qū)域提取算法的核心框架是卷積神經(jīng)網(wǎng)絡(luò)CNN,對(duì)這種網(wǎng)絡(luò)的研究可追溯至神經(jīng)認(rèn)知機(jī),神經(jīng)認(rèn)知機(jī)的主要特征表現(xiàn)為具有深度結(jié)構(gòu),屬于一種研究相對(duì)深入的深度學(xué)習(xí)算法。根據(jù)相關(guān)資料可知這種網(wǎng)絡(luò)中,隱含層是S層和C層組合形成的,在運(yùn)行過程中二者分別用于提取和接收?qǐng)D像特征的功能。20世紀(jì)80年代 LECUN等[3]對(duì)這種模型進(jìn)行改進(jìn)和優(yōu)化,建立起功能更強(qiáng)大的LeNet-5網(wǎng)絡(luò),然后通過其識(shí)別手寫數(shù)字,結(jié)果發(fā)現(xiàn)其可以很好地滿足應(yīng)用要求。LeNet-5的主要特征為引入了池化層來篩選輸入特征,這樣可以顯著提高網(wǎng)絡(luò)的性能。LeNet-5對(duì)CNN網(wǎng)絡(luò)發(fā)展起到很大促進(jìn)作用,并決定了其基本結(jié)構(gòu),通過這種網(wǎng)絡(luò)進(jìn)行圖像處理時(shí),可獲得其平移不變特征。卷積神經(jīng)網(wǎng)絡(luò)主要由兩部分組成,一部分是特征提?。ň矸e、激活函數(shù)、池化),另一部分是分類識(shí)別(全連接層),圖2便是手寫文字識(shí)別卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖。
圖2 手寫文字識(shí)別卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
采用滑動(dòng)窗口策略對(duì)圖片進(jìn)行反復(fù)特征提取,雖然能夠盡量提取圖片信息,但是窮舉法導(dǎo)致識(shí)別結(jié)果多了很多其他信息,效率太低。GIRSHICK等[4]提出區(qū)域卷積神經(jīng)網(wǎng)絡(luò)R-CNN(Region CNN),如圖3所示。R-CNN算法和改進(jìn)前網(wǎng)絡(luò)相比取得了50%的性能提升,但其也有缺陷存在:基于傳統(tǒng)方法確定出候選區(qū),這樣降低了其處理實(shí)時(shí)性;卷積神經(jīng)網(wǎng)絡(luò)需要分別對(duì)各候選區(qū)來特征提取處理,實(shí)際存在大量的重復(fù)運(yùn)算,也顯著降低算法效率。
圖3 R-CNN目標(biāo)檢測(cè)算法步驟
GIRSHICK等[5]在研究過程中提出一種優(yōu)化的Fast R-CNN模型,如圖4所示。Fast R-CNN和R-CNN相比,訓(xùn)練時(shí)間從84 h減少到9.5 h,測(cè)試時(shí)間從47 s減少到0.32 s,并且在PASCAL平臺(tái)上測(cè)試的準(zhǔn)確率提高到66%~67%之間。且在學(xué)習(xí)訓(xùn)練過程中,綜合了分類損失和回歸損失,這樣可顯著改善學(xué)習(xí)效果。然后根據(jù)要求輸出相關(guān)分類和定位信息,對(duì)中間層信息不需要特定性的保存,有利于節(jié)約存儲(chǔ)資源。梯度可利用池化層來高效的傳播。Fast R-CNN使人意識(shí)到了候選區(qū)域+卷積神經(jīng)網(wǎng)絡(luò)在提高檢測(cè)實(shí)時(shí)性方面的優(yōu)勢(shì),對(duì)比分析可知多類檢測(cè)可在改善處理實(shí)時(shí)性基礎(chǔ)上,也提高了處理準(zhǔn)確性,不過其依然存在局限性,如處理過程中基于傳統(tǒng)方法生成候選區(qū)。
圖4 Fast R-CNN目標(biāo)檢測(cè)步驟
為了解決上述算法的問題,2015年微軟研究院的REN等[6]以及Ross團(tuán)隊(duì)推出快速R-CNN,如圖5所示,在處理過程中簡(jiǎn)單網(wǎng)絡(luò)目標(biāo)識(shí)別速度為17 fps,在PASCAL VOC上準(zhǔn)確率為59.9%,復(fù)雜網(wǎng)絡(luò)的為5 fps,準(zhǔn)確率也達(dá)到78.8%。在這種模型中加入邊緣提取網(wǎng)絡(luò),這樣使得生成候選區(qū)域,特征提取,分類以及定位相關(guān)的環(huán)節(jié)被納入到整體框架中,有利于提高模型的標(biāo)準(zhǔn)性水平。在對(duì)此網(wǎng)絡(luò)進(jìn)行改進(jìn)時(shí),應(yīng)用區(qū)域生成網(wǎng)絡(luò)(RPN)取代其中的搜索方法。設(shè)計(jì)輔助生成樣本的RPN網(wǎng)絡(luò),算法在目標(biāo)檢測(cè)時(shí)的流程為,先由RPN對(duì)候選框進(jìn)行判斷,確定出其是否為目標(biāo),接著判斷目標(biāo)的類型。在各環(huán)節(jié)都可以共享提取的特征信息,因而有利于提高處理效率,同時(shí)占據(jù)的空間減小,可以更快地生成候選框,而算法的精度并不受到影響。不過進(jìn)一步分析可知RPN網(wǎng)在處理時(shí)可獲得多尺寸的候選框,這樣在處理時(shí)感受野和目標(biāo)尺寸會(huì)產(chǎn)生不匹配問題,在目標(biāo)平移變化情況下無(wú)法實(shí)現(xiàn)檢測(cè)目的。
圖5 Faster R-CNN目標(biāo)檢測(cè)算法步驟(左)和RPN基本結(jié)構(gòu)(右)
為了處理two stage算法應(yīng)用中存在的問題,HE等[7]對(duì)上述問題進(jìn)行分析,建立了Mask R-CNN模型,取得了很好地識(shí)別效果。處理時(shí)面臨的任務(wù)為3個(gè),包括分類+回歸+分割,如圖6所示?;谌矸e網(wǎng)絡(luò)預(yù)測(cè)候選框的掩膜,可使得目標(biāo)空間結(jié)構(gòu)相關(guān)的信息都很好的保留,實(shí)現(xiàn)目標(biāo)像素級(jí)分割定位。
圖6 Mask R-CNN目標(biāo)檢測(cè)算法步驟
2017年卡內(nèi)基梅隆大學(xué)提出A-Fast-RCNN算法[8],其引入了對(duì)抗學(xué)習(xí)策略,據(jù)此獲得一個(gè)遮擋和變形樣本對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,從而更好地對(duì)遮擋和變形情況下的目標(biāo)進(jìn)行識(shí)別。2017年12月,F(xiàn)ace++提出一種大mini-batch的目標(biāo)檢測(cè)算法MegDet,可以高效地利用多塊GPU聯(lián)合訓(xùn)練,大大縮短訓(xùn)練時(shí)間,同時(shí)解決了批標(biāo)準(zhǔn)化統(tǒng)計(jì)不準(zhǔn)確的問題,達(dá)到更高的準(zhǔn)確率。2017年12月Face++提出檢測(cè)算法LI等[9],應(yīng)用了大內(nèi)核而獲得符合要求的特征圖,可使得ROI子網(wǎng)絡(luò)處理過程中占用的資源顯著減少,平衡物體檢測(cè)中的精確度和速度。R-CNN相關(guān)的兩階段算法由于RPN結(jié)構(gòu)的存在,雖然檢測(cè)精度不斷提高,但是其速度卻遇到瓶頸,比較難于滿足特定條件下的實(shí)時(shí)性需求。
為了進(jìn)一步提高目標(biāo)檢測(cè)的實(shí)時(shí)性,出現(xiàn)了YOLO(you only look once)和SSD(single shot multibox detector)等基于回歸的目標(biāo)檢測(cè)框架,這樣不僅可以確保算法的可靠性,還能最大程度上提高其運(yùn)算速度。
2015年美國(guó)計(jì)算機(jī)研究者REDMON等[10]建立YOLO算法,通過這種算法進(jìn)行處理時(shí),對(duì)應(yīng)的流程情況如圖7,其在預(yù)測(cè)過程中主要運(yùn)用到圖形全局信息,因而相應(yīng)的處理過程顯著簡(jiǎn)化。將輸入圖像尺寸進(jìn)行還原,設(shè)置了7×7網(wǎng)格單元。通過CNN提取的特征進(jìn)行學(xué)習(xí)訓(xùn)練,輸出結(jié)果為目標(biāo)的類別信息。然而該方法也存在一定的局限性,具體體現(xiàn)在定位不準(zhǔn)、召回率不甚理想,尤其是在近距離的物體檢測(cè)中不十分適用,從總體來看此方法的泛化能力相對(duì)弱。
圖7 YOLO流程
基于YOLO有2個(gè)改進(jìn)版,YOLOv2和YOLO9000,它們有效彌補(bǔ)了以往方法的不足,可以減小召回率和定位誤差。前者(如圖8所示)主要是運(yùn)用了Faster R-CNN的思想,在具體應(yīng)用過程中采用錨框機(jī)制,同時(shí)還使用了典型的K-Means聚類方式獲得更為理想的錨框模板。這種算法的特殊性還體現(xiàn)在通過增加候選框的預(yù)測(cè),引入更為科學(xué)的定位方法,從而有效彌補(bǔ)了以往算法召回率低的問題,現(xiàn)階段這種方法已經(jīng)在實(shí)踐中得到大量應(yīng)用。YOLO9000是基于YOLOv2形成的一種算法,該算法的最大優(yōu)勢(shì)體現(xiàn)在能夠檢測(cè)超過9 000個(gè)類別的模型,其主要貢獻(xiàn)點(diǎn)在于提出了一種分類和檢測(cè)的聯(lián)合訓(xùn)練策略。
圖8 YOLOv2訓(xùn)練過程及流程
YOLOv4(如圖9所示)算法是也是基于YOLO形成的一種新方法,相對(duì)來說,前者更具先進(jìn)性。其采用了近些年卷積神經(jīng)網(wǎng)絡(luò)領(lǐng)域中最優(yōu)秀的優(yōu)化策略,因此在很多場(chǎng)合中都非常適用,比如在數(shù)據(jù)處理、主干網(wǎng)絡(luò)等場(chǎng)合中均有不同程度的優(yōu)化。在YOLOv4中,借鑒了跨階段局部網(wǎng)絡(luò)CSPNet(cross stage partial networks),對(duì)Darknet53做了一點(diǎn)改進(jìn)。CSPNet解決了其他大型神經(jīng)網(wǎng)絡(luò)框架梯度信息重復(fù)這一瓶頸,其采用特殊的方式將梯度完全集成到特征圖中,故而采用這種方法能夠有效減少模型的參數(shù)量和FLOPS數(shù)值。因此與其他的算法相比,其有更高可靠性,推理速度也非常理想;同時(shí)顯著減小了模型尺寸。
圖9 YOLOv4流程
LIU等[11]建立此算法,如圖10所示。SSD的主要特征表現(xiàn)為融合了以上兩種算法的回歸和錨盒機(jī)制,在各卷積層的特征圖上進(jìn)行定位預(yù)測(cè),輸出的為統(tǒng)一的boxes坐標(biāo),對(duì)對(duì)應(yīng)的類別置信度主要是通過小卷積核進(jìn)行預(yù)測(cè)分析。進(jìn)行整體多尺度的邊框回歸分析,這樣可以提高算法的處理速度,而定位準(zhǔn)確性不受到明顯影響。然而其利用多層次特征分類,因此在應(yīng)用中也存在一定不足,比如對(duì)于小目標(biāo)檢測(cè)困難。
圖10 SSD和YOLO網(wǎng)絡(luò)結(jié)構(gòu)對(duì)比
RetinaNet網(wǎng)絡(luò)架構(gòu)采用FPN網(wǎng)絡(luò)的結(jié)構(gòu),其主要?jiǎng)?chuàng)新點(diǎn)在于提出了一個(gè)新的損失函數(shù)Focal Loss,主要用于解決正負(fù)樣本極不平衡這一不足。在網(wǎng)絡(luò)預(yù)測(cè)中,正負(fù)樣本比相差大,并且負(fù)樣本大多為簡(jiǎn)單樣本,大量的簡(jiǎn)單樣本損失累積會(huì)導(dǎo)致訓(xùn)練緩慢,所以對(duì)預(yù)測(cè)錯(cuò)誤的樣本添加權(quán)重,從而使簡(jiǎn)單樣本損失降得更大,從而優(yōu)化了訓(xùn)練。
M2Det使用主干網(wǎng)絡(luò)加多級(jí)金字塔網(wǎng)絡(luò)MLFPN(multilevel feature pyramid network)來提取圖像特征,接著采用特定的方法預(yù)測(cè)密集的包圍框,通過NMS得到最后的檢測(cè)結(jié)果。
深度學(xué)習(xí)目標(biāo)檢測(cè)有多方面性能優(yōu)勢(shì)和很廣闊的應(yīng)用場(chǎng)景,同時(shí)也面臨著很多困難與挑戰(zhàn)。本文以具有代表性的目標(biāo)檢測(cè)算法為主線,綜述了這種檢測(cè)技術(shù)的進(jìn)展和思考。參考上下文特征的多特征融合,在此基礎(chǔ)上,結(jié)合RNN展開更為深入的探討。當(dāng)前這種目標(biāo)檢測(cè)算法雖然應(yīng)用非常廣泛,然而同樣存在諸多局限性,如何減少?gòu)?fù)雜背景干擾以提高檢測(cè)的準(zhǔn)確性,基于深度學(xué)習(xí)目標(biāo)檢測(cè)技術(shù)的研究值得更深層次的研究。