沈陽理工大學 周 越 周開強 曹玉穎
隨著當今人們物質(zhì)生活的極大提高,對于出行的交通工具需求也在不斷的提高,車輛成為了當前人們的生活必不可少的東西,隨之而來的是交通秩序的混亂,為了減少道路的交通擁堵,交通事故等,保證行車者的安全和便利,對于實時監(jiān)測車輛安全,必不可少。當前比較普遍的能夠?qū)崟r的監(jiān)測車輛的算法大部分是基于匹配法、光流法或者幀差法等。后來逐漸出現(xiàn)了卷積神經(jīng)網(wǎng)絡以及CNN還有幾何約束算法能夠做到實時檢測車輛。
本文是基于YOLO算法下的實時車輛檢測,YOLO算法是當下比較流行的object detection算法,速度也比較快,大約能每秒處理45幀,它與傳統(tǒng)的RCNN系列算法不同,它以不同的處理方式對目標對象進行處理檢測,首先將整個的圖像放在一個實例中,并預測這些框的邊界框坐標和及所屬類別概率。YOLO算法可以把在檢測失誤(把背景中與目標無關的檢測成物體)的錯誤率能夠降到一半左右,準確率很高。
與傳統(tǒng)的two stage的算法先提取ROIS不同,YOLO的整個的過程就是先利用多層卷積網(wǎng)絡提取圖片的全局信息,最后用全連接層來進行目標邊界框(矩形)的預測和回歸。YOLO算法先將整個圖片進行分割,把它變成一個SxS的方格(如圖1),這樣做的目的是為了檢測識別出目標。
圖1 特征提取示意圖
假設在識別過程中某個目標物體的中心落在了一個格子中,這個對應的格子就負責檢測出這個目標物體。此時這個格子開始對目標物體進行特征提取,每一個格子都會預測出b個目標物體的邊界框,并且預測出每一個格子要檢測每個目標物體的概率和偏移量。每個格子的邊界框負責預測5個值(x,y,w,h,confidence)。其中x,y分別表示預測的目標物體的邊界框的中心坐標,w,h表示的是相對于整個圖片來說目標物體的邊界框的寬和高。confidence表示的是一個目標物體的邊界框是否包含物體的置信度。它的形式化定義如下:(object)表示如果格子中有物體,那么這個值為1,否則為0。后面的IOU表示的是預測的邊界框與實際的標簽邊界框的IOU值。它們的乘積表示的就是一個邊界框是否包含物體的置信度。
當格子中檢測到存在目標物體時,每個格子預測c個概率,檢測時,將C個概率和單個置信度相乘,可以得到基于class即每個類別的概率以及邊界框的精確度。公式如下:
YOLO算法的目標檢測也就是一種回歸問題,它采用的是均方差損失函數(shù),即(預測坐標-實際坐標)的平方+(預測概率-實際概率)的平方,但是實際檢測大多數(shù)方格是沒有目標物體的,損失函數(shù)公式如下:
他由四部分組成:
YOLO算法進行目標檢測的過程中會根據(jù)IOU找到預測物體中最大的物體進行訓練,邊界框會和實際標注的物體最貼近的最大物體進行檢測,所以YOLO算法對圖片中的大物體檢測的效果最好。
實現(xiàn)對前方街道的實時車輛檢測如圖2、圖3所示。
圖2 結(jié)果
圖3 結(jié)果
結(jié)論:通過對車輛檢測的研究,深入學習了YOLO算法的檢測原理和工作流程,針對當下人工智能對實施目標車輛檢測即以后的智能交通都很有意義。結(jié)果表明YOLO算法的速度快準確率高,可以滿足以后的智能交通對目標車輛的檢測識別。