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