如何用點雲對車輛和行人進行識別分類?來看看這份入門總結

問耕 編譯整理

量子位 出品 | 公眾號 QbitAI

如何用點雲對車輛和行人進行識別分類?來看看這份入門總結

本文作者是MIT的大二學生Michael Gump(阿甘),內容為他在無人車公司Voyage的工作總結。本文還得到Voyage首席執行官Oliver Cameron的推薦。

作為一名計算機專業的學生,我一直對機器學習特別是強化學習很感興趣,特別喜歡琢磨OpenAI的相關研究。去年冬天,我還參加了一門無人車的課程,從這個時候開始,自動駕駛汽車這個領域一直讓我感到特別興奮。

三個月前,我加入了Voyage的深度學習實習項目。Voyage是一家從Udacity剝離出來的初創公司,致力於研發自動駕駛出租車。

在學校裡能學到很多知識,但並不能讓你瞭解真實的世界。在Voyage實習的這段期間,不但幫我彌補了教育中的缺失,而且我真的有機會接觸到最酷的產品。在這裡,我準備把我這段時間的收穫分享給大家。

我的工作

這個夏天的實習中,我一直在研究計算機視覺相關的幾個問題,閱讀了很多論文並且訓練了不少模型。大部分時候,我一直都是用公開數據集,對激光雷達(LiDAR)數據進行分類識別。數據集地址如下:

http://www.cvlibs.net/datasets/kitti/index.php

http://cs.stanford.edu/people/teichman/stc/

當人類觀察世界的時候,可以自動的感知深度,並且能夠識別出道路上是一輛車還是一個行人。怎麼能讓無人車也做到這一點?過去幾個月我的大部分工作,就是想辦法讓Voyage的自動駕駛出租車對車輛和行人進行分類。

我使用的工具是三維視圖(LiDAR點雲)+深度學習。

如何用點雲對車輛和行人進行識別分類?來看看這份入門總結

這個分類器模型正確的把汽車標為綠色,行人標為紅色

物體分類識別

對於一輛無人車來說,它需要採集原始的傳感器信息(例如點雲),然後還得搞清楚到底看到了什麼。這其中最重要的是如下兩個問題。

  • 距離:離我撞上這個物體還有多遠

  • 類別:我看到的究竟是個什麼

解決這個問題,既可以設計傳感器直接獲取相關信息,也可以從現有的傳感器中提取所需信息。對於距離這個問題,激光雷達是現在最好的傳感器。除非特別“勇敢”,一般搞無人車不會繞過這個關鍵的設備。

然而對於分類(識別車輛、行人)這個問題,並不能通過傳感器直接獲知結果,需要我們研發算法來實現,這也就是我這個夏天的主要工作。

如何用點雲對車輛和行人進行識別分類?來看看這份入門總結

黑白圖像是LiDAR數據,然後增加分類信息(綠色代表行人,藍色代表車輛)

從人類的視角來看,這些都是很簡單的問題。但請注意,人類已經有數百萬年的發展進化歷史。怎麼才能在短時間內讓無人車也具備同樣的能力?如果你不是外行就該知道,這個問題的答案是:CNN,卷積神經網絡。

在很多難題上CNN都給出了驚人的結果,只需要一些微調,這個神經網絡就能很好的用來處理LiDAR數據。

然而,一個深層卷積網絡可能不是我們最好的選擇。我們系統的一個關鍵要求,是必須要以很高的幀率運行。也就說我們需要構建一個實時運行的系統,因此必須得選擇一個可以快速得到良好效果的解決方案。

雖然CNN可以識別圖像中的複雜模式,但通常速度很慢。所以這個夏天我花了大部分時間來尋找一個替代方案。其中一個替代方案是手動挑選與物體類別高度相關的物理特徵信息,也就是對我們的模型進行一些特徵工程。

在這個過程中,我的導師教會了我一件事:實驗、實驗、實驗。

我的成果

這個夏天我的收穫之一,就是學會使用一個很棒的快速可視化工具。在Vispy的幫助下,我對大量的點雲進行了有序的可視化,然後在類似真實世界的環境中對模型進行調試。我這次實習的另一個收穫是,直接從模型的損失曲線中很難看出問題。

(Vispy地址:http://vispy.org/)

我用了PyTorch來訓練和驗證我的模型。我之前對PyTorch不熟,但現在它成為我最喜歡的深度學習框架。雖然PyTorch沒有TensorFlow那麼多的特性,但是更容易上手。

(插播一個量子位之前的報道:《PyTorch還是TensorFlow?》)

我搭建的模型之一,是一個編碼解碼器(Encoder-Decoder)網絡,能夠對多個通道的輸入數據進行分類預測。從這些嘈雜的預測中,我們可以推斷出面前物體的真實類別。這種模型非常強大,可以對某些傳感器和處理錯誤免疫。

例如,依靠對象大小和形狀進行分類的模型很容易出現檢測錯誤。而編碼解碼器模型可以通過識別場景中的模式並直接轉變為預測來回避這樣的問題。

如何用點雲對車輛和行人進行識別分類?來看看這份入門總結

如何用點雲對車輛和行人進行識別分類?來看看這份入門總結

工作中的編碼器-解碼器模型。模型還很粗糙。

我上述工作參考了以下的論文:

《Multi-View 3D Object Detection Network for Autonomous Driving》

https://arxiv.org/abs/1611.07759

《LIDAR-based 3D Object Perception》

https://pdfs.semanticscholar.org/2c45/03c72ba7f53f3385859bd5e6311c58e73905.pdf

— 完 —

誠摯招聘

量子位正在招募編輯/記者,工作地點在北京中關村。期待有才氣、有熱情的同學加入我們!相關細節,請在量子位公眾號(QbitAI)對話界面,回覆“招聘”兩個字。

量子位 QbitAI

վ'ᴗ' ի 追蹤AI技術和產品新動態

相關推薦

推薦中...