李 偉 東, 李 冰, 朱 旭 浩, 李 樂(lè)
(大連理工大學(xué) 汽車工程系, 遼寧 大連 116024 )
目前,新能源汽車所占市場(chǎng)份額不斷擴(kuò)大,汽車智能化程度增高,全景環(huán)視系統(tǒng)(around view monitor,AVM)[1]已是大多數(shù)車輛的標(biāo)配,利用AVM進(jìn)行車輛環(huán)境感知具有很大的研究?jī)r(jià)值,越來(lái)越多的研究者提出了利用AVM的車位檢測(cè)算法.
多年來(lái),基于計(jì)算機(jī)視覺和AVM的車位檢測(cè)算法已被廣泛研究,總體可分為基于線檢測(cè)和基于標(biāo)記點(diǎn)檢測(cè)兩種.基于線檢測(cè)的方法首先通過(guò)檢測(cè)器檢測(cè)出車位線的邊緣特征,如Canny邊緣檢測(cè)器[2]和Sobel濾波器[3],通過(guò)擬合算法對(duì)直線進(jìn)行預(yù)測(cè),采用人工設(shè)計(jì)的幾何約束進(jìn)行篩選和定位得到車位.朱旺旺等[4]利用改進(jìn)的Radon算法對(duì)邊緣提取后的車位圖像進(jìn)行檢測(cè),通過(guò)閾值分割優(yōu)化Radon矩陣提取車位線,取得了較好的檢測(cè)結(jié)果.基于標(biāo)記點(diǎn)檢測(cè)的方法采用標(biāo)記點(diǎn)檢測(cè)器[5]、增強(qiáng)決策樹[6]等一些檢測(cè)方法檢測(cè)出標(biāo)記點(diǎn),通過(guò)模板匹配等技術(shù)進(jìn)行車位檢測(cè).盡管傳統(tǒng)車位檢測(cè)算法的結(jié)果較好,準(zhǔn)確率也較高,但魯棒性差,對(duì)地面紋理及光照強(qiáng)度的變化較為敏感,在復(fù)雜環(huán)境下檢測(cè)結(jié)果較差.
隨著深度學(xué)習(xí)在計(jì)算機(jī)視覺中的應(yīng)用,目標(biāo)檢測(cè)和語(yǔ)義分割被應(yīng)用在車位檢測(cè)任務(wù)中.Deep PS(deep parking-slot)[7]是第一個(gè)基于深度學(xué)習(xí)的車位檢測(cè)算法,并公開數(shù)據(jù)集PS2.0,為后續(xù)研究者提供便利.該算法使用一個(gè)CNN網(wǎng)絡(luò)來(lái)檢測(cè)周圍視圖中的標(biāo)記點(diǎn),使用另一個(gè)CNN網(wǎng)絡(luò)來(lái)匹配成對(duì)的標(biāo)記點(diǎn).Deep PS在多種復(fù)雜條件下取得了良好的檢測(cè)結(jié)果.DMPR-PS(directional marking-point regression parking-slot)[8]為兩階段檢測(cè)算法,第一階段采用基于CNN的模型對(duì)標(biāo)記點(diǎn)的方向、坐標(biāo)和形狀進(jìn)行回歸;第二階段采用人工設(shè)計(jì)的幾何規(guī)則對(duì)標(biāo)記點(diǎn)進(jìn)行過(guò)濾和匹配.相較于Deep PS更為輕量化,但是對(duì)于傾斜車位的檢測(cè)結(jié)果較差.Min等[9]考慮標(biāo)記點(diǎn)之間的內(nèi)在聯(lián)系,提出了基于圖神經(jīng)網(wǎng)絡(luò)的檢測(cè)算法——AGNN-PS.首先檢測(cè)標(biāo)記點(diǎn),匹配得到車位入口線后推理得到車位,但通過(guò)標(biāo)記點(diǎn)難以得到整個(gè)車位的形狀信息以及車位線的方向信息,因此難以判斷車位的類型,對(duì)非垂直車位檢測(cè)結(jié)果較差.黨順?lè)宓萚10]通過(guò)在網(wǎng)絡(luò)中增加注意力模塊對(duì)Mask R-CNN[11]算法進(jìn)行改進(jìn),對(duì)車位的8個(gè)關(guān)鍵點(diǎn)進(jìn)行檢測(cè),提高了算法在遮擋情況下的檢測(cè)精度.
VH-HFCN(vertical horizontal highly fused convolutional network)[12]是第一個(gè)基于語(yǔ)義分割的車位檢測(cè)算法,標(biāo)注并公開數(shù)據(jù)集PSV datasets,為后續(xù)研究者提供了便利.VH-HFCN在HFCN[13]基礎(chǔ)上設(shè)計(jì)了由垂直卷積和水平卷積組成的VH模塊,通過(guò)骨架化和線變換對(duì)分割區(qū)域進(jìn)行提取,得到車位信息.Jian等[14]提出了一種基于多任務(wù)學(xué)習(xí)的線和點(diǎn)語(yǔ)義分割模型,該模型通過(guò)兩個(gè)連續(xù)的U-Net[15]網(wǎng)絡(luò)分別分割車位的入口線和車位角的中心點(diǎn),生成車位入口線和車位角中心點(diǎn)圖像,并通過(guò)后期處理得到車位的信息.該算法采用兩個(gè)分割模型進(jìn)行檢測(cè),模型總的參數(shù)量較大,檢測(cè)過(guò)程較為復(fù)雜.
綜上所述,采用標(biāo)記點(diǎn)檢測(cè)的方法在檢測(cè)速度及過(guò)程的復(fù)雜度方面相較于語(yǔ)義分割有著比較大的優(yōu)勢(shì).語(yǔ)義分割任務(wù)是像素級(jí)別的分類檢測(cè)任務(wù),模型參數(shù)量較大,推理檢測(cè)速度較慢,但采用語(yǔ)義分割進(jìn)行車位線特征的提取可以得到車位的整體信息,對(duì)非垂直類型的車位尤其是傾斜車位檢測(cè)結(jié)果更好.本文采用深度可分離卷積[16]和非對(duì)稱卷積[17]結(jié)合的輕量化策略構(gòu)建輕量化的車位線分割模型,在PSV datasets上進(jìn)行訓(xùn)練并達(dá)到目前最高的分割精度;提出一種基于斜率聚類和非極大值抑制(NMS)的車位線提取方法.
針對(duì)語(yǔ)義分割檢測(cè)模型參數(shù)量較大、車位線提取過(guò)程復(fù)雜等問(wèn)題,本文采用深度可分離卷積、非對(duì)稱卷積、轉(zhuǎn)置卷積[18]和通道裁剪等方法對(duì)傳統(tǒng)語(yǔ)義分割網(wǎng)絡(luò)U-Net進(jìn)行輕量化改進(jìn),提出UFAC-Net模型進(jìn)行車位線和車道線分割.車位檢測(cè)算法框架如圖1所示,車載環(huán)視圖像通過(guò)分割網(wǎng)絡(luò)分割出車位線,通過(guò)圖像細(xì)化和線變換初步提取車位線,通過(guò)斜率聚類和NMS進(jìn)一步對(duì)車位進(jìn)行篩選,最終提取得到準(zhǔn)確的車位信息.
深度可分離卷積是2017年由Chollet[16]提出的用于嵌入式設(shè)備的輕量化方法,主要分為逐通道卷積和逐點(diǎn)卷積,其過(guò)程如圖2所示.圖中c和n分別為輸入特征圖和輸出特征圖通道數(shù),i和o分別為輸入特征圖和輸出特征圖尺寸(高×寬),q為卷積核尺寸(高×寬),f為1×1的卷積核.
圖1 車位檢測(cè)算法框架
(a) 逐通道卷積
(b) 逐點(diǎn)卷積
圖2(a)為逐通道卷積,單個(gè)卷積核負(fù)責(zé)相應(yīng)通道的特征圖,輸出特征圖通道數(shù)和輸入特征圖通道數(shù)相等;圖2(b)為逐點(diǎn)卷積,通過(guò)n個(gè)1×1×c的卷積核,將輸入特征圖在深度方向上進(jìn)行加權(quán)組合,輸出n個(gè)特征圖.整個(gè)過(guò)程的參數(shù)量和計(jì)算量公式如下:
D=q×c+n×c
(1)
F=q×c×o+n×c×o
(2)
式中:D為參數(shù)量,F為計(jì)算量.在得到相同通道數(shù)特征圖的情況下,該卷積方式約為常規(guī)卷積參數(shù)量和計(jì)算量的1/q,使用深度可分離卷積代替常規(guī)卷積可大幅降低模型的參數(shù)量和計(jì)算量.
非對(duì)稱卷積即采用不規(guī)則的卷積核進(jìn)行卷積運(yùn)算,將n×n的卷積核分解為1×n和n×1的卷積核,分別進(jìn)行卷積運(yùn)算后再進(jìn)行相加.顯然非對(duì)稱卷積所用的參數(shù)量更少,但也會(huì)有比較嚴(yán)重的信息損失.針對(duì)本文任務(wù)的特殊性,數(shù)據(jù)集中的有效特征都為線形特征且具有一定的分布規(guī)律(近似水平和近似垂直而且分布比較稀疏).采用連續(xù)的非對(duì)稱卷積能夠在使用較少參數(shù)量的同時(shí)得到較大的有效感受野,更多地保留圖像中的有效信息.
VH模塊通過(guò)采用連續(xù)的非對(duì)稱卷積增大網(wǎng)絡(luò)在水平和垂直方向上的感受野,其對(duì)圖像中線形特征的注意力更強(qiáng),并且在線形分割中取得較好的結(jié)果,但其為一維卷積核,每次只能在一維空間上對(duì)特征進(jìn)行融合(水平或垂直方向上),會(huì)造成較大的信息損失.若采用常規(guī)卷積(n×n),減少信息損失的同時(shí)會(huì)大幅增加網(wǎng)絡(luò)的參數(shù)量和計(jì)算量.針對(duì)此問(wèn)題,本文對(duì)VH模塊進(jìn)行改進(jìn)(ACVH模塊),如圖3所示,增加一個(gè)網(wǎng)絡(luò)分支,對(duì)分支上的特征圖不做任何的卷積處理,而是直接與經(jīng)過(guò)VH模塊計(jì)算后的特征圖相加,保證模塊在不增加參數(shù)量的同時(shí)減少非對(duì)稱卷積過(guò)程中的信息損失,并且選擇n=5的非對(duì)稱卷積核,保證參數(shù)量較少前提下進(jìn)一步擴(kuò)大感受野,增加網(wǎng)絡(luò)精度.
圖3 ACVH模塊結(jié)構(gòu)
U-Net是經(jīng)典的語(yǔ)義分割網(wǎng)絡(luò),通過(guò)4個(gè)下采樣模塊將輸入圖像變?yōu)楹? 024個(gè)通道數(shù)的特征圖,在上采樣階段通過(guò)網(wǎng)絡(luò)分支進(jìn)行特征融合,有效減少了在下采樣階段圖像信息的損失.其對(duì)小樣本數(shù)據(jù)集的分割結(jié)果較好,廣泛應(yīng)用于醫(yī)學(xué)圖像分割和遙感圖像分割領(lǐng)域.但U-Net網(wǎng)絡(luò)層通道數(shù)過(guò)多,模型參數(shù)量和計(jì)算量較大;其輸入圖像的大小為572×572,每次上采樣階段進(jìn)行特征融合時(shí),都需要裁剪網(wǎng)絡(luò)分支的特征圖,網(wǎng)絡(luò)復(fù)雜性較高;上采樣和下采樣之間采用1×1卷積核融合特征,感受野較小.宋廷強(qiáng)等[19]對(duì)U-Net網(wǎng)絡(luò)底層模塊進(jìn)行擴(kuò)大感受野的改進(jìn),有效提高了遙感影像道路的分割精度.
本文采用深度可分離卷積和非對(duì)稱卷積對(duì)U-Net進(jìn)行改進(jìn)得到UFAC-Net模型,該模型的結(jié)構(gòu)如圖4所示,網(wǎng)絡(luò)主要由3種模塊組成:4個(gè)Encoder模塊,4個(gè)Decoder模塊,1個(gè)ACVH模塊.其中,Encoder模塊主要進(jìn)行下采樣操作,包含2個(gè)深度可分離卷積層和1個(gè)最大池化層.采用深度可分離卷積代替常規(guī)卷積降低網(wǎng)絡(luò)的參數(shù)量和計(jì)算量.Decoder模塊主要進(jìn)行上采樣操作,包含1個(gè)轉(zhuǎn)置卷積層和2個(gè)深度可分離卷積層,轉(zhuǎn)置卷積提供上采樣操作.在與網(wǎng)絡(luò)分支相連的Decoder模塊中,增加連接層,用于融合網(wǎng)絡(luò)主干和分支的特征圖并將融合后的特征圖輸入下一個(gè)Decoder模塊.ACVH模塊為改進(jìn)的非對(duì)稱卷積模塊,具體結(jié)構(gòu)如圖3所示,每層不規(guī)則卷積的通道數(shù)均為512.模塊位于整個(gè)網(wǎng)絡(luò)的下采樣和上采樣操作之間,擴(kuò)大有效感受野,增加模型對(duì)線形特征的分割能力;網(wǎng)絡(luò)的輸入改為512×512,避免在融合淺層特征時(shí)的裁剪操作.
本文任務(wù)的數(shù)據(jù)集較小,如果采用通道較深的卷積層會(huì)使網(wǎng)絡(luò)過(guò)擬合,產(chǎn)生較大的冗余.通過(guò)通道裁剪,將UFAC-Net的通道整體縮減為U-Net的1/2,進(jìn)一步降低網(wǎng)絡(luò)的復(fù)雜度.
整體的改進(jìn)策略為先采用經(jīng)典的網(wǎng)絡(luò)輕量化方式(深度可分離卷積和通道裁剪)降低網(wǎng)絡(luò)的參數(shù)量和計(jì)算量,再搭配嵌入網(wǎng)絡(luò)深層的ACVH模塊增加網(wǎng)絡(luò)精度.
PSV datasets[12]共有4 249張圖,包含各種復(fù)雜場(chǎng)景下的全景俯視圖,如圖5所示.?dāng)?shù)據(jù)集共分為3類:背景類、車道線、車位線.
損失函數(shù)的計(jì)算公式如下:
(3)
lu=luw[xu]
(4)
(5)
圖4 UFAC-Net模型結(jié)構(gòu)
(a) 全景俯視圖
(b) 線形圖
式中:u=1,2,…,G,為樣本數(shù);k=0,1,2,為類別數(shù).式(3)為常規(guī)交叉熵?fù)p失函數(shù).模型采用加權(quán)交叉熵?fù)p失函數(shù),如式(4)所示,通過(guò)增加車位線和車道線標(biāo)簽的權(quán)重,使網(wǎng)絡(luò)更加注意車位線特征.模型中進(jìn)行傳播的損失由式(5)計(jì)算.
圖像經(jīng)過(guò)網(wǎng)絡(luò)進(jìn)行分割后,進(jìn)一步從中提取出車位信息,提取過(guò)程如圖6所示.
圖6 車位提取過(guò)程
通過(guò)圖像細(xì)化降低車位線寬度,如圖6中②所示;通過(guò)霍夫變換對(duì)細(xì)化后的圖像進(jìn)行車位線提取,線段用首尾點(diǎn)的坐標(biāo)表示((x1,y1),(x2,y2)),如圖6中③所示;通過(guò)斜率聚類和NMS對(duì)提取的車位線進(jìn)行篩選.根據(jù)線段斜率將所有線段分為近似水平線和近似垂直線,經(jīng)過(guò)聚類得到每條車位線的簇,取每一簇線段中的最大值保留.圖6中④為篩選后的結(jié)果.線段斜率的計(jì)算公式如下:
Kg=|Δyg/(Δxg+1)|
(6)
式中:g=1,2,…,V,V為線段的總數(shù)量.
消融實(shí)驗(yàn)?zāi)P徒M成見表1.在U-Net的基礎(chǔ)上進(jìn)行3次微調(diào)分別得到UF-Net、UFC-Net、UFAC-Net,其中UFAC-Net是在UFC-Net的基礎(chǔ)上嵌入ACVH模塊得到,對(duì)其分別采用常規(guī)交叉熵?fù)p失函數(shù)和加權(quán)交叉熵?fù)p失函數(shù)進(jìn)行訓(xùn)練,分別用UFAC-Net1和UFAC-Net2表示.
表1 消融實(shí)驗(yàn)?zāi)P徒M成
本文使用像素精度(pixel accuracy,PA)B1、平均像素精度(mean pixel accuracy,MPA)B2、平均交并比(mean intersection over union,MIoU)B3、頻率權(quán)重交并比(frequency weighted intersection over union,FWIoU)B4為評(píng)估指標(biāo).計(jì)算公式如下:
(7)
(8)
(9)
(10)
式中:pij表示本屬于i類卻預(yù)測(cè)為j類的像素點(diǎn)總數(shù),pii表示屬于i類并且預(yù)測(cè)為i類的像素點(diǎn)總數(shù),pji表示本不屬于i類卻預(yù)測(cè)為i類的像素點(diǎn)總數(shù),k表示類別數(shù)(k=2).
為探究最佳的非對(duì)稱卷積核長(zhǎng)度R,本文分別設(shè)置4種不同的R(3、5、7、9),并在UFAC-Net網(wǎng)絡(luò)中統(tǒng)一采用加權(quán)交叉熵?fù)p失函數(shù)測(cè)試,結(jié)果見表2.當(dāng)R=5時(shí),可以在較小的參數(shù)量提升下獲得較大的精度提升,網(wǎng)絡(luò)整體效果最佳.
表2 不同R的ACVH模塊分割結(jié)果
由表3可知,UF-Net相比于U-Net,模型的平均交并比下降2.30%,深度可分離卷積可以滿足本文任務(wù)的需求.UFAC-Net1的平均交并比達(dá)到72.92%,參數(shù)量為3.1 MB,約為U-Net參數(shù)量(17.6 MB)的1/5.通過(guò)增加ACVH模塊使UFAC-Net1在增加較少參數(shù)量的情況下對(duì)分割精度的提升明顯.通過(guò)采用加權(quán)交叉熵?fù)p失函數(shù),使得UFAC-Net2在UFAC-Net1的基礎(chǔ)上平均交并比提升0.13%,達(dá)到73.05%,損失函數(shù)最終的權(quán)重為[1,1.5,3].
表3 車位線分割結(jié)果
實(shí)驗(yàn)表明,在進(jìn)行車位線分割任務(wù)時(shí),可通過(guò)深度可分離卷積、通道裁剪等方式對(duì)分割模型輕量化,搭配ACVH模塊可在增加少量參數(shù)情況下明顯提升分割精度.
本文的實(shí)驗(yàn)環(huán)境為Ubuntu16.04操作系統(tǒng),單張NVIDIA V100顯卡,PaddlePaddle深度學(xué)習(xí)框架.采用梯度下降法訓(xùn)練,第20輪學(xué)習(xí)率衰減1/3,第40輪學(xué)習(xí)率再次衰減1/3,當(dāng)驗(yàn)證集的損失值增加時(shí)停止訓(xùn)練.最終模型在訓(xùn)練集上的損失值穩(wěn)定在0.01左右,在驗(yàn)證集上的損失值穩(wěn)定在0.03左右.通過(guò)對(duì)測(cè)試集總的推理時(shí)間取平均得到單張圖像的前向推理時(shí)間為28 ms,滿足實(shí)時(shí)性要求.
本文將UFAC-Net與VH-HFCN進(jìn)行比較,VH-HFCN此前在該數(shù)據(jù)集上是分割精度最高的網(wǎng)絡(luò).由表4可知,UFAC-Net相較于VH-HFCN平均交并比提升了26.54%,達(dá)到目前在該數(shù)據(jù)集上最高的分割精度.
表4 分割結(jié)果對(duì)比(PSV datasets)
本文在數(shù)據(jù)集PS2.0和PSV datasets中各取200張圖像組成自定義測(cè)試集測(cè)試算法的泛化性.評(píng)估指標(biāo)為精準(zhǔn)率E1、召回率E2和單張圖像檢測(cè)時(shí)間,測(cè)試集包含3種車位(垂直、平行、傾斜)且占比為3∶3∶4.精準(zhǔn)率、召回率的計(jì)算公式如下所示,檢測(cè)結(jié)果見表5、6.
E1=s/(s+a)
(11)
E2=s/(s+b)
(12)
式中:s為檢測(cè)正確(目標(biāo)車位預(yù)測(cè)和車位類別判別均正確)的樣本數(shù)量,a為誤檢車位(目標(biāo)車位預(yù)測(cè)和車位類別判別均錯(cuò)誤)的樣本數(shù)量,b為漏檢車位的樣本數(shù)量.精準(zhǔn)率E1為所有檢測(cè)到的車位中檢測(cè)正確的占比,召回率E2為所有車位中檢測(cè)正確的占比.
表5 各類別車位檢測(cè)結(jié)果
由表5可知,對(duì)車位線進(jìn)行檢測(cè)能夠獲取整體車位的更多信息,提高算法對(duì)傾斜車位方向的敏感性,從而提高對(duì)傾斜車位的檢測(cè)精度.同時(shí),本文算法在垂直和平行車位的檢測(cè)上也達(dá)到了良好的檢測(cè)效果.
將自定義數(shù)據(jù)集隨機(jī)打亂后,檢測(cè)結(jié)果見表6.實(shí)驗(yàn)結(jié)果表明,通過(guò)對(duì)分割模型及后處理算法的優(yōu)化改進(jìn),本文算法檢測(cè)精準(zhǔn)率為99.23%,召回率為99.12%,單張圖像檢測(cè)時(shí)間為32.2 ms,取得了較高的車位檢測(cè)精度,并且達(dá)到接近于標(biāo)記點(diǎn)檢測(cè)算法的單張圖像檢測(cè)時(shí)間.
表6 車位檢測(cè)結(jié)果
本文隨機(jī)抽取不同類別車位的預(yù)測(cè)結(jié)果圖.圖7展示了部分垂直車位的預(yù)測(cè)結(jié)果,圖中包含室內(nèi)、室外及不同背景下的車位.由預(yù)測(cè)結(jié)果圖可知本文算法具有良好的泛化性.
(a) 原圖
(b) 標(biāo)簽圖
(c) 分割圖
(d) 結(jié)果圖
圖8展示了部分平行車位的預(yù)測(cè)結(jié)果,圖中包含不同戶外場(chǎng)景和光照?qǐng)鼍跋碌能囄唬深A(yù)測(cè)結(jié)果圖可知本文算法受光照強(qiáng)度變化影響較?。?/p>
(a) 原圖
(b) 標(biāo)簽圖
(c) 分割圖
(d) 結(jié)果圖
圖9展示了部分傾斜車位的預(yù)測(cè)結(jié)果,由圖可知,本文算法通過(guò)分割車位線能夠獲得比較完整的車位信息,不受傾斜車位方向的影響,能夠準(zhǔn)確檢測(cè)不同方向的傾斜車位,并可同時(shí)檢測(cè)位于車輛兩側(cè)不同類型的車位,魯棒性較強(qiáng).
(a) 原圖
(b) 標(biāo)簽圖
(c) 分割圖
(d) 結(jié)果圖
本文通過(guò)對(duì)車位線進(jìn)行分割和提取完成了車位檢測(cè),實(shí)現(xiàn)了多種類型的車位識(shí)別,提出了基于深度可分離卷積和非對(duì)稱卷積相結(jié)合的網(wǎng)絡(luò)輕量化改進(jìn)策略,并提出UFAC-Net分割網(wǎng)絡(luò),將網(wǎng)絡(luò)的參數(shù)量降至U-Net的1/5,平均交并比相較于U-Net提升1.09%(以UFAC-Net2為參考).實(shí)驗(yàn)結(jié)果表明,相較于VH-HFCN,像素精度提升2.79%,平均交并比提升26.54%,為目前該數(shù)據(jù)集上分割精度最高的網(wǎng)絡(luò).本文算法在自定義測(cè)試集中精準(zhǔn)率為99.23%,召回率為99.12%,單張圖像檢測(cè)時(shí)間為32.2 ms,具有良好的檢測(cè)性能,可檢測(cè)復(fù)雜場(chǎng)景下平行、垂直和傾斜3種類型任意位置的停車位及其周圍存在的車道線.雖然算法的魯棒性較強(qiáng),但還有一定的局限性,并不能判斷檢測(cè)到的車位是否可用.未來(lái)會(huì)結(jié)合目標(biāo)檢測(cè),將車位檢測(cè)和判斷當(dāng)前車位是否可用相互融合,進(jìn)行更加智能化的車位檢測(cè)研究.