本公開(kāi)涉及智能交通技術(shù)領(lǐng)域,具體地,涉及一種障礙物聚類(lèi)方法及裝置。
背景技術(shù):
自主車(chē)在室外環(huán)境中的環(huán)境感知技術(shù)是其實(shí)現(xiàn)自主導(dǎo)航的關(guān)鍵技術(shù),而障礙物的檢測(cè)對(duì)于正確、安全的導(dǎo)航是必不可少的。在自主車(chē)系統(tǒng)中,常用雙目立體相機(jī)、激光雷達(dá)等傳感器進(jìn)行障礙物檢測(cè)。相比于雙目立體相機(jī),激光雷達(dá)在準(zhǔn)確性及檢測(cè)范圍上要更為出色。但由于三維激光雷達(dá)掃描范圍有限、無(wú)法檢測(cè)到某些材質(zhì)的物體的局限性,導(dǎo)致在相對(duì)復(fù)雜的環(huán)境中激光雷達(dá)對(duì)障礙物的檢測(cè)會(huì)出現(xiàn)偏差。因此,如何根據(jù)激光雷達(dá)所檢測(cè)的數(shù)據(jù)來(lái)準(zhǔn)確識(shí)別出周?chē)h(huán)境中的障礙物信息對(duì)于智能車(chē)輛的避障、無(wú)人駕駛等應(yīng)用具有廣泛的現(xiàn)實(shí)價(jià)值和科學(xué)意義。
技術(shù)實(shí)現(xiàn)要素:
本公開(kāi)的目的針對(duì)現(xiàn)有技術(shù)中的在相對(duì)復(fù)雜的環(huán)境中激光雷達(dá)對(duì)障礙物的檢測(cè)會(huì)出現(xiàn)偏差的問(wèn)題,提供一種障礙物聚類(lèi)方法及裝置。
為了實(shí)現(xiàn)上述目的,本公開(kāi)提供一種障礙物聚類(lèi)方法,所述方法包括:
獲取三維激光雷達(dá)發(fā)送的三維點(diǎn)云數(shù)據(jù),并確定所述三維點(diǎn)云數(shù)據(jù)在車(chē)體坐標(biāo)系中的映射點(diǎn)坐標(biāo);
將所述映射點(diǎn)投影到預(yù)先構(gòu)建的柵格地圖中;
根據(jù)所述映射點(diǎn)坐標(biāo)和所述柵格地圖,識(shí)別障礙點(diǎn);
采用近鄰域算法對(duì)所述障礙點(diǎn)進(jìn)行聚類(lèi),獲得k個(gè)障礙物聚類(lèi)簇及與所述k個(gè)障礙物聚類(lèi)簇相對(duì)應(yīng)的k個(gè)聚類(lèi)中心,其中,k為自然數(shù);
計(jì)算所述障礙點(diǎn)與每個(gè)所述聚類(lèi)中心的相似度,并將所述障礙點(diǎn)劃分至與所述障礙點(diǎn)相似度最高的聚類(lèi)中心所對(duì)應(yīng)的障礙物聚類(lèi)簇中;
更新所述k個(gè)障礙物聚類(lèi)簇的聚類(lèi)中心;
判斷每個(gè)障礙物聚類(lèi)簇的聚類(lèi)中心是否滿(mǎn)足預(yù)設(shè)的收斂條件;
在所述k個(gè)障礙物聚類(lèi)簇的聚類(lèi)中心中存在不滿(mǎn)足所述預(yù)設(shè)的收斂條件的聚類(lèi)中心時(shí),返回所述計(jì)算所述障礙點(diǎn)與每個(gè)所述聚類(lèi)中心的相似度,并將所述障礙點(diǎn)劃分至與所述障礙點(diǎn)相似度最高的聚類(lèi)中心所對(duì)應(yīng)的障礙物聚類(lèi)簇中的步驟,直至所述k個(gè)障礙物聚類(lèi)簇的聚類(lèi)中心均滿(mǎn)足所述預(yù)設(shè)的收斂條件為止。
可選地,所述更新所述k個(gè)障礙物聚類(lèi)簇的聚類(lèi)中心,包括:
分別計(jì)算每個(gè)障礙物聚類(lèi)簇的平均類(lèi)中心,其中,所述平均類(lèi)中心的坐標(biāo)為相應(yīng)障礙物聚類(lèi)簇中各障礙點(diǎn)坐標(biāo)的均值,所述障礙點(diǎn)坐標(biāo)為所述障礙點(diǎn)在所述建柵格地圖中的坐標(biāo);
將所述平均類(lèi)中心確定為是相應(yīng)障礙物聚類(lèi)簇的聚類(lèi)中心。
可選地,在所述根據(jù)所述映射點(diǎn)坐標(biāo)和所述柵格地圖,識(shí)別障礙點(diǎn)的步驟之前,所述方法還包括:
根據(jù)所述映射點(diǎn)坐標(biāo),確定所述柵格地圖中的每個(gè)柵格的最低高度,其中,所述最低高度為所述柵格中所有數(shù)據(jù)點(diǎn)的高度的最小值;
當(dāng)所述柵格的最低高度大于預(yù)設(shè)的高度閾值、且掃描到與所述柵格中的數(shù)據(jù)點(diǎn)相對(duì)應(yīng)的實(shí)際位置點(diǎn)的雷達(dá)線(xiàn)數(shù)小于第一預(yù)設(shè)線(xiàn)條閾值時(shí),確定所述數(shù)據(jù)點(diǎn)為懸空點(diǎn);
從所述柵格地圖中刪除所述懸空點(diǎn)。
可選地,在所述根據(jù)所述映射點(diǎn)坐標(biāo)和所述柵格地圖,識(shí)別障礙點(diǎn)的步驟之后,所述方法還包括:
當(dāng)以所述障礙點(diǎn)為中心的預(yù)設(shè)區(qū)域內(nèi)沒(méi)有其他障礙點(diǎn)、且掃描到與所述障礙點(diǎn)相對(duì)應(yīng)的實(shí)際位置點(diǎn)的雷達(dá)線(xiàn)數(shù)小于第二預(yù)設(shè)線(xiàn)條閾值時(shí),確定所述障礙點(diǎn)為單點(diǎn)噪聲;
從所述柵格地圖中刪除所述單點(diǎn)噪聲。
可選地,在所述采用近鄰域算法對(duì)所述障礙點(diǎn)進(jìn)行聚類(lèi),獲得k個(gè)障礙物聚類(lèi)簇及與所述k個(gè)障礙物聚類(lèi)簇相對(duì)應(yīng)的k個(gè)聚類(lèi)中心的步驟之前,所述方法還包括:
遍歷所述柵格地圖中的所述障礙點(diǎn),將所述障礙點(diǎn)所在柵格的相鄰柵格中的數(shù)據(jù)點(diǎn)確定為障礙點(diǎn)。
可選地,所述收斂條件為:所述障礙物聚類(lèi)簇的更新后的聚類(lèi)中心與更新前的聚類(lèi)中心之間的距離小于預(yù)設(shè)的距離閾值。
可選地,所述方法還包括:
根據(jù)障礙物聚類(lèi)結(jié)果,識(shí)別障礙物。
本公開(kāi)還提供一種障礙物聚類(lèi)裝置,所述裝置包括:
確定模塊,用于獲取三維激光雷達(dá)發(fā)送的三維點(diǎn)云數(shù)據(jù),并確定所述三維點(diǎn)云數(shù)據(jù)在車(chē)體坐標(biāo)系中的映射點(diǎn)坐標(biāo);
投影模塊,用于將所述映射點(diǎn)投影到預(yù)先構(gòu)建的柵格地圖中;
障礙點(diǎn)識(shí)別模塊,用于根據(jù)所述映射點(diǎn)坐標(biāo)和所述柵格地圖,識(shí)別障礙點(diǎn);
近鄰域算法聚類(lèi)模塊,用于采用近鄰域算法對(duì)所述障礙點(diǎn)進(jìn)行聚類(lèi),獲得k個(gè)障礙物聚類(lèi)簇及與所述k個(gè)障礙物聚類(lèi)簇相對(duì)應(yīng)的k個(gè)聚類(lèi)中心,其中,k為的自然數(shù);
障礙點(diǎn)重新聚類(lèi)模塊,用于計(jì)算所述障礙點(diǎn)與每個(gè)所述聚類(lèi)中心的相似度,并將所述障礙點(diǎn)劃分至與所述障礙點(diǎn)相似度最高的聚類(lèi)中心所對(duì)應(yīng)的障礙物聚類(lèi)簇中;
聚類(lèi)中心更新模塊,用于更新所述k個(gè)障礙物聚類(lèi)簇的聚類(lèi)中心;
判斷模塊,用于判斷每個(gè)障礙物聚類(lèi)簇的聚類(lèi)中心是否滿(mǎn)足預(yù)設(shè)的收斂條件,并在所述k個(gè)障礙物聚類(lèi)簇的聚類(lèi)中心中存在不滿(mǎn)足所述預(yù)設(shè)的收斂條件的聚類(lèi)中心時(shí),觸發(fā)所述障礙點(diǎn)重新聚類(lèi)模塊計(jì)算所述障礙點(diǎn)與每個(gè)所述聚類(lèi)中心的相似度,并將所述障礙點(diǎn)劃分至與所述障礙點(diǎn)相似度最高的聚類(lèi)中心所對(duì)應(yīng)的障礙物聚類(lèi)簇中的步驟,直至所述k個(gè)障礙物聚類(lèi)簇的聚類(lèi)中心均滿(mǎn)足所述預(yù)設(shè)的收斂條件為止。
可選地,所述聚類(lèi)中心更新模塊包括:
平均類(lèi)中心確定子模塊,用于分別計(jì)算每個(gè)障礙物聚類(lèi)簇的平均類(lèi)中心,其中,所述平均類(lèi)中心的坐標(biāo)為相應(yīng)障礙物聚類(lèi)簇中各障礙點(diǎn)坐標(biāo)的均值,所述障礙點(diǎn)坐標(biāo)為所述障礙點(diǎn)在所述柵格地圖中的坐標(biāo);
聚類(lèi)中心重新確定子模塊,用于將所述平均類(lèi)中心確定為是相應(yīng)障礙物聚類(lèi)簇的聚類(lèi)中心。
可選地,所述裝置還包括:
柵格最低高度確定模塊,用于在所述障礙點(diǎn)識(shí)別模塊根據(jù)所述映射點(diǎn)坐標(biāo)和所述柵格地圖,識(shí)別障礙點(diǎn)之前,根據(jù)所述映射點(diǎn)坐標(biāo),確定所述柵格地圖中的每個(gè)柵格的最低高度,其中,所述最低高度為所述柵格中所有數(shù)據(jù)點(diǎn)的高度的最小值;
懸空點(diǎn)確定模塊,用于當(dāng)所述柵格的最低高度大于預(yù)設(shè)的高度閾值、且掃描到與所述柵格中的數(shù)據(jù)點(diǎn)相對(duì)應(yīng)的實(shí)際位置點(diǎn)的雷達(dá)線(xiàn)數(shù)小于第一預(yù)設(shè)線(xiàn)條閾值時(shí),確定所述數(shù)據(jù)點(diǎn)為懸空點(diǎn);
懸空點(diǎn)濾除模塊,用于從所述柵格地圖中刪除所述懸空點(diǎn)。
可選地,所述裝置還包括:
單點(diǎn)噪聲確定模塊,用于在所述障礙點(diǎn)識(shí)別模塊根據(jù)所述映射點(diǎn)坐標(biāo)和所述柵格地圖,識(shí)別障礙點(diǎn)之后,當(dāng)以所述障礙點(diǎn)為中心的預(yù)設(shè)區(qū)域內(nèi)沒(méi)有其他障礙點(diǎn)、且掃描到與所述障礙點(diǎn)相對(duì)應(yīng)的實(shí)際位置點(diǎn)的雷達(dá)線(xiàn)數(shù)小于第二預(yù)設(shè)線(xiàn)條閾值時(shí),確定所述障礙點(diǎn)為單點(diǎn)噪聲;
單點(diǎn)濾除模塊,用于從所述柵格地圖中刪除所述單點(diǎn)噪聲。
可選地,所述裝置還包括:
膨脹處理模塊,用于在所述近鄰域算法聚類(lèi)模塊采用近鄰域算法對(duì)所述障礙點(diǎn)進(jìn)行聚類(lèi),獲得k個(gè)障礙物聚類(lèi)簇及與所述k個(gè)障礙物聚類(lèi)簇相對(duì)應(yīng)的k個(gè)聚類(lèi)中心之前,遍歷所述柵格地圖中的所述障礙點(diǎn),將所述障礙點(diǎn)所在柵格的相鄰柵格中的數(shù)據(jù)點(diǎn)確定為障礙點(diǎn)。
可選地,所述裝收斂條件為:所述障礙物聚類(lèi)簇的更新后的聚類(lèi)中心與更新前的聚類(lèi)中心之間的距離小于預(yù)設(shè)的距離閾值。
可選地,所述裝置還包括:
障礙物識(shí)別模塊,用于根據(jù)障礙物聚類(lèi)結(jié)果,識(shí)別障礙物。
通過(guò)上述技術(shù)方案,根據(jù)三維激光雷達(dá)采集到的三維點(diǎn)云數(shù)據(jù),識(shí)別障礙點(diǎn),然后采用近鄰域算法對(duì)該障礙點(diǎn)進(jìn)行初始聚類(lèi)以獲得k個(gè)障礙物聚類(lèi)簇,最后采用k-means算法對(duì)該k個(gè)障礙物聚類(lèi)簇進(jìn)行修正。這樣,通過(guò)兩次聚類(lèi)過(guò)程能夠準(zhǔn)確、可靠地實(shí)現(xiàn)障礙物聚類(lèi),有助于提高障礙物的識(shí)別率,為無(wú)人自主車(chē)安全、正確的行駛奠定了良好的基礎(chǔ)。
本公開(kāi)的其他特征和優(yōu)點(diǎn)將在隨后的具體實(shí)施方式部分予以詳細(xì)說(shuō)明。
附圖說(shuō)明
附圖是用來(lái)提供對(duì)本公開(kāi)的進(jìn)一步理解,并且構(gòu)成說(shuō)明書(shū)的一部分,與下面的具體實(shí)施方式一起用于解釋本公開(kāi),但并不構(gòu)成對(duì)本公開(kāi)的限制。在附圖中:
圖1是根據(jù)一示例性實(shí)施例示出的一種障礙物聚類(lèi)方法的流程圖。
圖2a是根據(jù)一示例性實(shí)施例示出的一種激光雷達(dá)坐標(biāo)系和車(chē)體坐標(biāo)系的示意圖。
圖2b是根據(jù)一示例性實(shí)施例示出的一種俯仰角的示意圖。
圖2c是根據(jù)一示例性實(shí)施例示出的一種航向角的示意圖。
圖3是根據(jù)一示例性實(shí)施例示出的一種預(yù)先構(gòu)建的柵格地圖及其與三維激光雷達(dá)的可視范圍的關(guān)系圖。
圖4是根據(jù)一示例性實(shí)施例示出的一種更新k個(gè)障礙物聚類(lèi)簇的聚類(lèi)中心的步驟的流程圖。
圖5是根據(jù)另一示例性實(shí)施例示出的一種障礙物聚類(lèi)方法的流程圖。
圖6是根據(jù)另一示例性實(shí)施例示出的一種障礙物聚類(lèi)方法的流程圖。
圖7是根據(jù)另一示例性實(shí)施例示出的一種障礙物聚類(lèi)方法的流程圖。
圖8a和圖8b是根據(jù)一示例性實(shí)施例示出的一種膨脹處理過(guò)程的示意圖。
圖9是根據(jù)另一示例性實(shí)施例示出的一種障礙物聚類(lèi)方法的流程圖。
圖10是根據(jù)一示例性實(shí)施例示出的一種障礙物聚類(lèi)裝置的框圖。
圖11是根據(jù)一示例性實(shí)施例示出的一種聚類(lèi)中心更新模塊的結(jié)構(gòu)框圖。
圖12是根據(jù)另一示例性實(shí)施例示出的一種障礙物聚類(lèi)裝置的框圖。
圖13是根據(jù)另一示例性實(shí)施例示出的一種障礙物聚類(lèi)裝置的框圖。
圖14是根據(jù)另一示例性實(shí)施例示出的一種障礙物聚類(lèi)裝置的框圖。
圖15是根據(jù)另一示例性實(shí)施例示出的一種障礙物聚類(lèi)裝置的框圖。
具體實(shí)施方式
以下結(jié)合附圖對(duì)本公開(kāi)的具體實(shí)施方式進(jìn)行詳細(xì)說(shuō)明。應(yīng)當(dāng)理解的是,此處所描述的具體實(shí)施方式僅用于說(shuō)明和解釋本公開(kāi),并不用于限制本公開(kāi)。
圖1是根據(jù)一示例性實(shí)施例示出的一種障礙物聚類(lèi)方法的流程圖。如圖1所示,該方法可以包括以下步驟:
在步驟101中,獲取三維激光雷達(dá)發(fā)送的三維點(diǎn)云數(shù)據(jù),并確定該三維點(diǎn)云數(shù)據(jù)在車(chē)體坐標(biāo)系中的映射點(diǎn)坐標(biāo)。
在本公開(kāi)中,該障礙物聚類(lèi)方法可以應(yīng)用于障礙物檢測(cè)系統(tǒng)。在局域網(wǎng)內(nèi),三維激光雷達(dá)將采集到的三維點(diǎn)云數(shù)據(jù)以用戶(hù)數(shù)據(jù)報(bào)協(xié)議(userdatagramprotocol,udp)廣播包的方式發(fā)送出去,其中,udp數(shù)據(jù)包包括一幀數(shù)據(jù),并且一幀數(shù)據(jù)為三維激光雷達(dá)旋轉(zhuǎn)一周所獲得的點(diǎn)云數(shù)據(jù);障礙物檢測(cè)系統(tǒng)接收該udp數(shù)據(jù)包。其中,該三維激光雷達(dá)的工作頻率可以為5hz、10hz或15hz,每個(gè)udp數(shù)據(jù)包的大小為1248字節(jié),該數(shù)據(jù)包包含有12個(gè)100字節(jié)的數(shù)據(jù)塊,42字節(jié)的首部和6字節(jié)的尾部。每個(gè)數(shù)據(jù)點(diǎn)的原始數(shù)據(jù)主要包括距離和角度兩個(gè)部分。障礙物檢測(cè)系統(tǒng)在接收到udp數(shù)據(jù)包后,根據(jù)該數(shù)據(jù)包格式,解析出對(duì)應(yīng)的距離、角度等數(shù)據(jù)內(nèi)容,其中,距離可以包括三維點(diǎn)距離三維激光雷達(dá)的距離,角度可以包括水平方向的航向角和三維點(diǎn)所在的雷達(dá)線(xiàn)的俯仰角。
三維點(diǎn)云數(shù)據(jù)在車(chē)體坐標(biāo)系中的映射點(diǎn)坐標(biāo)的確定可以包括以下步驟:
首先,障礙物檢測(cè)系統(tǒng)根據(jù)上述解析出的距離、角度信息將三維點(diǎn)云數(shù)據(jù)轉(zhuǎn)化為激光雷達(dá)坐標(biāo)系下坐標(biāo)點(diǎn)。
如圖2a所示,三維激光雷達(dá)可以安裝在車(chē)輛上方,激光雷達(dá)坐標(biāo)系以三維激光雷達(dá)為中心,以車(chē)輛的直線(xiàn)運(yùn)動(dòng)方向?yàn)閤l軸,以平行于車(chē)輛橫軸的方向?yàn)閥l軸,以垂直于水平地面向上的方向?yàn)閦l軸。三維點(diǎn)所在的雷達(dá)線(xiàn)的俯仰角可以例如是圖2b中所示的w,水平方向的航向角可以例如是圖2c中所示的α。
示例地,可以通過(guò)以下的等式(1)將三維點(diǎn)云數(shù)據(jù)轉(zhuǎn)化為激光雷達(dá)坐標(biāo)系下的坐標(biāo)點(diǎn):
其中,(xl,yl,zl)為所述三維點(diǎn)在激光雷達(dá)坐標(biāo)系下的坐標(biāo);l為三維點(diǎn)距離三維激光雷達(dá)的距離;w為三維點(diǎn)所在的雷達(dá)線(xiàn)的俯仰角,它是垂直方向的角度;α為水平方向的航向角。
接下來(lái),根據(jù)旋轉(zhuǎn)矩陣和平移矩陣將激光雷達(dá)坐標(biāo)系下的坐標(biāo)點(diǎn)映射到車(chē)體坐標(biāo)系中。
如圖2a所示,車(chē)體坐標(biāo)系以車(chē)輛的直線(xiàn)運(yùn)動(dòng)方向?yàn)閤c軸,車(chē)輛的橫軸方向?yàn)閥c軸,垂直于水平地面的方向?yàn)閦c軸。
示例地,可以通過(guò)以下等式(2)將激光雷達(dá)坐標(biāo)系下的數(shù)據(jù)點(diǎn)映射到車(chē)體坐標(biāo)系中:
其中,(xc,yc,zc)為所述三維點(diǎn)在車(chē)體坐標(biāo)系下的映射點(diǎn)坐標(biāo);r為旋轉(zhuǎn)矩陣;t為平移矩陣。
在步驟102中,將映射點(diǎn)投影到預(yù)先構(gòu)建的柵格地圖中。
如圖3所示,該預(yù)先構(gòu)建的柵格地圖20的規(guī)格可以例如是320*80,其中,每個(gè)柵格的大小為25cm*25cm,即柵格地圖20的實(shí)際尺寸為80*20米。自主車(chē)10位于柵格地圖20的中后部,自主車(chē)10前方的可視范圍為60米,兩邊各10米。
遍歷車(chē)體坐標(biāo)系下的映射點(diǎn),將其投影到柵格地圖中。在一種實(shí)施方式中,為了方便統(tǒng)一計(jì)算,可以將車(chē)體坐標(biāo)系下的xc—yc的坐標(biāo)值都轉(zhuǎn)化正值,例如可以通過(guò)在xc—yc坐標(biāo)軸上增加平移量,即通過(guò)坐標(biāo)平移來(lái)實(shí)現(xiàn)正值轉(zhuǎn)化。
示例地,可以通過(guò)以下等式(3)將映射點(diǎn)投影到柵格地圖中。
其中,(xs,ys)為映射點(diǎn)在柵格地圖中的坐標(biāo);(mapx,mapy)為xc—yc坐標(biāo)軸上增加的平移量;g為柵格的大小,亦稱(chēng)為柵格的尺寸;自主車(chē)在柵格地圖中的坐標(biāo)為(mapx/g,mapy/g)。
在步驟103中,根據(jù)映射點(diǎn)坐標(biāo)和柵格地圖,識(shí)別障礙點(diǎn)。
在本公開(kāi)中,通常障礙物一個(gè)典型的特點(diǎn)是比地面有一定高度的凸起,而地面點(diǎn)往往是在一些高度相近的平面點(diǎn)。因此,可以通過(guò)基于相對(duì)高度差的障礙屬性判別方法來(lái)識(shí)別障礙點(diǎn):
首先,遍歷柵格地圖中的數(shù)據(jù)點(diǎn),記錄每個(gè)柵格中數(shù)據(jù)點(diǎn)高度的最大值和最小值,即最大高度和最小高度。
接下來(lái),計(jì)算每個(gè)柵格內(nèi)所有數(shù)據(jù)點(diǎn)的最大高度與最小高度之間的高度差△h,并設(shè)置高度差閾值為hg,然后比較高度差△h和閾值hg的大小,若△h>hg,則認(rèn)為該柵格已被障礙物占用,為不可通行區(qū)域,標(biāo)記該柵格的屬性為t(x)=1,否則為非占用狀態(tài),標(biāo)記該柵格的屬性為t(x)=0,其中,柵格的屬性分為可通行和不可通行。
最后,將被標(biāo)記為t(x)=1的柵格中的數(shù)據(jù)點(diǎn)確定為障礙點(diǎn)。
這樣,可以有效減少斜坡對(duì)障礙點(diǎn)識(shí)別的影響。并且,即使在車(chē)輛有顛簸的情況下,依然可以有保證障礙點(diǎn)識(shí)別的準(zhǔn)確性。
在步驟104中,采用近鄰域算法對(duì)障礙點(diǎn)進(jìn)行聚類(lèi),獲得k個(gè)障礙物聚類(lèi)簇及與該k個(gè)障礙物聚類(lèi)簇相對(duì)應(yīng)的k個(gè)聚類(lèi)中心。
在本公開(kāi)中,k為自然數(shù)。采用近鄰域算法對(duì)障礙物進(jìn)行聚類(lèi)的方式具體如下:
首先,依次對(duì)柵格地圖中的障礙點(diǎn)進(jìn)行兩兩比較,當(dāng)兩個(gè)障礙點(diǎn)之間距離小于間距閾值時(shí),則認(rèn)為兩個(gè)障礙點(diǎn)屬于同一個(gè)物體的點(diǎn),即將該兩個(gè)障礙點(diǎn)劃分至一個(gè)障礙物聚類(lèi)簇中;如果兩障礙點(diǎn)之間距離大于或等于間距閾值時(shí),則認(rèn)為兩個(gè)障礙點(diǎn)屬于不同的檢測(cè)的物體的點(diǎn),與此同時(shí)正在比較的障礙點(diǎn)中的前一個(gè)障礙點(diǎn)為上一個(gè)障礙物聚類(lèi)簇的終止點(diǎn),然而比較中后一個(gè)障礙點(diǎn)作為新一個(gè)聚類(lèi)簇的起始點(diǎn),依次進(jìn)行,實(shí)現(xiàn)對(duì)柵格中障礙點(diǎn)的初步聚類(lèi),從而形成k個(gè)障礙物聚類(lèi)簇。
接下來(lái),分別從上述聚類(lèi)后的k個(gè)障礙物聚類(lèi)簇中選取一個(gè)障礙點(diǎn)作為此障礙物聚類(lèi)簇的聚類(lèi)中心,從而形成相應(yīng)的k個(gè)聚類(lèi)中心。其中,聚類(lèi)中心的選取方式可以是隨機(jī)選取,也可以是將與該障礙物聚類(lèi)簇中所有障礙點(diǎn)的均值坐標(biāo)點(diǎn)之間的距離最近的障礙點(diǎn)作為該障礙物聚類(lèi)簇的聚類(lèi)中心。
在步驟105中,計(jì)算障礙點(diǎn)與每個(gè)聚類(lèi)中心的相似度,并將該障礙點(diǎn)劃分至與該障礙點(diǎn)相似度最高的聚類(lèi)中心所對(duì)應(yīng)的障礙物聚類(lèi)簇中。
在本公開(kāi)中,可以采用余弦相似度法、歐式距離、曼哈頓距離等方法來(lái)計(jì)算該障礙點(diǎn)與k個(gè)聚類(lèi)中心中的每個(gè)聚類(lèi)中心之間的相似度。
在步驟106中,更新k個(gè)障礙物聚類(lèi)簇的聚類(lèi)中心。
在本公開(kāi)中,可以采用均值法更新各障礙物聚類(lèi)簇的聚類(lèi)中心。具體地,可以通過(guò)圖4中所示的步驟來(lái)更新各障礙物聚類(lèi)簇的聚類(lèi)中心。
在步驟1061中,分別計(jì)算每個(gè)障礙物聚類(lèi)簇的平均類(lèi)中心。
在本公開(kāi)中,該平均類(lèi)中心的坐標(biāo)為相應(yīng)障礙物聚類(lèi)簇中各障礙點(diǎn)坐標(biāo)的均值,障礙點(diǎn)坐標(biāo)為該障礙點(diǎn)在柵格地圖中的坐標(biāo)。
在步驟1062中,將平均類(lèi)中心確定為是相應(yīng)障礙物聚類(lèi)簇的聚類(lèi)中心。
在步驟107中,判斷每個(gè)障礙物聚類(lèi)簇的聚類(lèi)中心是否滿(mǎn)足預(yù)設(shè)的收斂條件。
在本公開(kāi)中,該收斂條件可以為障礙物聚類(lèi)簇的更新后的聚類(lèi)中心與更新前的聚類(lèi)中心之間的距離小于預(yù)設(shè)的距離閾值,其中,該距離閾值可以是用戶(hù)設(shè)定的值,也可以是默認(rèn)的經(jīng)驗(yàn)值。當(dāng)障礙物聚類(lèi)簇的更新后的聚類(lèi)中心和更新前的聚類(lèi)中心之間的距離小于預(yù)設(shè)的距離閾值時(shí),可以確定該障礙物聚類(lèi)簇的聚類(lèi)中心滿(mǎn)足預(yù)設(shè)的收斂條件;當(dāng)障礙物聚類(lèi)簇的更新后的聚類(lèi)中心和更新前的聚類(lèi)中心之間的距離大于或等于上述預(yù)設(shè)的距離閾值時(shí),可以確定該障礙物聚類(lèi)簇的聚類(lèi)中心不滿(mǎn)足預(yù)設(shè)的收斂條件。
當(dāng)k個(gè)障礙物聚類(lèi)簇的聚類(lèi)中心中存在不滿(mǎn)足上述的收斂條件的聚類(lèi)中心時(shí),返回上述步驟105繼續(xù)執(zhí)行,直到k個(gè)障礙物聚類(lèi)簇的聚類(lèi)中心均滿(mǎn)足上述的收斂條件為止。
示例地,假設(shè)k個(gè)聚類(lèi)中心包括k1、k2、k3,更新后分別為k1’,k2’,k3’,當(dāng)k1與k1’之間的距離小于預(yù)設(shè)的距離閾值時(shí),可以確定聚類(lèi)中心k1滿(mǎn)足預(yù)設(shè)的收斂條件,同樣地,當(dāng)k2與k2’之間的距離小于預(yù)設(shè)的距離閾值時(shí),可以確定聚類(lèi)中心k2滿(mǎn)足預(yù)設(shè)的收斂條件,當(dāng)k3與k3’之間的距離小于預(yù)設(shè)的距離閾值時(shí),可以確定聚類(lèi)中心k3滿(mǎn)足預(yù)設(shè)的收斂條件。當(dāng)k1、k2、k3均滿(mǎn)足預(yù)設(shè)的收斂條件時(shí),停止障礙物聚類(lèi)操作。當(dāng)k1、k2、k3中任意一者不滿(mǎn)足預(yù)設(shè)的收斂條件時(shí),返回上述步驟105繼續(xù)進(jìn)行障礙物聚類(lèi)操作。
通過(guò)上述技術(shù)方案,根據(jù)三維激光雷達(dá)采集到的三維點(diǎn)云數(shù)據(jù),識(shí)別障礙點(diǎn),然后采用近鄰域算法對(duì)該障礙點(diǎn)進(jìn)行初始聚類(lèi)以獲得k個(gè)障礙物聚類(lèi)簇,最后采用k-means算法對(duì)該k個(gè)障礙物聚類(lèi)簇進(jìn)行修正。這樣,通過(guò)兩次聚類(lèi)過(guò)程能夠準(zhǔn)確、可靠地實(shí)現(xiàn)障礙物聚類(lèi),有助于提高障礙物的識(shí)別率,為無(wú)人自主車(chē)安全、正確的行駛奠定了良好的基礎(chǔ)。
在障礙物識(shí)別中,會(huì)存在一些例如是懸掛的樹(shù)枝、小飛蟲(chóng)等等懸空小障礙,這樣,會(huì)引入一些障礙誤檢。在自主車(chē)路徑規(guī)劃中,若是碰到這些誤檢點(diǎn)就會(huì)使自主車(chē)緊急剎車(chē),致使自主車(chē)無(wú)法通過(guò)的假象。因此,在障礙點(diǎn)識(shí)別之前,可以將懸空小障礙濾除掉。這樣,可以減少因障礙誤檢引起的自主車(chē)輛緊急剎車(chē)的問(wèn)題的發(fā)生,使得自主車(chē)輛的行駛更加順暢。
示例地,可以通過(guò)如圖5中所示的步驟108、步驟109和步驟110來(lái)實(shí)現(xiàn)懸空點(diǎn)濾除。
在步驟108中,根據(jù)映射點(diǎn)坐標(biāo),確定柵格地圖中的每個(gè)柵格的最低高度。
在步驟109中,當(dāng)柵格的最低高度大于預(yù)設(shè)的高度閾值、且掃描到與該柵格中的數(shù)據(jù)點(diǎn)相對(duì)應(yīng)的實(shí)際位置點(diǎn)的雷達(dá)線(xiàn)數(shù)小于第一預(yù)設(shè)線(xiàn)條閾值時(shí),確定該數(shù)據(jù)點(diǎn)為懸空點(diǎn)。
在步驟110中,從柵格地圖中刪除懸空點(diǎn)。
在本公開(kāi)中,該預(yù)設(shè)高度和第一預(yù)設(shè)線(xiàn)條閾值可以是用戶(hù)設(shè)定的值,也可以是默認(rèn)的經(jīng)驗(yàn)值。該高度閾值可以例如是2m,第一預(yù)設(shè)線(xiàn)條閾值可以例如是2條。也就是說(shuō),當(dāng)柵格的最低高度大于2m、且掃描到與該柵格中的數(shù)據(jù)點(diǎn)相對(duì)應(yīng)的雷達(dá)線(xiàn)數(shù)少于2條時(shí),可以確定該數(shù)據(jù)點(diǎn)為懸空點(diǎn)。在找出懸空點(diǎn)后,將其從柵格地圖中刪除。
另外,需要說(shuō)明的是,上述步驟108在上述步驟103之前執(zhí)行。
此外,識(shí)別的障礙點(diǎn)中偶爾會(huì)出現(xiàn)少數(shù)雷達(dá)錯(cuò)誤反射點(diǎn),而這些錯(cuò)誤反射點(diǎn)往往是孤立存在的單點(diǎn),即單點(diǎn)噪聲。因此,在障礙點(diǎn)識(shí)別之后,可以將單點(diǎn)噪聲濾除掉。這樣,可以有效抑制傳感器噪聲和環(huán)境噪聲干擾。
示例地,可以通過(guò)如圖6中所示的步驟111和步驟112來(lái)實(shí)現(xiàn)單點(diǎn)噪聲濾除。
在步驟111中,當(dāng)以障礙點(diǎn)為中心的預(yù)設(shè)區(qū)域內(nèi)沒(méi)有其他障礙點(diǎn)、且掃描到與該障礙點(diǎn)相對(duì)應(yīng)的實(shí)際位置點(diǎn)的雷達(dá)線(xiàn)數(shù)小于第二預(yù)設(shè)線(xiàn)條閾值時(shí),確定該障礙點(diǎn)為單點(diǎn)噪聲。
在步驟112中,從柵格地圖中刪除單點(diǎn)噪聲。
在本公開(kāi)中,該預(yù)設(shè)區(qū)域和第二預(yù)設(shè)線(xiàn)條閾值可以是用戶(hù)設(shè)定的值,也可以是默認(rèn)的經(jīng)驗(yàn)值。示例地,該預(yù)設(shè)區(qū)域?yàn)橐粋€(gè)以障礙點(diǎn)所在的柵格為中心的7*7的柵格范圍內(nèi)。該第二預(yù)設(shè)線(xiàn)條閾值可以例如是2條。也就是說(shuō),當(dāng)在預(yù)定區(qū)域內(nèi)只有一個(gè)障礙點(diǎn),且掃描到它的雷達(dá)線(xiàn)少于2條,則該障礙點(diǎn)被視為單點(diǎn)噪聲。然后,將單點(diǎn)噪聲從柵格地圖中刪除。
另外,需要說(shuō)明的是,該第二預(yù)設(shè)線(xiàn)條閾值與上述的第一預(yù)設(shè)線(xiàn)條閾值可以相等,也可以不相等,這里不作具體限定。此外,上述步驟111在上述步驟103之后執(zhí)行。
由于多個(gè)障礙物之間會(huì)出現(xiàn)遮擋、斷裂等情況,另外,三維激光雷達(dá)采集的三維點(diǎn)云數(shù)據(jù)不是致密的,因此,如果直接對(duì)上述步驟103中識(shí)別出的障礙點(diǎn)進(jìn)行聚類(lèi)的話(huà),原本一個(gè)障礙物會(huì)變成幾塊的情況,不利于后續(xù)的障礙物檢測(cè)?;诖?,可以采用四鄰域法對(duì)上述步驟103中識(shí)別出的障礙點(diǎn)進(jìn)行膨脹處理,以保證達(dá)到較好聚類(lèi)效果的同時(shí)又提高后續(xù)聚類(lèi)的效率。
示例地,可以通過(guò)如圖7所示的步驟113來(lái)實(shí)現(xiàn)膨脹處理。
在步驟113中,遍歷柵格地圖中的障礙點(diǎn),將障礙點(diǎn)所在柵格的相鄰柵格中的數(shù)據(jù)點(diǎn)確定為障礙點(diǎn)。
在本公開(kāi)中,該步驟113在步驟104之前執(zhí)行。示例地,可以通過(guò)將圖8a中所示的標(biāo)記為1的柵格的相鄰柵格的標(biāo)記更新為1(如圖8b所示),并將標(biāo)記被更新為1的柵格中的數(shù)據(jù)點(diǎn)確定為障礙點(diǎn)。
圖9是根據(jù)另一示例性實(shí)施例示出的一種障礙物聚類(lèi)方法的流程圖。如圖9所示,上述方法還可以包括以下步驟。
在步驟114中,根據(jù)障礙物聚類(lèi)結(jié)果,識(shí)別障礙物。
在本公開(kāi)中,障礙物檢測(cè)系統(tǒng)可以根據(jù)上述步驟101至步驟107中得到的障礙物聚類(lèi)結(jié)果,識(shí)別障礙物,以為自主車(chē)行駛中的避障做準(zhǔn)備工作。
圖10是根據(jù)一示例性實(shí)施例示出的一種障礙物聚類(lèi)裝置的框圖。參照?qǐng)D10,該裝置1000可以包括:確定模塊1001,用于獲取三維激光雷達(dá)發(fā)送的三維點(diǎn)云數(shù)據(jù),并確定所述三維點(diǎn)云數(shù)據(jù)在車(chē)體坐標(biāo)系中的映射點(diǎn)坐標(biāo);投影模塊1002,用于將所述映射點(diǎn)投影到預(yù)先構(gòu)建的柵格地圖中;障礙點(diǎn)識(shí)別模塊1003,用于根據(jù)所述映射點(diǎn)坐標(biāo)和所述柵格地圖,識(shí)別障礙點(diǎn);近鄰域算法聚類(lèi)模塊1004,用于采用近鄰域算法對(duì)所述障礙點(diǎn)進(jìn)行聚類(lèi),獲得k個(gè)障礙物聚類(lèi)簇及與所述k個(gè)障礙物聚類(lèi)簇相對(duì)應(yīng)的k個(gè)聚類(lèi)中心,其中,k為的自然數(shù);障礙點(diǎn)重新聚類(lèi)模塊1005,用于計(jì)算所述障礙點(diǎn)與每個(gè)所述聚類(lèi)中心的相似度,并將所述障礙點(diǎn)劃分至與所述障礙點(diǎn)相似度最高的聚類(lèi)中心所對(duì)應(yīng)的障礙物聚類(lèi)簇中;聚類(lèi)中心更新模塊1006,用于更新所述k個(gè)障礙物聚類(lèi)簇的聚類(lèi)中心;判斷模塊1007,用于判斷每個(gè)障礙物聚類(lèi)簇的聚類(lèi)中心是否滿(mǎn)足預(yù)設(shè)的收斂條件,并在所述k個(gè)障礙物聚類(lèi)簇的聚類(lèi)中心中存在不滿(mǎn)足所述預(yù)設(shè)的收斂條件的聚類(lèi)中心時(shí),觸發(fā)所述障礙點(diǎn)重新聚類(lèi)模塊1005計(jì)算所述障礙點(diǎn)與每個(gè)所述聚類(lèi)中心的相似度,并將所述障礙點(diǎn)劃分至與所述障礙點(diǎn)相似度最高的聚類(lèi)中心所對(duì)應(yīng)的障礙物聚類(lèi)簇中,直至所述k個(gè)障礙物聚類(lèi)簇的聚類(lèi)中心均滿(mǎn)足所述預(yù)設(shè)的收斂條件為止。
如圖11所示,上述的聚類(lèi)中心更新模塊1006可與包括:平均類(lèi)中心確定子模塊10061,用于分別計(jì)算每個(gè)障礙物聚類(lèi)簇的平均類(lèi)中心,其中,所述平均類(lèi)中心的坐標(biāo)為相應(yīng)障礙物聚類(lèi)簇中各障礙點(diǎn)坐標(biāo)的均值,所述障礙點(diǎn)坐標(biāo)為所述障礙點(diǎn)在所述柵格地圖中的坐標(biāo);聚類(lèi)中心重新確定子模塊10062,用于將所述平均類(lèi)中心確定為是相應(yīng)障礙物聚類(lèi)簇的聚類(lèi)中心。
圖12是根據(jù)另一示例性實(shí)施例示出的一種障礙物聚類(lèi)裝置的框圖。參照?qǐng)D12,所述裝置1000還可以包括:柵格最低高度確定模塊1008,用于在所述障礙點(diǎn)識(shí)別模塊1003根據(jù)所述映射點(diǎn)坐標(biāo)和所述柵格地圖,識(shí)別障礙點(diǎn)之前,根據(jù)所述映射點(diǎn)坐標(biāo),確定所述柵格地圖中的每個(gè)柵格的最低高度,其中,所述最低高度為所述柵格中所有數(shù)據(jù)點(diǎn)的高度的最小值;懸空點(diǎn)確定模塊1009,用于當(dāng)所述柵格的最低高度大于預(yù)設(shè)的高度閾值、且掃描到與所述柵格中的數(shù)據(jù)點(diǎn)相對(duì)應(yīng)的實(shí)際位置點(diǎn)的雷達(dá)線(xiàn)數(shù)小于第一預(yù)設(shè)線(xiàn)條閾值時(shí),確定所述數(shù)據(jù)點(diǎn)為懸空點(diǎn);懸空點(diǎn)濾除模塊1010,用于從所述柵格地圖中刪除所述懸空點(diǎn)。
圖13是根據(jù)另一示例性實(shí)施例示出的一種障礙物聚類(lèi)裝置的框圖。參照?qǐng)D13,該裝置1000還可以包括:?jiǎn)吸c(diǎn)噪聲確定模塊1011,用于在所述障礙點(diǎn)識(shí)別模塊1003根據(jù)所述映射點(diǎn)坐標(biāo)和所述柵格地圖,識(shí)別障礙點(diǎn)之后,當(dāng)以所述障礙點(diǎn)為中心的預(yù)設(shè)區(qū)域內(nèi)沒(méi)有其他障礙點(diǎn)、且掃描到與所述障礙點(diǎn)相對(duì)應(yīng)的實(shí)際位置點(diǎn)的雷達(dá)線(xiàn)數(shù)小于第二預(yù)設(shè)線(xiàn)條閾值時(shí),確定所述障礙點(diǎn)為單點(diǎn)噪聲;單點(diǎn)濾除模塊1012,用于從所述柵格地圖中刪除所述單點(diǎn)噪聲。
圖14是根據(jù)另一示例性實(shí)施例示出的一種障礙物聚類(lèi)裝置的框圖。參照?qǐng)D14,該裝置1000還可以包括:膨脹處理模塊1013,用于在所述近鄰域算法聚類(lèi)模塊1004采用近鄰域算法對(duì)所述障礙點(diǎn)進(jìn)行聚類(lèi),獲得k個(gè)障礙物聚類(lèi)簇及與所述k個(gè)障礙物聚類(lèi)簇相對(duì)應(yīng)的k個(gè)聚類(lèi)中心之前,遍歷所述柵格地圖中的所述障礙點(diǎn),將所述障礙點(diǎn)所在柵格的相鄰柵格中的數(shù)據(jù)點(diǎn)確定為障礙點(diǎn)。
可選地,所述收斂條件為:所述障礙物聚類(lèi)簇的更新后的聚類(lèi)中心與更新前的聚類(lèi)中心之間的距離小于預(yù)設(shè)的距離閾值。
圖15是根據(jù)另一示例性實(shí)施例示出的一種障礙物聚類(lèi)裝置的框圖。參照?qǐng)D15,該裝置1000還可以包括:障礙物識(shí)別模塊1014,用于根據(jù)障礙物聚類(lèi)結(jié)果,識(shí)別障礙物。
關(guān)于上述實(shí)施例中的裝置,其中各個(gè)模塊執(zhí)行操作的具體方式已經(jīng)在有關(guān)該方法的實(shí)施例中進(jìn)行了詳細(xì)描述,此處將不做詳細(xì)闡述說(shuō)明。
以上結(jié)合附圖詳細(xì)描述了本公開(kāi)的優(yōu)選實(shí)施方式,但是,本公開(kāi)并不限于上述實(shí)施方式中的具體細(xì)節(jié),在本公開(kāi)的技術(shù)構(gòu)思范圍內(nèi),可以對(duì)本公開(kāi)的技術(shù)方案進(jìn)行多種簡(jiǎn)單變型,這些簡(jiǎn)單變型均屬于本公開(kāi)的保護(hù)范圍。另外需要說(shuō)明的是,在上述具體實(shí)施方式中所描述的各個(gè)具體技術(shù)特征,在不矛盾的情況下,可以通過(guò)任何合適的方式進(jìn)行組合。為了避免不必要的重復(fù),本公開(kāi)對(duì)各種可能的組合方式不再另行說(shuō)明。
此外,本公開(kāi)的各種不同的實(shí)施方式之間也可以進(jìn)行任意組合,只要其不違背本公開(kāi)的思想,其同樣應(yīng)當(dāng)視為本公開(kāi)所公開(kāi)的內(nèi)容。