Site icon About 24/7

蘋果槓上百度,光學雷達物體辨識成績大比拚

一直以來,蘋果都以追求完美的文化和極度保密的風格著稱。雖然外界一直努力捕風捉影,但蘋果很少披露自動駕駛研發的進展或動態。

不過今年 11 月,蘋果卻發表了一篇《VoxelNet: End-to-End Learning for Point Cloud Based 3D Object Detection》論文。

論文中蘋果將神經網路命名為 VoxelNet,蘋果透過光學雷達點雲訓練它執行目標辨識工作。論文表明:蘋果正在打造一種自動駕駛新方法,透過一名為「VoxelNet」的全新系統,幫助電腦更準確辨識三維物體。其透過光學雷達感測器讀取資料,讓自動駕駛汽車理解其他汽車、自行車和行人的精確地理位置。該項研究不僅表明蘋果的自駕車研究的確屬實,也顯示蘋果正與光學雷達相關公司合作。

透過光學雷達研究物體辨識的並不只有蘋果。

2016 年,百度發表了一篇《Vehicle Detection from 3D Lidar Using Fully Convolutional Network》論文。更早的 2015 年,百度也發表過一篇《3D Fully Convolutional Network for Vehicle Detection in Point Cloud》論文。此外,清華與百度還有一篇論文:《Multi-View 3D Object Detection Network for Autonomous Driving》。

2015 年 9 月,卡內基美隆大學機器人學院的 Daniel Maturana 和 Sebastian Scherer 發表了《VoxNet: A 3D Convolutional Neural Network for Real-Time Object Recognition》一文。

2017 年 10 月德國弗萊堡大學機器視覺系發表《Orientation-boosted Voxel Nets for 3D Object Recognition》。歐洲機器視覺權威瑞士蘇黎世理工學院則有《SEMANTIC3D.NET: A NEW LARGE-SCALE POINT CLOUD CLASSIFICATION BENCHMARK》。

上述論文都是研究光學雷達的物體辨識。

光學雷達物體辨識最大的優點是完全排除光線的干擾,無論白天還是黑夜,無論樹影斑駁的林蔭道,還是光線急劇變化的隧道出口,都沒有問題。其次,光學雷達可輕易獲得深度資訊,對鏡頭系統來說這非常困難。再來,光學雷達的有效距離遠在鏡頭之上,更遠的有效距離等於增加安全冗餘。最後,光學雷達也可辨識色彩和車道線。

實際上,光學雷達與鏡頭沒有本質區別,最大區別除了光學雷達是主動發射雷射,是主動感測器,只是光電接收二極體不同,鏡頭可做到的,光學雷達都能做到,只是目前光學雷達的點雲密集度還無法和 300 萬畫素級鏡頭相比。

對固態光學雷達來說,大部分固態光學雷達都提供 3D 影像,與其說是光學雷達,不如說是 3D 影像感測器更合適。

清華大學與百度的論文《Multi-View 3D Object Detection Network for Autonomous Driving》(2016 年 11 月)中,使用的便是鏡頭和光學雷達資料融合做物體探測與辨識。

但蘋果認為這種做法沒有提升,反而帶來很多麻煩。因為鏡頭需要時間同步和與光學雷達做聯合空間標定,鏡頭有效距離有限,效能則與距離關係密切。兩者在中遠距離難以融合,近距離效果會略好。

與鏡頭用畫素(Pixel)這個詞一樣,光學雷達是 3D 的,因此有 Voxel(體素)這個詞。Pixel 是二維電腦影像的最小單位,Voxel 則是三維資料在三維空間分割的最小單位,很早就應用於三維成像、醫學影像(比如 CT)等領域。

辨識物體是機器理解人類社會環境的基本能力,人類文明主要用文字和語言承載,這是一種完全社會化的概念,因此機器不得不採用人類的學習方式,也就是深度學習。

光學雷達可用回波寬度或反射強度資訊輕易辨識某類物體,如車道線、草地、建築物、道路、樹木,且是物理辨識,而不是鏡頭那樣根據數學概率演算法得出的辨識,物理辨識的準確度遠高於概率推算。

但要具體辨識,比如物理方式,光學雷達只能辨識出行人,但是成年人、老人、小孩還是嬰兒就無能為力。再比如,路邊的交通辨識,光學雷達只能知道是一塊金屬牌或塑膠牌,但牌子內容就不知道了,這時深度學習就可以派上用場。

深度學習通俗的理解就像人類訓練動物,比如教狗與你握手(爪),狗做對了,就給一點食物獎勵或撫摸獎勵,這就是一種強化學習的機制。假如狗沒做對,就會被訓。這就像神經網路的訓練過程,辨識正確就增加這部分的權重值(食物獎勵),辨識錯誤就減少權重值(被訓)。

如此不斷強化,最終你一伸手,狗也伸手(爪)跟你握手。

▲ 蘋果 Voxel Net 架構。

目標偵測與辨識領域早期為 DPM,2013 年 11 月,目標偵測領域公認的大神 Ross Girshick 推出 R-CNN,2015 年 4 月進化為 Fast R-CNN,2015 年 6 月進化為 Faster R-CNN,成為今日目標偵測與辨識領域公認最好的方法,也是可完全達成端對端。

光學雷達的目標偵測與辨識自然也是要用 Faster R-CNN。Faster R-CNN 從 2015 年底至今已接近兩年了,但依舊還是物體探測(Object Detection)領域的主流框架之一,雖然推出後續 R-FCN、Mask R-CNN 等改進框架,但基本架構變化不大。同時不乏 SSD、YOLO 等骨骼清奇之新作,但精準度依然以 Faster R-CNN 最好。

從 RCNN 到 fast RCNN,再到本文的 faster RCNN,目標偵測的 4 個基本步驟(候選區域生成、特徵擷取、分類、位置精修)終於統一到深度網路框架內。所有計算沒有重複,完全在 GPU 完成,大大提高了執行速度。

faster RCNN 可簡單看做「區域生成網路+fast RCNN」的系統,用區域生成網路 RPN(Region Proposal Networks)代替 fast RCNN 的 Selective Search 方法。

不過 RPN 只能針對密集化的具備張量架構的資料,而光學雷達的雲點頗稀疏,因此光學雷達深度學習辨識物體的關鍵,就是如何把點雲資料轉換成具備張量架構的密集影片或影像資料。

蘋果提出一種叫 VFE(Voxel Feature Encoding)的方案(上圖)。

首先將點雲資料轉換為體質數據,基本上點雲的三維資料就是體素的三維資料。根據體素所在的位置分組點(點雲),再把這些分組資料全部一層層堆疊起來,然後透過全卷積神經網路(FCN)形成有4(速度向量、X、Y、Z)張量的資料架構。

接下來看FCN,FCN 將傳統 CNN 的全連線層轉化成卷積層,對應 CNN 網路 FCN 把最後三層全連線層轉換成為三層卷積層。

傳統 CNN 架構中,前五層是卷積層,第六層和第七層分別是一個長度為 4096 的一維向量,第八層是長度為 1000 的一維向量,分別對應 1 千個不同類別的概率。

FCN 將這三層表示為卷積層,卷積核的大小(通道數、寬、高)分別為(4096,1,1)、(4096,1,1)、(1000,1,1)。看上去數字並沒有什麼差別,但卷積跟全連線是不一樣的概念和計算過程,使用的是之前 CNN 已訓練好的權值和偏置,不一樣的在於權值和偏置有自己的範圍,屬於自己的卷積核。

因此 FCN 網路中所有層都是卷積層,故稱全卷積網路。

經過多次卷積後,得到的影像越來越小,解析度越來越低。其中影像到 H/32×W/32 時圖片是最小一層時,產生的圖叫熱圖(heatmap),熱圖就是最重要的高維特徵圖。

得到高維特徵的熱圖之後就是最重要的一步也是最後一步:取樣原影像(upsampling),把影像放大、放大、放大,到原影像的大小。這就可以看做是 RPN。

▲ 百度的雲點轉換 FCN 步驟圖。

▲ 蘋果的 RPN 架構圖,可看出與百度相差無幾。

最後無法免俗,蘋果也得上 KITTI 測試一番,還不忘打擊百度。

其中 22 號方案是百度早期方案,效果一般。5 號方案就是百度和清華合作的方案,BV 代表鳥瞰圖,FV 代表前檢視,RGB 代表鏡頭。HC-baseline 的方案也是清華和百度聯合提出。鳥瞰偵測方面,蘋果與百度幾乎沒太多差別,3D 偵測方面,蘋果領先不少。

蘋果使用的是一個 1.7GHz 的 CPU 和頂級顯卡 TitanX 執行上述演算法,Voxel 匯入特徵計算費時大約 5 毫秒,特徵學習網路費時大約 20 毫秒,卷積中間層費時 170 毫秒,RPN 網路費時 30 毫秒,合計 225 毫秒。

但蘋果沒有說這是 1 幀的推理(Inference)時間還是 30 幀的推理時間。如果是 1 幀,那就離實用還差很遠,若做到每幀 25 毫秒才算比較接近實用。

(本文由 雷鋒網 授權轉載)

Exit mobile version