陳 文,應(yīng) 捷,楊海馬,何施晶
(1上海理工大學(xué) 光電信息與計(jì)算機(jī)工程學(xué)院,上海200093;2上海領(lǐng)旌信息科技有限公司,上海201306)
隨著汽車保有量的不斷增加,停車難成為城市可持續(xù)發(fā)展面臨的嚴(yán)峻問(wèn)題之一[1]。目前各城市停車位嚴(yán)重不足,實(shí)時(shí)檢測(cè)并掌握停車位的數(shù)目,根據(jù)需求合理增加或者減少停車位,充分提升現(xiàn)有停車位的運(yùn)營(yíng)效率是解決停車位不足的重要手段。
停車位檢測(cè)的方法可以分為4種:基于用戶界面的、基于自由空間的、基于槽標(biāo)記的和基于基礎(chǔ)設(shè)施的[2]。本文的目的是為了識(shí)別停車位并記錄停車位數(shù)目,顯然采用基于槽標(biāo)記的方法最合適。幾乎所有基于槽標(biāo)記的方法都使用攝像機(jī),但是復(fù)雜多變的環(huán)境因素對(duì)攝像機(jī)采集視頻和圖像有很大的影響[3]。此外還有一些影響因素亟待解決,例如:標(biāo)記線年久褪色、侵蝕、標(biāo)記線嚴(yán)重缺失等。
針對(duì)停車位標(biāo)記線的檢測(cè),可以簡(jiǎn)單的將以往的方法概括為:Jung等人首次提出了識(shí)別各種類型標(biāo)記線的方法,通過(guò)設(shè)置感興趣區(qū)域,采用交叉點(diǎn)模式分類識(shí)別、定位以及目標(biāo)位置建立的方案到達(dá)了目的[2];Suhr等人通過(guò)使用分層樹結(jié)構(gòu)自動(dòng)檢測(cè)各種類型的停車位標(biāo)記,缺點(diǎn)是對(duì)照明條件敏感[3];Suhr等人提出通過(guò)估計(jì)平行線對(duì)來(lái)檢測(cè)停車位,利用車載傳感器克服了光照條件的約束,但缺陷是只能處理單一類型的停車位標(biāo)記線[4];Zong等人采用改進(jìn)的LSD直線提取器和L型角點(diǎn)提取器克服了光照條件的約束,對(duì)空置停車位檢測(cè)的效果很好[5];Hsu等人也是采用環(huán)視攝像機(jī)采集圖像,再通過(guò)采用提取車位線特征、隨機(jī)采樣、區(qū)域生長(zhǎng)法、邊緣檢測(cè)等算法檢測(cè)標(biāo)記線,該算法也取得了令人滿意的效果[6]。本文的目的是標(biāo)記出標(biāo)記線,方便進(jìn)行圖像拼接以及輪廓提取。因此,首先進(jìn)行圖像預(yù)處理,再利用基于葉貝斯分類器的概率霍夫變換檢測(cè)出標(biāo)記線。
在檢測(cè)出標(biāo)記線后,本文采用基于圖像拼接的算法進(jìn)行停車位數(shù)目檢測(cè),將所有停車位都顯示在一張拼接圖上,既防止了錯(cuò)檢,又簡(jiǎn)化了處理流程。有關(guān)圖像拼接領(lǐng)域,Xiong等人利用小內(nèi)存,采用顏色校正、動(dòng)態(tài)規(guī)劃、圖像混合實(shí)現(xiàn)了對(duì)全景圖像的快速拼接[7];Wang等人針對(duì)圖像拼接中的接縫問(wèn)題,采用曲線小波變換,有效的消除了接縫[8];Fang等人采用保形半投影法、顏色混合方法、加權(quán)坐標(biāo)差值、超像素分割,在無(wú)人機(jī)拍攝的重疊圖像上取得了較好的拼接效果[9];Chen等人采用局部保持匹配、魯棒彈性曲翹函數(shù)、全局射影保持,獲得了高精度的無(wú)人機(jī)圖像的合成全景圖[10]。上述諸多圖像拼接算法在各自運(yùn)用場(chǎng)景都取得了顯著成效。為了解決現(xiàn)有圖像拼接算法在停車位數(shù)目檢測(cè)領(lǐng)域運(yùn)用效果不佳、處理速度慢的問(wèn)題,本文采用基于二次方遞減的圖像拼接算法進(jìn)行圖像拼接,不僅節(jié)省時(shí)間,也大幅提升了拼接效果。
本文進(jìn)行停車位數(shù)目檢測(cè)方法的整體方案如圖1所示。先選取有停車位的路段進(jìn)行視頻采集,由于采集的視頻包含信息量巨大,因此根據(jù)采集路段的不同設(shè)置不同的間隔幀數(shù)提取圖像,剔除視頻中包含的大量無(wú)用圖像信息,減少計(jì)算量;再對(duì)提取的圖像預(yù)處理后采用PPHT與直線聚類算法檢測(cè)出停車位標(biāo)記線;采用二次方遞減圖像拼接算法進(jìn)行拼接,把動(dòng)態(tài)視頻問(wèn)題轉(zhuǎn)化為靜態(tài)圖像問(wèn)題,便于后續(xù)處理;對(duì)拼接圖中的停車位進(jìn)行輪廓提取,得出停車位數(shù)目。
圖1 整體方案圖Fig.1 Overall plan
從采集的視頻中提取圖像f(x,y),尋找停車位所在的部位為感興趣區(qū)域(Region Of Interest,ROI),在采集、傳輸、處理視頻時(shí),不可避免的會(huì)產(chǎn)生噪聲,采用中值濾波去除噪聲。在視頻采集的過(guò)程中也存在過(guò)曝或者曝光不足的情況,采用伽馬變換(Gamma transform)進(jìn)行圖像增強(qiáng)。在經(jīng)過(guò)伽馬變換后,ROI變得層次分明、色彩均勻,有利于后續(xù)形態(tài)學(xué)操作。鑒于道路旁停車位的標(biāo)記線大多存在年久褪色、缺失等問(wèn)題,采用閉運(yùn)算(Closing Operation)將標(biāo)記線輪廓平滑并填充缺失部位,同時(shí)改善圖像質(zhì)量,對(duì)感興趣區(qū)域進(jìn)行圖像預(yù)處理的結(jié)果如圖2所示。
圖2 圖像預(yù)處理Fig.2 Image preprocessing
在對(duì)ROI預(yù)處理后,標(biāo)記線輪廓清晰的呈現(xiàn)出來(lái),方便進(jìn)行直線檢測(cè)。采用漸進(jìn)概率霍夫變換(Progressive Probabilistic Hough Transform,PPHT)檢測(cè)直線,僅隨機(jī)抽樣處理,節(jié)約了時(shí)間及計(jì)算量。采用PPHT檢測(cè)直線關(guān)鍵在于如何設(shè)置參數(shù)使得檢測(cè)結(jié)果最優(yōu)。本文設(shè)置5個(gè)參數(shù)來(lái)檢測(cè)平行標(biāo)志線對(duì),分別為:最佳閾值(OT)、最短可視直線值(MLL)、同一直線各點(diǎn)允許最大間隙值(MAG)、相鄰線段之間的距離(Δρ)及相鄰線段的方向角(Δθ)。具體的直線聚類算法規(guī)則見表1。檢測(cè)出平行標(biāo)志線對(duì)的位置作為預(yù)選停車位,并用白色標(biāo)記線標(biāo)出,線檢測(cè)效果如圖3所示。
表1 直線聚類算法Tab.1 Linear clustering algorithm
圖3 使用PPHT與直線聚類在ROI檢測(cè)標(biāo)記線Fig.3 Use PPHT and linear clustering to detect parking space marking lines in the ROI
首先,采用SURF算法進(jìn)行特征點(diǎn)提取;利用標(biāo)記出的停車位標(biāo)記線進(jìn)行特征點(diǎn)匹配;RANSAC(random sample consensus)算法進(jìn)行圖像配準(zhǔn)。在圖像矯正后,利用柱面投影變換后曝光補(bǔ)償,再使用動(dòng)態(tài)規(guī)范法對(duì)拼接圖像,進(jìn)行拼縫計(jì)算消除接縫,利用羽化融合算法對(duì)圖像融合,生成拼接圖。
SURF算法檢測(cè)特征點(diǎn)具有穩(wěn)定、計(jì)算量少、匹配實(shí)時(shí)性等優(yōu)點(diǎn)。通過(guò)計(jì)算圖像f(x,y)的二階海森矩陣來(lái)生成所有的興趣點(diǎn),圖像f(x,y)在位置(x,y)和尺度σ的海森矩陣定義為式(1):
改為行列式的形式可表示為式(2):
根據(jù)det(H)取值的正負(fù)選取感興趣點(diǎn)。為了計(jì)算的便捷,采用盒濾波器來(lái)近似H[x,y,σ],近似結(jié)果表示為式(3):
其中,ω取值為0.9,用于平衡盒濾波器的相對(duì)權(quán)重。接著構(gòu)建尺度空間,提取興趣點(diǎn),對(duì)其定位和主方向分配,再使用一階哈爾小波提取描述子,濾除不穩(wěn)定的和錯(cuò)誤的興趣點(diǎn),得到最終穩(wěn)定的特征點(diǎn)。對(duì)特征點(diǎn)的匹配需建立點(diǎn)對(duì)點(diǎn)的一一映射關(guān)系,利用順序性約束條件,采用動(dòng)態(tài)規(guī)范的方法。為了進(jìn)一步獲取較多的最優(yōu)匹配點(diǎn)采用Lowe’s算法,ratio取值為0.6。最后使用2NN算法進(jìn)行圖像配準(zhǔn)。對(duì)特征點(diǎn)的提取、匹配、配準(zhǔn)如圖4所示。
圖4 特征點(diǎn)的提取、匹配、配準(zhǔn)Fig.4 Feature point extraction,matching and registration
由于遮擋效應(yīng)、約束原則缺乏嚴(yán)格性,導(dǎo)致在交叉區(qū)域存在誤匹配,需要采用零交叉校正算法對(duì)配準(zhǔn)后的圖像進(jìn)行矯正。為了將兩幅圖像拼接在一起,需要對(duì)圖像進(jìn)行投影變換。采用柱面投影法,將兩幅圖像投影到一個(gè)平面上,再對(duì)圖像進(jìn)行曝光補(bǔ)償便得到原始拼接圖如圖5所示。
圖5 原始拼接圖Fig.5 Original stitching image
由于原始拼接圖存在明顯的接縫和失真,因此要進(jìn)行拼縫計(jì)算與圖像融合。采用動(dòng)態(tài)規(guī)劃法尋找接縫線,該方法不僅能夠快速的找到最佳接縫線,且分配內(nèi)存少。圖像f1(x,y)和f2(x,y)重疊部分誤差函數(shù)定義為式(4):
鑒于接縫線是垂直的,橫向遍歷e值,計(jì)算能夠到達(dá)像素(x,y)路徑的累積最小誤差值,式(5):
采用動(dòng)態(tài)規(guī)劃算法可以很好的求取式(5)的解,求取的結(jié)果便是最優(yōu)接縫線。對(duì)接縫線兩側(cè)的圖像羽化融合處理,消除接縫不連貫和視覺上的突兀。羽化融合算法只對(duì)接縫線兩側(cè)的邊界區(qū)域平滑虛化,達(dá)到自然銜接的效果,表示為公式(6):
其中,R表示羽化后的新圖像;I1(x,y),I2(x,y)表示圖像f1(x,y)和f2(x,y)在接縫線兩側(cè)邊界區(qū)域內(nèi)的部分;ω1,ω2分別代表I1(x,y)和I2(x,y)的加權(quán)值。經(jīng)過(guò)拼縫計(jì)算與羽化融合后,圖像接縫線消失,如圖6所示。
圖6 拼縫計(jì)算與羽化融合Fig.6 Seam calculation and feather Blending
圖7 二次方遞減拼接方案Fig.7 Quadratic decreasing order splicing scheme
鑒于拼接圖中的停車位已經(jīng)被白色線條標(biāo)記,因此只要提取出被標(biāo)記出的停車位標(biāo)記線對(duì)就可得到該路段停車位數(shù)目。用Lagrange函數(shù)跟蹤提取輪廓,Lagrange函數(shù)可表示為式(7):
其中,α和β均為正數(shù);TV為邊緣點(diǎn)數(shù)閾值;T1為灰度差閾值。
當(dāng)檢測(cè)的信息滿足式(8)的兩個(gè)約束條件時(shí),則跟蹤并提取出了輪廓信息。
對(duì)提取出的停車位輪廓采用RGB色彩模式標(biāo)記垂線段,利用循環(huán)函數(shù)記錄調(diào)用顏色標(biāo)記的次數(shù)減1便可得到停車位數(shù)目,在顏色標(biāo)記時(shí),每一次標(biāo)記的各顏色通道都是利用隨機(jī)函數(shù)產(chǎn)生的0~255的一個(gè)隨機(jī)值,可表示為式(9):
其中,r ng表示隨機(jī)函數(shù),r ng(0,255)表示隨機(jī)產(chǎn)生一個(gè)0~255之間的整數(shù)。
如圖8所示,(a)圖和(b)圖中檢測(cè)到一個(gè)停車位,(c)圖中檢測(cè)到4個(gè)停車位,(d)圖中檢測(cè)到3個(gè)停車位。
圖8 輪廓提取并計(jì)數(shù)Fig.8 Contour extraction and counting
本文實(shí)驗(yàn)測(cè)試所使用的視頻來(lái)源于自行拍攝,拍攝地點(diǎn)為上海理工大學(xué)校內(nèi)路側(cè)的停車位。測(cè)試軟件采用Visual Studio 2019,配置opencv3.4.8和opencv_contrib-3.4.8,計(jì)算機(jī)處理器為Intel Core(TM)i7-4790,CPU主頻3.6GHz,8GBRAM,操作系統(tǒng)是64位Windows10系統(tǒng)。
對(duì)4個(gè)路段進(jìn)行試驗(yàn)的結(jié)果見表2,采用準(zhǔn)確率作為性能指標(biāo)進(jìn)行判斷。準(zhǔn)確率定義為式(10):
其中,D N為檢測(cè)出的停車位數(shù)目,R N為真實(shí)數(shù)目。
與此同時(shí),本文將一種融合基于空閑空間的方法和基于停車位標(biāo)記的方法[4]、一種融合超聲波傳感器的視覺停車區(qū)檢測(cè)方法[5]和一種基于環(huán)視監(jiān)控的車位檢測(cè)方法和車位空置分析算法[6]運(yùn)用于檢測(cè)路側(cè)停車位數(shù)目,得出的實(shí)驗(yàn)結(jié)果見表3。雖然這些檢測(cè)空停車位的方法在各自運(yùn)用領(lǐng)域都有很好的結(jié)果,但是在路側(cè)的停車位檢測(cè)領(lǐng)域卻差強(qiáng)人意,也可以看出本文的方案有明顯的優(yōu)勢(shì)。
表2 本文方案實(shí)驗(yàn)結(jié)果Tab.2 Experimental results of the project
表3 文獻(xiàn)方案試驗(yàn)結(jié)果Tab.3 Test results of the References
本文針對(duì)現(xiàn)有線檢測(cè)的不足,提出了基于PPHT與直線聚類結(jié)合檢測(cè)標(biāo)記線的算法,對(duì)標(biāo)記線的檢測(cè)取得了很好的效果。針對(duì)直接在視頻中計(jì)數(shù)存在的錯(cuò)檢,以及處理流程復(fù)雜,提出圖像拼接的方案,將檢測(cè)路段所有停車位拼接在一幅圖像上。鑒于累進(jìn)式拼接的異常耗時(shí)、錯(cuò)位、占內(nèi)存等問(wèn)題,提出了二次方遞減式拼接方案,同時(shí)也對(duì)拼接算法進(jìn)行了優(yōu)化。對(duì)于拼接圖中的停車位,鑒于停車位標(biāo)記線已經(jīng)被標(biāo)記,采用輪廓提取算法提取出平行標(biāo)記線對(duì),得出停車位數(shù)目。經(jīng)實(shí)驗(yàn)驗(yàn)證行之有效,準(zhǔn)確率高,可以大規(guī)模推廣在市政部門使用。但是本文的方案也有很多不足之處,難以解決標(biāo)記線嚴(yán)重缺失和褪色的情況,也難以解決標(biāo)記線被完全遮擋的情況。另外,二次方遞減拼接已經(jīng)節(jié)約了大量時(shí)間,但是由于計(jì)算次數(shù)多還是很耗時(shí),后續(xù)將對(duì)該方案的不足做出進(jìn)一步的研究,繼續(xù)提高準(zhǔn)確率。