楊科 王煒斌 徐維慶
摘 要:針對車載嵌入式系統(tǒng)開發(fā)需求,文章提出一種小型深度學(xué)習(xí)網(wǎng)絡(luò)的車位檢測方法。環(huán)視圖像的車位角點(diǎn)具有大小相近、分布均勻的特點(diǎn),將整個(gè)環(huán)視圖像分割成若干個(gè)子圖像,裁剪深度網(wǎng)絡(luò)模型結(jié)構(gòu),使用小網(wǎng)絡(luò)對各個(gè)子圖像進(jìn)行車位角點(diǎn)檢測,可以有效降低大圖像高算力的要求。實(shí)驗(yàn)數(shù)據(jù)表明,以384*640圖像大小為例,將原圖像分割成128*128子圖像,子圖像的深度網(wǎng)絡(luò)算力要求為原圖像的1/15,而相應(yīng)的檢測性能沒有損失。
關(guān)鍵詞:深度學(xué)習(xí);車位檢測;環(huán)視圖像;網(wǎng)絡(luò)裁剪
中圖分類號:U461.99? 文獻(xiàn)標(biāo)識碼: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)域一個(gè)重要的研究方向??焖佟?zhǔn)確地獲取車輛周邊的車位信息,是實(shí)現(xiàn)自動泊車功能的一個(gè)重要前提?;诔暡▊鞲衅鞯目臻g車位檢測方法,通過處理周邊障礙物回波信息,實(shí)現(xiàn)空閑車位檢測,當(dāng)前該類系統(tǒng)已配置于多個(gè)品牌的量產(chǎn)車型?;跀z像頭傳感器的視覺車位檢測方法,通過檢測圖像中的車位線(或車位角點(diǎn))來獲取車位信息,視覺信息和超聲波信息相互補(bǔ)充,能夠有效增強(qiáng)車位檢測性能。視覺檢測方法又細(xì)分為傳統(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ù)的增加,檢測性能得到提升,同時(shí)會占用更多的運(yùn)算資源。在車載平臺上,處理系統(tǒng)通常不會有充足的運(yùn)算能力,因此在保障檢測性能的前提下,如何合理地使用車載運(yùn)算資源,成為一個(gè)亟需解決的問題。本文開展基于深度學(xué)習(xí)的車位檢測方法研究,網(wǎng)絡(luò)模型的輸入圖像選用360環(huán)視圖像,該類圖像上的車位角點(diǎn)具有大小相近、分布均勻的特點(diǎn),通過將環(huán)視圖像分割為若干個(gè)子圖像,同時(shí)對深度網(wǎng)絡(luò)模型進(jìn)行相應(yīng)的裁剪,實(shí)現(xiàn)“小網(wǎng)絡(luò)”對“子圖像”的車位角點(diǎn)檢測。最后實(shí)驗(yàn)數(shù)據(jù)驗(yàn)證了該方法的有效性。
1 基礎(chǔ)網(wǎng)絡(luò)模型
經(jīng)典的深度學(xué)習(xí)檢測模型有Faster-RCNN[3]、SSD[4]、YOLO[5]等,其中YOLO模型經(jīng)過多次改進(jìn)和性能提升,第三代YOLO(YOLOv3)在檢測性能和運(yùn)算速度上都有較好的表現(xiàn),因此本文選用YOLOv3作為基礎(chǔ)網(wǎng)絡(luò)模型。
YOLOv3網(wǎng)絡(luò)模型如圖1所示,輸入圖像為RGB三通道彩色圖像,通過多組卷積(Convolution,簡寫為Conv.)處理,對輸入圖像進(jìn)行特征提取;然后進(jìn)行上采樣(Up Samp -ling)和拼接(Concatenate)處理,可以獲得不同分辨率下的特征圖(feature map);最后通過預(yù)測(Predict)處理,獲取圖像中待檢測目標(biāo)的位置和類別信息。
在圖1中,以輸入圖像大小384×640為例,經(jīng)過5組卷積操作處理,輸出的特征圖大小為12×20,然后進(jìn)行1次上采樣處理,特征圖大小變?yōu)?4×40,將該特征圖和原先24×40特征圖進(jìn)行拼接處理,實(shí)現(xiàn)兩個(gè)特征圖的信息融合,可以更好地獲取大類目標(biāo)的特征。同理,通過上采樣和拼接可以獲取大小為48×80的特征圖。分別對不同大小的特征圖進(jìn)行檢測,可以實(shí)現(xiàn)多尺度目標(biāo)檢測。
如圖1所示,給網(wǎng)絡(luò)輸入一幅圖像,通過卷積、上采樣、拼接等處理,YOLOv3可以直接輸出待檢測目標(biāo)的相關(guān)信息,因此YOLOv3具有較快的檢測速度。另外,YOLOv3能夠?qū)崿F(xiàn)多尺度目標(biāo)檢測,因此YOLOv3具有較好的檢測性能。
2 小型網(wǎng)絡(luò)模型研究
在車輛前、后、左、右各安裝一個(gè)魚眼攝像頭,四路原始魚眼圖像經(jīng)過魚眼校正、透視變換、圖像拼接等處理,得到一幅完整的360度環(huán)視鳥瞰圖。在環(huán)視圖像中,能夠獲取車輛周邊全視域的車位角點(diǎn)信息,本文選用環(huán)視圖像作為網(wǎng)絡(luò)輸入圖像。通過YOLOv3對整幅圖像進(jìn)行檢測,可以一次性檢測到圖像中所有車位角點(diǎn),但是該檢測模型要占用大量的運(yùn)算資源,不適用于車載處理平臺開發(fā)。
如圖2所示,“L型”或“T型”車位角點(diǎn)具有相近的形狀大小,并且均勻地分布在環(huán)視圖像上,將整幅圖像分割成若干個(gè)子圖像,分別把各個(gè)子圖像作為網(wǎng)絡(luò)輸入,可以有效地降低網(wǎng)絡(luò)模型對運(yùn)算資源的要求。在圖2(a)中,環(huán)視圖像大小為384×640,用窗口大小128×128對圖像進(jìn)行分割,可以得到15個(gè)子圖像??紤]車位角點(diǎn)位置有可能會落在分割線上,如圖2(b)所示,采用窗口滑動的方式,在水平和垂直方向上依次滑動窗口,實(shí)現(xiàn)不同位置的車位角點(diǎn)圖像截取。在圖2(b)中,如果每次滑動64個(gè)像素,水平方向可以滑動5個(gè)窗口,垂直方向可以滑動9個(gè)窗口,總共可以獲取45個(gè)子圖像。
小型網(wǎng)絡(luò)模型如圖3所示,從原始的環(huán)視圖像中分出一塊子圖像,并且將這塊子圖像作為網(wǎng)絡(luò)輸入圖像。由于輸入圖像的形狀變小,對整個(gè)網(wǎng)絡(luò)模型進(jìn)行等比例的裁剪,相應(yīng)的特征圖也隨之變小。假設(shè)圖3中的子圖像大小為128×128彩色圖像,經(jīng)過第一組卷積處理,特征圖的大小為64×64,對比圖1中卷積后特征圖的大小192×320,卷積操作所需的運(yùn)算次數(shù)降為原先的1/15。同理,圖3中的其它卷積和上采樣操作也是原運(yùn)算次數(shù)的1/15。對比圖1模型和圖3模型,模型的各個(gè)功能模塊保持不變,而整個(gè)模型被裁剪成一個(gè)“瘦小”模型。
通過窗口滑動能夠獲得完整的車位角點(diǎn),同時(shí)滑動所得的子圖像存在圖像冗余問題。觀察圖2可以發(fā)現(xiàn),通常只有幾個(gè)子圖像包含有效的車位角點(diǎn),大多數(shù)子圖像不包含車位角點(diǎn)信息。對所有子圖像進(jìn)行初步篩選,剔除無效的子圖像,只對有效的子圖像進(jìn)行檢測,可以明顯地提高整幅環(huán)視圖像的檢測效率。子圖像篩選可以歸結(jié)為車位角點(diǎn)有無的二分類問題,對比各類經(jīng)典的目標(biāo)分類模型,綜合考慮模型的實(shí)時(shí)性和分類性能,選用目標(biāo)分類模型AlexNet[6],修改網(wǎng)絡(luò)只輸出車位角點(diǎn)有無兩類結(jié)果。使用帶有角點(diǎn)有無的標(biāo)簽圖像,對分類模型進(jìn)行訓(xùn)練,并使用訓(xùn)練后的網(wǎng)絡(luò)進(jìn)行二分類,可以實(shí)現(xiàn)有效子圖像的初步篩選。
相鄰的兩個(gè)滑動子圖像,可能會包含同一個(gè)車位角點(diǎn),需要對比兩個(gè)子圖像的檢測結(jié)果,選擇兩者較優(yōu)的結(jié)果作為最終輸出。小型網(wǎng)絡(luò)的輸出結(jié)果包含預(yù)測框位置信息(x、y、w、h)和預(yù)測框置信度(confidence),(x、y)表示預(yù)測框的中心點(diǎn)坐標(biāo),w表示預(yù)測框的寬度值,h表示預(yù)測框的高度值。以原始環(huán)視圖像的坐標(biāo)系為統(tǒng)一坐標(biāo)系,對相鄰子圖像的檢測結(jié)果進(jìn)行坐標(biāo)轉(zhuǎn)換,并計(jì)算兩者預(yù)測框的交并比(Intersection over Union),如果交并比超過門限值,那么判定兩個(gè)預(yù)測框是同一個(gè)車位角點(diǎn),然后根據(jù)預(yù)測框置信度,選擇置信度較高的,作為當(dāng)前這個(gè)車位角點(diǎn)的預(yù)測結(jié)果。交并比計(jì)算公式為:
(1)
式中:Soverlap為兩個(gè)框交集區(qū)域的面積;Sunion為兩個(gè)框并集區(qū)域的面積。
以下給出整個(gè)車位檢測方法的主要步驟:
步驟1:環(huán)視圖像分割,采用窗口滑動的方式對環(huán)視圖像進(jìn)行分割,獲得若干個(gè)子圖像;
步驟2:網(wǎng)絡(luò)模型裁剪,根據(jù)輸入子圖像的大小,調(diào)整網(wǎng)絡(luò)參數(shù)來實(shí)現(xiàn)網(wǎng)絡(luò)裁剪;
步驟3:模型訓(xùn)練,使用標(biāo)注后的子圖像,對分類模型AlexNet和裁剪后YOLOv3模型進(jìn)行訓(xùn)練;
步驟4:車位角點(diǎn)有無判定,使用AlexNet對子圖像進(jìn)行角點(diǎn)有無二分類判定;
步驟5:子圖像車位角點(diǎn)檢測,使用裁剪YOLOv3對子圖像進(jìn)行角點(diǎn)檢測,獲得角點(diǎn)位置和置信度信息;
步驟6:重疊角點(diǎn)判定和選擇,計(jì)算相鄰子圖像的預(yù)測框的交并比值,選擇置信度較高的預(yù)測框,作為最終檢測信息輸出。
3 仿真實(shí)驗(yàn)
本次仿真實(shí)驗(yàn)基于Ubuntu操作系統(tǒng),車位檢測的深度學(xué)習(xí)框架使用Darknet框架。深度學(xué)習(xí)網(wǎng)絡(luò)的輸入圖像選用360環(huán)視圖像,圖像的原始大小為384×640,圖像分割后的大小為128×128。實(shí)驗(yàn)所用數(shù)據(jù)來自于實(shí)車采集,一共選取了2368張環(huán)視圖像,其中訓(xùn)練集2135張圖像,測試集233張圖像。對環(huán)視圖像進(jìn)行分割,所得的子圖像用于小型網(wǎng)絡(luò)模型,挑選包含車位角點(diǎn)的有效圖像6108張,其中訓(xùn)練集5519張,測試集589張。
通過對比召回率(recall)-精確度(precision)曲線,可以有效地衡量深度學(xué)習(xí)模型的整體性能。如圖4所示,本文小型網(wǎng)絡(luò)模型和標(biāo)準(zhǔn)YOLOv3模型的兩條曲線相近。平均精度值是召回率-精確度曲線的量化指標(biāo),它表示不同召回率對應(yīng)的精確度的平均,通過計(jì)算曲線下的面積可以得到該值。分別計(jì)算圖4中的兩條曲線所圍成的面積,標(biāo)準(zhǔn)模型的平均精度值是0.8772,本文模型的平均精度值是0.8714,因此可以認(rèn)為本文模型基本上沒有性能損失。另外,分別統(tǒng)計(jì)兩個(gè)模型的運(yùn)算資源開支,標(biāo)準(zhǔn)模型需要占用92.742 BFLOPs(billion float operations per second,每秒十億浮點(diǎn)運(yùn)算次數(shù)),本文模型需求占用6.188 BFLOPs,本文模型所需的運(yùn)算資源僅為標(biāo)準(zhǔn)模型的1/15。
圖5是不同天氣條件和地面材質(zhì)的車位檢測結(jié)果,圖中實(shí)線是標(biāo)準(zhǔn)YOLOv3模型的檢測結(jié)果,虛線是本文小型網(wǎng)絡(luò)模型的檢測結(jié)果。小型網(wǎng)絡(luò)對分割后的128×128子圖像進(jìn)行檢測,網(wǎng)絡(luò)輸出的坐標(biāo)位置經(jīng)過坐標(biāo)轉(zhuǎn)換,重新映射到原始環(huán)視圖像上。圖5(a)是陰天、柏油地面上的垂直車位檢測結(jié)果。圖5(b)是晴天、柏油地面上的斜車位檢測結(jié)果,圖中部分車位有車輛陰影的影響,但是各個(gè)車位角點(diǎn)仍被有效檢測。圖5(c)是晴天、水泥地面上的垂直車位檢測結(jié)果。由圖5可知,對于不同的天氣條件和地面材質(zhì),本文方法都有較好的檢測效果。對比圖5中的實(shí)線和虛線框,相對于標(biāo)準(zhǔn)模型的檢測結(jié)果,本文小型網(wǎng)絡(luò)具有相近的檢測性能。
4 結(jié)論
本文提出小型深度學(xué)習(xí)網(wǎng)絡(luò)車位檢測方法,通過圖像分割將環(huán)視圖像分成若干個(gè)子圖像,并對YOLOv3模型進(jìn)行網(wǎng)絡(luò)結(jié)構(gòu)裁剪,實(shí)現(xiàn)小網(wǎng)絡(luò)模型對子圖像的車位檢測。相比較于原始YOLOv3模型,裁剪后的小型網(wǎng)絡(luò)模型沒有檢測性能損失,但是在硬件資源要求方面,小型網(wǎng)絡(luò)模型只需要較少
的運(yùn)算資源開支,能夠較好地適用于車載嵌入式系統(tǒng)開發(fā)。
參考文獻(xiàn)
[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.