【技術(shù)領(lǐng)域】
本發(fā)明涉及無人駕駛車輛技術(shù),特別涉及障礙物檢測方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)。
背景技術(shù):
無人駕駛車輛,是指通過各種傳感器來感知車輛周圍環(huán)境,并根據(jù)感知所獲得的道路、車輛位置和障礙物信息等,控制車輛的轉(zhuǎn)向和速度,從而使車輛能夠安全、可靠地在道路上行駛。
激光雷達(dá)是無人駕駛車輛用于感知三維環(huán)境的重要傳感器,激光雷達(dá)掃描一圈場景,返回場景三維空間的點(diǎn)云,即3d點(diǎn)云,包括每個(gè)點(diǎn)的三維坐標(biāo)以及激光的反射強(qiáng)度等。
基于采集到3d點(diǎn)云,可進(jìn)行障礙物的檢測(分割)等,并反饋給規(guī)劃控制系統(tǒng),以便進(jìn)行避障操作等。可見,障礙物檢測直接關(guān)系到無人駕駛車輛的行車安全,具有非常重要的意義。障礙物可包括出現(xiàn)在道路上的行人、機(jī)動(dòng)車、自行車等。
現(xiàn)有技術(shù)中,主要采用基于規(guī)則的算法來進(jìn)行障礙物的檢測,如基于局部區(qū)域生成算法,即根據(jù)局部距離利用一個(gè)或多個(gè)閾值通過“連接”操作進(jìn)行生長。但這種方式僅僅依靠局部的空間信息,檢測結(jié)果的準(zhǔn)確性較低。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明提供了障礙物檢測方法、裝置、設(shè)備及存儲(chǔ)介質(zhì),能夠提高檢測結(jié)果的準(zhǔn)確性。
具體技術(shù)方案如下:
一種障礙物檢測方法,包括:
獲取無人駕駛車輛行駛過程中所采集的3d點(diǎn)云;
將所述3d點(diǎn)云投影到二維網(wǎng)格上,分別獲取各網(wǎng)格的特征信息;
將各網(wǎng)格的特征信息輸入預(yù)先訓(xùn)練得到的預(yù)測模型,分別獲取各網(wǎng)格的障礙物預(yù)測參數(shù);
根據(jù)各網(wǎng)格的障礙物預(yù)測參數(shù)進(jìn)行網(wǎng)格聚類,得到障礙物檢測結(jié)果。
一種障礙物檢測裝置,包括:獲取單元以及檢測單元;
所述獲取單元,用于獲取無人駕駛車輛行駛過程中所采集的3d點(diǎn)云,并發(fā)送給所述檢測單元;
所述檢測單元,用于將所述3d點(diǎn)云投影到二維網(wǎng)格上,分別獲取各網(wǎng)格的特征信息;將各網(wǎng)格的特征信息輸入預(yù)先訓(xùn)練得到的預(yù)測模型,分別獲取各網(wǎng)格的障礙物預(yù)測參數(shù);根據(jù)各網(wǎng)格的障礙物預(yù)測參數(shù)進(jìn)行網(wǎng)格聚類,得到障礙物檢測結(jié)果。
一種計(jì)算機(jī)設(shè)備,包括存儲(chǔ)器、處理器及存儲(chǔ)在所述存儲(chǔ)器上并可在所述處理器上運(yùn)行的計(jì)算機(jī)程序,所述處理器執(zhí)行所述程序時(shí)實(shí)現(xiàn)如以上所述的方法。
一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,所述程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如以上所述的方法。
基于上述介紹可以看出,采用本發(fā)明所述方案,可將獲取到的3d點(diǎn)云投影到二維網(wǎng)格上,并分別獲取各網(wǎng)格的特征信息,將各網(wǎng)格的特征信息輸入到預(yù)測模型中,從而分別獲取到各網(wǎng)格的障礙物預(yù)測參數(shù),進(jìn)而可根據(jù)各網(wǎng)格的障礙物預(yù)測參數(shù)進(jìn)行網(wǎng)格聚類,從而得到障礙物檢測結(jié)果,相比于現(xiàn)有技術(shù),本發(fā)明所述方案不再僅僅依靠局部的空間信息,從而提高了檢測結(jié)果的準(zhǔn)確性。
【附圖說明】
圖1為本發(fā)明所述障礙物檢測方法實(shí)施例的流程圖。
圖2為基于本發(fā)明所述障礙物檢測方法得到的障礙物示意圖。
圖3為本發(fā)明所述障礙物檢測裝置實(shí)施例的組成結(jié)構(gòu)示意圖。
圖4示出了適于用來實(shí)現(xiàn)本發(fā)明實(shí)施方式的示例性計(jì)算機(jī)系統(tǒng)/服務(wù)器12的框圖。
【具體實(shí)施方式】
為了使本發(fā)明的技術(shù)方案更加清楚、明白,以下參照附圖并舉實(shí)施例,對本發(fā)明所述方案作進(jìn)一步地詳細(xì)說明。
圖1為本發(fā)明所述障礙物檢測方法實(shí)施例的流程圖,如圖1所示,包括以下具體實(shí)現(xiàn)方式:
在101中,獲取無人駕駛車輛行駛過程中所采集的3d點(diǎn)云;
在102中,將獲取到的3d點(diǎn)云投影到二維網(wǎng)格上,分別獲取各網(wǎng)格的特征信息;
在103中,將各網(wǎng)格的特征信息輸入預(yù)先訓(xùn)練得到的預(yù)測模型,分別獲取各網(wǎng)格的障礙物預(yù)測參數(shù);
在104中,根據(jù)各網(wǎng)格的障礙物預(yù)測參數(shù)進(jìn)行網(wǎng)格聚類,得到障礙物檢測結(jié)果。
在無人駕駛車輛的行駛過程中,激光雷達(dá)會(huì)不斷地進(jìn)行數(shù)據(jù)采集,當(dāng)每次獲取到激光雷達(dá)返回的3d點(diǎn)云之后,即可按上述102-104所述方式進(jìn)行處理,即進(jìn)行障礙物的檢測。
以下分別對上述各部分的具體實(shí)現(xiàn)進(jìn)行詳細(xì)說明。
一)投影及特征提取
投影及特征提取過程可稱為預(yù)處理過程。
針對獲取到的3d點(diǎn)云,可將其投影到birdview視圖(俯視圖)上,即對3d點(diǎn)云進(jìn)行二維的網(wǎng)格化處理,投影到二維網(wǎng)格上,網(wǎng)格的具體數(shù)量可根據(jù)實(shí)際需要而定,比如,可將60米范圍內(nèi)的3d點(diǎn)云投影到長640和寬640的平面網(wǎng)格上,這樣,可分別得到屬于每個(gè)網(wǎng)格的點(diǎn)云集合,不同網(wǎng)格的點(diǎn)云集合中的點(diǎn)數(shù)可能相同,也可能不同。
之后,可針對每個(gè)網(wǎng)格分別進(jìn)行特征統(tǒng)計(jì),從而分別獲取每個(gè)網(wǎng)格的特征信息。
具體對哪些特征進(jìn)行統(tǒng)計(jì)可根據(jù)實(shí)際需要而定,比如,可針對每個(gè)網(wǎng)格,分別統(tǒng)計(jì)該網(wǎng)格內(nèi)的點(diǎn)數(shù)、該網(wǎng)格內(nèi)的點(diǎn)的最大高度、平均高度等。
假設(shè)共存在640*640個(gè)網(wǎng)格,每個(gè)網(wǎng)格分別統(tǒng)計(jì)出8個(gè)特征,那么共可得到640*640*8個(gè)特征。
二)預(yù)測模型及預(yù)測參數(shù)
可預(yù)先訓(xùn)練得到預(yù)測模型,較佳地,所述預(yù)測模型可為卷積神經(jīng)網(wǎng)絡(luò)模型。
為此,需要先得到一批訓(xùn)練樣本。
比如,在每獲取到一次3d點(diǎn)云之后,即可生成一個(gè)訓(xùn)練樣本,具體地,可按照一)中所述方式得到各網(wǎng)格的特征信息,作為該訓(xùn)練樣本中的輸入,并且,可通過人工標(biāo)注獲得的障礙物三維框來得到該訓(xùn)練樣本的輸出,包括:每個(gè)網(wǎng)格屬于障礙物的概率,以及,每個(gè)網(wǎng)格指向所屬障礙物的中心位置的偏移量。
當(dāng)獲取到足夠數(shù)量的訓(xùn)練樣本之后,即可根據(jù)這些訓(xùn)練樣本來對卷積神經(jīng)網(wǎng)絡(luò)的參數(shù)進(jìn)行訓(xùn)練,以獲得最優(yōu)的卷積神經(jīng)網(wǎng)絡(luò)參數(shù),即得到所需的卷積神經(jīng)網(wǎng)絡(luò)模型。
在實(shí)際的檢測過程中,當(dāng)每獲取到一次3d點(diǎn)云,并將該3d點(diǎn)云投影到二維網(wǎng)格上,分別獲取到各網(wǎng)格的特征信息之后,即可將各網(wǎng)格的特征信息一并輸入到所述卷積神經(jīng)網(wǎng)絡(luò)模型中,從而分別得到每個(gè)網(wǎng)格的障礙物預(yù)測參數(shù)。
所述障礙物預(yù)測參數(shù)可包括第一參數(shù)以及第二參數(shù),針對每個(gè)網(wǎng)格,所述第一參數(shù)可為:該網(wǎng)格屬于障礙物的概率,所述第二參數(shù)可為:該網(wǎng)格指向所屬障礙物的中心位置的偏移量。
所述概率可位于[0,1]的范圍內(nèi)。
三)聚類
在分別得到各網(wǎng)格的障礙物預(yù)測參數(shù)之后,即可根據(jù)各網(wǎng)格的障礙物預(yù)測參數(shù)進(jìn)行網(wǎng)格聚類,從而得到障礙物檢測結(jié)果。
具體地,首先,可分別將各網(wǎng)格的第一參數(shù)與預(yù)先設(shè)定的第一閾值進(jìn)行比較,從而篩選出第一參數(shù)大于第一閾值的網(wǎng)格。
之后,可根據(jù)各網(wǎng)格的第二參數(shù)確定出所有可能的障礙物的中心位置,由于第二參數(shù)為網(wǎng)格指向所屬障礙物的中心位置的偏移量,因此可根據(jù)各網(wǎng)格的所述偏移量確定出所有可能的障礙物的中心位置,并且,可進(jìn)一步篩選出置信度大于預(yù)先設(shè)定的第二閾值的中心位置,比如,可通過非極大值抑制方式篩選出置信度大于第二閾值的中心位置。
之后,可根據(jù)篩選出的中心位置,對各篩選出的網(wǎng)格進(jìn)行聚類,將得到的類作為障礙物檢測結(jié)果。
即可將各篩選出的中心位置作為聚類中心,根據(jù)各篩選出的網(wǎng)格指向所屬障礙物的中心位置的偏移量,對各篩選出的網(wǎng)格進(jìn)行聚類,從而獲得初始的障礙物實(shí)例,具體實(shí)現(xiàn)為現(xiàn)有技術(shù)。
在此基礎(chǔ)上,還可進(jìn)一步按照以下方式之一或全部進(jìn)行處理:
1)根據(jù)障礙物之間的鄰近關(guān)系進(jìn)行障礙物合并;
比如,可以將鄰近關(guān)系符合合并要求的障礙物進(jìn)行合并,從而消除掉零碎的障礙物,以避免出現(xiàn)過分割的現(xiàn)象,所述合并要求的具體內(nèi)容可根據(jù)實(shí)際需要而定;
2)將未被篩選出的網(wǎng)格中符合填充要求的網(wǎng)格填充到所屬障礙物中的對應(yīng)位置;
比如,對于一個(gè)障礙物來說,可根據(jù)組成該障礙物的網(wǎng)格中的中心網(wǎng)格與邊緣網(wǎng)格的對比度關(guān)系,確定出是否需要填充網(wǎng)格,通常來說,大多數(shù)情況下,組成一個(gè)障礙物的各網(wǎng)格間的對比度應(yīng)該是逐漸變化的,如果出現(xiàn)跳變,則可以考慮是否需要填充網(wǎng)格,即從之前未被篩選出的網(wǎng)格中進(jìn)行選擇,確定其中是否存在可以彌補(bǔ)上述跳變的屬于該障礙物的網(wǎng)格,如果有,則將該網(wǎng)格填充到該障礙物中的對應(yīng)位置。
四)3d點(diǎn)云上的后處理
按照之前的處理方式,得到了在2d空間中的障礙物檢測結(jié)果,較佳地,還需要將其反投影到3d空間中,即在對各篩選出的網(wǎng)格進(jìn)行聚類,將得到的類作為障礙物檢測結(jié)果之后,還需要分別將每個(gè)類反投影到3d點(diǎn)云上,具體實(shí)現(xiàn)為現(xiàn)有技術(shù)。
在實(shí)際應(yīng)用中,經(jīng)常會(huì)出現(xiàn)樹木等遮擋在障礙物上方的情況,對于這種情況,采用一)-三)中所述的方式并不能很好地檢測出來,還需要作進(jìn)一步的后處理。
所述后處理的方式可包括:
1)針對反投影后的每個(gè)類,分別進(jìn)行以下處理:
估算出地面高度,在地面高度之上,若出現(xiàn)斷層,則切開,將位于地面高度之上以及斷層之下的部分作為障礙物;
即如果在地面高度之上出現(xiàn)較大的斷層,則可從此處切開,如果是連續(xù)的,則不需要切開,之后,可將位于地面高度之上以及斷層之下的部分作為檢測到的障礙物;
2)針對反投影后的每個(gè)類,分別進(jìn)行以下處理:
將該類中的各點(diǎn)按高度順序進(jìn)行排序,若兩個(gè)相鄰點(diǎn)之間的高度差大于預(yù)先設(shè)定的第三閾值,則切開,找出點(diǎn)數(shù)最多的片段,根據(jù)該片段中的點(diǎn)確定出一個(gè)障礙物;
即按照各點(diǎn)的高度,將該類中的各點(diǎn)按照高度從大到小或從小到大的順序進(jìn)行排序,然后比較相鄰點(diǎn)之間的高度差,若大于第三閾值,則從此處切開,最后,找出點(diǎn)數(shù)最多的片段,并將該片段分割出來。
在實(shí)際應(yīng)用中,可任意選擇上述任一種后處理方式。
另外,除樹木遮擋的問題外,采用一)-三)中所述的方式也可能會(huì)漏掉一些難度比較大的障礙物,比如,由于遠(yuǎn)處的障礙物點(diǎn)數(shù)太稀疏或者障礙物被部分遮擋等,都可能會(huì)造成障礙物的漏檢。
為此,本發(fā)明中提出,針對三)中未被篩選出的網(wǎng)格,可在3d空間中,利用現(xiàn)有的基于規(guī)則的算法來進(jìn)行障礙物的檢測,從而盡可能地減少障礙物被漏檢的現(xiàn)象的發(fā)生,進(jìn)而進(jìn)一步提高了檢測結(jié)果的準(zhǔn)確性。
上述過程中所涉及到的各閾值的具體取值均可根據(jù)實(shí)際需要而定。
圖2為基于本發(fā)明所述障礙物檢測方法得到的障礙物示意圖。
以上是關(guān)于方法實(shí)施例的介紹,以下通過裝置實(shí)施例,對本發(fā)明所述方案進(jìn)行進(jìn)一步說明。
圖3為本發(fā)明所述障礙物檢測裝置實(shí)施例的組成結(jié)構(gòu)示意圖,如圖3所示,包括:獲取單元301以及檢測單元302。
獲取單元301,用于獲取無人駕駛車輛行駛過程中所采集的3d點(diǎn)云,并發(fā)送給檢測單元302。
檢測單元302,用于將3d點(diǎn)云投影到二維網(wǎng)格上,分別獲取各網(wǎng)格的特征信息;將各網(wǎng)格的特征信息輸入預(yù)先訓(xùn)練得到的預(yù)測模型,分別獲取各網(wǎng)格的障礙物預(yù)測參數(shù);根據(jù)各網(wǎng)格的障礙物預(yù)測參數(shù)進(jìn)行網(wǎng)格聚類,得到障礙物檢測結(jié)果。
在無人駕駛車輛的行駛過程中,激光雷達(dá)會(huì)不斷地進(jìn)行數(shù)據(jù)采集,獲取單元301在每次獲取到激光雷達(dá)返回的3d點(diǎn)云之后,即可將其發(fā)送給檢測單元302,以便檢測單元302進(jìn)行障礙物的檢測。
如圖3所示,檢測單元302中可進(jìn)一步包括:第一處理子單元3021以及第二處理子單元3022。
第一處理子單元3021用于將3d點(diǎn)云投影到二維網(wǎng)格上,分別獲取各網(wǎng)格的特征信息,并將各網(wǎng)格的特征信息輸入預(yù)先訓(xùn)練得到的預(yù)測模型,從而分別得到各網(wǎng)格的障礙物預(yù)測參數(shù),發(fā)送給第二處理子單元3022。
第一處理子單元3021可對獲取到的3d點(diǎn)云進(jìn)行二維的網(wǎng)格化處理,即將3d點(diǎn)云投影到二維網(wǎng)格上,之后,可針對每個(gè)網(wǎng)格分別進(jìn)行特征統(tǒng)計(jì),從而分別獲取到每個(gè)網(wǎng)格的特征信息。
具體對哪些特征進(jìn)行統(tǒng)計(jì)可根據(jù)實(shí)際需要而定,比如,可針對每個(gè)網(wǎng)格,分別統(tǒng)計(jì)該網(wǎng)格內(nèi)的點(diǎn)數(shù)、該網(wǎng)格內(nèi)的點(diǎn)的最大高度、平均高度等。
可根據(jù)獲取到的訓(xùn)練樣本預(yù)先訓(xùn)練得到一個(gè)預(yù)測模型,較佳地,所述預(yù)測模型為卷積神經(jīng)網(wǎng)絡(luò)模型。
這樣,第一處理子單元3021可將獲取到的各網(wǎng)格的特征信息一并輸入到卷積神經(jīng)網(wǎng)絡(luò)模型中,從而分別得到每個(gè)網(wǎng)格的障礙物預(yù)測參數(shù)。
障礙物預(yù)測參數(shù)可包括第一參數(shù)和第二參數(shù),針對每個(gè)網(wǎng)格,所述第一參數(shù)可為:該網(wǎng)格屬于障礙物的概率,所述第二參數(shù)可為:該網(wǎng)格指向所屬障礙物的中心位置的偏移量。
第二處理子單元3022可分別將各網(wǎng)格的第一參數(shù)與預(yù)先設(shè)定的第一閾值進(jìn)行比較,篩選出第一參數(shù)大于第一閾值的網(wǎng)格,根據(jù)各網(wǎng)格的第二參數(shù)確定出所有可能的障礙物的中心位置,并篩選出置信度大于預(yù)先設(shè)定的第二閾值的中心位置,根據(jù)篩選出的中心位置,對各篩選出的網(wǎng)格進(jìn)行聚類,將得到的類作為障礙物檢測結(jié)果。
在此基礎(chǔ)上,第二處理子單元3022還可進(jìn)一步按照以下方式之一或全部進(jìn)行處理:
1)根據(jù)障礙物之間的鄰近關(guān)系進(jìn)行障礙物合并;
2)將未被篩選出的網(wǎng)格中符合填充要求的網(wǎng)格填充到所屬障礙物中的對應(yīng)位置。
按照之前的處理方式,得到了在2d空間中的障礙物檢測結(jié)果,較佳地,還需要將其反投影到3d空間中,即第二處理子單元3022還需要將得到的每個(gè)類分別反投影到3d點(diǎn)云上。
另外,為進(jìn)一步提高檢測結(jié)果的準(zhǔn)確性,第二處理子單元3022還可針對反投影后的每個(gè)類,分別按照以下方式之一進(jìn)行后處理:
1)針對反投影后的每個(gè)類,估算出地面高度,在地面高度之上,若出現(xiàn)斷層,則切開,將位于地面高度之上以及斷層之下的部分作為障礙物;
2)針對反投影后的每個(gè)類,分別將該類中的各點(diǎn)按高度順序進(jìn)行排序,若兩個(gè)相鄰點(diǎn)之間的高度差大于第三閾值,則切開,找出點(diǎn)數(shù)最多的片段,根據(jù)該片段中的點(diǎn)確定出一個(gè)障礙物。
圖3所示裝置實(shí)施例的具體工作流程請參照前述方法實(shí)施例中的相應(yīng)說明,不再贅述。
圖4示出了適于用來實(shí)現(xiàn)本發(fā)明實(shí)施方式的示例性計(jì)算機(jī)系統(tǒng)/服務(wù)器12的框圖。圖4顯示的計(jì)算機(jī)系統(tǒng)/服務(wù)器12僅僅是一個(gè)示例,不應(yīng)對本發(fā)明實(shí)施例的功能和使用范圍帶來任何限制。
如圖4所示,計(jì)算機(jī)系統(tǒng)/服務(wù)器12以通用計(jì)算設(shè)備的形式表現(xiàn)。計(jì)算機(jī)系統(tǒng)/服務(wù)器12的組件可以包括但不限于:一個(gè)或者多個(gè)處理器(處理單元)16,存儲(chǔ)器28,連接不同系統(tǒng)組件(包括存儲(chǔ)器28和處理器16)的總線18。
總線18表示幾類總線結(jié)構(gòu)中的一種或多種,包括存儲(chǔ)器總線或者存儲(chǔ)器控制器,外圍總線,圖形加速端口,處理器或者使用多種總線結(jié)構(gòu)中的任意總線結(jié)構(gòu)的局域總線。舉例來說,這些體系結(jié)構(gòu)包括但不限于工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(isa)總線,微通道體系結(jié)構(gòu)(mac)總線,增強(qiáng)型isa總線、視頻電子標(biāo)準(zhǔn)協(xié)會(huì)(vesa)局域總線以及外圍組件互連(pci)總線。
計(jì)算機(jī)系統(tǒng)/服務(wù)器12典型地包括多種計(jì)算機(jī)系統(tǒng)可讀介質(zhì)。這些介質(zhì)可以是任何能夠被計(jì)算機(jī)系統(tǒng)/服務(wù)器12訪問的可用介質(zhì),包括易失性和非易失性介質(zhì),可移動(dòng)的和不可移動(dòng)的介質(zhì)。
存儲(chǔ)器28可以包括易失性存儲(chǔ)器形式的計(jì)算機(jī)系統(tǒng)可讀介質(zhì),例如隨機(jī)存取存儲(chǔ)器(ram)30和/或高速緩存存儲(chǔ)器32。計(jì)算機(jī)系統(tǒng)/服務(wù)器12可以進(jìn)一步包括其它可移動(dòng)/不可移動(dòng)的、易失性/非易失性計(jì)算機(jī)系統(tǒng)存儲(chǔ)介質(zhì)。僅作為舉例,存儲(chǔ)系統(tǒng)34可以用于讀寫不可移動(dòng)的、非易失性磁介質(zhì)(圖4未顯示,通常稱為“硬盤驅(qū)動(dòng)器”)。盡管圖4中未示出,可以提供用于對可移動(dòng)非易失性磁盤(例如“軟盤”)讀寫的磁盤驅(qū)動(dòng)器,以及對可移動(dòng)非易失性光盤(例如cd-rom,dvd-rom或者其它光介質(zhì))讀寫的光盤驅(qū)動(dòng)器。在這些情況下,每個(gè)驅(qū)動(dòng)器可以通過一個(gè)或者多個(gè)數(shù)據(jù)介質(zhì)接口與總線18相連。存儲(chǔ)器28可以包括至少一個(gè)程序產(chǎn)品,該程序產(chǎn)品具有一組(例如至少一個(gè))程序模塊,這些程序模塊被配置以執(zhí)行本發(fā)明各實(shí)施例的功能。
具有一組(至少一個(gè))程序模塊42的程序/實(shí)用工具40,可以存儲(chǔ)在例如存儲(chǔ)器28中,這樣的程序模塊42包括——但不限于——操作系統(tǒng)、一個(gè)或者多個(gè)應(yīng)用程序、其它程序模塊以及程序數(shù)據(jù),這些示例中的每一個(gè)或某種組合中可能包括網(wǎng)絡(luò)環(huán)境的實(shí)現(xiàn)。程序模塊42通常執(zhí)行本發(fā)明所描述的實(shí)施例中的功能和/或方法。
計(jì)算機(jī)系統(tǒng)/服務(wù)器12也可以與一個(gè)或多個(gè)外部設(shè)備14(例如鍵盤、指向設(shè)備、顯示器24等)通信,還可與一個(gè)或者多個(gè)使得用戶能與該計(jì)算機(jī)系統(tǒng)/服務(wù)器12交互的設(shè)備通信,和/或與使得該計(jì)算機(jī)系統(tǒng)/服務(wù)器12能與一個(gè)或多個(gè)其它計(jì)算設(shè)備進(jìn)行通信的任何設(shè)備(例如網(wǎng)卡,調(diào)制解調(diào)器等等)通信。這種通信可以通過輸入/輸出(i/o)接口22進(jìn)行。并且,計(jì)算機(jī)系統(tǒng)/服務(wù)器12還可以通過網(wǎng)絡(luò)適配器20與一個(gè)或者多個(gè)網(wǎng)絡(luò)(例如局域網(wǎng)(lan),廣域網(wǎng)(wan)和/或公共網(wǎng)絡(luò),例如因特網(wǎng))通信。如圖4所示,網(wǎng)絡(luò)適配器20通過總線18與計(jì)算機(jī)系統(tǒng)/服務(wù)器12的其它模塊通信。應(yīng)當(dāng)明白,盡管圖中未示出,可以結(jié)合計(jì)算機(jī)系統(tǒng)/服務(wù)器12使用其它硬件和/或軟件模塊,包括但不限于:微代碼、設(shè)備驅(qū)動(dòng)器、冗余處理單元、外部磁盤驅(qū)動(dòng)陣列、raid系統(tǒng)、磁帶驅(qū)動(dòng)器以及數(shù)據(jù)備份存儲(chǔ)系統(tǒng)等。
處理器16通過運(yùn)行存儲(chǔ)在存儲(chǔ)器28中的程序,從而執(zhí)行各種功能應(yīng)用以及數(shù)據(jù)處理,例如實(shí)現(xiàn)圖1所示實(shí)施例中的方法,即獲取無人駕駛車輛行駛過程中所采集的3d點(diǎn)云,將獲取到的3d點(diǎn)云投影到二維網(wǎng)格上,分別獲取各網(wǎng)格的特征信息,將各網(wǎng)格的特征信息輸入預(yù)先訓(xùn)練得到的預(yù)測模型,分別獲取各網(wǎng)格的障礙物預(yù)測參數(shù),根據(jù)各網(wǎng)格的障礙物預(yù)測參數(shù)進(jìn)行網(wǎng)格聚類,得到障礙物檢測結(jié)果。
之后,可將得到的每個(gè)類分別反投影到3d點(diǎn)云上,并且,針對反投影后的每個(gè)類,還可分別進(jìn)行后處理。
比如,針對反投影后的每個(gè)類,分別進(jìn)行以下處理:估算出地面高度,在地面高度之上,若出現(xiàn)斷層,則切開,將位于地面高度之上以及斷層之下的部分作為障礙物。
再比如,針對反投影后的每個(gè)類,分別進(jìn)行以下處理:將該類中的各點(diǎn)按高度順序進(jìn)行排序,若兩個(gè)相鄰點(diǎn)之間的高度差大于第三閾值,則切開,找出點(diǎn)數(shù)最多的片段,根據(jù)該片段中的點(diǎn)確定出一個(gè)障礙物。
本發(fā)明同時(shí)公開了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,該程序被處理器執(zhí)行時(shí)將實(shí)現(xiàn)如圖1所示實(shí)施例中的方法。
可以采用一個(gè)或多個(gè)計(jì)算機(jī)可讀的介質(zhì)的任意組合。計(jì)算機(jī)可讀介質(zhì)可以是計(jì)算機(jī)可讀信號介質(zhì)或者計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)例如可以是——但不限于——電、磁、光、電磁、紅外線、或半導(dǎo)體的系統(tǒng)、裝置或器件,或者任意以上的組合。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的更具體的例子(非窮舉的列表)包括:具有一個(gè)或多個(gè)導(dǎo)線的電連接、便攜式計(jì)算機(jī)磁盤、硬盤、隨機(jī)存取存儲(chǔ)器(ram)、只讀存儲(chǔ)器(rom)、可擦式可編程只讀存儲(chǔ)器(eprom或閃存)、光纖、便攜式緊湊磁盤只讀存儲(chǔ)器(cd-rom)、光存儲(chǔ)器件、磁存儲(chǔ)器件、或者上述的任意合適的組合。在本文件中,計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是任何包含或存儲(chǔ)程序的有形介質(zhì),該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用。
計(jì)算機(jī)可讀的信號介質(zhì)可以包括在基帶中或者作為載波一部分傳播的數(shù)據(jù)信號,其中承載了計(jì)算機(jī)可讀的程序代碼。這種傳播的數(shù)據(jù)信號可以采用多種形式,包括——但不限于——電磁信號、光信號或上述的任意合適的組合。計(jì)算機(jī)可讀的信號介質(zhì)還可以是計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)以外的任何計(jì)算機(jī)可讀介質(zhì),該計(jì)算機(jī)可讀介質(zhì)可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用的程序。
計(jì)算機(jī)可讀介質(zhì)上包含的程序代碼可以用任何適當(dāng)?shù)慕橘|(zhì)傳輸,包括——但不限于——無線、電線、光纜、rf等等,或者上述的任意合適的組合。
可以以一種或多種程序設(shè)計(jì)語言或其組合來編寫用于執(zhí)行本發(fā)明操作的計(jì)算機(jī)程序代碼,所述程序設(shè)計(jì)語言包括面向?qū)ο蟮某绦蛟O(shè)計(jì)語言—諸如java、smalltalk、c++,還包括常規(guī)的過程式程序設(shè)計(jì)語言—諸如”c”語言或類似的程序設(shè)計(jì)語言。程序代碼可以完全地在用戶計(jì)算機(jī)上執(zhí)行、部分地在用戶計(jì)算機(jī)上執(zhí)行、作為一個(gè)獨(dú)立的軟件包執(zhí)行、部分在用戶計(jì)算機(jī)上部分在遠(yuǎn)程計(jì)算機(jī)上執(zhí)行、或者完全在遠(yuǎn)程計(jì)算機(jī)或服務(wù)器上執(zhí)行。在涉及遠(yuǎn)程計(jì)算機(jī)的情形中,遠(yuǎn)程計(jì)算機(jī)可以通過任意種類的網(wǎng)絡(luò)——包括局域網(wǎng)(lan)或廣域網(wǎng)(wan)—連接到用戶計(jì)算機(jī),或者,可以連接到外部計(jì)算機(jī)(例如利用因特網(wǎng)服務(wù)提供商來通過因特網(wǎng)連接)。
在本發(fā)明所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的裝置和方法等,可以通過其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用硬件加軟件功能單元的形式實(shí)現(xiàn)。
上述以軟件功能單元的形式實(shí)現(xiàn)的集成的單元,可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。上述軟件功能單元存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)或處理器(processor)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的部分步驟。而前述的存儲(chǔ)介質(zhì)包括:u盤、移動(dòng)硬盤、只讀存儲(chǔ)器(rom,read-onlymemory)、隨機(jī)存取存儲(chǔ)器(ram,randomaccessmemory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。