訂閱
糾錯
加入自媒體

自動駕駛模型是如何“看”懂點云信息的?

在自動駕駛中,點云是一個非常重要的感知信號,如激光雷達(dá)(LiDAR)生成的點云,其實就是三維空間里一堆帶坐標(biāo)、強度和時間戳的點。單幀點云看起來像“星星撒一地”,不像圖像那樣有整齊的像素網(wǎng)格,也沒有顏色(除非和相機融合),更沒有直接的語義標(biāo)記。

機器要“學(xué)會”點云里的東西,不僅要解決輸入怎么表示成模型能接受的數(shù)值結(jié)構(gòu),還要學(xué)習(xí)如何把人類的語義(比如“這是行人”“這是車道”)映射到這些數(shù)值上。

想將點云變成模型能理解的內(nèi)容,就是把無結(jié)構(gòu)的幾何信息,經(jīng)過清洗、編碼、標(biāo)簽化等一系列流程后,變成有結(jié)構(gòu)的張量和監(jiān)督信號,然后用合適的網(wǎng)絡(luò)或算法去學(xué)習(xí)這些映射關(guān)系。

如何將點云變成符合模型學(xué)習(xí)的信息?

自動駕駛汽車上采集的原始點云并不能直接使用,其會有孤立噪聲點、有地面反射、有雨雪霧,還有車輛運動導(dǎo)致的掃描畸變等問題。為了使點云能夠符合模型使用要求,首先要做的就是預(yù)處理,這一步的目標(biāo)是把原始點云規(guī)范化,減少干擾,同時保留判別性信息。預(yù)處理包括時間同步和畸變補償(把點按時間補償?shù)浇y(tǒng)一坐標(biāo)系)、去地面和降噪(去掉地面和平面噪聲以便更好分割物體)、下采樣(用體素化或隨機采樣減少點數(shù),讓后續(xù)計算更可控)等操作。這些操作對模型訓(xùn)練和推理的穩(wěn)定性至關(guān)重要。

神經(jīng)網(wǎng)絡(luò)其實更喜歡規(guī)則的張量,而點云卻是無序的集合,因此要解決點云的“表示”問題。對此有直接以點集合為輸入,設(shè)計點級網(wǎng)絡(luò);把點云離散到體素格子上,用稀疏卷積;把點云投影成二維圖像(例如鳥瞰圖BEV或視角的range image),用2D卷積;以及使用混合手段,把不同表示結(jié)合起來等主流做法。不同的方法,會影響模型的計算復(fù)雜度、內(nèi)存占用和對細(xì)節(jié)的保留,如點級方法保留細(xì)節(jié)好但計算貴,BEV快且對規(guī)劃友好但高度信息丟失。

除了空間表示外,還會從點中提取一些工程特征,每個點的回波強度、局部密度、法向量估計、點到最近地面的高度等信息,都可以和坐標(biāo)一起作為網(wǎng)絡(luò)輸入,幫助模型學(xué)到更豐富的幾何線索。

模型如何學(xué)會點云里面的內(nèi)容?

模型要學(xué)會“這是什么”和“在哪里”,就得有人先教它。教的方式就是給點云打標(biāo)簽,比如把每個點標(biāo)上類別(路、車、人),或者用一個三維的長方體把車或行人圈起來,甚至標(biāo)出它們的速度和行走軌跡等。標(biāo)注質(zhì)量將直接決定模型上限,因此半自動標(biāo)注工具、投影到圖像做輔標(biāo)、以及合成數(shù)據(jù)等常被用來進(jìn)行輔助。

在訓(xùn)練模型的時候,不僅要教會模型認(rèn)東西,告訴它“這是車/這是人/這是路”;還要教會它把物體用三維框圈起來,告訴它框應(yīng)該放在哪兒、多大;更要教會它判斷框的朝向和框跟真實物體重合得有多好。

此外,為了讓模型魯棒性更高,還要學(xué)習(xí)一些邊緣場景,可調(diào)整不同類別場景出現(xiàn)的頻率,讓模型不僅看得懂常見的東西,也看得懂更加復(fù)雜的場景。在訓(xùn)練模型時,可以讓模型對自己判斷有多少有把握給出一個定義,這樣系統(tǒng)在用它的結(jié)果時就知道該信多少。

在訓(xùn)練模型時,數(shù)據(jù)增強也很重要,所謂數(shù)據(jù)增強,就是把已有數(shù)據(jù)稍微改一改來增加多樣性?赏ㄟ^隨機旋轉(zhuǎn)、放縮、平移點云,故意刪掉部分點、加點噪聲,或者把一個場景里的真實物體復(fù)制到另一個場景里等做法來進(jìn)行數(shù)據(jù)增強。這樣可以讓模型在應(yīng)對遮擋、點稀疏或遠(yuǎn)處目標(biāo)的情況時表現(xiàn)得更加出色。

最近流行的還有自監(jiān)督或?qū)Ρ葘W(xué)習(xí),即先讓模型在大量沒標(biāo)簽的點云上學(xué)會“看懂形狀和結(jié)構(gòu)”的能力,然后只用很少的人工標(biāo)簽微調(diào),就能達(dá)到不錯的效果,這樣做能大幅減少人工標(biāo)注的工作量。

模型訓(xùn)練后如何部署?

訓(xùn)練出模型只是第一步,但想把模型安全地用在車上還有很多工作要做。首先要有嚴(yán)格的評估指標(biāo),用來衡量模型在檢測、分割和跟蹤上的表現(xiàn)。檢測任務(wù)常用平均精度(mAP)和3D框的重合度來評價,分割任務(wù)常用mIoU。這些指標(biāo)可以幫助我們比較不同模型和不同訓(xùn)練配置的優(yōu)劣,但僅有離線指標(biāo)還不夠,還要在更接近真實的場景里做場景覆蓋測試和壓力測試,保證模型在稀有或極端情形下的表現(xiàn)可接受。

部署階段需要把訓(xùn)練好的模型做壓縮和優(yōu)化,以滿足車端的算力和延遲約束,可通過模型剪枝、權(quán)重量化、使用稀疏運算庫等方式來達(dá)到這一要求。當(dāng)然,一定要保證在壓縮和優(yōu)化的同時保證推理時的精度降損可控。部署之后還要做A/B測試和在線回歸監(jiān)測,持續(xù)觀察模型在真實道路上的表現(xiàn),如果出現(xiàn)退化或異常,需要能快速回滾到上一個穩(wěn)定版本。

練時的數(shù)據(jù)環(huán)境(傳感器類型、安裝高度、城市布局)和模型實際運行的環(huán)境可能有差別。為了減少這種差別帶來的性能下降,要做域自適應(yīng)、數(shù)據(jù)擴充或周期性的在線微調(diào)。對于長期運行的車隊,還要建立數(shù)據(jù)閉環(huán),把線上采集到的異常場景回傳、做標(biāo)注并周期性重訓(xùn)練,從而持續(xù)提升模型對現(xiàn)實世界的適應(yīng)能力。

最后的話

想把點云變成模型能學(xué)的東西,應(yīng)先把點云清洗和規(guī)整成模型可以處理的形式,再把人類的語義用標(biāo)簽和訓(xùn)練目標(biāo)教給模型,通過合理的表示、增強和訓(xùn)練策略讓模型學(xué)會識別類別、定位物體并估計不確定性。把這些能力工程化后,配合持續(xù)的數(shù)據(jù)閉環(huán)和安全機制,自動駕駛車輛才能使用點云數(shù)據(jù)在復(fù)雜的真實世界里安全、可靠地運行。

-- END --

       原文標(biāo)題 : 自動駕駛模型是如何“看”懂點云信息的?

聲明: 本文由入駐維科號的作者撰寫,觀點僅代表作者本人,不代表OFweek立場。如有侵權(quán)或其他問題,請聯(lián)系舉報。

發(fā)表評論

0條評論,0人參與

請輸入評論內(nèi)容...

請輸入評論/評論長度6~500個字

您提交的評論過于頻繁,請輸入驗證碼繼續(xù)

暫無評論

暫無評論

    人工智能 獵頭職位 更多
    掃碼關(guān)注公眾號
    OFweek人工智能網(wǎng)
    獲取更多精彩內(nèi)容
    文章糾錯
    x
    *文字標(biāo)題:
    *糾錯內(nèi)容:
    聯(lián)系郵箱:
    *驗 證 碼:

    粵公網(wǎng)安備 44030502002758號