楊科 王煒斌 徐維慶
摘 要:針對車載嵌入式系統(tǒng)開發(fā)需求,文章提出一種小型深度學(xué)習(xí)網(wǎng)絡(luò)的車位檢測方法。環(huán)視圖像的車位角點具有大小相近、分布均勻的特點,將整個環(huán)視圖像分割成若干個子圖像,裁剪深度網(wǎng)絡(luò)模型結(jié)構(gòu),使用小網(wǎng)絡(luò)對各個子圖像進行車位角點檢測,可以有效降低大圖像高算力的要求。實驗數(shù)據(jù)表明,以384*640圖像大小為例,將原圖像分割成128*128子圖像,子圖像的深度網(wǎng)絡(luò)算力要求為原圖像的1/15,而相應(yīng)的檢測性能沒有損失。
關(guān)鍵詞:深度學(xué)習(xí);車位檢測;環(huán)視圖像;網(wǎng)絡(luò)裁剪
中圖分類號:U461.99? 文獻標識碼:A? 文章編號:1671-7988(2020)13-155-04
A Parking Spot Detection Method Based On Small Deep Learning Network
Yang Ke, Wang Weibin, Xu Weiqing
( Pan Asia Technical Automotive Center Co., Ltd, Shanghai 201208 )
Abstract: According to the development requirement of vehicle embedded system, a parking spot detection based on small deep learning network is proposed. Due to the corner points of parking spot in the surrounding image have the similar size and uniform distribution, the whole surrounding image can be divided into several sub images. Correspondingly, the deep learning network model can be pruned. Using small network to detect the corner points in the sub images can effectively reduce the demand of high computing calculation. The experimental data show that, taking 384*640 image as an example, the original image is divided into several 128*128 sub images, and the calculation of each sub image is 1/15 of the original image. Meanwhile the detection performance of sub image has no loss, compared with the original image.
Keywords: Deep learning; Parking spot detection; Surrounding image; Network pruning
CLC NO.: U461.99? Document Code: A? Article ID: 1671-7988(2020)13-155-04
前言
自動泊車系統(tǒng)能夠有效解決城市停車難問題,近些年來是智能駕駛領(lǐng)域一個重要的研究方向。快速、準確地獲取車輛周邊的車位信息,是實現(xiàn)自動泊車功能的一個重要前提?;诔暡▊鞲衅鞯目臻g車位檢測方法,通過處理周邊障礙物回波信息,實現(xiàn)空閑車位檢測,當(dāng)前該類系統(tǒng)已配置于多個品牌的量產(chǎn)車型?;跀z像頭傳感器的視覺車位檢測方法,通過檢測圖像中的車位線(或車位角點)來獲取車位信息,視覺信息和超聲波信息相互補充,能夠有效增強車位檢測性能。視覺檢測方法又細分為傳統(tǒng)視覺檢測[1]和深度學(xué)習(xí)檢測[2]兩種方法。深度學(xué)習(xí)檢測方法通過不同場景圖像采集和網(wǎng)絡(luò)模型訓(xùn)練,能夠適應(yīng)于各類停車場的環(huán)境變化,在視覺檢測中具有較好的檢測優(yōu)勢。
深度學(xué)習(xí)網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜,隨著網(wǎng)絡(luò)層數(shù)的增加,檢測性能得到提升,同時會占用更多的運算資源。在車載平臺上,處理系統(tǒng)通常不會有充足的運算能力,因此在保障檢測性能的前提下,如何合理地使用車載運算資源,成為一個亟需解決的問題。本文開展基于深度學(xué)習(xí)的車位檢測方法研究,網(wǎng)絡(luò)模型的輸入圖像選用360環(huán)視圖像,該類圖像上的車位角點具有大小相近、分布均勻的特點,通過將環(huán)視圖像分割為若干個子圖像,同時對深度網(wǎng)絡(luò)模型進行相應(yīng)的裁剪,實現(xiàn)“小網(wǎng)絡(luò)”對“子圖像”的車位角點檢測。最后實驗數(shù)據(jù)驗證了該方法的有效性。
1 基礎(chǔ)網(wǎng)絡(luò)模型
經(jīng)典的深度學(xué)習(xí)檢測模型有Faster-RCNN[3]、SSD[4]、YOLO[5]等,其中YOLO模型經(jīng)過多次改進和性能提升,第三代YOLO(YOLOv3)在檢測性能和運算速度上都有較好的表現(xiàn),因此本文選用YOLOv3作為基礎(chǔ)網(wǎng)絡(luò)模型。
YOLOv3網(wǎng)絡(luò)模型如圖1所示,輸入圖像為RGB三通道彩色圖像,通過多組卷積(Convolution,簡寫為Conv.)處理,對輸入圖像進行特征提取;然后進行上采樣(Up Samp -ling)和拼接(Concatenate)處理,可以獲得不同分辨率下的特征圖(feature map);最后通過預(yù)測(Predict)處理,獲取圖像中待檢測目標的位置和類別信息。
在圖1中,以輸入圖像大小384×640為例,經(jīng)過5組卷積操作處理,輸出的特征圖大小為12×20,然后進行1次上采樣處理,特征圖大小變?yōu)?4×40,將該特征圖和原先24×40特征圖進行拼接處理,實現(xiàn)兩個特征圖的信息融合,可以更好地獲取大類目標的特征。同理,通過上采樣和拼接可以獲取大小為48×80的特征圖。分別對不同大小的特征圖進行檢測,可以實現(xiàn)多尺度目標檢測。
如圖1所示,給網(wǎng)絡(luò)輸入一幅圖像,通過卷積、上采樣、拼接等處理,YOLOv3可以直接輸出待檢測目標的相關(guān)信息,因此YOLOv3具有較快的檢測速度。另外,YOLOv3能夠?qū)崿F(xiàn)多尺度目標檢測,因此YOLOv3具有較好的檢測性能。
2 小型網(wǎng)絡(luò)模型研究
在車輛前、后、左、右各安裝一個魚眼攝像頭,四路原始魚眼圖像經(jīng)過魚眼校正、透視變換、圖像拼接等處理,得到一幅完整的360度環(huán)視鳥瞰圖。在環(huán)視圖像中,能夠獲取車輛周邊全視域的車位角點信息,本文選用環(huán)視圖像作為網(wǎng)絡(luò)輸入圖像。通過YOLOv3對整幅圖像進行檢測,可以一次性檢測到圖像中所有車位角點,但是該檢測模型要占用大量的運算資源,不適用于車載處理平臺開發(fā)。
如圖2所示,“L型”或“T型”車位角點具有相近的形狀大小,并且均勻地分布在環(huán)視圖像上,將整幅圖像分割成若干個子圖像,分別把各個子圖像作為網(wǎng)絡(luò)輸入,可以有效地降低網(wǎng)絡(luò)模型對運算資源的要求。在圖2(a)中,環(huán)視圖像大小為384×640,用窗口大小128×128對圖像進行分割,可以得到15個子圖像??紤]車位角點位置有可能會落在分割線上,如圖2(b)所示,采用窗口滑動的方式,在水平和垂直方向上依次滑動窗口,實現(xiàn)不同位置的車位角點圖像截取。在圖2(b)中,如果每次滑動64個像素,水平方向可以滑動5個窗口,垂直方向可以滑動9個窗口,總共可以獲取45個子圖像。
小型網(wǎng)絡(luò)模型如圖3所示,從原始的環(huán)視圖像中分出一塊子圖像,并且將這塊子圖像作為網(wǎng)絡(luò)輸入圖像。由于輸入圖像的形狀變小,對整個網(wǎng)絡(luò)模型進行等比例的裁剪,相應(yīng)的特征圖也隨之變小。假設(shè)圖3中的子圖像大小為128×128彩色圖像,經(jīng)過第一組卷積處理,特征圖的大小為64×64,對比圖1中卷積后特征圖的大小192×320,卷積操作所需的運算次數(shù)降為原先的1/15。同理,圖3中的其它卷積和上采樣操作也是原運算次數(shù)的1/15。對比圖1模型和圖3模型,模型的各個功能模塊保持不變,而整個模型被裁剪成一個“瘦小”模型。
通過窗口滑動能夠獲得完整的車位角點,同時滑動所得的子圖像存在圖像冗余問題。觀察圖2可以發(fā)現(xiàn),通常只有幾個子圖像包含有效的車位角點,大多數(shù)子圖像不包含車位角點信息。對所有子圖像進行初步篩選,剔除無效的子圖像,只對有效的子圖像進行檢測,可以明顯地提高整幅環(huán)視圖像的檢測效率。子圖像篩選可以歸結(jié)為車位角點有無的二分類問題,對比各類經(jīng)典的目標分類模型,綜合考慮模型的實時性和分類性能,選用目標分類模型AlexNet[6],修改網(wǎng)絡(luò)只輸出車位角點有無兩類結(jié)果。使用帶有角點有無的標簽圖像,對分類模型進行訓(xùn)練,并使用訓(xùn)練后的網(wǎng)絡(luò)進行二分類,可以實現(xiàn)有效子圖像的初步篩選。
相鄰的兩個滑動子圖像,可能會包含同一個車位角點,需要對比兩個子圖像的檢測結(jié)果,選擇兩者較優(yōu)的結(jié)果作為最終輸出。小型網(wǎng)絡(luò)的輸出結(jié)果包含預(yù)測框位置信息(x、y、w、h)和預(yù)測框置信度(confidence),(x、y)表示預(yù)測框的中心點坐標,w表示預(yù)測框的寬度值,h表示預(yù)測框的高度值。以原始環(huán)視圖像的坐標系為統(tǒng)一坐標系,對相鄰子圖像的檢測結(jié)果進行坐標轉(zhuǎn)換,并計算兩者預(yù)測框的交并比(Intersection over Union),如果交并比超過門限值,那么判定兩個預(yù)測框是同一個車位角點,然后根據(jù)預(yù)測框置信度,選擇置信度較高的,作為當(dāng)前這個車位角點的預(yù)測結(jié)果。交并比計算公式為:
(1)
式中:Soverlap為兩個框交集區(qū)域的面積;Sunion為兩個框并集區(qū)域的面積。
以下給出整個車位檢測方法的主要步驟:
步驟1:環(huán)視圖像分割,采用窗口滑動的方式對環(huán)視圖像進行分割,獲得若干個子圖像;
步驟2:網(wǎng)絡(luò)模型裁剪,根據(jù)輸入子圖像的大小,調(diào)整網(wǎng)絡(luò)參數(shù)來實現(xiàn)網(wǎng)絡(luò)裁剪;
步驟3:模型訓(xùn)練,使用標注后的子圖像,對分類模型AlexNet和裁剪后YOLOv3模型進行訓(xùn)練;
步驟4:車位角點有無判定,使用AlexNet對子圖像進行角點有無二分類判定;
步驟5:子圖像車位角點檢測,使用裁剪YOLOv3對子圖像進行角點檢測,獲得角點位置和置信度信息;
步驟6:重疊角點判定和選擇,計算相鄰子圖像的預(yù)測框的交并比值,選擇置信度較高的預(yù)測框,作為最終檢測信息輸出。
3 仿真實驗
本次仿真實驗基于Ubuntu操作系統(tǒng),車位檢測的深度學(xué)習(xí)框架使用Darknet框架。深度學(xué)習(xí)網(wǎng)絡(luò)的輸入圖像選用360環(huán)視圖像,圖像的原始大小為384×640,圖像分割后的大小為128×128。實驗所用數(shù)據(jù)來自于實車采集,一共選取了2368張環(huán)視圖像,其中訓(xùn)練集2135張圖像,測試集233張圖像。對環(huán)視圖像進行分割,所得的子圖像用于小型網(wǎng)絡(luò)模型,挑選包含車位角點的有效圖像6108張,其中訓(xùn)練集5519張,測試集589張。
通過對比召回率(recall)-精確度(precision)曲線,可以有效地衡量深度學(xué)習(xí)模型的整體性能。如圖4所示,本文小型網(wǎng)絡(luò)模型和標準YOLOv3模型的兩條曲線相近。平均精度值是召回率-精確度曲線的量化指標,它表示不同召回率對應(yīng)的精確度的平均,通過計算曲線下的面積可以得到該值。分別計算圖4中的兩條曲線所圍成的面積,標準模型的平均精度值是0.8772,本文模型的平均精度值是0.8714,因此可以認為本文模型基本上沒有性能損失。另外,分別統(tǒng)計兩個模型的運算資源開支,標準模型需要占用92.742 BFLOPs(billion float operations per second,每秒十億浮點運算次數(shù)),本文模型需求占用6.188 BFLOPs,本文模型所需的運算資源僅為標準模型的1/15。
圖5是不同天氣條件和地面材質(zhì)的車位檢測結(jié)果,圖中實線是標準YOLOv3模型的檢測結(jié)果,虛線是本文小型網(wǎng)絡(luò)模型的檢測結(jié)果。小型網(wǎng)絡(luò)對分割后的128×128子圖像進行檢測,網(wǎng)絡(luò)輸出的坐標位置經(jīng)過坐標轉(zhuǎn)換,重新映射到原始環(huán)視圖像上。圖5(a)是陰天、柏油地面上的垂直車位檢測結(jié)果。圖5(b)是晴天、柏油地面上的斜車位檢測結(jié)果,圖中部分車位有車輛陰影的影響,但是各個車位角點仍被有效檢測。圖5(c)是晴天、水泥地面上的垂直車位檢測結(jié)果。由圖5可知,對于不同的天氣條件和地面材質(zhì),本文方法都有較好的檢測效果。對比圖5中的實線和虛線框,相對于標準模型的檢測結(jié)果,本文小型網(wǎng)絡(luò)具有相近的檢測性能。
4 結(jié)論
本文提出小型深度學(xué)習(xí)網(wǎng)絡(luò)車位檢測方法,通過圖像分割將環(huán)視圖像分成若干個子圖像,并對YOLOv3模型進行網(wǎng)絡(luò)結(jié)構(gòu)裁剪,實現(xiàn)小網(wǎng)絡(luò)模型對子圖像的車位檢測。相比較于原始YOLOv3模型,裁剪后的小型網(wǎng)絡(luò)模型沒有檢測性能損失,但是在硬件資源要求方面,小型網(wǎng)絡(luò)模型只需要較少
的運算資源開支,能夠較好地適用于車載嵌入式系統(tǒng)開發(fā)。
參考文獻
[1] 朱旺旺,黃宏成,馬晉興.基于圖像識別的泊車車位檢測算法研究[J].汽車工程, 2019, 41(7): 744-749.
[2] 徐樂先,陳西江,班亞,等.基于深度學(xué)習(xí)的車位智能檢測方法[J]. 中國激光,2019,46(4): 222-233.
[3] Shaoqing Ren, Kaiming He, Ross Girshick, et al. Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networ -ks[J].IEEE Transactions on Pattern Analysis and Machine Intelli -gence, 2017, 39(6):1137-1149.
[4] Liu W,Anguelov D,Erhan D,et al.SSD:single shot multiBox detector [C].European Conference on Computer Vision,2016:21-37.
[5] Redmon J,F(xiàn)arhadi A.YOLOv3:an incremental improvement[J].ar -Xiv:1804.02767,2018.
[6] Krizhevsky A,Sutskever I, Hinton G E. ImageNet Classification with Deep Convolutional Neural Networks[J].Advances in Neural Infor -mation Processing Systems,2012, 25(2): 2012.