韓 峰 萬少松
(西京學院,陜西 西安710000)
在計算機視覺這個大領域下有眾多的分支研究,其中對生活中行人的檢測作為其分支之一是當下一個主流的研究,通過現有目標檢測算法模型加以改進研究以達到對行人檢測能有更好的性能。目標檢測算法發展到當下主要被分成了兩個類別:基于候選區域的目標檢測算法(兩個階段):常用的有Fast R-CNN[1]、Faster R-CNN[2],基于回歸的目標檢測算法(一個階段):常用的有YOLO[3],SSD。由Redmon 等人提出的YOLOv3 算法由于具有良好的識別率和實時性而被大量運用于行人檢測中。
YOLOv3 算法是基于v1、v2 算法的基礎上改進而來的,v3算法采用了分類效果更好的darknet-53,相比前2 個算法所用的ResNet-152 和ResNet-101,darknet-53 神經網絡層數更精簡,但在分類精度保持一致的同時計算效率有了提升。
FAST R-CNN 算法中使用的是候選區域特征提取,與之相比的YOLOv3 采取的方式是直接對一整張圖片來進行卷積步驟,這樣做的好處是可以加快計算速度,但對于訓練相對較大的物體,背景信息也可能被算成目標里的一部分,因此在檢測大物體時檢測效果相對較差。
YOLOv3 提取了darknet-53[5]中下采樣為8 倍、16 倍、32 倍時的特征圖圖像尺度分別為13*13、26*26、52*52。使用FPN 網絡[4]對darknet-53 網絡中提取的三個尺度不同的特征圖進行融合處理,利用多尺度信息策略幫助網絡模型能學習到不同深度的特征信息,最后將多種特征融合在一起并輸入YOLO 層進行類別預測和邊界框回歸運算。
每當圖像被卷積后,尺寸發生變化縮小成原來的一半。每個卷積層的實現是由卷積+BN 層+激活函數,設置添加后的殘差模塊在其基礎上需要進行零填充的設置。YOLOv3 共計算出10647 個數據的預測。
對于多尺度檢測來說,圖像的直接信息中就包含分辨率信息,就是構成目標需要的像素數量。像素的數目越高,目標圖像的語義信息就更加具體清晰,這意味著可以獲得的分辨率信息更多,因此大尺寸特征圖主要用來進行分辨率信息獲取。語義信息在目標檢測中的是用來區分出目標與背景之間的關系,因此語義信息就是能準確的分辨出哪些是目標哪些是背景。不同種類的語義信息需要的細節信息也不盡相同,而且語義信息的分辨率越小,能獲得的細節信息越少。對于小目標來講,尺度較小的特征圖無法提取有效的分辨率信息,這種時候還是需結合大尺度的特征圖的語義信息來進一步識別。
YOLOv3 算法通過結合殘差網絡的作用提出Darknet-53 網絡,并通過殘差結構降低了訓練的難度,Darknet-53 網絡實現了對多種目標的檢測。然而對于本文研究的行人目標檢測內容來說,Darknet-53 網絡是復雜冗余的。因為網絡層數越多,需要計算的參數就越多,這將導致訓練時間加長并且訓練變的復雜,會極大影響訓練的效率,造成過擬合,也會影響檢測的速度。
因此,本文在改進YOLOv3 算法時,使用darknet-19[6]網絡替代原有的darknet-53 網絡并結合YOLOv3 的多尺度檢測環節。Darknet-19 網絡如圖1 所示。Darknet-19 網絡去掉了殘差網絡降低了網絡結構的復雜性。

圖1
YOLOv3 通過把多種尺度信息融合的方式進行目標檢測,每一種特征圖都進行檢測,采樣倍數越高的特征圖就可以檢測更精細的目標,對于圖像中的小目標行人檢測效果有所提升。
YOLOv3 在darknet-53 網絡中選用了3 個尺度的特征層,本文則是在Darknet-19 中選擇4 個特征層,結合不同尺寸的特征圖分配相對應的錨點框,最終本文提出的多尺度檢測網絡結構模型如圖2 所示。

圖2
YOLOv3 中的損失函數由坐標回歸損失、置信度損失和分類損失組成,其中坐標回歸損失使用均方誤差(Mean Square Error, MSE)進行計算,置信度v1,v2 損失和分類損失使用交叉熵進行計算。
YOLOv3 的損失函數是v1,v2 函數改進而來, 分為三個部分:
坐標回歸損失函數:

本文是基于pytorh 框架進行實驗,操作系統是windows 10,64 位 ,CPU 為 AMD R5-3600,GPU 為 GeForce RTX2070Super。在訓練階段通過使用批量隨機梯度下降法來優化損失函數。
本文實驗訓練所需的數據來自INRIA 數據集,選取了該數據的1804 張圖片,含有行人3542 個。除此之外,本研究還在校內收集到了500 張含有行人的圖片,本文通過圖像標注軟件labelImg 進行信息標注,得到了校園中行人的數據集。
采用平均精度均值(mAP)對改進后的算法進行評估,實驗結果表明在自制數據集上檢測精度達到了71.56%。但改進后的算法對于遠距離的行人目標、受到遮擋的行人目標依然會出現無法識別的問題
本文通過對YOLOv3 算法的進一步了解,在現有算法基礎了進行了改進,充分發揮了算法在行人檢測中檢測速度和精度上的優勢。改進后的算法很好的完成了對自制數據集的檢測。
但從實驗效果來說,依然還需要去進一步的研究,從而對YOLOv3 算法進行更好的改進,提高對遠距離目標以及遮擋物的檢測水平。