周華平,殷 凱,桂海霞,姚尚軍,丁金虎
(1.安徽理工大學 計算機科學與工程學院,安徽 淮南232000;2.淮北礦業物業管理服務有限公司,安徽 淮北235000)
在計算機視覺任務中,常常面臨一個基本問題:怎樣理解現實世界中的場景結構? 在現實世界中,人們通過視覺獲得的外部信息達到80%以上。人眼就如同監控器一樣,我們通過視覺獲得的信息往往是一段動態視頻。而當提取監控器所記錄的視頻信息時,往往先將其拆分為一張一張的圖像,通過對圖像的分析來理解所記錄視頻的全部信息,理解圖像的意思意味著理解真正的場景。圖像處理越來越重要,并且目標檢測是圖像處理和計算機視覺任務的基礎。目標檢測任務不僅僅是單純地檢測目標是否在圖像或者視頻中,更重要的是能夠確定目標所在的位置。比如,當進行一個人物的目標檢測時,在一張圖像中,可能存在一個甚至多個人物目標,可以輕松地判定圖像中有人;然而,當想要在圖像中確定目標人物出現的位置時,往往需要以某種方式探索。
目前,卷積神經網絡[1]廣泛應用于各種領域。在目標檢測領域中,區域卷積神經網絡R-CNN[2]顯著地提升了目標檢測器的準確率和運行速度,并且以R-CNN 及其變體Fast R-CNN[3]和Faster R-CNN[4]為代表的二階段目標檢測網絡一直在各個常用的目標檢測數據集上獲得最高的準確率。相比AlexNet[5],VGG16[6]等特征提取網絡,ResNet[7]具有更好的提取圖像深層信息的能力。在使用Batch Normalization[8]解決了模型的收斂問題之后,原則上ResNet的深度可以持續增加,He等[9]使用ResNET來解決增加模型的深度反而導致訓練誤差的增加。
Faster R-CNN目標檢測網絡主要分為兩個步驟:① 定位目標。通過輸入一張圖片進入特征提取網絡,經過一系列的卷積、池化操作來提取圖像的特征圖,目標檢測任務不僅是檢測目標,還有通過RPN網絡在特征圖上找到定位的候選目標。② 對目標的特定類別進行分類。范圍框回歸器用于修改候選目標的位置以生成最終候選目標區域,而softmax分類器用于識別候選目標的類別。本文使用分類網絡來判別候選區域是否屬于人,從而實現對目標人物的檢測。Faster R-CNN結構如圖1所示。

圖1 Faster R-CNN結構Fig.1 Faster R-CNN Structure
1.1.1 ResNet
本文通過對基于卷積神經網絡的ResNet-101模型進行改進來完成對目標人物的特征提取,相比AlexNet,VGG16等特征提取網絡,其特點如下:
(1) ResNet采用“shortcut”恒等映射網絡的快捷連接方式,既不會產生附加參數也不會增加計算復雜度。如圖2所示,快捷連接簡單地執行身份映射,并將其輸出添加到疊加層的輸出中。通過SGD反向傳播,使整個網絡可以以端到端的形式進行訓練,從而使得網絡性能一直處于最優狀態。
Xl+1=Xl+F(Xl,Wl),
(1)
Xl+2=Xl+1+F(Xl+1,Wl+1)=
Xl+F(Xl,Wl)+F(Xl+1,Wl+1),
(2)
(3)
(4)
式中,網絡輸入值為Xl,網絡輸出值為Xl+1,Xl+2,…,XL,ε,網絡殘差塊為F(Xl,Wl),F(Xl+1,Wl+1)。

圖2 殘差網絡模型Fig.2 Residual network model
(2) ResNet采用“Bottleneck design”網絡設計方式結構,使用1×1的卷積改變維度,3×3卷積繼承網絡性能,并使3×3卷積的輸入輸出特征圖數量得到控制。在層數較高時減少了3×3卷積個數,使得在增加網絡深度和寬度的同時,大幅降低了卷積參數的個數和計算量。
1.1.2 改進的特征提取網絡
在傳統ResNet-101的基礎上,結合圖片的特點,嘗試改進殘差結構,通過增加網絡的寬度,提取人物深層特征使網絡學習到關鍵性的可區分特征,提出了一種改進的深度殘差網絡結構,從而提高目標人物的識別精度。本文使用的殘差單元如圖3所示,采用兩個并列的3×3卷積層。其中1×1的卷積層作用是改變維度,兩個并列的3×3卷積層繼承了VGG網絡的性能,單元采用預激活方式,所有的卷積層都使用ReLU作為激活函數,即在使用激活函數和卷積操作之前先進行批正則化,這種結構與原始殘差單元相比在訓練參數上相差不大,但后續實驗表明,本文提出的殘差單元結構對目標人物的檢測和模型的性能都有明顯提升。

圖3 殘差單元結構設計Fig.3 Structural design of residual element
區域生成網絡(Region Proposal Network,RPN)具體結構如圖4所示。

圖4 RPN網絡Fig.4 RPN network
特征提取網絡提取圖片特征時,是由低層向深層的一個過程,每一層都有各自的RPN,通過提取出的不同尺度的feature map來生成候選區域,不同比例對應的的RPN不同。當深層神經元接受范圍擴大時,相應的錨定箱尺寸也增加。候選面積越大,RPN越小。在獲得候選區域之后,特征通過RI pooling被轉換成統一大小,并且最終將其發送到分類器,從而完成整個Faster R-CNN過程。
在RPN結構中,滑動窗口對特征圖進行卷積操作產生n維特征向量,產生的特征向量輸入到回歸層和分類層。其中,滑動窗口滑動一次會預測出k個區域建議,回歸層需要預測出包圍框的寬高和中心坐標,分類層需要辨別建議框是前景還是背景的概率,因此回歸層需要輸出4k個坐標,分類層包含2k得分。RPN網絡進行的是端到端的訓練過程,使用反向傳播法和梯度下降法進行調優。在訓練時,RPN使用重疊交并比IoU進行正負標簽的分配,IoU>0.7時分配正標簽,IoU<0.3分配負標簽。
檢測網絡在Faster R-CNN中進行感興趣區域(Region of Interest,ROI)池化操作。網絡由邊框分類網絡與邊框回歸網絡構成,并含有兩個平行的輸出層。在ROI提取通過RPN對應的區域特征后,使用檢測網絡對得到特征進行人物分類和邊界框的預測。分類層的輸出是人類和非人類分類中每個框架的概率分布;回歸層輸出的則是邊框位置參數。此階段的損失函數為:
L(p,m,tm,n)=Lcls(p,m)+λ[m≥1]·Lreg(tm,n),
(5)

(6)
本文人物數據集包含320張圖片,選擇300張圖片作為訓練集,20張圖片選為測試集,使用Image Labeler工具對圖片進行標注,測試集圖片尺寸更改為227×227 px。使用Matlab 2018b作為實驗平臺,實驗所用設備為Windows 8.1家庭版64位,采用CPU為Intel(R)Core(TM)i5—5200U @2.20 GHz,內存4 G,GPU為NIVDIA GeForce 830 M,Cuda9.1實驗過程中調用GPU進行加速運算,學習率設定為0.000 1,共進行1 000次迭代。
從表1可以得出,改進后的模型準確率最高,比原始模型的準確率高出1.6%,即對于AlexNet和原始的特征網絡,改進后的特征網絡能夠更好地提取圖片特征,可以更加準確地檢測目標。同時,改進后的ResNet101網絡模型mAP數值最高,即目標網絡模型性能相對較好,從而增加模型的識別精度。所以改進后的模型檢測效果相對較好。

表1 不同特征網絡下的準確率和mAP值Tab.1 Accuracy and map value under different characteristic networks
由圖5可知,訓練集中樣本的數量不同對目標檢測的準確率有一定的影響,識別精度會隨著訓練樣本的增加而提高。在不同訓練樣本下,改進網絡的識別精度一直高于原始網絡,在低樣本的情況下準確率明顯高于原始網絡,說明改進后的特征網絡能夠更好地提取圖片特征,提高識別精度。

圖5 不同訓練集下的準確率Fig.5 Accuracy under different training sets
針對人物識別的準確率以及人物定位精度,在基于Faster R-CNN框架的基礎上提出了一種改進其特征網絡ResNet-101的方法。并用人物圖像訓練模型,最后得到人物檢測和定位的結果如圖6和圖7所示,可以得到如下的結論。

圖6 單目標人物檢測率Fig.6 Single target detection effect

圖7 多目標人物檢測率Fig.7 Multi-target character detection effect
① 改進基于卷積神經網絡的ResNet-101特征提取網絡設計,為了讓模型對目標更加敏感,本文在原始網絡的基礎上增加了網絡的寬度,該改進使網絡學習到關鍵性可區分特征,從而提高目標人物的識別精度。
② 相對原始模型,改進的Faster RCNN模型對人物識別的準確度提升了1.6%,并且在一張圖片上含有多個人物時依然能夠精確地定位識別人物在圖像中的位置,這充分說明了改進的Faster RCNN的魯棒性更強。
以Faster RCNN框架為基礎,提出了一種改進的特征網絡模型。實驗結果表明相對于傳統方法,改進方法在測試精度和泛化能力上都有比較明顯的優勢,驗證了本文所提出方法的有效性。隨著深度學習的快速發展,目標檢測技術已經取得了長足的進步,但是與人眼分辨物體的能力還有一定差距。為了使目標檢測更好的應用在生活中,在接下來的研究中,將繼續擴充數據的規模、充實樣本的多樣性以及通過對RPN的改進來提升模型的性能,同時將改進的技術應用于視頻檢測當中。