国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于改進Faster RCNN的目標檢測算法

2021-11-26 10:14鹿曉威吳曉翎
遼寧科技大學學報 2021年4期
關鍵詞:殘差卷積圖像

趙 俊,鹿曉威,趙 驥,吳曉翎

(1.中鋼科技發(fā)展有限公司 運營管理部,北京100080;2.遼寧科技大學 計算機科學與工程學院,遼寧 鞍山114051)

目標檢測就是從背景信息中檢測、提取、分割出目標,對輸入圖像中的目標進行快速準確表達和精確定位,為目標信息的讀取與理解奠定基礎,為目標識別提供有力的數據資源支持[1]。在傳統的目標檢測方法中,通常采用Histogram of Oriented Gradient(HOG)特征[2]或是Haar特征[3]、Scaleinvariant feature transform(SIFT)特征[4]進行特征提取。這些方法在檢測時采用比例不一的滑動窗口對整個圖像加以遍歷,再使用Support Vector Machine(SVM)分類器[2]、AdaBoost分類器[5]對每一個窗口內的目標分類,這種窮舉的方式將會耗費大量的時間。多尺度形變部件模型Deformable Part Model(DPM)[6]在保留HOG+SVM優(yōu)點的基礎上進行擴展,在人臉檢測、行人檢測上取得一些成就,但是DPM相對復雜,檢測效率低,很快被基于深度學習的目標檢測方法取代[7-8]。2014年,Facebook人工智能實驗室FAIR的Girshick Ross,首次將深度學習引入目標檢測算法中,提出區(qū)域卷積神經網絡(Regions with CNN features,RCNN)[9]。RCNN雖然可以較好地完成目標檢測任務,但是缺點也是很明顯的。第一,RCNN的訓練是分多個階段進行的:首先需要訓練一個用于提取圖像特征的CNN,然后訓練若干用于物體檢測的SVM,最后進行邊框回歸;其二,RCNN開銷非常大,對于每一個推薦區(qū)域都要提取一次特征,而推薦區(qū)域間有大量的重疊,致使檢測的時間漫長。鑒于此,Girshick于2015年提出了改進的目標檢測方法Fast RCNN[10],Fast RCNN不再是對每個推薦區(qū)域(Region of interest,RoI)逐一提取特征,只需要對整張圖片進行一次特征提取,同時不需要對SVM分類器以及邊框回歸進行單獨訓練,訓練效率有所提高。Fast RCNN雖然在RCNN的基礎上性能提升了不少,但二者均依賴選擇性搜索(Selective search,SS)[11]的區(qū)域推薦算法來尋找推薦區(qū)域,目標檢測也因此被分成兩個串行的階段,影響檢測效率?;诖?,2015年Ren等又提出了新的檢測方法Faster RCNN[12],Faster RCNN在借 鑒Fast RCNN特點的基礎上,采用區(qū)域建議網絡(Region proposal network,RPN)直接預測出候選框產生推薦區(qū)域,同時RPN絕大部分對候選框的預測工作在GPU中完成,目標檢測的速度也因此得到了大幅度的提升。

除了以上提到的基于候選區(qū)域的深度學習檢測方法之外,還有無需區(qū)域建議的深度學習方法。Redmon等于2015年提出的YOLO(You only look once)目標檢測方法[13],針對給定的圖像劃分網格,并在圖像上的每個網格中設定包圍框,設定閾值保留可能性較高的框并加以分類識別,速度明顯提高,但是準確率卻不太理想。2016年,Liu等又提出了SSD(Single shot multibox detector)算法[14],參考Faster RCNN的Anchor機制,引入多尺度的概念,由于其固定了默認框的形狀以及網格大小,導致SSD算法檢測小目標物體的效果不夠理想。

本文首先將Faster RCNN中用于提取圖像特征的VGG16網絡替換為具有更強表達能力且層次更深的殘差變換聚合深度網絡(Aggregated residual transformations for deep neural networks,ResNeXt),能夠更完整地學習目標特征;其次,采用具有101層的ResNeXt網絡對圖像特征進行提取;然后,改變殘差單元結構,將常規(guī)的“后激活”方式更改為“預激活”方式,使得網絡在前向以及反向傳播過程中更為暢通;最后,引入自動可變形卷積,卷積核的大小和位置會根據當前需要識別的圖像內容進行動態(tài)調整,從而能更好的適應物體形狀、大小等發(fā)生幾何形變的目標檢測任務。

1 深度殘差網絡模型

深度殘差網絡(Residual neural network,ResNet)[15]在標準的前饋神經網絡上加一個“跳躍”引入恒等映射,解決了退化問題,同時也解決了梯度彌散的問題,整個網絡性能大大提升。

1.1 殘差單元

殘差單元是ResNet的基本構成單元,結構如圖1所示。殘差單元的數據通過兩條路線進行傳輸,其中一條與一般網絡類似,經過兩個卷積層再進行傳遞輸出,另一條則是實現單位映射的直線連接。殘差單元的兩個主要設計:快捷連接和恒等映射,二者結合完美解決了隨著網絡的加深準確率下降的問題。

圖1 殘差單元Fig.1 Residual unit

恒等映射即曲線x,快捷連接即殘差部分為F(x)。其中,x代表某段神經網絡的輸入,H(x)表示期望輸出,通過梯度下降方法直接求H(x),會面臨網絡退化問題。當假設F(x)=0,輸入x將直接傳到輸出作為下一階段的初始輸入,網絡則變成了恒等映射,相當于在一個準確率達到飽和的淺層網絡的基礎上繼續(xù)疊加y=x的恒等映射層,該舉措達到了隨著深度加深網絡性能不發(fā)生退化,訓練誤差不會增加的目的。

1.2 ResNeXt網絡

本文以ResNeXt為前置網絡的深度學習模型,用于目標檢測中目標特征的提取,使得目標的特征學習更加完全。

ResNeXt網絡架構采用一種平行堆疊且具有相同拓撲結構的block,同時引入“基數”(獨立路徑的數量)的超參數。圖2展示了ResNet和ResNext構建塊的基本結構。

圖2 ResNet與ResNext構建塊Fig.2 Building blocks of ResNet and ResNext

ResNeXt網絡結構保留了ResNet網絡的基本堆疊方式的同時,將ResNet的單個路徑拆分為32條獨立路徑,這32條路徑同時對輸入圖像進行卷積操作,最后將來自不同路徑的輸出累計求和作為最終的結果。這一操作使網絡的分工更明確、局部適應性更強。由于每條路徑共用相同的拓撲結構、卷積參數,設計方式一致,因此網絡參數并不會增加,便于模型移植。

2 模型設計與實現

2.1 網絡層數的選取

為了使網絡的性能更優(yōu),本文分別對不同深度的ResNeXt網絡,在測試集和驗證集進行了相關錯誤率的檢驗。隨著網絡深度的不斷加深,網絡出現的錯誤率呈現穩(wěn)步下降趨勢,101層和152層的ResNeXt網絡在訓練錯誤率上相差無幾,但是152層的網絡參數卻比101層的網絡增多近一倍。綜合權衡網絡的正確率和訓練耗費時間,本文最終采用101層的ResNeXt網絡作為提取目標特征的前置網絡。

2.2 殘差單元結構

為了對殘差單元有更深入的了解,本文對殘差單元的內部結構進行剖析。圖3是殘差單元的內部構造。常規(guī)的殘差單元結構有兩個特點,BN層、ReLU層和Conv層的順序是Conv-BN-ReLU;第二個ReLU層要在addition之后。

圖3 常規(guī)的殘差單元結構Fig.3 Traditional residual unit structure

常規(guī)的殘差單元的輸出為

式中:yl為第l個殘差單元的輸出;h(Xl)為恒等映射;F(Xl,wl)為殘差;f為ReLU激活函數;Xl是第l個殘差單元的輸入;Xl+1是第l+1個殘差單元的輸入;wl是第l層的參數。

對式(1)和式(2)整合得到

前向傳播以及反向傳播的信號都能直接從一個單元傳播到另一個單元,但是在進行相加操作的后面還存在ReLU激活函數。該激活函數的存在會影響殘差單元的兩個分支,導致前向以及反向傳播的信號只能在兩個殘差單元之間直接傳播。針對這一缺點,將殘差網絡基本單元結構進行了重新設計,將ReLU激活函數移到殘差函數分支上,把BN和ReLU都移到權值層之前構造恒等映射f(y)=y,形成一種“預激活”的方式[16],而不再是常規(guī)的“后激活”方式,因此快捷連接分支將不會受到影響。改進后的殘差單元結構如圖4所示。

圖4 改進后的殘差單元結構Fig.4 Improved residual unit structure

結構改進后,殘差單元的輸出為

常規(guī)單元結構網絡在起始階段誤差下降很慢,是因為當ReLU激活函數信號為負時傳播會被截斷,使模型無法很好地逼近期望函數;改進后的結構中,信息不僅能在相鄰的兩個殘差單元間“直接”傳播,而且在整個網絡中信息都可以“直接”傳播,網絡也因此更容易訓練。同時,Batch normalization(BN)層對卷積層的輸出做批量歸一化處理,進一步防止由于網絡過深而引發(fā)的梯度彌散問題。

更改后的殘差單元結構中的XL可以看作是Xl和殘差ε的累計,實現了真正意義上的殘差,改進后單元結構的殘差計算式

網絡在執(zhí)行反向傳播操作時,?Xl/?XL梯度可以完全回傳,并且信息傳遞更暢通。

2.3 自動可變形卷積

目標在圖像中通常呈現出不同的大小、不同的姿態(tài)甚至不同的角度。在檢測此類目標時,傳統的網絡完全依賴于訓練數據集本身所具有的多樣性,而不是網絡模型內部所具有的應對機制。

在每個卷積核的采樣點上添加一個偏移變量Δpn[17],給予卷積核形變的特性。加上該偏移的變量后,網絡會根據反向傳播的誤差學習偏移量,自動地對卷積核的形狀進行調整。因此,可變形卷積核的大小和采樣點的位置,可以依照圖像內容進行動態(tài)調整,而不再局限于之前的規(guī)則格點,進而網絡模型可以憑借自身的內部機制增強空間幾何形變的適應能力。

圖5 以一個3×3卷積核為例,其中空心點表示大小為3×3的卷積核的9個采樣點,箭頭表示可變形卷積中增大的偏移量,實心點表示變形后采樣的位置。網絡會根據原采樣點的位置,學習一個偏移量Δpn,得到新的卷積核。

圖5 常規(guī)卷積和可變形卷積目標的檢測Fig.5 Traditional and deformable convolution target detections

首先需要從輸入圖像或者特征圖X上采樣9個位置,傳統卷積神經網絡中這9個采樣點的位置是固定不變的,集合R定義了感受野的大小,用于在輸入特征圖X上采樣。

式中:(-1,-1)代表X(p0)左上方的采樣點;(1,1)代表X(p0)右下方的采樣點。

對于輸出特征映射y上的每個像素p0而言,得到

式中:pn枚舉了R中的位置;y(p0)輸出特征映射y上的每個位置p0;w是權值;x(p0+pn)是p0+pn位置的輸入特征映射。

對于自動可變形卷積而言,需要在輸入圖像以及特征圖X上采樣9個點,在每一個pn上增加一個偏移量Δpn,集合R中元素通過偏移量{Δpn|n=1,…,N}變化(其中,式(7)變?yōu)?/p>

如此一來,采樣將發(fā)生在具有偏移量的不規(guī)則的位置上。

可變形卷積單元有以下幾點優(yōu)勢:首先,可變形卷積是卷積的一般化,它不僅可以定義所有傳統的卷積,可以自由地改變卷積的形狀,這為形成CNN結構提供了更大的自由度;其次,卷積核的形狀是不需要手動調整而是在反向傳播中學到的;最后,可變形卷積對圖像的適應性比常規(guī)的卷積操作更強。

3 實驗結果與分析

為了體現本文算法的優(yōu)越性,分別與傳統的目標檢測算法DPM、Faster RCNN、SSD進行比較。為了驗證改進網絡模型的有效性以及魯棒性,本文將分別對呈現不同旋轉角度的圖像和存在嚴重遮擋、檢測目標不完整的圖像進行檢測。

3.1 數據集

在檢測工作開始前,需要在ImageNet的物體分類數據集上做預訓練,將預訓練模型的參數作為目標檢測模型的初始化參數,使用Pascal_VOC(Pattern Analysis Statistical Modelling and Computational Learning,Visual Object Classes)數據集[18]對預訓練模型進行微調。該數據集包含了人、交通工具、動物、室內物品四大類共20個細分類的圖像數據,訓練集和測試集總計包括17 125張圖像。

3.2 不同旋轉角度

將待檢測圖像進行旋轉,使得圖像中的目標呈現出不同的角度,以此作為目標發(fā)生幾何形變的代表。檢測結果如圖6所示。DPM算法對發(fā)生形變的目標適應性不強,只檢測出目標的局部;SSD算法在檢測緊湊的多目標時,沒有將獨立的目標分別檢測出,而是框取了整張圖作為最終的檢測結果,且標簽概率值很低;Faster RCNN對不同旋轉角度的目標存在大量漏檢、檢測不完整等諸多糟糕的情況。由于本文算法引入了可變形卷積,可以根據當前需要識別的圖像內容進行動態(tài)調整,因此對發(fā)生角度旋轉變化的圖片仍保持著較強的適應性。

圖6 旋轉角度的目標檢測結果Fig.6 Detection results of rotated targets

從檢測結果中可以看到,每個算法對“貓”的檢測效果都很好,這是因訓練集中“貓”的圖像多樣性。驗證了傳統網絡對不同姿態(tài)的目標的應變能力完全來源于訓練數據集本身的多樣性這一說法。

3.3 目標遮擋

為了檢驗本文算法對檢測被遮擋的目標的適應能力,人為的用方框將圖中的目標進行不同程度的遮蓋,其中最大遮擋率達到50%。四種算法的檢測結果如圖7所示。

圖7 存在遮擋的目標檢測結果Fig.7 Detection results of partially blocked targets

DPM算法的檢測結果僅標注出了目標的局部;SSD算法對遮擋面積小的目標表現良好,但對遮擋面積較大的目標卻無法準確檢出;Faster RCNN算法只能確定目標的大體位置,但目標檢測不完整,甚至出現誤檢為兩個目標的情況;相比而言,本文的檢測效果相對理想,這是因為本文算法不但能夠很好地學習目標細小的特征,而且對目標整體的特征也能保證良好的學習效果。

4 檢測結果評價

本文依據評價標準,客觀地評價各種算法在檢測目標時的準確性。

目標檢測不但要識別出候選框里面的物體,還需要定位出物體候選框的精確位置,二者共同決定了目標檢測的準確性,通常用平均精度均值(Mean average precision,MAP)表示,MAP值實質上是指P-R曲線與坐標軸所構成的面積,該面積越大,則說明算法性能越優(yōu)。

P-R曲線圖通常是以召回率R為橫軸,準確率P為縱軸進行繪制,二者的關系呈現出負相關。準確率P計算式

召回率R計算式

式中:TP代表被正確檢測出的數目;FP代表被錯誤檢測的數目;FN代表漏檢的數目。

圖8 為四種目標檢測算法的P-R對比圖。隨著R值增大,四種算法的P值都下降。當R小于0.4時,本文算法的P值稍低于Faster RCNN算法;當R大于0.4時,本文算法的P值明顯高于其他三種算法,MAP值最高,達到75.6%,表明本文算法的性能更具有優(yōu)越性。

圖8 準確率-召回率曲線圖Fig.8 Curves of precision rates and recall rates obtained by different algorithms

5 結論

本文參考當前最新型的網絡以及各領域的先進理論技術,結合深度學習知識在FasterRCNN算法的基礎之上進行改進。改進算法對小目標、發(fā)生形變的目標以及重疊度大的目標檢測有很好的檢測效果。通過實驗驗證了改進模型在檢測有遮擋和分辨率低以及不同旋轉角度等目標時具有更強的魯棒性。對測試圖像進行了準確性對比分析,本文算法的平均精度達到75.6%,優(yōu)于其它模型,有較大的實用性。

猜你喜歡
殘差卷積圖像
基于全卷積神經網絡的豬背膘厚快速準確測定
基于殘差-注意力和LSTM的心律失常心拍分類方法研究
融合上下文的殘差門卷積實體抽取
基于生成對抗網絡的CT圖像生成
一種基于卷積神經網絡的地磁基準圖構建方法
基于3D-Winograd的快速卷積算法設計及FPGA實現
一種并行不對稱空洞卷積模塊①
淺析p-V圖像中的兩個疑難問題
巧用圖像中的點、線、面解題
基于殘差學習的自適應無人機目標跟蹤算法