陳天婷 李慶
(1.中國科學(xué)院大學(xué),北京 100049;2.中國科學(xué)院微電子研究所,北京 100029)
主題詞:自主泊車 環(huán)視系統(tǒng) 停車位檢測 直線段檢測算法 線段匹配
在自動泊車系統(tǒng)中,停車位的檢測與跟蹤是泊車路徑規(guī)劃的基礎(chǔ)。停車位檢測技術(shù)大致分為2類:一類采用超聲波傳感器[1]、激光掃描儀[2]、立體相機[3]、短程雷達[4]、結(jié)構(gòu)光[5]等,這類方法要求目標停車位前、后均停有障礙物車輛,局限性較大;另一類通過識別車位圖像特征確定停車位,此方法應(yīng)用于泊車的低速場景,可以通過多幀檢測細化識別結(jié)果,是目前停車位檢測技術(shù)的發(fā)展趨勢。
在識別車位線圖像特征的方法中:王旭東等人[6]基于Radon變換[7]提取車位線,但是該方法對車位線的寬度很敏感;朱旺旺等人[8]結(jié)合泊車工況的先驗知識,壓縮了Radon 變換參數(shù)范圍并降低了Radon 矩陣的維度,從而提高了計算效率;K.Hamada[9]使用Hough 變換[10]提取線段,并利用一些幾何約束推斷出停車位,但是在樹影等干擾環(huán)境下算法容易失效;周培義[11]引入金字塔分層思想,提取金字塔高層圖像中車位線骨架,再從中提取出車位線及車位角點。在識別車位角圖像特征的方法中:余卓
本文算法基于汽車環(huán)視系統(tǒng),由4個車載魚眼攝像頭獲取實時圖像,經(jīng)去畸變、逆透視變換和圖像拼接等操作得到環(huán)視鳥瞰圖,如圖1a所示,圖像預(yù)處理主要包括選取感興趣區(qū)域(Region of Interest,ROI)圖像、灰度化、形態(tài)學(xué)梯度、高斯濾波,結(jié)果如圖1b~圖1e所示。
圖1 圖像預(yù)處理
汽車在停車場行駛過程中,停車位通常位于車身平等人[12]設(shè)計了一種融合車輛底盤數(shù)據(jù)和環(huán)視相機數(shù)據(jù)的庫位跟蹤算法,可以在泊車過程中實時跟蹤車位角點;Zong[13]從直線段檢測(Line Segment Detector,LSD)算法檢測到的線段中篩選出構(gòu)成“L”型車位角的線段集合,然后根據(jù)相鄰車位角構(gòu)成停車位,但在篩選由線段集合構(gòu)成的車位角時容易出現(xiàn)漏檢;Li等人[14]結(jié)合停車位的幾何特征提取出停車位的平行線段組,然后使用基于Haar特征和局部二值模式(Local Binary Pattern,LBP)特征的AdaBoost分類器進行車位角檢測,獲得車位導(dǎo)軌線,從而確定停車位;張林等人提出基于學(xué)習(xí)的停車位檢測(Parking-Slot Detection based on Learning,PSDL)算法[15],應(yīng)用4個分類器檢測車位角,然后根據(jù)幾何規(guī)則組合相同模式的車位角,利用6種高斯線模板推斷出停車位的平行標線,從而確定有效的停車位,但是該方法在有障礙物或陰影環(huán)境下高斯線模板易失效,且每個車位角分類器需要檢測的角度范圍為90°,使檢測精度有所損失。
針對以上問題,本文提出一種融合車位線特征和車位角特征的停車位檢測方法,利用相鄰幀之間的直線段匹配實現(xiàn)車位導(dǎo)軌線的跟蹤,利用“T”或“L”型車位角特征輔助確定庫位角點,最后對不同停車場景及天氣條件下的檢測效果進行分析。左、右兩側(cè),因此從輸入的環(huán)視圖像中選取ROI 代替整個圖像進行檢測,不僅能夠加快檢測速度,還能減少干擾,提高算法精度。在停車位場景中,車位線的灰度值相對偏高,使用形態(tài)學(xué)梯度算子加強并保留車位線的邊緣,從而去除圖像中灰度變化不明顯或偏暗的區(qū)域。最后,為了去除噪點,利用高斯濾波進行平滑處理。
本文使用LSD 算法[16]作為直線段提取方法。LSD算法能在線性時間內(nèi)得到亞像素級準確度的直線段,運行速度比霍夫線變換快,而且可以控制誤檢數(shù)量。其檢測流程主要分為3 個部分,即根據(jù)梯度產(chǎn)生線段支持域、構(gòu)造近似矩形和控制誤檢數(shù)過濾錯誤線段。
將LSD算法作用于經(jīng)過預(yù)處理操作的停車位圖像,并從直線段檢測結(jié)果中回歸出如圖2 所示的車位導(dǎo)軌線,導(dǎo)軌線和與之垂直的平行標線在相交處構(gòu)成了“L”型或“T”型的車位角。本文算法通過導(dǎo)軌線確定車位角檢測的感興趣區(qū)域,避免對整幅圖像進行遍歷檢測。
圖2 停車位導(dǎo)軌線和車位角示意
車位導(dǎo)軌線提取結(jié)果如圖3所示,其具體流程為:
a.使用LSD算法檢測直線段,剔除長度小于設(shè)定閾值的短線段,結(jié)果如圖3a所示。
b.將角度區(qū)間(-90°,90°)均勻設(shè)置為18 個小區(qū)間,可認為10°范圍內(nèi)線段方向基本一致。每條線段按角度分類到各小區(qū)間,合并相互垂直的角度區(qū)間,保留線段數(shù)量最多的合并區(qū)間W內(nèi)的線段,如圖3b所示。
c.根據(jù)汽車行駛中與停車位的相對方位,選擇保留W中角度絕對值較大的區(qū)間內(nèi)的線段,如圖3c所示。
d.利用線段近似平行的特點,本文設(shè)計了動態(tài)K-Means 算法,篩選出用于回歸車位導(dǎo)軌線的線段集合,如圖3d所示。其中,類別數(shù)k初始值設(shè)為1,并在線段聚類過程中動態(tài)增加。動態(tài)K-Means算法偽代碼為:
在計算dij時,設(shè)fi的兩端點坐標分別為(xi1,yi1)和(xi2,yi2),cj的某一端點坐標為(xj,yj),利用向量叉乘的公式a×b=|a||b|sinθ,并且定義向量ai=(xi2-xi1,yi2-yi1)、bj=(xj-xi1,yj-yi1),則dij為:
式中,θ、θd分別為向量a與b的夾角和向量ai與bj的夾角。
e.以線段長度作為權(quán)重,計算導(dǎo)軌線的斜率和截距的回歸結(jié)果,如圖3e所示。
圖3 提取車位導(dǎo)軌線
本文使用線段條帶描述子(Line Band Discriptor,LBD)[17]作為直線段的描述符,基于該描述符可以對2幅圖中的線段特征進行匹配,計算出單應(yīng)變換矩陣,完成導(dǎo)軌線的跟蹤,具體算法流程如圖4所示。LBD算法利用線段構(gòu)成線段支持區(qū)域(Line Support Region,LSR),并引入全局和局部的高斯權(quán)重系數(shù)統(tǒng)計區(qū)域中每行的梯度直方圖,將其串聯(lián)成LBD 條帶描述符。相比于均值-標準差線段描述符(Mean-Standard deviation Line Descriptor,MSLD),LBD 描述符除了具有旋轉(zhuǎn)、光照不變性等優(yōu)點,還具有更優(yōu)的匹配效果。
圖4 線匹配算法流程
在匹配過程中,依據(jù)最近鄰距離比準則衡量LBD描述子特征向量間的相似性,篩選出初始匹配結(jié)果,并對其中出現(xiàn)“一配多”和“多配一”的情況進行檢查,得到更加可靠的匹配結(jié)果。
給定參考圖像和目標圖像的M對線段匹配結(jié)果,其中分別表示相匹配線段的中點的齊次坐標,滿足關(guān)系:
式中,H為3×3的單應(yīng)變換矩陣,有8個自由度。
通過直接線性變換(Direct Linear Transform,DLT),將式(2)轉(zhuǎn)換成Ajh=0的形式,其中系數(shù)矩陣Aj為:
式中,h為H按列排列的向量形式。
采用最小二乘法估計單應(yīng)變換矩陣H:
式(4)的約束條件為‖h‖2=1。通過參考圖像中導(dǎo)軌線和計算得到的單應(yīng)變換矩陣H,可獲得目標圖像中導(dǎo)軌線位置,實現(xiàn)導(dǎo)軌線跟蹤,縮短算法處理時間。
提取車位導(dǎo)軌線后,可通過導(dǎo)軌線上的車位角進一步確定停車位位置。本文訓(xùn)練了1 個正方向車位角分類器,對導(dǎo)軌線上的車位角進行檢測。選取導(dǎo)軌線鄰近區(qū)域作為待檢測ROI,以減少滑窗檢測時間和誤檢率。離線訓(xùn)練分類器和在線檢測車位角的算法流程如圖5所示。本文選取6 103張正樣本與40 049張負樣本進行訓(xùn)練,樣本分辨率均為64×64。其中,正樣本截取自正停車位的“T”型或“L”型車位角,負樣本來自停車位背景。
圖5 訓(xùn)練分類器和檢測車位角的算法流程
基于對正、負樣本的分析和方向梯度直方圖(Histogram of Oriented Gradient,HOG)在提取邊緣和梯度特征時能很好地描述局部形狀的特點,以及其對幾何和光學(xué)變化也具有很好的不變性,本文選擇提取HOG特征作為描述子。同時,為保證速度和簡潔性,使用線性支持向量機(Support Vector Machine,SVM)作為分類器。
在車位角檢測階段,首先依據(jù)導(dǎo)軌線斜率對環(huán)視圖進行仿射變換,設(shè)環(huán)視圖的中心(cx,cy)為旋轉(zhuǎn)中心點,待旋轉(zhuǎn)的角度記作θr(以逆時針為正),定義α=cosθr,β=sinθr,計算映射矩陣R為:
然后,在導(dǎo)軌線區(qū)域使用正方向車位角檢測分類器,以及采用多尺度滑動窗口策略,進行“T”型或“L”型車位角檢測,降低漏檢率的同時,也導(dǎo)致了一個目標被多個窗口標定。為消除冗余候選框,結(jié)合停車位幾何特征對非極大值抑制算法(Non-Maximum Suppression,NMS)進行了改進,以對大量候選框進行矩形融合,保留置信度最大的窗口,如圖6 所示。最后,利用R的逆矩陣將檢測的車位角逆變換到環(huán)視圖上對應(yīng)位置,由導(dǎo)軌線和相鄰車位角共同確定停車位的位置。
通過線特征匹配得到的單應(yīng)矩陣除用于對車位導(dǎo)軌線進行跟蹤外,還可以獲得參考幀車位角在目標幀圖像中的位置,從而減小目標幀車位角的漏檢率。
圖6 車位角檢測結(jié)果
實車試驗采用榮威汽車,如圖7所示。系統(tǒng)硬件包括4個魚眼攝像頭、1個視頻采集卡和1臺計算機(英特爾酷睿i7-7700K@3.0 GHz),在Visual Studio 2015 編程環(huán)境下,使用OpenCV 3.3.0函數(shù)庫進行算法開發(fā)。
圖7 實車試驗平臺
為評估算法性能,采用精確率(Precision)和召回率(Recall)作為試驗結(jié)果精度的評估指標,相關(guān)定義如下:
式中,P為精確率;R為召回率;TP為分類器檢測出的停車位數(shù)量;FP為被分類器誤檢為停車位的數(shù)量;FN為未被分類器檢測出的停車位數(shù)量。
在試驗中,每個停車位由車位導(dǎo)軌線上的2個相鄰車位角p1,p2表示;停車位的標簽值表示為;停車位的檢測值表示為。
精確率和召回率中相關(guān)變量的定義如下:
b.如果Pd沒有對應(yīng)的停車位標簽值,則Pd為假正類(False Positive);
c.如果Pl沒有匹配的檢測結(jié)果,則Pl為假負類(False Negative)。
本文算法模型結(jié)合了車位線和車位角特征,為驗證本文算法的有效性和先進性,與其他停車位檢測方法進行對比試驗,其中王旭東[6]提出的檢測方法基于車位線特征,張林提出的PSDL[15]算法主要基于車位角特征,從采集的視頻圖像中選取500張環(huán)視圖進行算法測試,每種算法的精確率和召回率如表1所示。
表1 停車位檢測方法的性能對比
由表1可以看出,文獻[6]方法在評價指標上平均檢測時間較短,但召回率較低,即存在著比較嚴重的漏檢問題。在泊車實際場景中,樹影、鄰車車身及其他障礙物等都有可能使停車位標志線被部分遮擋,而且經(jīng)過逆透視變換和拼接得到的環(huán)視圖本身的圖像質(zhì)量也存在一定程度下降,檢測到完整的停車框具有難度,因此僅基于車位線特征的方法難以適應(yīng)現(xiàn)實中復(fù)雜的停車場環(huán)境。文獻[15]方法在精確率和召回率指標上均高于前者,原因在于車位角在現(xiàn)實中不易被覆蓋,采用機器學(xué)習(xí)算法提取的車位角特征比線特征更穩(wěn)定。本文方法結(jié)合了車位線和車位角特征,召回率進一步提升。對比文獻[15],本文利用提取或跟蹤到的車位導(dǎo)軌線劃分出車位角的待檢測感興趣區(qū)域,無需對整幅圖像進行遍歷檢測,因此縮短了平均檢測時間,且訓(xùn)練的正方向車位角分類器在檢測過程中需要處理的角度范圍較小,在一定程度上提高了算法精度。
為測試本文算法在不同天氣、光照等條件下的性能,使用文獻[18]提供的部分測試集,與文獻[15]的PSDL算法進行進一步對比分析。室內(nèi)、晴天、雨天、夜晚、陰影5種場景下停車位識別結(jié)果對比如圖8所示,不同環(huán)境下算法性能對比如表2所示。
圖8 5種場景下停車位識別結(jié)果對比
表2 不同環(huán)境下算法性能對比 %
結(jié)合圖8和表2可知,本文算法在5種場景下的召回率均高于PSDL算法,雨天、夜晚和陰影環(huán)境下的精確度略高于PSDL算法,跟蹤算法的加入使車位角在被短暫遮擋和光照影響的情況下仍能被檢測出。此外,本文算法在實現(xiàn)過程中,注重去除背景干擾,如進行高斯濾波預(yù)處理、過濾LSD算法提取到的短線段、限定車位角的檢測區(qū)域等操作,均有效提高了算法在環(huán)境變化中的適應(yīng)性。
當目標與背景顏色過于相近或被遮擋時,會出現(xiàn)誤檢情況。圖9展示了2種誤識別結(jié)果。其中,圖9a漏檢了靠近柱子的車位角,圖9b對導(dǎo)軌線提取失敗,導(dǎo)致車位角檢測錯誤。
圖9 停車位錯誤檢測結(jié)果
通過總結(jié)分析,出現(xiàn)誤識別的主要原因有:一是受室內(nèi)停車場中柱子的干擾,靠近柱子的車位角置信度較低,易漏檢,造成停車位識別失??;二是當車位線嚴重磨損或與背景顏色相近時,未能準確提取出導(dǎo)軌線,導(dǎo)致車位角檢測失敗;三是在環(huán)視圖拼接時未進行光度補償,當車位角出現(xiàn)在拼接縫處時,置信度低,較難檢測。在后續(xù)工作中將有針對性地增加此類訓(xùn)練集樣本,以解決上述問題。
本文提出了一種基于環(huán)視的停車位檢測與跟蹤方法,利用車位線和車位角特征確定停車位。該方法結(jié)合SVM算法和HOG特征對正、負樣本進行訓(xùn)練,得到車位角檢測分類器,并通過提取導(dǎo)軌線確定車位角待檢測感興趣區(qū)域,縮短了檢測時間,提高了檢測準確率。通過相鄰幀線段匹配跟蹤導(dǎo)軌線和車位角,能抵抗遮擋和光照變化的干擾,增強算法適應(yīng)性。試驗結(jié)果表明,該算法可準確提取車位導(dǎo)軌線并識別停車位,與其他停車位檢測算法相比,該算法漏檢率更低,在多種天氣條件下具有更好的魯棒性,且能準確識別大部分停車位,可為自動泊車后續(xù)過程提供準確的環(huán)境信息。