文章目錄
1. 引言
1. 論文獲取
2. 論文解讀
1. 學習目標
根據車載攝像頭的畫面,自動判斷如何轉方向,使用端到端(end-to-end)的深度學習
端到端的意思是,不用手動提取圖像的特徵值,包括中間線、邊界線、方向等,直接學到決策方法。
2. 數據收集
NVIDIA整了個CAN bus來收集數據,並存儲在SSD中,具體請見原文
3. 網絡模型
4. 訓練神經網絡
5. 使用CNN實現自動駕駛
Batch Normalization 各層之間進行正則化,可以加快擬合
2. 實驗環境
1. 物理環境
我的機器是Intel I7 8750H, NVIDA GeForce GTX 1060
2. 系統環境
我選用的是Ubuntu18.04
3. 軟件環境
4. 模擬環境
!有車有礦的同學請忽略這一條
講師給的是一個叫做“beta_simulator_linux”的壓縮包,我去研究了一下,發現是一個基於Unity開發的專門用於學生學習DL自動駕駛的軟件。GitHub地址如下:https://github.com/udacity/self-driving-car-sim
1. 下載
這不用我廢話了吧,我是基於linux的。使用windows的同仁們應該會更容易上手吧。
2. 啓動
- cd到beta_simulator_linux文件夾下
- 修改文件權限 :chmod 777 beta_simulator.x86_64
- 運行:./beta_simulator.x86_64
- 選擇遊戲配置
- 開始玩遊戲(學習)
3. 模擬器介紹
1. 獲取數據
使用遊戲中的RECORD按鈕,記錄屏幕和操作
然後我們可以看見生成了一個文件一個文件夾,文件夾中是所有的圖片。
2. 數據結構
在文件中我們看一下他的結構
- 圖片命名結構:攝像頭方向_年_月_日_時_分_秒_毫秒.jpg
- 圖片像素:320*160
- csv文件格式:left文件路徑, right文件路徑, 轉角弧度, 油門度, 剎車度, 車速
3. 構建網絡
1. 網絡結構
2.圖像預處理
1. 圖像數據正規化
將圖像的範圍從[0, 255]變到 [-0.5, 0.5],減少了輸入和輸出(向左向右用數值表示)的差異
Batch Normalization 可以更快訓練,防止過擬合
(未完待續)