李少博 董世浩 夏宇航 張一博 張佳玉 張 哲 符竹子 胡文成
(1.長安大學 信息工程學院,陜西 西安 710064 2、長安大學 學生工作部,陜西 西安 711064)
隨著經濟與社會的發展,各大城市車輛保有量不斷提高,越來越多的人選擇乘車出行,但隨之而來的交通問題也越來越嚴重。根據統計的數據可以看出:近些年來,交通事故數量不斷增加。其中,非機動車事故發生率的增長尤為明顯。《交通安全法》第五十一條規:摩托車行駛時,駕駛人及乘坐人員應當佩戴符合國家規定標準的安全頭盔,并系扣牢固。駕駛人不得在乘坐人員未按照規定使用安全頭盔的情況下駕駛摩托車。騎電動自行車出行,一旦出事故,就是“肉包鐵”。事故發生時,駕駛人或者乘坐人幾乎沒有時間、也沒有辦法保護頭部免受碰撞。
對于非機動車安全出行,戴頭盔,是最簡單而又最有效的保命措施。據相關數據顯示,在已發生的非機動車的道路交通事故數據中,我們可以知道正確佩戴安全頭盔的良好習慣能夠將非機動車的道路交通事故死亡風險降低60%至70%,佩戴頭盔可使電動車事故人員頭部受傷、顱腦損傷幾率分別減少63%和88%。因此駕乘摩托車、電動車出行須佩戴安全頭盔。
頭盔檢測的基本原理屬于目標檢測的范疇,對于圖像來說,我們先以某種方式在輸入圖片上生成一系列可能包含物體的區域,這些區域稱為候選區域,在一張圖上可以生成很多個候選區域。然后對每個候選區域,可以把它單獨當成一副圖像來看待,使用圖像分類模型對它進行分類,看它屬于哪個類別或者背景(即不包含任何物體的類別)。但如果沒有一個合適的策略進行候選區域的劃分,那么產生的計算量是十分巨大的。于是,在頭盔識別文中,對于輸入的圖像要能夠劃分出合適的候選區域即錨框,然后運用CNN 方法提取特征進行分類識別,這屬于兩階段算法。本文進行頭盔檢測的模型為YOLOv4 使用的是單階段檢測算法[4],只使用一個網絡同時產生候選區域并預測出物體的類別和位置。
頭盔檢測模型算法的基本思想可以分成兩部分:
3.1 按一定相關的算法以及操作先在若干張圖片上產生一系列的候選區域,然后根據這些候選區域與所選取圖片上物體真實框之間的位置關系對圖片上的候選區域進行標注。當檢測到真實框足夠接近那些圖片上的候選區域會被標注為正樣本,同時將所檢測到的真實框位置作為正樣本的目標位置。當檢測到偏離真實框較大的候選區域則會被標注為負樣本,負樣本則不需要進一步操作。
3.2 使用YOLOv4 模型對圖片特征進行提取并對所測圖片候選區域的位置和類別進行預測。將每個預測框看成是一個樣本,然后再根據所測真實框相對預測框的位置和類別進行了標注從而獲得標簽值,然后再將網絡預測值和標簽值進行比較,就可以建立起損失函數。
其關鍵核心部分包含兩個方面:
(1)生成錨框,標注預測框
第一步生成錨框,將原始圖片劃分成m×n 個區域,即將每32x32 個像素區域歸為一個小塊,YOLO 以每個小塊為中心生成一系列錨框。第二部標注預測框tx,ty,tw,th為調整錨框的參數,bx,by,bw,bh為真實框的位置,運用以下四個公式求解出(t*x,t*y,t*w,t*h)。

則(t*x,t*y,t*w,t*h)就為真實框的位置參數。
(2)確定網絡結構
YOLOv4 的骨干網絡是Darknet53,通過卷積神經網絡逐層提取圖像特征,通過最終的輸出特征圖來表征物體位置和類別等信息。該網絡結構采用非對稱卷積,一方面節約了大量參數的運算時間,減輕了過擬合,另一方面增加了一層非線性擴展模型的表達能力。這種非對稱的卷積結構拆分,其結果與對稱卷積結構拆分相比,可增加特征的多樣性。
如圖1 所示,除去CSPDarknet53 和Yolo Head 的結構外,都是基于特征金字塔的結構。SPP 結構是在對CSPdarknet53 的最后的特征層卷積里進行三次DarknetConv2D_BN_Leaky 卷積后,再分別利用四個不同尺度的池化層進行處理,最大池化層的池化核大小分別為13*13、9*9、5*5、1*1,它能夠極大地分離出最顯著的上下文特征。PANet 是2018 的一種實例分割算法,其具體結構由反復提升特征的意思。

圖1 訓練主干網絡
(3)訓練配置
神經網絡訓練指對人工神經網絡訓練。向神經網絡訓練輸入足夠多的樣本數,通過一定算法對網絡的結構進行一定的調整(主要是調節權值),使的輸出結果與預期值相符。其中調解權值的標準是通過損失(loss)來實現的。在本文中,模型訓練過程要通過不斷迭代尋找最優參數a,使得所測的實際值與預測值更為接近。由于本文是對摩托車駕駛員頭盔進行目標檢測,因此優化器的選擇十分重要,IoU 是比值的概念,對目標物體的scale 是不敏感的。然而常用的BBox 的回歸損失優化和IoU 優化不是完全等價的,尋常的IoU 無法直接優化沒有重疊的部分。CIOU 將目標與anchor 之間的距離,重疊率、尺度以及懲罰項都考慮進去,使得目標框回歸變得更加穩定,不會像IoU 和GIoU一樣出現訓練過程中發散等問題。而懲罰因子把預測框長寬比擬合目標框的長寬比考慮進去。
本文用到的數據樣本為6251 不同的含頭盔人物圖片和對應的標簽文件。該數據樣本主要通過網絡搜索等途徑獲得。將總數據集的80%劃分為訓練數據集,20%劃分為測試集,分別訓練和檢驗模型。設置頭盔檢測模型的訓練步數為4000,學習率為0.015。在整體的訓練過程中,每次都會隨機選取200 張圖片進行訓練,并進行交叉驗證,每次在迭代100 步時在驗證集上獲得正確率,最后通過測試分類的概率對頭盔檢測模型訓練情況進行評價。測試結果如圖2 所示。

圖2 測試結果折線圖
可見訓練結果在測試集上的運行結果,每張圖片都有50%以上的置信率。本文的卷積神經網絡模型中,通過行人規范檢測系統傳入回來的街口攝像頭拍下的圖像,輸入已經搭建和訓練完成的模型中,經過神經網絡的學習過程擬合,輸出此圖像的分類結果,分類于識別出人未帶頭盔、人且戴頭盔兩大類型中。
本文采用深度學習的方法,結合YOLOv4 卷積神經網絡特點,模擬神經元的學習功能,對6251 不同的含頭盔人物圖片和對應的標簽文件進行訓練,(其中將總數據集的80%劃分為訓練數據集,20%劃分為測試集。)實現檢測非機動車駕駛人是否戴頭盔的功能,即實現頭盔識別,并保證其較高的精確度。在確定非機動車位置基礎上,結合YOLOv4 模型的特點,已經模擬神經元的學習與訓練功能,建立相應頭盔檢測神經網絡模型,在搭建的神經網絡各層次中調整偏置項,進而訓練得到有效的神經網絡模型,實現非機動車駕駛人是否戴頭盔檢測功能,機動車是否闖紅燈監測功能、行人是否闖紅燈監測功能,并保證其較高的精確度。通過有效的懲罰制度對非機動車和電動自行車的監管,可以有效減少非機動車和電動自行車的交通事故,使人們養成良好的交通習慣,規范駕駛員的交通行為