700行Python代碼做一輛無人駕駛車,感興趣么?

更新:大家可以點下面這個鏈接了解課程詳情

17小時從零做一輛無人駕駛車

各位畢老師的老鐵們,真是抱歉了這麼久沒有更新,前一陣都在忙無人駕駛夏令營的事情,現在稍微閑下來一點更新一下。下面是無人駕駛夏令營的一個回顧視頻,大家可以從中大概了解我們無人駕駛夏令營都做了些啥。

每顆豆旗下清駕少年2017夏令營視頻_騰訊視頻 https://v.qq.com/x/cover/j05430sh05w/j05430sh05w.html

在視頻中你可以看到我們把一個普通的遙控車改造成了一個可以通過攝像頭識別道路進行無人駕駛的車。

這裡的核心是在樹莓派上面跑了一段深度學習的代碼,將攝像頭的數據進行分析預測接下來的行進方向。

我統計了一下全部的代碼行數,包括控制模型車電機轉動、採集照片數據、訓練模型、實際預測等幾個代碼文件,總共約700行Python代碼。這個量級的代碼對比一些其它的項目可以說是非常少了,當然這少不了Keras的功勞。

事實上我們也不是第一個把遙控車改成樹莓派控制的深度學習無人駕駛車,你在GitHub上可以找到一些其它的類似項目。不過大部分要麼代碼比較亂從而難梳理,要麼功能比較複雜從而不適合初學者掌握。所以我們去掉所有其它非必要的功能模塊,只留下核心的部分,讓初學者能一目了然。

代碼部分由以下5個文件組成:

  1. 車行駛控制(前進、後退、轉向、停止)
  2. 車行駛及採集數據
  3. 照片數據格式轉換
  4. 訓練並生成深度學習神經網路模型
  5. 在實際道路使用訓練好的模型實時預測並行駛

硬體部分主要由以下幾個部分組成:

  1. 遙控車
  2. 樹莓派
  3. 電機驅動板
  4. 樹莓派攝像頭
  5. 樹莓派供電板
  6. 連接支架

這次無人駕駛夏令營反饋挺不錯,學生們都學得相當認真,唯一的不足就是時間短了一些,有些內容沒有展開來講。

所以我準備把這個無人駕駛課程搬到線上來,十月份開課。目前計劃是十一節課,涉及的內容包括樹莓派基礎、Linux基礎、遙控車改造、樹莓派GPIO控制、簡單的電機控制、樹莓派攝像頭的使用、人工智慧基礎入門、Keras搭建深度學習神經網路、無人駕駛車調試等。

課程的形式將採用每周一次錄播+每周一次直播答疑+日常微信群交流並且包含硬體材料,硬體材料會快遞寄給你,我將會主講除了人工智慧以外的內容,人工智慧部分我將請另外一到兩位研究人工智慧方向的清華博士生來講解和答疑。

課程結束後會保證每個人都能從頭開始製作完成一輛利用深度學習神經網路實現無人駕駛的車,你可以用它隨意訓練不同的賽道,而且由於代碼量很少,我能保證你可以清晰地了解代碼的每個部分都是幹什麼用的。

另外我還計劃聯合一些高校和企業在課程結束後一起辦一次無人駕駛車大賽,希望讓大家的作品能夠在實際比賽中比試比試,看看誰的無人車模型調教得最好。

所以如果你對這個無人駕駛線上課感興趣的話可以點擊這個鏈接填個非常簡單的表格,給我一些反饋,我將根據反饋來提前調整課程的細節

好了下面扯一點最近的感想。

現在往大街上隨便拉一個人問聽沒聽過人工智慧,TA90%的可能會說聽過。然而,根據我在知乎和現實生活中的觀察,人工智慧科研圈和大眾之間還存在比較深的gap,大眾對人工智慧其實還沒有較好的認識。

典型的比如深度學習這個詞,我最近參加一些活動發現很多人完全是根據字面意思隨意發揮理解力,如果你知道深度學習的真正含義,你可以試試看問一個不了解神經網路的人這四個字是什麼意思,很大可能TA會發揮想像力來解釋。所以要彌補這個鴻溝,真正達成中國從國家層面設計的規劃,還需要通過更多的教育,比賽來普及。

我個人其實一直都希望將最前沿科技的門檻降低,讓更多的人可以接觸甚至使用最新的技術。但是這裡面要做的事情其實真的蠻難的,不是隨便拉一個相關圈子裡的科研人員就可以給你講清楚的。科研人員為了追求更高的溝通交流效率,會默認交流的另一方是有基礎的知識和經驗的,因此會用很多術語,會略過很多基礎知識的解釋。然而面對沒有基礎的大眾,這樣的交流或者教學是肯定會出問題的。

我遇到過太多理工科的研究生講課時是以開實驗室例會的方式在講,一不注意就會跳過一些基礎內容的講解並且陷入另一些對初學者沒有太大意義的細節中去。這樣的講課方式可能適合實驗室開例會,但對於很多零基礎的同學可以說是相當不友好了。

因此要將最前沿的技術普及給更多的人,其實要花很大的功夫。我們需要將一些細節掰開來解釋,同時把一些不必要細究的技術封裝成簡單的介面讓初學者調用,哪些該講哪些不該講,這個度其實不容易把握。

一直以來我評價自己的一個點就是擅長在比較短的時間內入門一個新的工具並完成一項目標明確的任務,肯定達不到優秀的程度,但是完成一般的任務足夠了。

其實從「道」的方面來說就是不畏難,敢嘗試,走出你的comfort zone。我發現其實有不少人,如果遇到一項任務需要用到以前沒學過的技能,第一反應是我不行,搞不定,交給別人吧,連試都不願意試一下。但只要你保持一個好的心態去試一下你會發現很多事情要想入門真的沒有想像中的難。

至於「術」的方面,有哪些方法就留著在我們的線上課里講吧哈哈


推薦閱讀:

漫談中美無人駕駛技術差距
學習無人駕駛車,你所必須知道的。
沃爾沃XC90的『高度自動駕駛』使用體驗如何?
自動駕駛處理器之戰拉開序幕

TAG:无人驾驶车 | 人工智能 | 树莓派RaspberryPi |