蔡斌斌,李必軍,
(1. 武漢大學(xué)測繪遙感信息工程國家重點實驗室,湖北 武漢 430079;2. 時空數(shù)據(jù)智能獲取技術(shù)與應(yīng)用教育部工程研究中心,湖北 武漢 430079)
近年來,隨著無人平臺的應(yīng)用越來越廣泛,如何獲得全局準確且局部連續(xù)的定位變得愈發(fā)重要[1]。高精度的全局位置關(guān)系到無人平臺對任務(wù)的理解和路徑規(guī)劃,局部連續(xù)的位姿估計關(guān)系到平臺是否能夠被準確跟蹤和控制。當(dāng)前一部分研究注重于同步定位與構(gòu)圖(simultaneous localization and mapping,SLAM)[2-3],該方法幾乎不使用任何先驗信息,依賴于前端里程計的推算提供局部連續(xù)的位姿,后端的濾波或非線性優(yōu)化或回環(huán)檢測優(yōu)化全局的準確位置;另一部分研究則注重于高精度地圖的構(gòu)建和使用[4-6],根據(jù)無人平臺的傳感器搭配和使用環(huán)境的限制,使用特征、柵格、點云或拓撲關(guān)系[7]構(gòu)建地圖,依靠匹配和濾波得到準確、平滑的定位結(jié)果。由于高精度地圖可以離線進行構(gòu)建,其精度和準確率可以得到有效控制,相比于SLAM能夠為無人平臺提供更穩(wěn)健的定位功能。
考慮定位的效率和精度,由三維點云構(gòu)建特征地圖逐漸成為高精度地圖的研究熱點。高精度地圖中常用的特征又可分為人造特征和幾何特征。人造特征一般基于圖像中的像素梯度變化設(shè)計,如ORB角點[2],只適用于室內(nèi)環(huán)境下RGB-D相機或雙目相機采集的點云數(shù)據(jù)[8];幾何特征一般分為點、線、面、體4種,既可以在點云中匹配,也可以在圖像中進行投影和匹配[4]。4種幾何特征中,線特征可定義為一系列存在方向的點集合,相比于點特征擁有更豐富的幾何信息,相比于面特征和體特征更容易在圖像中實時提取[9],較適用于室外無人平臺的定位。
三維點云中的線特征尚未有較為權(quán)威的定義,通常將其定義為物體的輪廓線或物體表面的交線[10]?,F(xiàn)有工作中對于點云中線特征的提取,可分為以下兩類方法:
(1) 基于三維幾何模型的線特征提?。褐苯佑嬎泓c的鄰域內(nèi)的幾何信息,如點的三維位置梯度[11],并根據(jù)鄰域內(nèi)梯度協(xié)方差矩陣判斷點是否位于邊界,或點與其鄰域點之間連線的夾角[12],根據(jù)角度跳變判斷點處于平面內(nèi)部或邊界,此類方法對點云的密度和噪聲十分敏感,且需要通過圖割或區(qū)域生長法將特征點連接為線特征;在點云內(nèi)提取平面,通過平面距離和法向量夾角對點進行聚類[13],再取平面的交線和邊緣作為線特征,此類方法中平面擬合的閾值設(shè)置往往會導(dǎo)致所提取的線特征的位置發(fā)生平移和斷裂;也可以針對單根掃描線設(shè)計模型,將深度不連續(xù)處判斷為線特征點[13],此類方法一般多用于二維LiDAR。
(2) 基于二維圖像的線特征提取:對深度圖進行可視化[14],依據(jù)二維圖像中提取的二維特征計算三維線特征附近的相交平面,然后對相交平面應(yīng)用區(qū)域生長法進行融合;將點云轉(zhuǎn)化為俯視視角下的二維柵格,使用歸一化的高度值作為柵格值并檢測高度突變處作為二維邊特征點[15],再由二維特征點鄰域內(nèi)重心和平面投影中心劃分邊特征類型,或使用點的法向量、高度及其方差作為柵格值[16],并應(yīng)用聚類算法對柵格進行分割;直接在同步采集的灰度圖像中提取邊特征點[17],并根據(jù)三維點的朝向和深度對二維檢測結(jié)果進行篩選。此類方法會在投影過程中損失特征的精度,但是對點云的密度和噪聲不敏感。
無人車作為一種主流無人平臺,在GPS信號遮擋嚴重的城市地區(qū),需要構(gòu)建三維地圖并采用濾波定位方法才能夠獲得連續(xù)準確的位姿信息[18-19]。無人車一般配備Velodyne 64線或32線激光雷達作為獲取點云的主要傳感器,此類點云的密度和精度相比于RGB-D相機或靜態(tài)激光雷達所獲取的點云都有著較大的差距[20-21],目前針對此類點云中線特征提取的研究還較少。本文針對此類點云提出一種基于深度圖像的線特征提取算法,并使用概率濾波對多幀數(shù)據(jù)進行融合,以提高線特征的準確率和精度。
在三維計算機圖形學(xué)中,深度圖像(depth image)是包含方向與視點的場景對象的表面距離有關(guān)的信息圖像。在確定相機模型的內(nèi)參和外參后,三維圖形可通過Z-Buffer算法轉(zhuǎn)化為深度圖。由于相機投影模型中的像素位置相對于深度值是非線性的,因此三維空間中的直線和平面在深度圖像中的像素梯度與像素位置之間也是非線性關(guān)系,這意味著深度圖像中無法通過像素值的變化提取物體邊界在像平面中的位置。使用(eye dome lighting,EDL)算法[14,22]可以對深度圖像進行可視化轉(zhuǎn)換,將深度圖像轉(zhuǎn)化為能夠分辨物體邊界的明暗圖(shading image)。在明暗圖中,提取到的二維線特征可與三維線特征一一對應(yīng)。如圖1(a)—(c)所示,分別為同一視角下相機采集到的灰度圖、點云投影得到的深度圖和EDL可視化得到的明暗圖。
圖像中的線特征是兩個連續(xù)像素亮度區(qū)域的相交位置,對于圖像中線特征的檢測也被稱為邊緣檢測[23]。常用的圖像邊緣檢測算法有Canny算子、Hough變換、LSD(line segment detector)算子[24]等,其中LSD算子線性的時間內(nèi)得出亞像素級精度的檢測結(jié)果,其被設(shè)計為可以自適應(yīng)調(diào)節(jié)參數(shù),在任何圖像中都只有一個誤檢,因此本文使用LSD算法提取二維特征,如圖1(d)所示。LSD算法中線特征的提取會先在特征附近搜尋一個像素梯度與線特征相似的線支撐區(qū)域(line support region)[24],當(dāng)檢測出的二維線特征為物體邊界時,此區(qū)域內(nèi)應(yīng)該為與邊界相關(guān)的一個平面或兩個平面中邊界附近點云的投影,如圖1(e)所示。此區(qū)域可用于分析物體邊界附近的幾何形狀,因此本文將其沿二維線特征劃分為左、右兩個二維線支撐區(qū)域,并與二維線特征一起作為本文的二維特征模型。
明暗圖中的二維線特征可能分布于:①如圖2(a)所示,物體與背景(天空、地面、景深方向)之間的相交位置;②如圖2(b)所示,不同距離物體之間遮擋處;③如圖2(c)所示,不同平面之間的交線。對應(yīng)于各類線特征,左右二維線支撐區(qū)域存在以下幾種情況:①靠近物體邊緣的點云的投影;②空間中背景部分的投影;③當(dāng)前視角下遠處物體靠近被遮擋處點云的投影。圖2中灰色線為LSD檢測出的線特征,矩形為相應(yīng)的線支撐區(qū)域。
一方面,當(dāng)二維線特征分布于背景附近或出現(xiàn)不同距離的物體相互遮擋時,左右二維線支撐平面的其中一個有可能無法尋找到反投影點,也有可能其反投影點不是分布于三維線特征附近;另一方面,投影過程中存在精度損失,直接將二維特征反投影到三維空間中得到三維特征往往會有較多的噪聲點。因此,本文提出一種新的三維幾何模型,將二維線特征反投影得到的點云擬合為三維直線,稱之為擬合直線;將左右二維線支撐區(qū)域反投影得到的點云擬合為左右兩個支撐平面,并在其中篩選出與三維直線附近的平面,稱之為相鄰平面。擬合直線和相鄰平面作為本文的三維幾何模型,并由其幾何關(guān)系提取空間中的三維線特征。
在投影過程中,很多線特征都會被遮擋,對相機模型進行和旋轉(zhuǎn),可以得到更多的視角從而提取到更多的線特征。此外,在不同的視角下提取到的線特征精度不同。為了提高線特征的準確度和精度,剔除單幀數(shù)據(jù)中的錯誤提取,本文使用貝葉斯濾波[25-26]對多幀數(shù)據(jù)進行融合,從而構(gòu)建高精度的線特征。圖3為本文的流程圖,下文將分別對三維特征提取和數(shù)據(jù)融合進行介紹。
使用RANSAC可將反投影點擬合為直線和平面,由此可得到擬合直線和支撐平面的參數(shù)。如果其中一個平面擬合后內(nèi)點數(shù)過少,則可認為此時線特征為物體與背景之間的相交線,另一個平面自然就是要求的相鄰平面;如果兩個平面都可以擬合成功,則需要對兩個平面與直線的臨近度進行比較。假定相鄰平面是靠近物體邊緣的,可以對此平面的幾何特性提出以下假設(shè):
(1) 其平面內(nèi)點的外包矩形應(yīng)該較小,整體離散度很小。如果平面內(nèi)包括兩個物體的投影,其整體離散度應(yīng)該遠遠大于只包含一個物體投影的平面
(1)
(2) 此平面法向量與直線的方向向量應(yīng)該接近垂直,其夾角與90°越接近,平面為相鄰平面的可能性就越大
(2)
(3) 直線與此平面的距離應(yīng)該更近,此假設(shè)對原始點云的密度比較敏感,因此應(yīng)賦予較小的權(quán)重
(3)
式(1)—式(3)中,areaplanar表示平面面積;Nplanar和Nline表示平面和直線的內(nèi)點數(shù)目;Norplanar代表擬合平面的法向量;Dirline代表擬合直線的方向向量;Ptproject表示點在平面的投影點。由這3個假設(shè),可以計算平面是相鄰平面的可能性
probability=wd·e-diversity+wv·e-vertical+wdis·e-distance
(4)
式中,wd、wv和wdis為3種度量的權(quán)重值,若平面的probability較大,則是相鄰平面的可能性就更大。在得到相鄰平面后,即可根據(jù)擬合直線和相鄰平面之間的幾何關(guān)系得到更高精度的三維線特征。
為了減小投影過程中的誤差和點云密度對特征精度造成的影響,本文使用三維幾何模型的幾何特性對線特征作進一步優(yōu)化。假定投影平面的擬合結(jié)果與真實相鄰平面相同,如圖4所示,以真實線特征方向為x軸、真實相鄰平面法向量方向為z軸、朝向真實目標(biāo)平面方向為y軸建立坐標(biāo)系。圖中planar代表擬合的平面,line表示擬合直線,優(yōu)化目標(biāo)應(yīng)當(dāng)是投影平面在x軸的投影。因此首先應(yīng)該在XOY平面內(nèi)尋找擬合直線的目標(biāo)投影project,然后在投影平面內(nèi)尋找y軸方向上的對應(yīng)內(nèi)點fit。Y軸的方向未知,因此只能通過擬合直線的參數(shù)求其平面投影的方向,并將其作為近似搜尋方向。此近似過程造成所得直線特征在其直線方向上發(fā)生偏移,偏移值與擬合直線與XOZ平面的夾角大小及距離有關(guān)。線特征方向與相機主光軸方向越相似,則其對應(yīng)的深度值差異就越大,由此擬合的三維直線誤差也就越大,因此對于同一特征應(yīng)該在多個視角下對其進行觀測。
將三維點云投影到二維平面,數(shù)據(jù)維度下降的同時也限制了特征提取的范圍,因此可以將相機模型進行旋轉(zhuǎn)和平移,得到不同位置下更多視角的投影圖像。另一方面,每個視角下不可避免地存在二維線特征誤檢,從而導(dǎo)致三維線特征即使經(jīng)過優(yōu)化也存在誤差,因此多個視角之間應(yīng)有重疊部分,對同一特征進行重復(fù)觀測。如圖5所示,車輛的棱線在兩種視角下被重復(fù)觀測到,在圖像中可以看到兩次檢測到的二維特征存在一定的區(qū)別,然而反投影到三維空間時左右支撐平面的區(qū)別并不大。這意味著兩次得到的三維線特征差別不會太大,第二次多余觀測可以提高此線特征的可信度和準確率。
對多余觀測數(shù)據(jù)進行濾波的目的有兩個:①消除某一幀數(shù)據(jù)下由于點云分布不均勻造成二維線檢測時的誤檢,即認為無法被多次觀測到的線特征是錯誤檢測;②通過多次檢測的結(jié)果進一步優(yōu)化投影過程中的精度損失。本文使用貝葉斯濾波對多幀數(shù)據(jù)進行融合,通過貝葉斯濾波對線特征的置信率和參數(shù)進行更新。經(jīng)過濾波后,舍棄那些置信率較低的線特征,對于置信率較高的線特征使用其多幀的內(nèi)點集合重新進行擬合。
P(x=1)=exp(-∑dj/num)
(5)
大多數(shù)論文中使用RGB-D相機[4,17]或Rigel VMX-450 MLS[5,11-12,14]系列靜態(tài)激光雷達獲取點云,其中RGB-D相機雖然便宜,但一般只用于室內(nèi);靜態(tài)激光雷達價格十分昂貴,且?guī)蔬^低。本文使用Kitti數(shù)據(jù)集[27]中的Odometry子集作為試驗數(shù)據(jù),該子集內(nèi)包括已同步的Velodyne 64線雷達點云、灰度圖像、IMU數(shù)據(jù)及標(biāo)定結(jié)果,整體數(shù)據(jù)覆蓋了數(shù)條街道,既存在靜態(tài)停放的車輛,也包括動態(tài)移動的行人等。首先,對點云數(shù)據(jù)進行逐幀拼接,使用IMU數(shù)據(jù)對點云進行剛體變換,將點云轉(zhuǎn)換到第一幀相機坐標(biāo)系中;然后,使用滑動窗口法濾除點云的噪點和動態(tài)障礙物,減少點云的噪聲,并使用RANSAC提取拼接點云中的地面部分。如圖6所示,使用IMU數(shù)據(jù)對點云進行拼接,路邊靜止停放的車輛不會出現(xiàn)重影,建筑物立面也沒有重疊。使用一次RANSAC即可大致將地面去除,剩余一些噪點屬于孤立存在,不會影響其他物體的線特征提取。
使用OpenCV的LSD檢測接口可得到二維圖像上的直線片段及相應(yīng)的線支撐區(qū)域的寬度, 由此可計算出二維投影特征。由于LSD檢測的特征為亞像素級,二維線特征和線支撐區(qū)域?qū)挾炔⒉皇钦麛?shù),因此反投影時應(yīng)該對二維特征點的深度值進行雙線性插值,如圖7所示。從圖7(b)中可以看出,二維線特征的檢測存在誤差,直線上的有些點偏離了實際的物體邊界,這會導(dǎo)致一些明顯遠離三維線特征的反投影點。如圖7(c)所示,中值濾波可以很好地抑制椒鹽噪聲與突變的反投影點,減少了后續(xù)RANSAC的計算量。
LSHP(line segment half planar)結(jié)構(gòu)[14]在較為稠密且噪聲較少的點云處可以得到較好的結(jié)果,但是當(dāng)分布不均勻或噪聲較大時無法提取正確的“V”字形結(jié)構(gòu),相比之下本文的方法可以提取到較好的結(jié)果。如圖8所示,在車體這種較為稀疏的表面提取二維特征時,無論是線特征投影還是線支撐區(qū)域投影,當(dāng)其與當(dāng)前視角方向同向時都會存在較大的誤差,這會導(dǎo)致LSHP結(jié)構(gòu)無法正常提取,而本文使用的模型都可以得到較好的效果;對于建筑物這種分布較為均勻但噪聲點較多的物體,LSHP結(jié)構(gòu)中的主方向計算需要迭代多次才能得到,而且容易落入局部極值導(dǎo)致線特征整體偏移,而本文的模型可以通過RANSAC快速計算出平面參數(shù),投影得到一條沿棱線均勻分布的線特征。
在沒有加入概率模型對多幀數(shù)據(jù)進行濾波時,墻面上會存在一定量的誤檢,不同視角下同一線特征的位置也會有所不同。經(jīng)過貝葉斯濾波處理后,誤檢數(shù)大大減少,且線特征的位置得到了進一步優(yōu)化。圖9分別為建筑物和車體的線特征在濾波前后的提取效果,由于只對視角作了旋轉(zhuǎn),因此對于建筑物的輪廓線提取尚不全面,但是明顯可以看到平面內(nèi)的誤檢大大減少了;車體表面的誤檢主要是由于車體的輪廓在激光雷達的移動過程中很難被完整掃描,導(dǎo)致表面的分布極不均勻,經(jīng)過濾波后其提取精度大大提高了。
本文提出了一種新的幾何模型,將點云轉(zhuǎn)化為深度圖像和明暗圖像,并結(jié)合圖像領(lǐng)域中成熟的線檢測算法,實現(xiàn)了在Velodyne 64線激光雷達所獲取的稀疏點云中提取線特征,并使用貝葉斯濾波對提取結(jié)果進一步優(yōu)化。但目前只解決了直線特征的提取,還無法提取點云中的曲線特征。若用于構(gòu)建線特征地圖,還需要檢測直線特征之間的拓撲關(guān)系,構(gòu)建目標(biāo)物體的完整輪廓,這樣才能明確特征之間的遮擋關(guān)系,以便正確地進行投影和匹配。