付云霞
(成都理工大學,四川 成都610059)
用于行人檢測的算法由最初的傳統目標檢測算法慢慢演進到基于深度學習的方法,這些算法在檢測方面都有不錯的效果。目前常用的方法有:HOG[1]、SIFT[2]、R-CNN[3]、Fast R-CNN[4]、Faster R-CNN[5]、YOLO 系列等。由Redmon 等[6]提出的YOLO 和YOLOv2 算法,由于檢測速度相對其他算法較快,從而被廣泛的應用于行人檢測中。即便如此,行人檢測算法當下仍存在誤檢率較高、實時性比較差等問題。下圖為一些在目標檢測中常用的算法。

YOLOv1 在檢測速度方面與其他算法相比有一定的提升,但缺陷也較多,主要體現在目標定位的準確度較低、針對小目標其檢測效果相對較差、計算量大。YOLOv2 針對YOLOv1 的缺陷,進行了一些改進,在檢測上有了一定的提升,但仍然不夠。后YOLOv3 在YOLOv2 上做了進一步的改進,實現多尺度檢測、修改了損失函數和anchor box 的數目,改進了基礎特征提取網絡。不僅保證了速度,還提高小目標的檢測精度。
下圖為文獻[7]給出的網絡結構圖。
YOLO 主要依靠卷積神經網絡[8]來完成。該網絡是一個多隱層的人工神經網絡,由大量卷積單元所組成的卷積層是卷積神經網絡中的重要組成部件,大部分計算量由它承擔,也是包含參數最多的地方。以下將對卷積層進行簡介。
卷積層的目標特征借助卷積運算來提取,提取目標特征可理解為f 和g 生成第三個函數的數學算子,代表f 與g 的重疊面積,g 會經過翻轉、平移,演算過程如下:

積分形式:

記圖像為 f( x ,y) , 二維卷積函數為 g( x, y),輸出圖像(z x, y)可表示為:

該運算以卷積核作為計算參數實現圖像的特征提取。卷積運算的表達式在二維圖像輸入時,如下:

積分形式:


給定尺寸是m*n 的卷積核,那么:

借鑒YOLOv3 對YOLO 網絡進行改進,將特征提取的網絡改為62 層的ResNet[9]。使得YOLO 網絡更深。同時為提高檢測效果將特征金字塔結構進行了引入。池化層被步長為2 的卷積層所代替。輸入圖片由416x416 尺寸經過一系列操作最后輸出尺寸為13x13。
假設輸入層為5x5,卷積核為3x3,輸出神經元的過程如下:

W 表示權重,I 表示輸入,在激活函數 σ中輸入上式所得值可獲得輸出值:

若圖片三個通道輸入如下:

卷積計算:

此時,

重復上面的計算過程,可得特征圖。
用交叉熵損失函數代替激活函數,邊界框的尺寸誤差在采用均方差函數的情況下表達式為:

進行歸一化后的誤差表達式:

中心坐標誤差:

置信誤差:

概率誤差:


通過對YOLO 算法的初步了解,以及改進發現其在行人識別的應用上有極大的改進空間。后續將對YOLO 算法做更加深入的理論分析,進一步的改進,在行人檢測應用上進行實際測試。