?

基于語義分割的車位檢測算法研究

2024-01-22 09:04東,冰,浩,
大連理工大學學報 2024年1期
關鍵詞:非對稱車位卷積

李 偉 東, 李 冰, 朱 旭 浩, 李 樂

(大連理工大學 汽車工程系, 遼寧 大連 116024 )

0 引 言

目前,新能源汽車所占市場份額不斷擴大,汽車智能化程度增高,全景環視系統(around view monitor,AVM)[1]已是大多數車輛的標配,利用AVM進行車輛環境感知具有很大的研究價值,越來越多的研究者提出了利用AVM的車位檢測算法.

多年來,基于計算機視覺和AVM的車位檢測算法已被廣泛研究,總體可分為基于線檢測和基于標記點檢測兩種.基于線檢測的方法首先通過檢測器檢測出車位線的邊緣特征,如Canny邊緣檢測器[2]和Sobel濾波器[3],通過擬合算法對直線進行預測,采用人工設計的幾何約束進行篩選和定位得到車位.朱旺旺等[4]利用改進的Radon算法對邊緣提取后的車位圖像進行檢測,通過閾值分割優化Radon矩陣提取車位線,取得了較好的檢測結果.基于標記點檢測的方法采用標記點檢測器[5]、增強決策樹[6]等一些檢測方法檢測出標記點,通過模板匹配等技術進行車位檢測.盡管傳統車位檢測算法的結果較好,準確率也較高,但魯棒性差,對地面紋理及光照強度的變化較為敏感,在復雜環境下檢測結果較差.

隨著深度學習在計算機視覺中的應用,目標檢測和語義分割被應用在車位檢測任務中.Deep PS(deep parking-slot)[7]是第一個基于深度學習的車位檢測算法,并公開數據集PS2.0,為后續研究者提供便利.該算法使用一個CNN網絡來檢測周圍視圖中的標記點,使用另一個CNN網絡來匹配成對的標記點.Deep PS在多種復雜條件下取得了良好的檢測結果.DMPR-PS(directional marking-point regression parking-slot)[8]為兩階段檢測算法,第一階段采用基于CNN的模型對標記點的方向、坐標和形狀進行回歸;第二階段采用人工設計的幾何規則對標記點進行過濾和匹配.相較于Deep PS更為輕量化,但是對于傾斜車位的檢測結果較差.Min等[9]考慮標記點之間的內在聯系,提出了基于圖神經網絡的檢測算法——AGNN-PS.首先檢測標記點,匹配得到車位入口線后推理得到車位,但通過標記點難以得到整個車位的形狀信息以及車位線的方向信息,因此難以判斷車位的類型,對非垂直車位檢測結果較差.黨順峰等[10]通過在網絡中增加注意力模塊對Mask R-CNN[11]算法進行改進,對車位的8個關鍵點進行檢測,提高了算法在遮擋情況下的檢測精度.

VH-HFCN(vertical horizontal highly fused convolutional network)[12]是第一個基于語義分割的車位檢測算法,標注并公開數據集PSV datasets,為后續研究者提供了便利.VH-HFCN在HFCN[13]基礎上設計了由垂直卷積和水平卷積組成的VH模塊,通過骨架化和線變換對分割區域進行提取,得到車位信息.Jian等[14]提出了一種基于多任務學習的線和點語義分割模型,該模型通過兩個連續的U-Net[15]網絡分別分割車位的入口線和車位角的中心點,生成車位入口線和車位角中心點圖像,并通過后期處理得到車位的信息.該算法采用兩個分割模型進行檢測,模型總的參數量較大,檢測過程較為復雜.

綜上所述,采用標記點檢測的方法在檢測速度及過程的復雜度方面相較于語義分割有著比較大的優勢.語義分割任務是像素級別的分類檢測任務,模型參數量較大,推理檢測速度較慢,但采用語義分割進行車位線特征的提取可以得到車位的整體信息,對非垂直類型的車位尤其是傾斜車位檢測結果更好.本文采用深度可分離卷積[16]和非對稱卷積[17]結合的輕量化策略構建輕量化的車位線分割模型,在PSV datasets上進行訓練并達到目前最高的分割精度;提出一種基于斜率聚類和非極大值抑制(NMS)的車位線提取方法.

1 車位檢測算法

針對語義分割檢測模型參數量較大、車位線提取過程復雜等問題,本文采用深度可分離卷積、非對稱卷積、轉置卷積[18]和通道裁剪等方法對傳統語義分割網絡U-Net進行輕量化改進,提出UFAC-Net模型進行車位線和車道線分割.車位檢測算法框架如圖1所示,車載環視圖像通過分割網絡分割出車位線,通過圖像細化和線變換初步提取車位線,通過斜率聚類和NMS進一步對車位進行篩選,最終提取得到準確的車位信息.

1.1 深度可分離卷積

深度可分離卷積是2017年由Chollet[16]提出的用于嵌入式設備的輕量化方法,主要分為逐通道卷積和逐點卷積,其過程如圖2所示.圖中c和n分別為輸入特征圖和輸出特征圖通道數,i和o分別為輸入特征圖和輸出特征圖尺寸(高×寬),q為卷積核尺寸(高×寬),f為1×1的卷積核.

圖1 車位檢測算法框架

(a) 逐通道卷積

(b) 逐點卷積

圖2(a)為逐通道卷積,單個卷積核負責相應通道的特征圖,輸出特征圖通道數和輸入特征圖通道數相等;圖2(b)為逐點卷積,通過n個1×1×c的卷積核,將輸入特征圖在深度方向上進行加權組合,輸出n個特征圖.整個過程的參數量和計算量公式如下:

D=q×c+n×c

(1)

F=q×c×o+n×c×o

(2)

式中:D為參數量,F為計算量.在得到相同通道數特征圖的情況下,該卷積方式約為常規卷積參數量和計算量的1/q,使用深度可分離卷積代替常規卷積可大幅降低模型的參數量和計算量.

1.2 非對稱卷積

非對稱卷積即采用不規則的卷積核進行卷積運算,將n×n的卷積核分解為1×n和n×1的卷積核,分別進行卷積運算后再進行相加.顯然非對稱卷積所用的參數量更少,但也會有比較嚴重的信息損失.針對本文任務的特殊性,數據集中的有效特征都為線形特征且具有一定的分布規律(近似水平和近似垂直而且分布比較稀疏).采用連續的非對稱卷積能夠在使用較少參數量的同時得到較大的有效感受野,更多地保留圖像中的有效信息.

VH模塊通過采用連續的非對稱卷積增大網絡在水平和垂直方向上的感受野,其對圖像中線形特征的注意力更強,并且在線形分割中取得較好的結果,但其為一維卷積核,每次只能在一維空間上對特征進行融合(水平或垂直方向上),會造成較大的信息損失.若采用常規卷積(n×n),減少信息損失的同時會大幅增加網絡的參數量和計算量.針對此問題,本文對VH模塊進行改進(ACVH模塊),如圖3所示,增加一個網絡分支,對分支上的特征圖不做任何的卷積處理,而是直接與經過VH模塊計算后的特征圖相加,保證模塊在不增加參數量的同時減少非對稱卷積過程中的信息損失,并且選擇n=5的非對稱卷積核,保證參數量較少前提下進一步擴大感受野,增加網絡精度.

圖3 ACVH模塊結構

1.3 改進的網絡模型

U-Net是經典的語義分割網絡,通過4個下采樣模塊將輸入圖像變為含有1 024個通道數的特征圖,在上采樣階段通過網絡分支進行特征融合,有效減少了在下采樣階段圖像信息的損失.其對小樣本數據集的分割結果較好,廣泛應用于醫學圖像分割和遙感圖像分割領域.但U-Net網絡層通道數過多,模型參數量和計算量較大;其輸入圖像的大小為572×572,每次上采樣階段進行特征融合時,都需要裁剪網絡分支的特征圖,網絡復雜性較高;上采樣和下采樣之間采用1×1卷積核融合特征,感受野較?。瓮姷萚19]對U-Net網絡底層模塊進行擴大感受野的改進,有效提高了遙感影像道路的分割精度.

本文采用深度可分離卷積和非對稱卷積對U-Net進行改進得到UFAC-Net模型,該模型的結構如圖4所示,網絡主要由3種模塊組成:4個Encoder模塊,4個Decoder模塊,1個ACVH模塊.其中,Encoder模塊主要進行下采樣操作,包含2個深度可分離卷積層和1個最大池化層.采用深度可分離卷積代替常規卷積降低網絡的參數量和計算量.Decoder模塊主要進行上采樣操作,包含1個轉置卷積層和2個深度可分離卷積層,轉置卷積提供上采樣操作.在與網絡分支相連的Decoder模塊中,增加連接層,用于融合網絡主干和分支的特征圖并將融合后的特征圖輸入下一個Decoder模塊.ACVH模塊為改進的非對稱卷積模塊,具體結構如圖3所示,每層不規則卷積的通道數均為512.模塊位于整個網絡的下采樣和上采樣操作之間,擴大有效感受野,增加模型對線形特征的分割能力;網絡的輸入改為512×512,避免在融合淺層特征時的裁剪操作.

本文任務的數據集較小,如果采用通道較深的卷積層會使網絡過擬合,產生較大的冗余.通過通道裁剪,將UFAC-Net的通道整體縮減為U-Net的1/2,進一步降低網絡的復雜度.

整體的改進策略為先采用經典的網絡輕量化方式(深度可分離卷積和通道裁剪)降低網絡的參數量和計算量,再搭配嵌入網絡深層的ACVH模塊增加網絡精度.

1.4 數據集

PSV datasets[12]共有4 249張圖,包含各種復雜場景下的全景俯視圖,如圖5所示.數據集共分為3類:背景類、車道線、車位線.

1.5 損失函數

損失函數的計算公式如下:

(3)

lu=luw[xu]

(4)

(5)

圖4 UFAC-Net模型結構

(a) 全景俯視圖

(b) 線形圖

式中:u=1,2,…,G,為樣本數;k=0,1,2,為類別數.式(3)為常規交叉熵損失函數.模型采用加權交叉熵損失函數,如式(4)所示,通過增加車位線和車道線標簽的權重,使網絡更加注意車位線特征.模型中進行傳播的損失由式(5)計算.

1.6 車位的提取與定位

圖像經過網絡進行分割后,進一步從中提取出車位信息,提取過程如圖6所示.

圖6 車位提取過程

通過圖像細化降低車位線寬度,如圖6中②所示;通過霍夫變換對細化后的圖像進行車位線提取,線段用首尾點的坐標表示((x1,y1),(x2,y2)),如圖6中③所示;通過斜率聚類和NMS對提取的車位線進行篩選.根據線段斜率將所有線段分為近似水平線和近似垂直線,經過聚類得到每條車位線的簇,取每一簇線段中的最大值保留.圖6中④為篩選后的結果.線段斜率的計算公式如下:

Kg=|Δyg/(Δxg+1)|

(6)

式中:g=1,2,…,V,V為線段的總數量.

2 實驗結果與分析

2.1 消融實驗與分析

消融實驗模型組成見表1.在U-Net的基礎上進行3次微調分別得到UF-Net、UFC-Net、UFAC-Net,其中UFAC-Net是在UFC-Net的基礎上嵌入ACVH模塊得到,對其分別采用常規交叉熵損失函數和加權交叉熵損失函數進行訓練,分別用UFAC-Net1和UFAC-Net2表示.

表1 消融實驗模型組成

本文使用像素精度(pixel accuracy,PA)B1、平均像素精度(mean pixel accuracy,MPA)B2、平均交并比(mean intersection over union,MIoU)B3、頻率權重交并比(frequency weighted intersection over union,FWIoU)B4為評估指標.計算公式如下:

(7)

(8)

(9)

(10)

式中:pij表示本屬于i類卻預測為j類的像素點總數,pii表示屬于i類并且預測為i類的像素點總數,pji表示本不屬于i類卻預測為i類的像素點總數,k表示類別數(k=2).

為探究最佳的非對稱卷積核長度R,本文分別設置4種不同的R(3、5、7、9),并在UFAC-Net網絡中統一采用加權交叉熵損失函數測試,結果見表2.當R=5時,可以在較小的參數量提升下獲得較大的精度提升,網絡整體效果最佳.

表2 不同R的ACVH模塊分割結果

由表3可知,UF-Net相比于U-Net,模型的平均交并比下降2.30%,深度可分離卷積可以滿足本文任務的需求.UFAC-Net1的平均交并比達到72.92%,參數量為3.1 MB,約為U-Net參數量(17.6 MB)的1/5.通過增加ACVH模塊使UFAC-Net1在增加較少參數量的情況下對分割精度的提升明顯.通過采用加權交叉熵損失函數,使得UFAC-Net2在UFAC-Net1的基礎上平均交并比提升0.13%,達到73.05%,損失函數最終的權重為[1,1.5,3].

表3 車位線分割結果

實驗表明,在進行車位線分割任務時,可通過深度可分離卷積、通道裁剪等方式對分割模型輕量化,搭配ACVH模塊可在增加少量參數情況下明顯提升分割精度.

本文的實驗環境為Ubuntu16.04操作系統,單張NVIDIA V100顯卡,PaddlePaddle深度學習框架.采用梯度下降法訓練,第20輪學習率衰減1/3,第40輪學習率再次衰減1/3,當驗證集的損失值增加時停止訓練.最終模型在訓練集上的損失值穩定在0.01左右,在驗證集上的損失值穩定在0.03左右.通過對測試集總的推理時間取平均得到單張圖像的前向推理時間為28 ms,滿足實時性要求.

本文將UFAC-Net與VH-HFCN進行比較,VH-HFCN此前在該數據集上是分割精度最高的網絡.由表4可知,UFAC-Net相較于VH-HFCN平均交并比提升了26.54%,達到目前在該數據集上最高的分割精度.

表4 分割結果對比(PSV datasets)

2.2 車位檢測實驗與分析

本文在數據集PS2.0和PSV datasets中各取200張圖像組成自定義測試集測試算法的泛化性.評估指標為精準率E1、召回率E2和單張圖像檢測時間,測試集包含3種車位(垂直、平行、傾斜)且占比為3∶3∶4.精準率、召回率的計算公式如下所示,檢測結果見表5、6.

E1=s/(s+a)

(11)

E2=s/(s+b)

(12)

式中:s為檢測正確(目標車位預測和車位類別判別均正確)的樣本數量,a為誤檢車位(目標車位預測和車位類別判別均錯誤)的樣本數量,b為漏檢車位的樣本數量.精準率E1為所有檢測到的車位中檢測正確的占比,召回率E2為所有車位中檢測正確的占比.

表5 各類別車位檢測結果

由表5可知,對車位線進行檢測能夠獲取整體車位的更多信息,提高算法對傾斜車位方向的敏感性,從而提高對傾斜車位的檢測精度.同時,本文算法在垂直和平行車位的檢測上也達到了良好的檢測效果.

將自定義數據集隨機打亂后,檢測結果見表6.實驗結果表明,通過對分割模型及后處理算法的優化改進,本文算法檢測精準率為99.23%,召回率為99.12%,單張圖像檢測時間為32.2 ms,取得了較高的車位檢測精度,并且達到接近于標記點檢測算法的單張圖像檢測時間.

表6 車位檢測結果

本文隨機抽取不同類別車位的預測結果圖.圖7展示了部分垂直車位的預測結果,圖中包含室內、室外及不同背景下的車位.由預測結果圖可知本文算法具有良好的泛化性.

(a) 原圖

(b) 標簽圖

(c) 分割圖

(d) 結果圖

圖8展示了部分平行車位的預測結果,圖中包含不同戶外場景和光照場景下的車位.由預測結果圖可知本文算法受光照強度變化影響較?。?/p>

(a) 原圖

(b) 標簽圖

(c) 分割圖

(d) 結果圖

圖9展示了部分傾斜車位的預測結果,由圖可知,本文算法通過分割車位線能夠獲得比較完整的車位信息,不受傾斜車位方向的影響,能夠準確檢測不同方向的傾斜車位,并可同時檢測位于車輛兩側不同類型的車位,魯棒性較強.

(a) 原圖

(b) 標簽圖

(c) 分割圖

(d) 結果圖

3 結 語

本文通過對車位線進行分割和提取完成了車位檢測,實現了多種類型的車位識別,提出了基于深度可分離卷積和非對稱卷積相結合的網絡輕量化改進策略,并提出UFAC-Net分割網絡,將網絡的參數量降至U-Net的1/5,平均交并比相較于U-Net提升1.09%(以UFAC-Net2為參考).實驗結果表明,相較于VH-HFCN,像素精度提升2.79%,平均交并比提升26.54%,為目前該數據集上分割精度最高的網絡.本文算法在自定義測試集中精準率為99.23%,召回率為99.12%,單張圖像檢測時間為32.2 ms,具有良好的檢測性能,可檢測復雜場景下平行、垂直和傾斜3種類型任意位置的停車位及其周圍存在的車道線.雖然算法的魯棒性較強,但還有一定的局限性,并不能判斷檢測到的車位是否可用.未來會結合目標檢測,將車位檢測和判斷當前車位是否可用相互融合,進行更加智能化的車位檢測研究.

猜你喜歡
非對稱車位卷積
基于3D-Winograd的快速卷積算法設計及FPGA實現
為了車位我選擇了環保出行
我自己找到一個
從濾波器理解卷積
非對稱Orlicz差體
基于傅里葉域卷積表示的目標跟蹤算法
一個車位,只停一輛?
點數不超過20的旗傳遞非對稱2-設計
非對稱負載下矩陣變換器改進型PI重復控制
一種基于卷積神經網絡的性別識別方法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合