樹莓派上利用Tensorflow實現小車的自動駕駛

先拋出你們最關心的——代碼地址:git

github傳送門:github.com/Timthony/se…github

基於樹莓派的人工智能自動駕駛小車網絡

# 總體流程
電機控制
攝像頭調試
道路數據採集
搭建深度學習模型,參數調試
自動駕駛真實道路模擬
參數最終調試 機器學習

使用方法:
1. 先將樹莓派小車硬件組裝好
2. 使用zth_car_control.py來控制小車的先後左右移動,配合zth_collect_data.py來人工操做,使小車在本身製做的跑道進行數據採集。(該過程在樹莓派進行)
3. 數據採集完成之後使用zth_process_img.py來對採集的數據進行處理,以前當前先完成一些數據清洗的工做。(電腦上執行)
4. 使用神經網絡模型對數據進行訓練zth_train.py,獲得訓練好的模型。(電腦上執行)
5. 在樹莓派小車上使用zth_drive和訓練好的模型,載入模型,便可實如今原先跑道的自動駕駛。(樹莓派上執行)
注意:只須要使用上述提到的代碼便可,別的都是一些初始版本或者正在增長的一些新模塊。 工具


# 注意事項:
1. 賽道須要本身製做,很重要,決定了數據質量。(我是在地板上,貼的有色膠帶,而後貼成了跑道的形狀)。
2. 賽道的寬度大約是車身的兩倍。
3. 大約採集了五六萬張圖像,而後篩選出三四萬張。
4. 攝像頭角度問題學習

# 具體制做流程:
1. 小車原始模型,某寶購買玩具車便可,好比:有電機,有自帶電池盒(給電機供電)
2. 樹莓派,攝像頭,蓄電電池組(用於樹莓派供電)
3. 使用一些螺栓,螺柱,亞克力板將樹莓派,蓄電電池固定在小車上(具體方法,看手頭的工具吧)
4. 組裝好之後,樹莓派經過VNC鏈接電腦,登錄樹莓派,在樹莓派安裝keras環境,以便最後調用訓練好的模型。
5. 關於小車的控制(電機控制,攝像頭採集數據),都在源文件,有註釋,大體思路就是經過方向鍵AWSD來控制方向,使用了pygame的工具包。
6. 經過電腦端的wasd方向鍵手動控制小車(已經VNC鏈接好)在製做好的賽道上進行圖像採集,直線部分按w,左拐彎按a,右拐彎按d等,建議採集50000張以上。
(採集的圖像命名要求爲,0_xxxx,1_xxxx,其中首位字母就表明了你按下的是哪一個鍵,好比圖像是0開頭,那麼這張圖像就是直行,按下的是w鍵,這些0,1,2,3,4 數字就至關於數據的標籤值)
7. 將圖片從樹莓派拷貝下來,進行數據清洗,使用電腦端的深度學習環境進行模型訓練,使用的模型能夠自行定義。
8. 將訓練好的模型文件.h5拷貝到樹莓派,而後經過樹莓派調用載入模型,便可處理實時的圖像,而且根據圖像預測出是0,1,2,3,4等數字,也就表示了樹莓派該怎麼移動,經過樹莓派控制電機便可。大數據


# 正在進行一些改進:
1.使用遷移學習進行fine-tuning是否能夠提升精度
2.處理光照問題
3.處理數據類別不平衡的問題 人工智能

 
歡迎交流討論    調試




在這裏推薦咕泡學院的《人工智能商業實戰》,內容有AI深度學習、機器學習、Python、數學、大數據等等,目的是:經過6個月的學習+實戰,將學員培養達到具有一年項目經驗的人工智能工程師水平。
cdn

想了解課程的朋友能夠戳戳這裏 → 直達

爲了幫助你們讓學習變得輕鬆、高效,給你們免費分享一大批資料,讓AI愈來愈普及。在這裏給你們推薦一我的工智能Python學習交流羣:705673780歡迎你們進羣交流討論,學習交流,共同進步。

當真正開始學習的時候不免不知道從哪入手,致使效率低下影響繼續學習的信心。

但最重要的是不知道哪些技術須要重點掌握,學習時頻繁踩坑,最終浪費大量時間,因此擁有有效資源仍是頗有必要的。

相關文章
相關標籤/搜索