李彤暉,宋曉茹
(西安工業(yè)大學電子信息工程學院,西安 710021)
有遮擋的行人檢測作為機器視覺的熱門研究方向,主要分為兩類情況:一類為包含建筑、車輛、樹木等其他物體對于行人的遮擋造成目標信息的缺失;另一類則為行人之間的相互遮擋,多姿態(tài)動作引入大量干擾信息,均會導致檢測精度降低與誤檢問題的發(fā)生。
近年來,有遮擋的行人檢測受到國內(nèi)外科研工作者的廣泛研究,取得了良好的發(fā)展。Enzweiler等[1]提出了具有部分遮擋處理的多線索行人分類方法,通過檢查遮擋邊界來確定可見性的程度,依賴于遮擋的分量權重將專家分類器的混合決策集中于未遮擋的行人身體部分;Wojek 等[2]提出一種在跟蹤器中加入遮擋背景的3D模型場景,并使用HOG+SVM[3]訓練遮擋背景的檢測器,實現(xiàn)多對象跟蹤,但人力物力成本太高;蔣勝等[4]提出一種基于區(qū)域的全卷積網(wǎng)絡,使用強化學習方法將行人和復雜干擾區(qū)域劃分,緩解了傳統(tǒng)網(wǎng)絡的誤檢問題;Zhang 等提出一種基于Faster-RCNN[5]架構的、簡單緊湊的行人遮擋檢測方法[6],在單個模型中使用跨通道的注意機制來表示各種遮擋模式,引入自我或外部引導的注意力網(wǎng)絡提升網(wǎng)絡對行人目標的關注度,但檢測速度有待提升。
在此基礎上,本文設計KSE-YOLO 檢測模型,以提升識別算法魯棒性與檢測精度,降低誤檢率。首先優(yōu)化初始中心點的選取,使得目標框與真實框更為接近,以降低模型誤檢率;其次在骨干網(wǎng)絡中引入SENet 模塊[7],增強通道之間的學習能力,提升對于行人目標的關注,進而提升檢測精度;最后在公開數(shù)據(jù)集上將改進KSE-YOLO 與三種主流檢測算法進行對比分析實驗,以證明改進模型檢測性能的提升。
采用YOLOv5m 作為基礎識別網(wǎng)絡在研究后進行改進,原網(wǎng)絡主要分為以下四個部分:
輸入端,包括數(shù)據(jù)增強,自適應錨框計算與圖片縮放。Mosaic 數(shù)據(jù)增強隨機縮放、剪裁、排布4 張圖片拼在一起,可同時處理4 幅圖片并添加更多小目標;網(wǎng)絡每次訓練時在初始錨框的基礎上輸出預測框,自適應計算與真實框的差距,獲得最好錨框值后反向更新,迭代網(wǎng)絡參數(shù);為減少信息冗余問題,網(wǎng)絡給原始圖像自適應地添加最少的黑邊后統(tǒng)一縮放到一個標準尺寸,再送入檢測網(wǎng)絡中,提升模型實時性。
骨干網(wǎng)絡,由CSP、SPP 與Focus 三個模塊構成。CSP 模塊將基礎層特征映射先劃分再跨階段層次結構合并,提升神經(jīng)網(wǎng)絡的學習能力,在不影響精度的情況下提升模型實時性;SPP模塊采用輸入圖像分布最大池化,再通過Concat操作拼接融合特征,提高模型檢測精度;Focus關鍵為切片操作,輸入圖像后由通道每個區(qū)域每隔固定步長取值進行切片操作,再將所有的切片按通道連接,經(jīng)過一次卷積操作,最終得到特征圖。
頸網(wǎng)絡,核心為FPN 和PAN 結構,F(xiàn)PN 結構將高層的、大目標的類別特征向低層傳遞,PAN 結構將低層的、大目標的位置特征和小目標的類別、位置特征向上傳遞,兩者互補并克服各自局限性,強化模型特征提取能力。
預測端,使用加權NMS 對多目標和有遮擋的目標增強識別能力,獲得最優(yōu)目標檢測框;損失函數(shù)使用CIOU_Loss,考慮目標框回歸函數(shù)的重疊面積、中心點距離、長寬比三個重要幾何因素,有效解決邊界框不重合的問題,提高了預測框回歸的速度和精度。
K-means 是基于劃分方法的無監(jiān)督聚類算法,通過歐氏距離從樣本中隨機選取K個質(zhì)心作為初始聚類中心,計算選取樣本距離最近質(zhì)心點進行分配,得到K個不同的簇。該方法雖簡單有效,但不同的初始聚類中心可能導致完全不同的聚類結果。KSE-YOLO 模型采用K-means++聚類方法,優(yōu)化選擇初始質(zhì)心,對行人數(shù)據(jù)集中的真實框的尺寸進行聚類分析,選取與行人目標相匹配的先驗框尺寸,降低模型誤檢率。
K-means++聚類方法先從數(shù)據(jù)集中隨機選取一個樣本作為初始聚類中心并計算與每個樣本間的最短距離D(x);再計算每個樣本點被選作下個聚類中心的概率,使用輪盤法選取下一個聚類中心;不斷重復上述工作,直至選出K個聚類中心。
SENet通過對通道間的關系建模來提高網(wǎng)絡性能,使用全局的信息加強有用特征,網(wǎng)絡結構簡單且易于部署,如圖1 所示。其中Fsq表示采用全局平均池化壓縮每個通道的特征,使得靠近輸入的層也可獲得全局感受野;Fex由顯示通道間相關性的參數(shù)為每個特征通道生成權重。
圖1 SE模塊示意圖
在骨干網(wǎng)絡的每個CSP 模塊之后引入SE 模塊可提升模型對于通道之間的學習能力,將原CSP 模塊刪掉一個卷積層和與之相連的BN 層以保證算法實時性,并進一步加強行人相關特征,從而提高模型檢測精度,降低漏檢率,KSEYOLO的總體結構如圖2所示。
圖2 KSE-YOLO 網(wǎng)絡結構圖
INRIA 數(shù)據(jù)集是使用較多的靜態(tài)行人數(shù)據(jù)集,OTCBVS 數(shù)據(jù)集采集校園繁忙通道十字路口的行人圖像,均存在許多遮擋情況,故將兩者整合共提取5726 張圖片,包含15000 多個行人目標構建數(shù)據(jù)集,使用LabelImg 工具進行標注,將標注圖像從xml 轉換為YOLOv5 格式,按7∶2∶1的比例分為訓練集、測試集和驗證集。
為了衡量算法的性能,將檢測精度(Precision)、召回率(Recall)、均值平均精度mAP(Mean Average Precision)作為衡量算法性能的標準,mAP0.5:0.95表示閾值取0.5 到0.95 時,總體平均mAP值,計算公式如下所示:
其中,TP表示預測為正,實際為正;FN表示預測為負,實際為正;FP表示預測為正,實際為負;TN表示預測為負,實際為負。
3.3.1 實驗環(huán)境與參數(shù)設置
實驗操作系統(tǒng)為Windows10,CUDA 10.1,顯卡NVIDIA RTX 3090Ti*2 加速,輸入圖像尺寸為128 × 128,Python 編寫程序,Adam 優(yōu)化算法更新網(wǎng)絡參數(shù),模型參數(shù)設置如表1所示。
表1 模型參數(shù)設置
3.3.2 檢測結果與分析
KSE-YOLO算法的檢測結果如圖3所示,可得改進算法的檢測精度隨著步長迅速增長,最終穩(wěn)定在93.3%,在迭代40 次時,損失值大約在0.01 左右,mAP0.5:0.95已經(jīng)達到75%左右,且loss值下降收斂曲線較好。
圖3 KSE-YOLOv5算法檢測結果
從測試集中隨機選取不同場景下的行人圖片進行測試,結果如圖4 所示,圖中可以看出KSE-YOLO 算法對于遮擋行人目標的檢測精度較高,漏檢與誤檢率較低。
圖4 行人檢測結果
3.3.3 經(jīng)典算法對比結果與分析
在相同配置條件下進行KSE-YOLO 與主流目標檢測算法的對比測試,結果如表2所示。由表2 可得:與傳統(tǒng)YOLOv5m 相比,改進算法檢測精度提升3.2 個百分點,召回率提升4.5 個百分點,平均檢測精度提升6.9 個百分點;與YOLOv3、YOLOv4 相比,改進算法的各項評價指標均表現(xiàn)更優(yōu)。綜上,改進算法在進行遮擋情況下的行人檢測時,能夠保證較高的檢測精度和較低的漏檢率。
表2 模型檢測性能對比
針對目前存在遮擋的行人檢測中識別準確率不足以及誤檢率較高的問題,提出基于YOLOv5m 網(wǎng)絡的改進KSE-YOLO 檢測模型。采用K-means++聚類方法優(yōu)化初始質(zhì)心選取,提升算法魯棒性;在骨干網(wǎng)絡的每個CSP 模塊后引入SENet,提升網(wǎng)絡對于行人目標的關注度;最后在公開數(shù)據(jù)集上進行實驗。結果表明,改進算法在檢測精度、召回率與平均精度方面都有一定提升,可有效應用于遮擋環(huán)境下的行人檢測及其相關領域。下一步將在復雜環(huán)境下提高識別精度以及模型輕量化方向進行研究。