饒啟鵬,凌 銘,王 鑫,劉 暢,翟樹龍
(上海工程技術(shù)大學(xué) 電子電氣工程學(xué)院,上海 201620)
隨著Xavier、Atlan、Orin 等車載芯片的發(fā)展,其算力將應(yīng)用于L4 及L5 級別自動駕駛,與此同時人們對高級輔助駕駛的需求也在增加,完全支持ADAS 自動泊車功能被量產(chǎn)。然而,戶外長時間使用的公共停車位除了本身可能出現(xiàn)的照明不足、遮擋嚴(yán)重等現(xiàn)象,甚至還會存在掉漆、灰塵污染、腐蝕等問題,如圖1 所示。
圖1 某地車位經(jīng)過使用前后對比Fig. 1 Comparison of a certain parking space before and after use
綜上所述,這些問題就容易導(dǎo)致裝配了環(huán)視攝像頭的自動泊車系統(tǒng)出現(xiàn)漏檢。面對這一狀況,現(xiàn)已相繼提出了一些神經(jīng)網(wǎng)絡(luò)算法,比如針對小目標(biāo)的目標(biāo)檢測[1]、注意力機(jī)制、以及偽裝目標(biāo)檢測(Camouflage Object Detection,COD)等。研究可知,生物學(xué)術(shù)語中有背景匹配偽裝(background matching camouflage)一詞,變色龍就是詮釋該詞含義的一個最好的例子,即為了安全起見而使自己的身體看起來和周圍的環(huán)境無異。然而一般戶外公共的車位線經(jīng)過反復(fù)使用后,就會出現(xiàn)與周圍地面背景匹配的現(xiàn)象,只有人眼依稀能看見的車位線。因此本文將其視作背景匹配偽裝,并設(shè)計了相應(yīng)的檢測算法。原本白色的車位線在經(jīng)由車輛、行人造成的灰塵臟污后看上去與灰色的水泥路面融為一體,甚至?xí)霈F(xiàn)車位線之間的材料被磨掉的現(xiàn)象,這對于自動泊車系統(tǒng)研究來說無疑就是一個技術(shù)難點(diǎn)。因此也給針對顯著性目標(biāo)和通用目標(biāo)的偽裝檢測提出了不小的挑戰(zhàn)。偽裝檢測不僅可以應(yīng)用于自動駕駛檢測,目前也已廣泛應(yīng)用于搜救工作、醫(yī)學(xué)圖像分割、稀有物種的發(fā)現(xiàn)和藝術(shù)創(chuàng)作等方面。
根據(jù)目標(biāo)的狀態(tài)可分為普通目標(biāo)、顯著性目標(biāo)和偽裝目標(biāo)。針對偽裝目標(biāo)檢測,SINet[2]根據(jù)自然界捕食者特點(diǎn)設(shè)計了搜索模塊和辨認(rèn)模塊,PFNet[3]針對實(shí)驗(yàn)分析過程中出現(xiàn)的難例問題,設(shè)計網(wǎng)絡(luò)結(jié)構(gòu)時在聚焦模組(Focus Module,F(xiàn)M)中添加了逐元素加減操作以達(dá)到增強(qiáng)前景假陰性部分或抑制背景假陽性部分,這種方法明顯削弱了假陽性的干擾。
Hough 和Radon[4]變換作為傳統(tǒng)的車位線檢測線段特征,DeepPS[5]和DMPR-PS[6]采用了方形描述子檢測直角車位頂點(diǎn),但缺點(diǎn)是對斜向停車位檢測性能會下降許多,PSDet[7]則改用圓形描述子來形容并提高對多種類型車位線的檢測魯棒性,VHHFCN[8]對斜向停車線設(shè)計的冗余模塊導(dǎo)致了性能的下降。文獻(xiàn)[9]和VSP-NET[10]則針對不同形狀、不同角度的停車位,利用二階或一階的深度卷積網(wǎng)絡(luò)同時檢測車位入口的角特征與線特征。隨著語義分割的流行,相比基于檢測方法的網(wǎng)絡(luò)模型來說,SPFC[11]的檢測精度和實(shí)時性要更高,因此本文采用基于分割的方法進(jìn)行車位檢測。
本文采用超像素網(wǎng)絡(luò)與偽裝檢測網(wǎng)絡(luò)的并行設(shè)計,為了進(jìn)一步提高模型的效率,使用逆殘差塊(Inverted Residual Block,IBN)替代殘差塊,輸出的單級特征圖經(jīng)過RF(Receptive Field)模塊,RF 模塊的結(jié)構(gòu)是根據(jù)人類視覺系統(tǒng)來設(shè)計的,因此本文用SINet[2]中的RF 模塊代替膨脹卷積編碼器。研究給出的車位檢測網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
圖2 車位檢測網(wǎng)絡(luò)結(jié)構(gòu)Fig. 2 Parking space detection network structure
采用改進(jìn)的YOLOF(You Only Look One-level Feature)[12]作為特征提取網(wǎng)絡(luò),網(wǎng)絡(luò)僅僅輸出單級特征圖,同時為了進(jìn)一步提高模型效率,主干網(wǎng)絡(luò)使用EfficientNet-B0[13],輸出單級特征圖(C5),如圖3所示。
圖3 主干網(wǎng)絡(luò)提取特征圖Fig. 3 The backbone extraction feature map
通過輸出的單級特征圖一路經(jīng)過4 個級聯(lián)的RF 得到不同尺度的特征圖,另一路輸入搜索注意力(Search Attention,SA)模塊。SA 模塊接受C5 和部位解碼組件(Partial Decoder Component,PDC)計算的特征圖作為輸入,由PDC 解碼輸出的特征圖直接與標(biāo)注的真值作為損失函數(shù)的輸入。
車位檢測網(wǎng)絡(luò)下采樣等操作造成了原來圖像的細(xì)節(jié)損失,從而導(dǎo)致定位精度降低。因此添加超像素網(wǎng)絡(luò)實(shí)時處理低像素圖像。超像素網(wǎng)絡(luò)主要由殘差塊組成,殘差學(xué)習(xí)的設(shè)計特點(diǎn)是在原來的卷積模塊中加入了跳轉(zhuǎn)連接(Skip Connection)結(jié)構(gòu),低層的網(wǎng)絡(luò)可以直接連接到高層網(wǎng)絡(luò)中,很多超像素的相關(guān)工作都借鑒了這一點(diǎn)[14]。考慮到效率問題,利用IBN 模塊代替殘差塊,除了局部連接外,額外加入了全局連接融合各殘差塊,詳見圖2。
訓(xùn)練的損失函數(shù)為交叉熵?fù)p失函數(shù)(Cross Entropy Loss,CEL),損失函數(shù)定義如下:
其中,Ccsm、Ccim分別表示2 張檢測到的車位掩碼圖,G為真值標(biāo)簽。除了CEL外,還添加了局部對象損失(Objet-aware Loss)。具體來說,所提方法為每個訓(xùn)練圖像生成相應(yīng)的車位掩碼。在大多數(shù)像素點(diǎn)為零的每個掩碼中,收集車位區(qū)域中的損失函數(shù)定義如下:
其中,f表示輸出的掩碼與真值圖像相乘而得到相應(yīng)的車位區(qū)域。因此總體損失函數(shù)定義如下:
目前,用于自動泊車的數(shù)據(jù)集有:PSV 數(shù)據(jù)集[8]、ps2.0 數(shù)據(jù)集[5]、PSDD 數(shù)據(jù)集[7]。其中,ps2.0由4 顆魚眼相機(jī)拼接后的圖片制作而成,600×600像素對應(yīng)實(shí)際上10 m×10 m 的地面范圍,數(shù)據(jù)均屬于停車場景,訓(xùn)練集約10 000張,測試集不到5 000張。PSV 數(shù)據(jù)量較小,訓(xùn)練集2 550張,驗(yàn)證集425張,測試集1 274張。PSDD 數(shù)據(jù)集則涉及了更多場景和更豐富的停車位幾何形狀。
與當(dāng)前流行的車位檢測數(shù)據(jù)集不同,本算法構(gòu)建數(shù)據(jù)集的目標(biāo)是提供視覺上更具挑戰(zhàn)性、卻也與現(xiàn)實(shí)特殊情形最貼近的數(shù)據(jù)集。作為一個偽裝目標(biāo)檢測數(shù)據(jù)集,實(shí)驗(yàn)分別從當(dāng)前各流行的車位檢測數(shù)據(jù)集中精心選擇近似偽裝的圖片,并加入了一些數(shù)字處理手段:
(1)圖片經(jīng)下采樣操作變成300×300,將這些低像素值圖片作為輸入,經(jīng)過本文所提出的檢測器輸出600×600 的圖片。
(2)模糊化和隨機(jī)旋轉(zhuǎn)等操作,用來增強(qiáng)檢測器的檢測精度和魯棒性。
經(jīng)處理后,一共得到了10 000張圖片(6 000 張用來訓(xùn)練,4 000 張用于測試)。并按照偽裝目標(biāo)檢測的標(biāo)準(zhǔn)進(jìn)行標(biāo)注,作為實(shí)驗(yàn)的訓(xùn)練集和測試集。
實(shí)驗(yàn)執(zhí)行的算法在Linux18.04 64 位操作系統(tǒng)上實(shí)現(xiàn),使用設(shè)備為Intel(R)Core(TM)i7-10510U CPU@1.80 GHz 32 G 內(nèi)存、顯卡為NVIDIA GeForce 1080Ti、PyCharm2019 社區(qū)版、PyTorch 深度學(xué)習(xí)框架。在訓(xùn)練階段,批大小設(shè)置為36 張圖片,學(xué)習(xí)率設(shè)為0.001,循環(huán)次數(shù)設(shè)為500,利用自適應(yīng)矩估計(Adam)優(yōu)化器,該優(yōu)化器可以自動調(diào)節(jié)學(xué)習(xí)率,加速模型訓(xùn)練過程,減少模型參數(shù)調(diào)整數(shù)目等優(yōu)點(diǎn)。
為驗(yàn)證所提方法的有效性,在服務(wù)器工作站上進(jìn)行了實(shí)驗(yàn)。圖4 為同等條件下,所提方法與其他3 種方法在數(shù)據(jù)集上經(jīng)過訓(xùn)練后求出的val_loss最低的權(quán)重進(jìn)行預(yù)測后,得到的效果圖。從圖像的對比可以看出,所提方法比一般的基于分割的方法更能精確定位出車位線位置,提升了對車位線目標(biāo)的捕捉能力,從而使得包含空車位鑒別等后處理任務(wù)在內(nèi)的整體檢測精度有了提升。
圖4 在數(shù)據(jù)集上的分割效果Fig. 4 Segmentation effect on the dataset
實(shí)驗(yàn)使用MAE、Fβ、交并比(IoU)作為性能評估標(biāo)準(zhǔn)進(jìn)行定量分析,先對所提出方法與其他3 種方法用相同的性能指標(biāo)進(jìn)行比較,并且采用相同的訓(xùn)練和測試方法,得到在本文數(shù)據(jù)集上檢測結(jié)果,定量分析結(jié)果見表1。針對分割任務(wù),基于自然界的捕獵方法設(shè)計的車位檢測器更利于檢測到近似偽裝的目標(biāo),IoU值為82.1,F(xiàn)β值為88.4,MAE值為0.045。對于車位線預(yù)測較好,但對于隱蔽性較強(qiáng)的特征分類能力仍有進(jìn)步空間。
表1 數(shù)據(jù)集上不同分割算法性能對比Tab.1 Performance comparison of different segmentation algorithms on the dataset proposed in this paper %
YOLOF 框架下不同主干網(wǎng)絡(luò)對性能的影響見表2。由表2 可知,YOLOF 框架下EfficientNet-B0相比EfficientNet-B1 性能并未下降多少,且在降低模型尺寸的條件下提高了網(wǎng)絡(luò)運(yùn)行的效率。
表2 數(shù)據(jù)集上不同主干提取網(wǎng)絡(luò)性能對比Tab.2 Performance comparison of different backbone extraction networks on the dataset proposed in this paper %
基于自然界捕食者捕捉原理,設(shè)計出一種緊湊而高效的神經(jīng)網(wǎng)絡(luò)模型。先對目標(biāo)區(qū)域進(jìn)行搜索,再進(jìn)行邊界框的精確定位;基于建立的數(shù)據(jù)集,提出的車位檢測算法能實(shí)現(xiàn)高精度的同時滿足實(shí)時性的性能要求;通過超像素并行模塊,實(shí)現(xiàn)對目標(biāo)的更精確定位。實(shí)驗(yàn)證明,所提出的網(wǎng)絡(luò)模型擅長在遮擋、陰影、灰塵污染等難以辨認(rèn)的環(huán)境中對車位線進(jìn)行精確識別并回歸出位置。今后會采用生成對抗網(wǎng)絡(luò)(Generative Adversarial Networks,GAN)方法生成更多近似偽裝的車位線圖片并做成數(shù)據(jù)集,從而增強(qiáng)模型的魯棒性,提高檢測精度。