王 海 鄭正揚(yáng) 蔡英鳳 陳 龍
1.江蘇大學(xué)汽車與交通工程學(xué)院,鎮(zhèn)江,212013
2.江蘇大學(xué)汽車工程研究院,鎮(zhèn)江,212013
隨著人工智能、傳感器技術(shù)的不斷發(fā)展,無人駕駛汽車取得了很大的進(jìn)步。無人車作為輪式機(jī)器人的一種,不僅要求能實(shí)現(xiàn)自主安全駕駛,還需要保證乘員的舒適性。環(huán)境感知作為無人車體系結(jié)構(gòu)的基礎(chǔ),其性能的優(yōu)劣直接關(guān)系到能否達(dá)到安全駕駛的需求。環(huán)境感知常用的傳感器有視覺傳感器、激光傳感器、慣性導(dǎo)航、GPS定位系統(tǒng)等。激光雷達(dá)由于其精度高,受環(huán)境影響較小,在無人駕駛汽車中得到了廣泛應(yīng)用。
目前,激光雷達(dá)數(shù)據(jù)處理主要分為兩類:一種是直接基于點(diǎn)云的處理方式[1-2];另一種是基于柵格地圖的處理方式[3-8]。柵格地圖因其簡單穩(wěn)定,實(shí)時性好,故廣泛用于無人車環(huán)境感知系統(tǒng)[9]。在行車過程中,一些噪聲會對檢測算法造成影響,所以需要對噪聲進(jìn)行濾除。激光雷達(dá)聚類算法是后續(xù)數(shù)據(jù)處理的基礎(chǔ),常用的聚類方法有基于K均值的聚類[10]、基于分層的聚類、基于密度的聚類、基于網(wǎng)格的聚類[11]、基于神經(jīng)網(wǎng)絡(luò)的聚類、基于統(tǒng)計(jì)學(xué)的聚類和高維可視化數(shù)據(jù)聚類等。在激光雷達(dá)聚類算法方面,國內(nèi)外學(xué)者提出了許多方法。甘志梅等[12]采用了基于固定距離閾值的聚類方法,BORGES等[13]提出了一種根據(jù)深度值來確定距離閾值的方法。由于激光雷達(dá)出射激光束間的角度具有均勻分布的特性,傳統(tǒng)的基于固定距離閾值聚類方式的準(zhǔn)確性不高,聚類的質(zhì)量較差,因此本文基于四線激光雷達(dá)數(shù)據(jù),采用根據(jù)深度值來確定聚類距離閾值的方法,并通過匹配激光相鄰時間幀點(diǎn)云數(shù)據(jù)中的障礙物塊,對聚類結(jié)果進(jìn)行修正。
本文采用了2個IBEO-LUX-2010四線激光雷達(dá)。IBEO-LUX-2010是IBEO公司借助高分辨率激光測量技術(shù)推出的一款多功能汽車智能傳感器,它具有4個掃描層,最遠(yuǎn)掃描距離可達(dá)200 m,同時還可獲得障礙物的高度信息。IBEO-LUX-2010可適用于大雨及灰塵等復(fù)雜環(huán)境,且結(jié)構(gòu)緊湊,便于汽車的改裝,具體參數(shù)見表1。IBEOLUX-2010在智能車上的掃描示意圖見圖1,其中扇形區(qū)域?yàn)?個四線激光雷達(dá)掃描范圍。由圖1可以看出,2個四線激光雷達(dá)可以比較完整地掃描無人駕駛汽車的前方區(qū)域,而汽車前方區(qū)域也是規(guī)避障礙物的重點(diǎn)區(qū)域。激光雷達(dá)在智能車上的安裝示意圖見圖2。
表1 IBEO-LUX-2010激光雷達(dá)參數(shù)Tab.1 IBEO-LUX-2010 lidar parameter
在數(shù)據(jù)采集階段,本文采用創(chuàng)建多線程并建立網(wǎng)口通信來接收不同激光雷達(dá)所采集的數(shù)據(jù)。作為客戶端,需要向各臺激光雷達(dá)設(shè)備發(fā)送指令,完成其安裝掃描參數(shù)和接收數(shù)據(jù)模式的設(shè)置。當(dāng)接收到激光雷達(dá)數(shù)據(jù)后,通過產(chǎn)品說明書對其進(jìn)行解析。激光雷達(dá)返回的每一幀數(shù)據(jù)都包含原始激光雷達(dá)點(diǎn)云的距離、回波寬度、掃描線數(shù)以及障礙物的距離、速度、大小、分類等信息。最后通過解析獲得本文所需要的信息。
圖1 激光雷達(dá)掃描范圍示意圖Fig.1 Lidar scanning scope schematic diagram
圖2 激光雷達(dá)安裝示意圖Fig.2 Lidar installation schematic
車體坐標(biāo)系是以車輛后軸中心為坐標(biāo)原點(diǎn),車輛的前進(jìn)方向?yàn)閤v軸,水平向左為yv軸,豎直向上為zv軸。激光雷達(dá)臨時坐標(biāo)系是以激光雷達(dá)的中心為坐標(biāo)原點(diǎn),水平向前為xL軸,水平向左為yL軸,垂直于oxLyL面向上為zL軸。本文采用一種分層轉(zhuǎn)換四線激光雷達(dá)坐標(biāo)的方法[14],首先通過幾何關(guān)系,將三維掃描點(diǎn)坐標(biāo)依據(jù)掃描角度值以及掃描層數(shù)投影至激光雷達(dá)臨時坐標(biāo)系oxLyL,再依據(jù)安裝參數(shù)將坐標(biāo)轉(zhuǎn)化至車體坐標(biāo)系。
處理激光雷達(dá)數(shù)據(jù)大致可以分為兩種方法:一種是直接對點(diǎn)云數(shù)據(jù)進(jìn)行處理,另一種則是先將點(diǎn)云投影至柵格地圖,再進(jìn)行預(yù)處理、距離分割及檢測。前者的優(yōu)點(diǎn)在于可以相當(dāng)完整地保留障礙物的輪廓信息,對外界的環(huán)境信息丟失較少,精度較高,但是多線激光雷達(dá)掃描返回的點(diǎn)云數(shù)量十分龐大,對計(jì)算資源有很高的要求,直接對激光雷達(dá)點(diǎn)云進(jìn)行處理難以保證算法的實(shí)時性;而后者會丟失部分環(huán)境信息,使目標(biāo)檢測性能降低,但其處理速度較快,穩(wěn)定性較好,適合運(yùn)用于工程中。針對智能駕駛中需要實(shí)時準(zhǔn)確地檢測周圍環(huán)境中的障礙物,本文采用柵格法來對激光雷達(dá)數(shù)據(jù)進(jìn)行處理。
柵格地圖以統(tǒng)一大小的網(wǎng)格來劃分車輛周圍空間。本文建立的柵格地圖大小為240×400格,單個柵格大小為20 cm×20 cm,包含了車前方80 m以內(nèi)以及左右各12 m以內(nèi)的范圍。柵格地圖法需判定每個柵格屬性是否是占據(jù)的。IBEO-LUX-2010雷達(dá)可直接獲得剔除路面點(diǎn)后的障礙物掃描數(shù)據(jù)點(diǎn),將其向柵格地圖投影,統(tǒng)計(jì)每個柵格內(nèi)是否包含點(diǎn)云投影,若存在,則此柵格置為1,表示該柵格中存在障礙物,柵格為占用狀態(tài);反之,置為0,表示此柵格不存在障礙物,為非占用狀態(tài)。
在智能車行駛過程中,在車前方會不可避免地出現(xiàn)一些小飛蟲或者是落葉等小物體,如果在環(huán)境感知環(huán)節(jié)沒有將這些懸空小障礙排除,可能會發(fā)生誤檢而導(dǎo)致車輛停止,這樣會對行車造成嚴(yán)重影響。這些懸空障礙物主要滿足以下特征:①車前方點(diǎn)云應(yīng)是密集的,所以出現(xiàn)單個障礙柵格可能是小障礙物;②障礙物應(yīng)是懸空的,且該柵格內(nèi)點(diǎn)云高度差比較小。
本文采取如下判別依據(jù)來排除懸空小障礙物。在車前方10 m范圍內(nèi),在所有被檢測到的障礙物柵格中,若其同時滿足下述兩種情況:①周圍7×7格范圍內(nèi)不存在其他障礙柵格;②只存在中間2根掃描線掃描到的障礙物,而頂層及底層掃描線均未掃描到障礙物,則認(rèn)為該障礙物為懸空小障礙物,將其排除并更新柵格地圖,以防止因誤檢而導(dǎo)致車輛停止行駛。激光雷達(dá)濾波算法應(yīng)要求嚴(yán)格,防止出現(xiàn)漏檢而導(dǎo)致汽車碰撞障礙物;同時,一些漏檢情況可以通過后續(xù)的雷達(dá)跟蹤算法進(jìn)行濾除。柵格濾波效果見圖3。
圖3 柵格濾波效果圖Fig.3 Grid filtering
對障礙物進(jìn)行分割聚類是對其識別跟蹤的基礎(chǔ)。由于激光雷達(dá)角分辨能力固定,所以在遠(yuǎn)處雷達(dá)的角分辨能力就會降低,這會導(dǎo)致一個障礙物可能會分解成多個離散的小塊,無法對障礙物進(jìn)行正確分割,以致后期對障礙物的檢測和跟蹤發(fā)生錯誤。所以,如何對雷達(dá)的點(diǎn)云數(shù)據(jù)進(jìn)行準(zhǔn)確聚類,分離提取不同的障礙物,是激光雷達(dá)點(diǎn)云數(shù)據(jù)處理的難點(diǎn)。單從空間上對激光雷達(dá)數(shù)據(jù)進(jìn)行分割難以滿足要求,因此本文在空間聚類的基礎(chǔ)上,通過障礙物塊的匹配對結(jié)果進(jìn)行修正,得到修正后的聚類結(jié)果,具體流程圖見圖4。
圖4 聚類跟蹤流程圖Fig.4 The process of clustering and tracking
基于密度的聚類方法優(yōu)點(diǎn)是能夠發(fā)現(xiàn)任意形狀的聚類;基于網(wǎng)格的聚類方法雖然降低了聚類精度,但減少了計(jì)算量,提升了實(shí)時性。由于在車輛周圍環(huán)境建模中已經(jīng)建立了環(huán)境柵格地圖,故本文在處理一幀數(shù)據(jù)時采用網(wǎng)格聚類的方法,同時依據(jù)選取不同的距離閾值將障礙物離散的網(wǎng)格聚類在一起。
式(8)是土體開裂后,裂隙底部x向方向的應(yīng)力表達(dá)式。當(dāng)土體在距離自由邊界(裂隙面)l處的σx達(dá)到土體的抗拉強(qiáng)度σt時,在相鄰初始裂隙之間將再次開裂。實(shí)際工程中,我們關(guān)注的是裂隙最終發(fā)育的間距和寬度。由于土體的最大x向應(yīng)力發(fā)生在x=0處(相鄰裂隙的中間位置),將x=0代入σx,并令σx=σt,有:
二值連通區(qū)域標(biāo)記算法[15]廣泛應(yīng)用于計(jì)算機(jī)圖像處理。在區(qū)域標(biāo)記算法中,通過模板比較當(dāng)前網(wǎng)格與鄰域網(wǎng)格中像素是否相同,若相同,則將這些網(wǎng)格作為一個類連通在一起。鄰域四連通及鄰域八連通標(biāo)記算法的模板見圖5。
圖5 四連通及八連通標(biāo)記算法Fig.5 Four-connected and eight-connected labeling algorithm
本文所提的聚類算法即為在普通區(qū)域標(biāo)記算法的基礎(chǔ)上,通過給定不同的距離閾值DT,求得柵格聚類閾值為柵格尺寸大小表示向下取整。擴(kuò)展連通區(qū)域至(2NT-1)×(2NT-1)大小,將此障礙物柵格對應(yīng)擴(kuò)展區(qū)域范圍內(nèi)的障礙物柵格點(diǎn)聚類為同一個障礙物,這樣就能有效地將障礙物離散的部分歸為同一類。圖5b為擴(kuò)展至5×5格大小區(qū)域示意圖,在障礙點(diǎn)周圍5×5格范圍內(nèi)存在其他障礙物點(diǎn),就將其賦值為相同標(biāo)記號。所以本算法最重要的是需要計(jì)算出基于各個已知障礙點(diǎn)的聚類距離閾值DT。
SKRZYPCZYNSKI等[16]和甘志梅等[12]采用固定距離閾值的方法完成障礙物聚類;考慮到激光雷達(dá)的數(shù)據(jù)特點(diǎn),障礙物不同角度的外部輪廓掃描點(diǎn)的距離閾值應(yīng)不同,周俊靜[17]提出了一種自適應(yīng)閾值的聚類算法。BORGES等[13]提出了一種根據(jù)深度值來確定距離閾值DT的方法,見圖6。DT的計(jì)算表達(dá)式如下:
式中,rn-1為前一點(diǎn)的深度值;σr為激光雷達(dá)的測量誤差;Δφ為激光雷達(dá)的角度分辨能力;λ為閾值參數(shù)。
圖6 文獻(xiàn)[13]提出的距離閾值計(jì)算Fig.6 Calculation of distance threshold from literature[13]
由式(1)可知,DT的值取決于閾值參數(shù)λ,因此應(yīng)嚴(yán)格選擇閾值參數(shù),避免出現(xiàn)當(dāng)2個障礙物的距離過近時,將兩者檢測為同1個物體而合并成1個障礙物,從而導(dǎo)致出現(xiàn)欠分割的情況。最終,得到了1張標(biāo)注后的柵格地圖。在標(biāo)注地圖中,屬于相同障礙物塊的網(wǎng)格標(biāo)注為同一數(shù)字。采用上述聚類算法的優(yōu)點(diǎn)在于:①符合激光雷達(dá)出射激光束間的角度具有均勻分布的特性,遠(yuǎn)處障礙物離散的部分也能較好地聚類在一起;②避免改變障礙物塊的輪廓,導(dǎo)致其形狀特征的改變。
在經(jīng)過空間方式聚類之后,由于距離閾值參數(shù)選擇較嚴(yán)格,離本車較遠(yuǎn)或呈一定掃描角度的屬于同一障礙物的障礙物塊仍可能沒有聚類在一起,從而造成過分割,因此本文提出了一種匹配聚類修正算法。首先通過最近鄰域跟蹤算法,尋找k-1時刻與k時刻空間聚類結(jié)果中距離最近的障礙物塊i,將其配對得到匹配后的障礙物塊列表Oclu。障礙物信息包含障礙物塊中心位置、速度、運(yùn)動方向、回波脈沖寬度均值等參數(shù),計(jì)算表達(dá)式如下:
式中,(xi,k,yi,k)、(xi,k-1,yi,k-1)分別為k時刻和k-1 時刻第i個障礙物塊的中心坐標(biāo);Ti,k、Ti,k-1分別為k時刻和k-1時刻第i個障礙物塊的激光回波脈沖寬度均值;ΔT為兩幀數(shù)據(jù)時間差,vi為障礙物塊的速度;θi為障礙物塊的運(yùn)動方向;Ti為兩匹配障礙物塊的激光回波脈沖寬度均值。
其中,a、b、c、d 4個權(quán)重值及相似度閾值ST均由實(shí)驗(yàn)測得。遍歷整個障礙物塊列表之后,合并障礙物塊,得到障礙物列表Otrack。并將k時刻障礙物列表與k-1時刻障礙物列表進(jìn)行匹配跟蹤,完成后續(xù)的目標(biāo)跟蹤預(yù)測。
為驗(yàn)證上述障礙物檢測算法的準(zhǔn)確性和有效性,對無人駕駛汽車在真實(shí)道路上獲取的數(shù)據(jù)進(jìn)行分析。實(shí)驗(yàn)平臺為江蘇大學(xué)自主研發(fā)的智能駕駛汽車平臺,搭載了有IBEO-LUX-2010的四線激光雷達(dá),同時使用行車記錄儀記錄了當(dāng)前場景的視頻信息,實(shí)驗(yàn)地點(diǎn)為蘇州某高架道路。
將本文算法與上文提到的固定距離閾值下的八連通區(qū)域標(biāo)記算法進(jìn)行了對比,通過對263組目標(biāo)車輛進(jìn)行實(shí)驗(yàn)分析,障礙物目標(biāo)的聚類分割準(zhǔn)確率見表2。本文算法在距本車50 m范圍內(nèi)的聚類效果較好,能達(dá)到80%以上;但在更遠(yuǎn)處,由于參數(shù)選取較為嚴(yán)格,聚類效果變差。而八連通區(qū)域標(biāo)記算法的聚類效果隨著目標(biāo)距離的增加,聚類效果顯著變差。
表2 聚類算法比較Tab.2 Comparison of clustering algorithms
圖7為障礙物檢測結(jié)果對比圖,其中第一列為采用傳統(tǒng)八連通區(qū)域標(biāo)記算法聚類獲得的障礙物圖像,第二列為采用本文基于聚類分割算法所檢測到的障礙物圖像,第三列為行車記錄儀視頻信息,矩形框?yàn)檎系K物的最小包含矩形框。
圖7 障礙物檢測結(jié)果Fig.7 Obstacle detection results
在場景1(圖7a)中,本文算法能夠完整地獲得前方兩車的外部輪廓,并未出現(xiàn)過分割現(xiàn)象,其中1車距本車48 m左右,2車距本車56 m左右。而使用傳統(tǒng)八連通區(qū)域標(biāo)記算法時,1號車被分割成6個部分,2號車被分割成5個部分。由圖7a可以看出,在檢測較遠(yuǎn)距離的障礙物時,激光雷達(dá)返回的數(shù)據(jù)點(diǎn)投影至柵格地圖時,得到的已經(jīng)不是連續(xù)的柵格,而是離散的。采用本算法后,可以將這些離散的網(wǎng)格點(diǎn)重新聚類為一個障礙物塊,而不會發(fā)生過分割現(xiàn)象,得到了比較完整的障礙物輪廓點(diǎn),可為接下來的障礙物識別與跟蹤環(huán)節(jié)提供幫助。在場景2(圖7b)中,1號障礙物為靠近本車的白色商務(wù)車,因其離本車較近,掃描點(diǎn)較密集,故2種算法均能得到完整的障礙物輪廓;2號障礙物為距本車28 m左右的黑色轎車,使用傳統(tǒng)八連通區(qū)域標(biāo)記算法時,被分割成3個部分;3號障礙物為距本車36 m左右的紅色轎車,被分割成6個部分,離散程度隨距離越遠(yuǎn)越嚴(yán)重。而本文算法能將離散部分聚類在一起。同樣在場景3(圖7c)中,由近至遠(yuǎn)存在4個障礙物車輛,使用傳統(tǒng)八連通區(qū)域標(biāo)記算法時,分別被分割成3、2、4、3個部分,而本文算法也能將離散部分聚類在一起。
(1)提出了一種采用四線激光雷達(dá)的障礙物檢測方法,通過多種手段,保證了障礙物選取的有效性。
(2)在數(shù)據(jù)預(yù)處理階段,將點(diǎn)云數(shù)據(jù)向柵格地圖投影,并通過多條件判斷將懸空小障礙物進(jìn)行濾除。
(3)在聚類過程中,提出了一種網(wǎng)格聚類與密度聚類相結(jié)合的方法。根據(jù)激光雷達(dá)掃描特性,通過深度值來確定距離閾值,并轉(zhuǎn)化為柵格聚類閾值,最后通過相鄰幀障礙物塊的匹配對聚類結(jié)果進(jìn)行修正。
(4)從實(shí)驗(yàn)結(jié)果中可以看出,該方法能準(zhǔn)確地完成障礙物的檢測工作,濾除噪聲并減少了過分割現(xiàn)象的發(fā)生。后續(xù)研究將通過識別環(huán)節(jié)對障礙物離散的不同部分進(jìn)行聚類,進(jìn)一步提高檢測的準(zhǔn)確性。