上一篇文章中,我們發布了無人駕駛技術的定位篇(點擊閱讀)。很多開發者結合定位篇與Apollo平臺的視頻,對定位系統已經有了自己的見解,提出了有趣的問題。也希望更多的開發者能夠參與到Apollo的平臺中去,在學習交流的同時豐富這個平臺。
本周我們將介紹感知,了解車輛如何利用感知元件感知周圍環境,了解不同的感知任務,例如分類、檢測和分割,并學習對感知而言至關重要的卷積神經網絡。
在開車時,我們用眼睛來判斷速度、車道位置、轉彎位置。在無人駕駛車中,情況類似,只不過需要使用靜態攝像頭和其他傳感器來感知環境,使用大量計算機視覺技術。
第四課,感知
Sebastian帶你學習感知
1感知的概述
我們人類天生就配備多種傳感器,眼睛可以看到周圍的環境,耳朵可以用來聽,鼻子可以用來嗅,也有觸覺傳感器,甚至還有內部傳感器,可以測量肌肉的偏轉。通過這些傳感器,我們可以感知到我們周圍的環境。我們的大腦每分每秒都在進行數據處理,大腦的絕大部分都是用于感知。
現在,無人駕駛車輛也在做這些事情,只不過他們用的不是眼睛而是攝像頭。但是他們也有雷達和激光雷達,它們可以幫忙測量原始距離,可以得到與周圍環境物體的距離。對于每個無人駕駛汽車,它的核心競爭力之一是利用海量的傳感器數據,來模仿人腦理解這個世界。談論傳感器時也會涉及到神經網絡、深度學習、人工智能。
2計算機視覺
作為人類,我們可以自動識別圖像中的物體,甚至可以推斷這些物體之間的關系。但是對于計算機而言圖像只是紅、綠、藍色值的集合。無人駕駛車有四個感知世界的核心任務:檢測——指找出物體在環境中的位置;分類——指明確對象是什么;跟蹤——指隨時間的推移觀察移動物體;語義分割——將圖像中的每個像素與語義類別進行匹配如道路、汽車、天空。
將分類作為作為研究計算機視覺一般數據流程的例子。圖像分類器是一種將圖像作為輸入,并輸出標識該圖像的標簽的算法,例如交通標志分類器查看停車標志并識別它是停車標志、讓路標志、限速標志、其他標志。分類其甚至可以識別行為,比如一個人是在走路還是在跑步。
分類器有很多種,但它們都包含一系列類似的步驟。首先計算機接收類似攝像頭等成像設備的輸入。然后通過預處理發送每個圖像,預處理對每個圖像進行了標準化處理,常見的預處理包括調整圖像大小、旋轉圖像、將圖像從一個色彩空間轉換為另一個色彩空間,比如從全彩到灰度,處理可幫助我們的模型更快地處理和學習圖像。接下來,提取特征,特征有助于計算機理解圖像,例如將汽車與自行車區分開來的一些特征,汽車通常具有更大的形狀并且有四個輪子而不是兩個,形狀和車輪將是汽車的顯著特征。最后這些特征被輸入到分類模型中。此步驟使用特征來選擇圖像類別,例如分類器可以確定圖像是否包含汽車、自行車、行人、不包含這樣的對象。
為了完成這些視覺任務,需要建立模型,模型是幫助計算機了解圖像內容的工具。
3攝像頭圖像
不論計算機在執行什么識別任務,通常在開始時將攝像頭圖像作為輸入。
攝像頭圖像是最常見的計算機視覺數據,以這張汽車照片為例,讓我們看看計算機如何認為這實際上是一輛汽車的圖像。從計算機的角度來看,圖像只是一個二維網格被稱為矩陣,矩陣中的每個單元格都包含一個值,數字圖像全部由像素組成,其中包含非常小的顏色或強度單位,我們可以對其中的數字做出非常多的處理。通常這些數字網格是許多圖像處理技術的基礎,多數顏色和形狀轉換都只是通過對圖像進行數學運算以及逐一像素進行更改來完成。
以上是我們將一個圖像分解為二維灰度像素值網絡,彩色照片是相似的,但是更復雜一些。
彩色圖像被構建為值的三維立方體,每個立方體都有高度、寬度和深度,深度為顏色通道數量。大多數彩色圖像以三種顏色組合表示紅色、綠色、藍色,稱為RGB圖像。對于RGB圖像來說,深度值是3,因此可用立方體來表示。
4LiDAR圖像
感知擴展到傳感器,而不僅僅是攝像頭。激光雷達傳感器創建環境的點云表征,提供了難以通過攝像頭圖像獲得的信息如距離和高度。激光雷達傳感器使用光線尤其是激光來測量與環境中反射該光線的物體之間的距離,激光雷達發射激光脈沖并測量物體,將每個激光脈沖反射回傳感器所花費的時間。反射需要的時間越長,物體離傳感器越遠,激光雷達正是通過這種方式來構建世界的視覺表征。
激光雷達通過發射光脈沖來檢測汽車周圍的環境,藍色點表示反射激光脈沖的物體,中間的黑色區域是無人駕駛車本身占據的空間。由于激光雷達測量激光反射束,它收集的數據形成一團云或“點云”,點云中的每個點代表反射回傳感器的激光束,可以告訴我們關于物體的許多信息例如其形狀和表面紋理。這些數據提供了足夠的對象檢測、跟蹤、分類信息。正如我們所看,在點云上執行的檢測和分類結果為紅點為行人,綠點表示其他汽車。
激光雷達數據提供了用于構建世界視覺表征的足夠空間信息,計算機視覺技術不僅可以使用攝像頭圖像進行對象分類,還可以使用點云和其他類型的空間相關數據進行對象分類。
5機械學習
機器學習是使用特殊算法來訓練計算機從數據中學習的計算機科學領域。通常,這種學習結果存放在一種被稱為“模型”的數據結構中,有很多種模型,事實上“模型”只是一種可用于理解和預測世界的數據結構。機械學習誕生于20世紀60年代,但隨著計算機的改進,在過去的20年中才真正的越來越受到歡迎。
機器學習涉及使用數據和相關的真值標記來進行模型訓練,例如可能會顯示車輛和行人的計算機圖像以及告訴計算機哪個是哪個的標簽。我們讓計算機學習如何最好地區分兩類圖像,這類機器學習也稱為監督式學習,因為模型利用了人類創造的真值標記。
可以假想一個類似的學習過程,但這次使用的是沒有真值標記的車輛與行人圖像,讓計算機自行決定哪些圖像相似、哪些圖像不同,這被稱為無監督學習。不提供真值標記,而是通過分析輸入的數據,計算機憑借自行學習找到區別。
半監督式學習是將監督學習和無監督學習的特點結合在一起,該方法使用少量的標記數據和大量的未標記數據來訓練模型。
強化學習是另一種機器學習,強化學習涉及允許模型通過嘗試許多不同的方法來解決問題,然后衡量哪種方法最為成功,計算機將嘗試許多不同的解決方案,最終使其方法與環境相適應。
例如在模擬器中,強化學習智能體可訓練汽車進行右轉,智能體將在初始位置發動車輛,然后以多種不同的方向和速度進行實驗性駕駛,如果車輛實際完成了右轉,智能體會提高獎勵即得分。
起初車輛可能無法找到執行轉彎的方法,然而就像人類那樣,車輛最終會從一些成功的右轉經驗中學習,最后學會如何完成任務。
6神經網絡
人工神經網絡用于無人駕駛車,受到構成人類神經系統的生物神經元啟發,生物神經元通過相互連接構成了神經元網絡或神經網絡,通過類似的方式將人工神經元層連接起來以創建用于機器學習的人工神經網絡。
人工神經網絡是通過數據來學習復雜模式的工具,神經網絡由大量的神經元組成,人工神經元負責傳遞和處理信息,也可以對這些神經元進行訓練。可以將這些圖像識別為車輛,無論它們是黑是白、或大或小,你甚至可能不知道自己如何知道它們是車輛,也許是某些特征觸發了你的反應,如車輪、車燈、車窗。人工神經網絡具有類似的運作方式。人工神經網絡通過密集訓練,計算機可以辨別汽車、行人、交通信號燈、電線桿。它們學習了用于執行任務的模型,只是我們可能很難直觀地理解該數學模型。
當看到該圖像時,你的大腦如何工作?你的大腦可能會將圖像分為幾部分然后識別特征如車輪、車窗、顏色,然后大腦將使用這些特征對圖像進行檢測和分類。
例如在確定圖像是否為車輛時,大腦可能不會認為顏色是關鍵特征。因為汽車有多種顏色,所以大腦會將更多權重放在其他特征上并降低顏色的重要性。
同樣,神經網絡也會從圖像中提取許多特征,但這些特征可能是我們人類無法描述或甚至無法理解的特征。但我們最終并不需要理解,計算機將調整這些特征的權重,以完成神經網絡的最終任務。
7反向波算法
學習有時稱為訓練,由三步循環組成——前饋、誤差測定、反向傳播。
首先隨機分配初始權重即人工神經元的值,通過神經網絡來饋送每個圖像產生輸出值,這被稱為前饋。
繼續開車可以發現,有些點右邊只有一棵樹,也可以排除。
下一步為誤差測定,誤差是真值標記與與前饋過程所產生輸出之間的偏差。
下一步是反向傳播,通過神經網絡反向發送誤差,此過程類似前饋過程,只是以相反方向進行。
每個人工神經元都對其值進行微調,這是基于通過神經網絡后向傳播的誤差,可生成更準確的網絡。一個訓練周期:包括前饋、誤差測定、反向傳播還遠遠不夠。為了訓練網絡,通常需要數千個這樣的周期,最終結果應該是模型能夠根據新數據做出準確預測。
-
傳感器
+關注
關注
2553文章
51400瀏覽量
756612 -
計算機視覺
+關注
關注
8文章
1700瀏覽量
46129 -
自動駕駛
+關注
關注
785文章
13931瀏覽量
167008
原文標題:Apollo自動駕駛入門課程第④講 — 感知(上)
文章出處:【微信號:Apollo_Developers,微信公眾號:Apollo開發者社區】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
人形機器人感知系統的特點:多模態感知、高精度、實時性
【感知農業】溫室環境云感知終端
面向頻譜感知的傳感器網絡設計
車輛感知如何提高和發展
全高級駕駛員的感知系統
毫米波雷達感知技術搭建車路協同系統的可行性
通過深度學習提高和發展車輛感知
正確感知周圍環境,深度了解自動駕駛傳感器
![正確<b class='flag-5'>感知</b><b class='flag-5'>周圍環境</b>,深度<b class='flag-5'>了解</b>自動駕駛傳感器](https://file1.elecfans.com//web2/M00/A6/97/wKgZomUMPuyABh4ZAAAfAwqf2Ao143.jpg)
如何使用壓縮感知進行移動群智感知任務分發機制的資料說明
![如何使用壓縮<b class='flag-5'>感知</b>進行移動群智<b class='flag-5'>感知</b><b class='flag-5'>任務</b>分發機制的資料說明](https://file.elecfans.com/web1/M00/8C/EE/pIYBAFycRDuANax5AABZCl0J_rc061.png)
如何使用壓縮感知實現移動群智感知任務分發機制的資料說明
![如何使用壓縮<b class='flag-5'>感知</b>實現移動群智<b class='flag-5'>感知</b><b class='flag-5'>任務</b>分發機制的資料說明](https://file.elecfans.com/web1/M00/AA/E8/o4YBAF2xGs6ACRHyAAB0qDFSXvs482.png)
如何使用壓縮感知實現移動群智感知任務分發機制
![如何使用壓縮<b class='flag-5'>感知</b>實現移動群智<b class='flag-5'>感知</b><b class='flag-5'>任務</b>分發機制](https://file.elecfans.com/web1/M00/DC/7E/o4YBAGAPsgWAfCi-AABzuC472Vo271.png)
評論