自动驾驶汽车如何使用 CNN 技术

小時候,我總喜歡觀看動畫電影,裡面的汽車似乎都能自動行駛。這讓我好奇,現實中是否存在這樣的汽車,它們內部是否藏有神奇的微型機器人來操控呢?

如今,隨著科技的進步,自動駕駛汽車已逐漸成為現實!我對它們真的非常著迷。例如,它們是如何知道在停車標誌和紅燈前停車的?它們能看見路上行走的動物和行人嗎?在夜間或雨雪天氣中,它們又是如何駕駛的呢?

讓我們來深入探討一下自動駕駛汽車吧!這些汽車無需人類駕駛員即可自動行駛。像特斯拉和Waymo這樣的公司,正在運用深度學習等先進的計算機技術,使這些汽車變得極其智能。深度學習能夠幫助汽車執行許多酷炫的功能,例如識別道路標誌,甚至在惡劣天氣中也能安全行駛。這一切都是為了運用尖端技術,來塑造我們未來的出行方式!

歷史

自動駕駛汽車的發展歷程,猶如一場漫長而精彩的冒險。想像一下20世紀20年代,自動駕駛汽車對人們來說還僅僅是一個夢想。弗朗西斯·胡迪納(Francis Houdina)是一位富有創造力的人,他創造了一輛能夠沿著道路行駛的汽車而脫穎而出。然而,這輛汽車需要在道路下方鋪設隱藏的電線來引導它。

資料來源:theatlantic.com

時間來到20世紀80年代和90年代,卡內基梅隆大學的聰明才智正在研究一些偉大的項目。他們開發出了可以使用攝像頭「看」路的汽車,幫助它們在繁忙的城市街道上行駛。這些汽車就像是學習中的探險家,通過觀察周圍環境來學習如何駕駛。

接著,在2004年,沙漠挑戰賽成為一個重要的轉捩點。自動駕駛汽車首次亮相,參與了一場艱難的比賽——雖然它們沒有贏得比賽,但這是一個良好的開端。這就像是它們成為更優秀駕駛員的訓練場。

然而,真正的突破發生在2000年代和2010年代,當時特斯拉、Uber和谷歌(現在的Waymo)等大型公司開始涉足汽車領域。谷歌於2009年開始測試自動駕駛汽車。快進到2015年,特斯拉的汽車引入了一項功能,使其在某些道路上能夠實現部分自動駕駛。它們可以在沒有持續人工控制的情況下控制轉向並保持在道路上。

隨著越來越多的公司加入競爭,開發完全自動駕駛汽車的競爭也日趨激烈。想像一下,一群發明家們正在競相打造無需人類駕駛即可行駛的汽車。

但是故事仍在繼續。我們仍在努力製造可以自動駕駛的汽車,這將徹底改變我們的出行方式。這場冒險仍在進行中,這意味著我們可以擁有更安全、更輕鬆的旅程,因為這些精巧的自動駕駛汽車正在變得越來越好。

自動駕駛汽車如何運作?

自動駕駛汽車就像超級聰明的決策者!它們使用攝像頭、激光雷達、雷達、GPS和慣性傳感器來收集周圍環境的數據。接著,一種稱為深度學習算法的特殊算法會處理這些數據,從而理解周圍發生的情況。基於這些理解,它們會做出安全、平穩駕駛的重要決定。

資料來源:arxiv.org

如果我們想深入了解自動駕駛汽車的真正工作原理,讓我們仔細研究上圖中顯示的四個組成部分。這就像在解決一個謎題——理解每一塊拼圖將有助於我們更全面地了解這些令人驚嘆的汽車是如何運作的:

  • 感知
  • 定位
  • 預測
  • 決策
    • 高級路徑規劃
    • 行為仲裁
    • 運動控制器

感知

#1. 攝像頭

攝像頭就像自動駕駛汽車的眼睛——它們至關重要!它們幫助汽車了解周圍環境的情況。這些攝像頭執行不同的任務,例如識別物體、分離不同的部分以及確定汽車的位置。

為了確保汽車不會錯過任何東西,它在前後左右都安裝了攝像頭。這些攝像頭協同工作,捕捉汽車周圍一切的全景畫面。就像汽車自己的特殊360度視角!

這些攝像頭不僅僅是用於觀看。它們非常智能。有些攝像頭可以看得非常遠,達到200米,因此汽車可以知道前方會發生什麼。其他攝像頭則專注於附近的物體,以便汽車可以密切關注細節。這個攝像頭團隊可以幫助汽車看到並理解一切,就像一個朋友在指導它一樣,這樣它就可以安全駕駛並做出正確的決策。

有時,攝像頭非常有用,例如在停車時,它們可以提供廣闊的視野,幫助在謹慎駕駛時做出正確的決策。

但僅僅依靠攝像頭來觀察事物是存在問題的,尤其是在霧、大雨和夜間等惡劣天氣下。在這些情況下,攝像頭拍攝的照片會變得模糊不清,這非常不安全。

為了應對這些具有挑戰性的情況,我們需要特殊的傳感器,這些傳感器可以在非常黑暗甚至是完全夜間的環境下工作。它們還應該能夠測量物體的距離,而不需要我們能看見的光。當我們將這些傳感器放入汽車的眼睛(感知系統)中時,汽車在惡劣天氣或難以看見的情況下駕駛會變得更好。因此,汽車可以更安全地行駛,這對道路上的每個人都非常有益。

#2. 激光雷達

LiDAR代表光探測和測距,是一種利用激光來計算物體距離的巧妙技術。激光雷達會發射激光束,並測量激光束從物體返回所需的時間。

當激光雷達和攝像頭協同工作時,它們可以幫助汽車更清楚地了解事物。它可以繪製汽車周圍的3D地圖。接著,智能計算機程序可以查看這些特殊信息,幫助汽車預測其他汽車可能會做什麼。當道路情況複雜時(例如在繁忙的十字路口),這非常有用,因為汽車可以監視其他車輛並安全行駛。

然而,激光雷達也有其局限性,可能會出現問題。雖然它在夜間和黑暗環境中工作良好,但在雨或霧等干擾條件下可能會表現不佳,可能會導致感知不準確。為了解決這些問題,我們同時使用了激光雷達和雷達傳感器。這些傳感器提供了額外的信息,幫助汽車更清楚地了解事物。汽車可以以更安全、更好的方式自行駕駛。

#3. 雷達

雷達(RADAR)代表無線電探測和測距,長期以來一直在日常生活和軍事領域中使用。雷達最初被軍方用於探測物體,它使用無線電波信號來計算距離。如今,雷達對許多汽車來說至關重要,尤其是自動駕駛汽車。

雷達非常棒,因為它可以在任何天氣和光線條件下工作。它不使用激光,而是使用無線電波,這使得它既靈活又非常有用。然而,雷達被認為是一種噪聲傳感器,這意味著即使攝像頭沒有看到任何障礙物,它也可以檢測到障礙物。

自動駕駛汽車的大腦可能會被雷達發出的所有額外信號(我們稱之為「噪聲」)所迷惑。為了解決這個問題,汽車需要清理雷達信息,以便做出正確的決策。

清理數據意味著使用特殊的技巧來區分強信號和弱信號,例如將重要的信息與不那麼重要的信息分開。這輛汽車使用一種稱為快速傅立葉變換(FFT)的巧妙技巧來更好地理解信息。

雷達和激光雷達提供有關單個點的信息,就像紙上的點一樣。為了更好地理解這些點,汽車使用了一些方法,例如分組。就像你把相似的東西放在一起一樣。這輛汽車使用了一些巧妙的統計方法,例如歐幾里德聚類或K均值聚類,來組合相似的點並理解它們。這使得汽車能夠更智能、更安全地駕駛。

定位

在自動駕駛汽車中,定位算法在確定車輛導航時的位置和方向方面發揮著至關重要的作用,這就是所謂的視覺里程計(VO)。 VO的工作原理是識別和匹配連續視頻幀中的關鍵點。

汽車會查看信息中的特殊點,例如地圖上的標記。之後,汽車會使用稱為SLAM的統計數據來找出物體的位置以及它們的移動方式。這有助於汽車了解周圍的情況,例如道路和行人。

為了做得更好,汽車使用了深度學習的技術。它就像一台超級智能的計算機。

這些技巧使汽車能夠很好地理解事物。像PoseNet和VlocNet++這樣的神經網絡利用點數據來估計對象的3D位置和方向。然後,可以利用這些估計的3D位置和方向來推導出場景語義,如下圖所示。當汽車使用數學和智能計算機技巧時,它就能夠知道它在哪裡以及周圍有什麼。這有助於汽車安全、平穩地自行行駛。

預測

理解人類駕駛員的行為確實是一項複雜的任務,因為它涉及到情感和反應,而不是簡單的邏輯。因為我們無法知道其他駕駛員會做什麼,所以自動駕駛汽車對他們的行為做出正確的猜測至關重要。這有助於確保道路安全。

想像一下,自動駕駛汽車的眼睛無處不在,就像360度的視野一樣。這使得它們能夠看到所發生的一切。它們將這些信息用於深度學習。這輛汽車使用巧妙的技術來預測其他駕駛員可能會做什麼。這類似於玩遊戲,你需要提前計劃才能取得好成績。

使用深度學習進行預測

自動駕駛汽車中的特殊傳感器就像它們的眼睛。它們幫助汽車了解畫面中的內容,找到周圍的物體,知道它們在哪裡,並看到物體的終點。這有助於汽車了解附近的情況並做出明智的決策。

在訓練過程中,深度學習算法對從激光雷達和雷達獲取的圖像和雲數據點中的複雜信息進行建模。在實際駕駛(推理)過程中,同一個模型可以幫助汽車為可能的動作做好準備,包括剎車、停車、減速、變道等。

深度學習就像汽車的智能助手。這使得汽車能夠理解它不確定的事物,找出它的位置,並更好地駕駛。這可以確保駕駛安全並使其行駛更加順暢。

但是,棘手的部分是從幾個選擇中決定最佳的行動。選擇正確的動作需要仔細考慮,這樣汽車才能良好地行駛並保持安全。

決策

自動駕駛汽車必須在複雜的情況下做出重要的選擇,但這並不容易。這是因為傳感器可能並不總是正確的,路上的人可能會做出意想不到的事情。汽車必須猜測其他人會做什麼,並做出反應以避免碰撞。

為了做出選擇,汽車需要大量的信息。汽車使用傳感器來收集這些信息,然後使用深度學習算法來了解物體的位置並預測可能發生的情況。定位幫助汽車了解其初始位置,而預測則根據環境生成多種可能的動作。

然而,問題依然存在:汽車如何在眾多預測的動作中選擇最佳的行動?

資料來源:semanticscholar.org

深度強化學習(DRL)是一種決策技術,它使用一種稱為馬爾可夫決策過程(MDP)的算法。 MDP有助於預測路上的人們未來會如何行動。當有更多的物體在移動時,事情會變得更加複雜。這意味著自動駕駛汽車必須考慮更多可能的行動。

為了應對尋找汽車最佳移動的挑戰,深度學習模型使用貝葉斯優化進行優化。在某些情況下,採用隱馬爾可夫模型和貝葉斯優化相結合的框架進行決策,使自動駕駛汽車能夠在各種複雜場景中有效、安全地行駛。

來源: arxiv.org

自動駕駛汽車的決策遵循一個包含四個關鍵組成部分的分層流程:

路徑或路線規劃:在旅程開始時,汽車會確定從當前位置到所需目的地的最佳路線。目標是在各種可能的路線中找到最佳解決方案。

行為仲裁:汽車必須在規劃路線後按照路線行駛。汽車能夠感知道路和十字路口等靜態物體,但無法預見其他駕駛員的確切行為。為了應對這種不確定性,我們使用了馬爾可夫決策過程(MDP)等智能方法進行規劃。

頂層狀態機的場景決策

運動規劃:通過規劃路線和行為層來確定如何導航,運動規劃系統會協調汽車的運動。這意味著要確保汽車以對車內人員既安全又舒適的方式移動。它會考慮諸如行駛速度、變道以及周圍環境等因素。

車輛控制:最後一步是車輛控制,它會執行運動規劃系統生成的參考路徑,確保汽車平穩、安全地遵循預定的軌跡。

通過將決策分解為這些不同的部分,自動駕駛汽車可以在複雜的地方良好且安全地行駛。這可以確保乘客擁有平穩舒適的乘坐體驗。

卷積神經網絡

卷積神經網絡(CNN)因其對空間信息(尤其是圖像)進行建模的能力而廣泛應用於自動駕駛汽車。 CNN擅長從圖像中提取特徵,這使得它們有助於解決許多不同的問題。

在CNN中,隨著網絡深度的增加,不同的層會捕捉不同的模式。早期的層會檢測邊緣等簡單特徵,而較深的層則會識別更複雜的特徵,例如物體形狀(如樹上的葉子或車輛上的輪胎)。這種適應性正是CNN成為自動駕駛汽車核心算法的原因。

CNN的核心組成部分是卷積層,它利用卷積核(濾波器矩陣)來處理輸入圖像的局部區域。

濾波器矩陣在訓練期間會更新,以獲得有意義的權重。CNN的一個基本屬性是權重共享,即使用相同的權重參數來表示不同的轉換,從而節省處理空間並實現不同的特徵表示。

卷積層的輸出通常會通過非線性激活函數,如Sigmoid、Tanh或ReLU。ReLU是首選,因為它比其他算法收斂得更快。此外,結果通常會經過最大池化層。這會保留圖像中的重要細節,例如背景和紋理。

CNN的三個基本屬性使其在自動駕駛汽車中具有多功能性和基礎性:

  • 局部感受野
  • 共享權重
  • 空間採樣

這些屬性可以減少過度擬合,並儲存對圖像分類、分割、定位等至關重要的關鍵表示和特徵。

以下是自動駕駛汽車先驅公司使用的兩個CNN網絡:

  • 特斯拉HydraNet
  • 谷歌Waymo的ChauffeurNet

了解有關卷積神經網絡的更多信息。

#1. 特斯拉HydraNet

HydraNet是Ravi等人於2018年提出的動態架構,主要為自動駕駛汽車的語義分割而開發。其主要目標是提高推理過程中的計算效率。

HydraNet的概念涉及將不同的CNN網絡(稱為分支)分配給特定的任務。每個分支接收不同的輸入,網絡可以在推理過程中選擇性地選擇運行哪些分支,最終聚合不同分支的輸出以做出最終決策。

特斯拉的Hydranet

在自動駕駛汽車的背景下,輸入可以代表環境的不同方面,例如靜態對象(樹木和道路護欄)、道路和車道、交通信號燈等。這些輸入在單獨的分支中進行訓練。在推理過程中,門機制會決定激活哪些分支,組合器會收集它們的輸出以做出最終決定。

速度、車道和運動檢測

特斯拉採用了HydraNet架構,並納入了共享的主幹網,以應對推理過程中為各個任務分離數據的挑戰。共享的主幹網(通常是經過修改的ResNet-50塊)允許網絡在所有對象的數據上進行訓練。基於語義分割架構的特定任務頭(例如U-Net)使模型能夠預測特定於每個任務的輸出。

特斯拉的HydraNet以其投射鳥瞰圖的能力而脫穎而出,從任何角度創建環境的3D表示。這種增強的維度有助於汽車更好地導航。值得注意的是,特斯拉在沒有使用激光雷達傳感器的情況下實現了這一目標。相反,它僅依賴於兩個傳感器:攝像頭和雷達。特斯拉HydraNet的效率使其能夠處理來自八個攝像頭的信息並生成深度感知,無需額外的LiDAR技術即可展現令人印象深刻的功能。

#2. 谷歌Waymo的ChauffeurNet

ChauffeurNet是一種基於RNN的神經網絡,谷歌Waymo使用模仿學習來訓練自動駕駛汽車。雖然它主要依賴於RNN來生成駕駛軌跡,但它也包含了一個稱為FeatureNet的CNN組件。

這個卷積特徵網絡提取其他網絡共享的上下文特徵表示,並用於從感知系統中提取特徵。

來源: 研究門

ChauffeurNet背後的概念是通過模仿學習來模仿專家駕駛員來訓練自動駕駛汽車。為了克服現實世界訓練數據不足的限制,論文《ChauffeurNet: Learning to Drive by Imitating the Best and Synthesizing the Worst》的作者引入了合成數據。

這種合成數據引入了各種偏差,例如擾亂軌跡路徑、添加障礙物以及創建不自然的場景。人們發現使用合成數據訓練汽車比僅使用真實數據更有效。

在ChauffeurNet中,感知系統不是端到端流程的一部分,而是充當中間系統。這允許網絡具有來自感知系統的各種輸入變化。該網絡通過傳感器觀察場景的中層表示,並使用該輸入以及合成數據來模仿專家的駕駛行為。

通過分解感知任務並創建環境的高級鳥瞰圖,ChauffeurNet促進了更輕鬆的遷移學習,使網絡能夠根據真實數據和模擬數據做出更好的決策。該網絡通過基於中層表示迭代預測駕駛路徑中的連續點來生成駕駛軌跡。這種方法在更有效地訓練自動駕駛汽車方面顯示出了希望,為更安全、更可靠的自動駕駛系統提供了一條道路。

#3. 用於自動駕駛汽車的部分可觀察馬爾可夫決策過程

部分可觀察馬爾可夫決策過程(POMDP)是一種在自動駕駛汽車的背景下,用於在不確定性下做出決策的數學框架。在現實場景中,由於傳感器噪聲、遮擋或不完善的感知系統,自動駕駛汽車通常對其環境的信息有限。POMDP旨在處理此類部分可觀察性,並通過考慮不確定性和可用觀測來做出最佳決策。

在POMDP中,決策代理在具有部分可觀察狀態的環境中運行。代理會採取行動,而環境會以概率方式轉變為新的狀態。然而,代理僅接收有關環境真實狀態的部分觀察或噪聲信息。目標是找到一種策略,在考慮環境和代理觀測的不確定性的同時,隨著時間的推移最大化預期累積獎勵。

來源: 研究門

在自動駕駛汽車的背景下,POMDP對於運動規劃、軌跡預測以及與其他道路使用者的互動等任務特別有用。在考慮周圍環境的不確定性的情況下,自動駕駛汽車可以使用POMDP來做出有關車道變換、速度調整以及與行人和其它車輛互動的決策。

POMDP有六個組成部分,可以表示為POMDP

M:=(I,S,A,R,P,γ)

其中,

I:觀察

S:有限狀態集

A:有限動作集

R:獎勵函數

P:轉移概率函數

γ:未來獎勵的貼現因子。

由於需要考慮多種可能的狀態和觀察結果,POMDP在計算上可能具有挑戰性。然而,通常採用置信空間規劃和蒙特卡羅方法等先進算法來有效地逼近最佳策略,並實現自動駕駛汽車的實時決策。

通過將POMDP納入決策算法,自動駕駛汽車可以更有效、更安全地在複雜且不確定的環境中行駛,考慮傳感器讀數的不確定性,並做出明智的決策以實現其預期目標。

自動駕駛汽車作為代理,通過強化學習(RL)(一種機器學習)與環境交互來學習。狀態、行動和獎勵是深度強化學習(DRL)核心的三個重要變量。

狀態:描述自動駕駛汽車在給定時間的當前狀況,例如其在道路上的位置。

動作:代表汽車可以做出的所有可能的動作,包括變道或速度調整等決策。

獎勵:每當汽車採取特定動作時,向其提供反饋。獎勵可以是正的,也可以是負的,DRL的目標是最大化累計獎勵。

與監督學習不同的是,監督學習會明確地向算法提供正確的動作,而DRL是通過探索環境並根據其動作接收獎勵來學習的。自動駕駛汽車的神經網絡根據感知數據進行訓練,其中包括卷積神經網絡(CNN)提取的特徵。

然後,DRL算法會在這些表示上進行訓練,這些表示是輸入的低維變換,從而在推理過程中做出更有效的決策。

在現實場景中訓練自動駕駛汽車是危險且不切實際的。相反,它們會在模擬器中接受訓練,對人類安全沒有風險。

模擬器

一些開源模擬器是:

通過將感知數據與強化學習相結合,自動駕駛汽車可以學習如何駕馭複雜的環境,做出安全和最佳的決策,並更加擅長處理現實世界的駕駛場景。

常見問題解答

什麼是自動駕駛汽車?

自動駕駛汽車,通常稱為無人駕駛汽車,是指配備尖端傳感器和人工智能、能夠自行導航和駕駛的汽車。這些車輛使用攝像頭、激光雷達、雷達和複雜的算法來評估環境並做出駕駛判斷。

自動駕駛汽車安全嗎?

在自動駕駛汽車的開發中,安全是第一要務。為了確保符合高安全法規,這些車輛會經過徹底的測試和模擬。儘管測試過程中發生過事故,但最終目標是讓自動駕駛汽車比人類駕駛的汽車更安全。

自動駕駛汽車可以在任何天氣下使用嗎?

包括大雨或大雪在內的極端天氣可能會給自動駕駛汽車帶來問題。不利的天氣可能會降低傳感器的準確性並損害駕駛能力。工程師們正在不斷努力使該技術在惡劣的天氣條件下發揮更好的作用。

自動駕駛汽車——可以上路嗎?

自動駕駛汽車的合法性因國家和地區而異。為了適應自動駕駛汽車,許多司法管轄區正在修改其法律和法規。一些地區已經允許自動駕駛汽車的測試和有限部署。

自動駕駛汽車需要人工干預嗎?

目前,大多數自動駕駛汽車都處於2級或3級自動化水平,有時可能需要人工協助。然而,該行業正在努力達到更高水平的自動化,例如4級或5級,其中人為干預變得最少或不必要。

結論

總而言之,自動駕駛汽車有能力通過提高道路效率和安全性來改變汽車產業。我們研究了支持這些自動駕駛汽車的所有基本組件,包括激光雷達、雷達、攝像頭和先進算法。

儘管進展令人鼓舞,但仍存在一些重大的挑戰需要應對。目前,自動駕駛汽車處於5級進步的第2級,在某些情況下需要人工干預。然而,通過持續的奉獻和創新,我們正一步步實現完全自主。

要點

改進算法:算法的進一步優化對於增強道路感知至關重要,特別是在可能缺乏道路標記和標誌的挑戰性條件下。

完善傳感模式:提高測繪和定位傳感模式的準確性和效率將有助於實現更高水平的自主性。

車對車通信:通過追求車對車通信,打造互聯、智能的道路生態系統。

人機互動:鼓勵公眾對自動駕駛技術的接受,需要審查並解決與人機互動相關的問題。

未來展望:儘管存在困難,但迄今為止取得的成就是顯著的,並且通過持續的合作和研究,自動駕駛汽車有潛力為所有人提供一個更安全、更有效的交通環境。

我們都在邁向完全自主的自動駕駛汽車的同一旅程上。隨著我們解決挑戰並激發創新,我們距離車輛能夠順利管理道路、改善安全、環境和為所有人帶來便利的時代越來越近了。

您現在可以了解空間計算及其在開發自動駕駛汽車中的應用。