技術宅

大家知道3D信息是立體數據,這樣捕捉到的信息符合我們雙眼在正常世界看到的景象。顯然如果自動駕駛系統浦捉到的周邊環境也是3D信息,那么在人工駕駛基礎上發展起來的自動駕駛系統就可以更好地實現對周圍路障,如周邊人、其他汽車等,進行更精準的識別和避讓,從而讓駕駛系統更安全。
不過3D信息的捕捉并不是一件簡單的事情,傳統的3D數據捕捉是借助“Stereo”(雙目視覺)方式獲取的。這種方式是通過布置兩個或者多個相機對同一個場景進行多角度的捕捉,然后通過不同的圖像,匹配對應的像素,并計算每個像素的位置在圖像之間的不同,從而計算出這個像素在3D空間中的位置,通過這種方式來獲得特定物體的3D數據(圖1)。

不過這個方式有個很大的不足,因為駕駛系統經常處在一個快速運行的環境中,并且需要很精準地對對象進行識別,但是使用這個方法獲得的數據,我們需要使用視覺細節來匹配相機圖像之間的對應點,這種計算方法數據量非常龐大,而且在缺乏紋理或視覺結構重復的環境中容易出錯。在自動駕駛系統中,現在很多廠商使用的是LiDAR(激光雷達)方式來捕捉3D數據。在這些自動駕駛車頂上配備了激光雷達相機,它會向周圍發射高頻激光脈沖,如果遇到物體的遮擋,這些激光脈沖就會反射返回,系統通過計算返回的時間來測量出物體和汽車的實際距離。比如探測到前方的信號燈,通過返回光束就可以探測車輛和紅綠燈之間的實際距離了(圖2)。
一臺自動駕駛汽車配備多個3DLiDAR傳感器,它們能快速旋轉以觀察傳感器周圍的所有方向,這些雷達通過每秒發送數百萬光束,然后通過返回光束的時間就可以推斷出與周圍任何物體的精確測量值(最大約為60米),從而實現駕駛系統對周邊物體的精準探測(圖3)。

通過上述方法,自動駕駛系統捕捉到3D數據后如何讓駕駛系統進行3D物體的識別?這里駕駛系統使用的是“點云模式”方法進行識別(圖4)。駕駛系統根據3DLiDAR得到的三維數據,包括物體的三維坐標(XYZ)、激光反射強度(Intensity)和顏色信息(RGB)。這樣系統在獲取物體表面每個采樣點的空間坐標后,得到物體在空間坐標上的一個個數據點,這些點組成點集合,整個集合形成一個3D物體,從而讓系統可以實現對物體的精準識別。

比如激光探測到前方的路障,通過返回的信息集合點就可以在駕駛系統中形成一個周邊環境的3D地圖。3D LiDAR繪制的地圖不僅可以讓系統準確了解你在世界的哪個位置進而幫助你進行導航。同時它還可以識別和跟蹤汽車、行人等障礙物,隨著識別技術的發展,現代LIDAR使你可以識別一個騎自行車的人和一個行走的人,甚至可以測量他們改變方向和行進的速度。這樣對于自動駕駛系統,它就像在駕駛室里坐著很多個視力極好的駕駛員,他們分別對汽車的前后、上下、左右進行全向觀察,從而實現又快又安全的自動駕駛(圖5)。
當然在實際駕駛環境中,每種路障的大小、位置、距離都是不同的,只是簡單采集并識別3D物體,這還無法讓自動駕駛系統在復雜的地理環境下安全、自動地進行駕駛。為此科學家引入了深度學習機制,他們首先建立一個模型,然后將3DLiDAR捕獲的不同圖形讓駕駛系統學習,通過不斷地學習,自動駕駛系統可以“認識”捕捉的不同物體。同時借助深度學習神經網絡讓系統實現自主學習,最終生成一套復雜的算法,讓駕駛系統可以精準識別周邊復雜環境的物體,實現安全的自動駕駛(圖6)。


上述我們主要介紹了3D信息處理在自動駕駛中的應用,這個領域的應用和我們的生活有點距離。不過3D信息處理還在很多領域有非常多的應用,比如在醫學領域,配備了3D信息識別的醫療設備,通過激光探測,醫生們無需在我們的身體中插入傳統的探測設備如胃鏡等,他們就可以非常快速且精準地對病灶物體進行詳細全面的查看,省去現在傳統檢測中的那些痛苦。
在日益火熱的VR游戲領域,3D信息處理技術也有很多的應用,通過類似3D激光掃描和識別,以后的VR游戲可以非常方便地將當前物理環境無縫融入到游戲環境中,讓我們的游戲體驗更為真實、刺激。