今天在 Tensorflow公號看到推文Pixelopolis:由 TensorFlow Lite 構(gòu)建無人駕駛微型汽車 ,作者介紹了他們在今年Google I/O大會上展示的TensorFlot Lite構(gòu)建的無人駕駛微型汽車的展品:Pixcelopolis。

▲ TensorFlow Lite構(gòu)建的無人駕駛微型車
每輛微型汽車都裝配有一部 Pixel 手機,使用手機上的攝像頭檢測和理解周圍的信號。手機使用了 Pixel Neural Core 邊緣計算芯片( Edge TPU 支持的機器學(xué)習),可感應(yīng)車道、避免碰撞和讀取交通標志。
相比于基于云計算來實現(xiàn)視頻處理和物體檢測,邊緣計算可以減少延遲對控制的影響(也許在5G下延遲影響小一點)。

▲ 通過手機識別各種目標的Pixelpolis
下圖是整個展品的布局,模仿了一個小型城鎮(zhèn)廣場周圍的交通環(huán)境。參觀者可以通過手機端的一個應(yīng)用模擬“站點”來選擇出現(xiàn)的目的地。展品中的微型車就可以駕駛到目的地,整個過程用戶可以查看車輛周圍以及所檢測到的物體。

▲ 演示區(qū)的道路設(shè)計
車模所有對外界的感知都來自于微型車膜前面的手機攝像頭,有它獲取前方的圖片并手機內(nèi)部署的神經(jīng)網(wǎng)絡(luò)完成車道保持、停車定位、障礙檢測等。通過手機底部的USB-C接口擴展來與底層控制板通訊,完成電機控制等。

▲ 手機應(yīng)用程序與Pixelopolis交互

▲ 手機端可以查看車輛周圍所檢測到的物品
展品作者采取了與 論文:End-to-end Learning for Self-Driving Cars中相類似的技術(shù)錄像,使用卷積神經(jīng)網(wǎng)絡(luò)(CNN)來檢測每幀圖像內(nèi)的交通指示線,并給出方向盤的調(diào)整量。增加了LSTM利用前期拍攝的多個圖像幀進行改進。

▲ CNN 模型的輸入和輸出
控制器的模型很簡單,下面代碼就給出了網(wǎng)絡(luò)的結(jié)構(gòu)構(gòu)成。
net_in = Input(shape = (80, 120, 3))x = Lambda(lambda x: x/127.5 - 1.0)(net_in)x = Conv2D(24, (5, 5), strides=(2, 2),padding=“same”, activation=‘elu’)(x) x = Conv2D(36, (5, 5), strides=(2, 2),padding=“same”, activation=‘elu’)(x)x = Conv2D(48, (5, 5), strides=(2, 2),padding=“same”, activation=‘elu’)(x)x = Conv2D(64, (3, 3), padding=“same”,activation=‘elu’)(x) x = Conv2D(64, (3, 3), padding=“same”,activation=‘elu’)(x)x = Dropout(0.3)(x)x = Flatten()(x)x = Dense(100, activation=‘elu’)(x)x = Dense(50, activation=‘elu’)(x)x = Dense(10, activation=‘elu’)(x) net_out = Dense(1, name=‘net_out’)(x)model = Model(inputs=net_in, outputs=net_out)
一個神經(jīng)網(wǎng)絡(luò)是否能夠達到很好的性能,關(guān)鍵在于如何準備好讓它學(xué)習的訓(xùn)練樣本。為此。作者使用Unity, Udacity來構(gòu)建了模擬器,自動生成訓(xùn)練車輛的圖像數(shù)據(jù)。
通過在軌道上設(shè)置多個路徑點, 微型汽車 可以行駛到不同的地點,并從中收集數(shù)據(jù)。在此模擬器中,我們每 50 毫秒收集一次圖像數(shù)據(jù)和轉(zhuǎn)角數(shù)據(jù)。

▲ 模擬器中的軌道中上設(shè)有多個路徑點
大家都知道,軟件虛擬出的場景圖片和實際拍攝到的圖片會有很大的差別,包括光線、周圍環(huán)境以及其他的噪聲。為了使得訓(xùn)練的神經(jīng)網(wǎng)絡(luò)能夠適應(yīng)實際要求,需要對數(shù)據(jù)進行增強。
他們將以下變量添加到場景中:隨機的 HDRI 球體(具有不同的旋轉(zhuǎn)模式和曝光值)、隨機的環(huán)境亮度和顏色以及隨機出現(xiàn)的車輛。

▲ 各種環(huán)境下的數(shù)據(jù)增強
下圖給出了經(jīng)過訓(xùn)練之后,卷積神經(jīng)網(wǎng)絡(luò)的第一層對于輸入圖片的輸出??梢钥闯?,它已經(jīng)能夠很好地將圖片中道路信息邊緣信息能夠很好的提取,對于背景可以進行有效的壓制。

▲ 第一層神經(jīng)網(wǎng)絡(luò)的輸出
使用神經(jīng)網(wǎng)絡(luò)進行控制的一個最大的問題,就是車模有時會出現(xiàn)莫名其妙的動作。比如下面這個場景,明明已經(jīng)成功的拐過彎道,進入平坦順直的道路,車模則抽風地沖出跑道了。
這主要是因為所訓(xùn)練的樣本沒有能夠均勻包含各種道路情況,模型比較脆弱。

▲ 早期版本中玩具車偏離了軌道
為此,在場景中添加了各種形狀的曲線,以豐富原來訓(xùn)練數(shù)據(jù)庫中大多數(shù)的直線軌道數(shù)據(jù)。

▲ (左)方形軌道與(右)彎曲軌道
功夫不負有心人,修正數(shù)據(jù)集不均衡的問題后,車輛便開始能夠在彎道處正確轉(zhuǎn)向。

▲ 車輛在彎道可以成功轉(zhuǎn)彎
似乎理性的增加數(shù)據(jù)可以提高車模的性能,但有時候僅僅采用小的技巧便可以解決大問題。比如當微型車模運行到展品邊緣時,就會看到很多展臺外面的場景。外面的場景多變,很難通過數(shù)據(jù)來表征這些變化。怎么辦?
作者就用了一個字:切!
將輸入圖像的下面四分之一切出來,送入神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練,就有效化解了上述的問題。

▲ 展品上的軌道,以及在展品邊緣看到的圖像
為了能夠進行車輛定位以及檢測其它干擾車輛,在手機Pixcel 4上的Neural Core Edge TPU上運行了 ssd_mobilenet_edgetpu 模型,這是來自 TensorFlow 目標檢測模型庫 。每幀檢測時間僅用6.6毫秒,在實時應(yīng)用中游刃有余。
為了是檢測神經(jīng)網(wǎng)絡(luò)模型能夠適應(yīng)展品場景需要,作者同樣使用了模擬器和真實場景中的數(shù)據(jù)來訓(xùn)練模型。為了提高檢測魯棒性,使用了 Unreal Engine 4 來隨機生成物體和背景。使用 labelImg 工具進行對樣本進行了手動標注。

▲ 進行目標識別的數(shù)據(jù)庫
使用神經(jīng)網(wǎng)絡(luò)最大的工作量是在準備訓(xùn)練數(shù)據(jù)集合。之后的網(wǎng)絡(luò)搭建和訓(xùn)練則非常容易,分分鐘搞定。檢查一下,網(wǎng)絡(luò)識別交通標志的效果還是很不錯的。

▲ 網(wǎng)絡(luò)識別效果
最后一個工作,就是需要將網(wǎng)絡(luò)部署到手機平臺上。這需要借助于TensorFlow Lite 將模型進行個數(shù)轉(zhuǎn)換,并在Android下編寫相應(yīng)的Python腳本來進行部署。
作者還設(shè)想著,通過視覺SLAM能夠為他們的這個展品增加車輛全程定位。真的是一個手機平臺可以練習很多算法。

▲ 視覺SLAM定位
為了實現(xiàn)一個頂著手機運行的微型車膜,作者也是費力不斷改進機械結(jié)構(gòu),經(jīng)過了五代設(shè)計最終得到了一個合理的機械設(shè)計??梢詫⑹謾C、控制板、電池、電機等集成在一個小巧乖致的微型車模中。

▲ 第一代設(shè)計

▲ 第二代設(shè)計
▲ 第三代射擊
▲ 第四代設(shè)計
▲ 第五代設(shè)計
下面給出了嵌入在車體內(nèi)部的控制板、電機、電池等配件。
▲ 底層運動控制單片機板
▲ (左)屏蔽罩和電機,(右)電源插座、電源開關(guān)、電機啟動按鈕、電機重置按鈕、開發(fā)板狀態(tài) LED、電機狀態(tài) LED
▲ 3000mAh 鋰離子電池(左)與 18650 鋰離子電池(右)
的確,一輛小小的微型車模,包括了計算機視覺、深度學(xué)習、傳感器融合、定位、路徑規(guī)劃、控制、系統(tǒng)集成等多個學(xué)科內(nèi)容。通過這個環(huán)節(jié)幾乎可以將一個專業(yè)所需要學(xué)習的多個課程集成在一起。這不,在Udacity平臺上,還真的提供了無人駕駛汽車納米學(xué)位項目 供希望獲得全面培訓(xùn)的工程師和學(xué)生學(xué)習。
教育部自動化類高等教學(xué)委員會在清華召開了院長會議,其中李少遠老師對今年大學(xué)生學(xué)科競賽實踐教學(xué)進行了總結(jié)。以在剛剛過去的暑期中,新冠疫情影響下,成功舉辦的全國大學(xué)生智能車競賽為例,探索面向未來實踐發(fā)展。希望智能車競賽為工科學(xué)生的大學(xué)期間專業(yè)課程實踐提供更好的鍛煉平臺。
責任編輯:haq
-
鋰電池
+關(guān)注
關(guān)注
263文章
8771瀏覽量
186586 -
芯片
+關(guān)注
關(guān)注
463文章
54431瀏覽量
469382 -
網(wǎng)絡(luò)
+關(guān)注
關(guān)注
14文章
8336瀏覽量
95568 -
無人駕駛
+關(guān)注
關(guān)注
100文章
4309瀏覽量
127102 -
TensorFlow Lite
+關(guān)注
關(guān)注
0文章
26瀏覽量
845
發(fā)布評論請先 登錄
時間同步在無人駕駛領(lǐng)域的應(yīng)用
在 NPU 上運行了 eIQ TensorFlow Lite 示例模型報錯
驅(qū)動無人駕駛出租車的核心技術(shù)與實現(xiàn)挑戰(zhàn)
格陸博科技榮獲2025低速無人駕駛行業(yè)TOP20核心供應(yīng)鏈獎
佑駕創(chuàng)新助力低速無人駕駛行業(yè)高質(zhì)量發(fā)展
智行者科技榮獲2025高工金球獎年度無人駕駛商業(yè)化落地先鋒獎
小馬智行無人駕駛車參與第十五屆全運會火炬?zhèn)鬟f
2025無人駕駛技術(shù)細節(jié)及發(fā)展趨勢|(星創(chuàng)易聯(lián)細節(jié)解析)
無人駕駛:智能決策與精準執(zhí)行的融合
【上海晶珩睿莓1開發(fā)板試用體驗】TensorFlow-Lite物體歸類(classify)
西井科技中標鄂州花湖國際機場無人駕駛貨運牽引車項目
無法將Tensorflow Lite模型轉(zhuǎn)換為OpenVINO?格式怎么處理?
智行者科技無人駕駛小巴落地海南
無人駕駛技術(shù)未來在哪里?低速才是突破口
TensorFlow Lite 構(gòu)建的無人駕駛微型汽車
評論