避撞功能是智能車的最基本保護(hù)能力,Jetbot 使用深度學(xué)習(xí)的圖像分類技術(shù)來(lái)模擬人眼習(xí)慣實(shí)現(xiàn)這個(gè)功能,但這只是智能車所展現(xiàn)的最入門應(yīng)用而已,接下去就要提升到“循路”的功能,跟著指定路線去前進(jìn),才是真正進(jìn)入有實(shí)用價(jià)值的應(yīng)用。
在這里有非常多精選的項(xiàng)目,其中的“TRANSFER LEARNING WITH JETBOT & TRAFFIC CONES”項(xiàng)目就是前面避撞應(yīng)用的延伸,模擬無(wú)人駕駛車在道路上識(shí)別路錐所規(guī)劃出的道路(如下圖),然后驅(qū)動(dòng)機(jī)電控制系統(tǒng)執(zhí)行智能駕駛的功能。
有能力的讀者可以訪問(wèn),觀看整個(gè)項(xiàng)目的構(gòu)思邏輯,事實(shí)上這個(gè)項(xiàng)目使用了與避撞項(xiàng)目相同的深度學(xué)習(xí)圖像分類技術(shù)來(lái)進(jìn)行路錐的識(shí)別,在“blocked”與“free”與兩個(gè)分類之上再添加“l(fā)eft”與“right”兩個(gè)分類,其他的執(zhí)行邏輯與避撞項(xiàng)目幾乎完全一樣。
在 traffic_cones_driving 目錄下有三個(gè)腳本,分別執(zhí)行數(shù)據(jù)收集、模型訓(xùn)練與現(xiàn)場(chǎng)演示三部分,與避撞應(yīng)用的節(jié)奏是一樣的,最關(guān)鍵的環(huán)節(jié)也是在“數(shù)據(jù)收集(data_collection)”部分,至于模型訓(xùn)練(train_model)的部分則添加遷移學(xué)習(xí)的功能,而現(xiàn)場(chǎng)演示(live_demo)的部分則增加比較細(xì)膩的判斷,并且提供運(yùn)行過(guò)程的記錄功能,便于后面進(jìn)行矯正的任務(wù)。
現(xiàn)在根據(jù)三個(gè)步驟所需要注意的重點(diǎn),提供一些參考的說(shuō)明,至于執(zhí)行代碼的細(xì)節(jié)直接對(duì)照避撞項(xiàng)目的腳本就可以。
1.數(shù)據(jù)收集:
使用data_collection_cones.ipynb
這個(gè)環(huán)境同樣是整個(gè)應(yīng)用中最關(guān)鍵與最繁瑣的步驟,與避撞項(xiàng)目相同的,我們必須使用 Jetbot 上面的 CSI 攝像頭進(jìn)行數(shù)據(jù)采集,并且同時(shí)進(jìn)行分類,主要有以下三件需要注意的事項(xiàng):
(1)雖然原創(chuàng)團(tuán)隊(duì)使用“小紅錐(如上圖)”作為“分道物體”去部署行進(jìn)的路線,但其實(shí)也可以使用任何物體來(lái)進(jìn)行體驗(yàn),包括“跳棋子”、“圍棋子”或用“非透明”的定位膠帶(如下圖),只要顏色與地面(板)有明顯反差的就行,例如淺色地板就用深色物體或膠帶、深色地板就用淺色物體或膠帶。
或者在下圖這種印好賽道的板子或者塑料布上也可以,重點(diǎn)并不在于是否為“立體物”,而是能在圖像中識(shí)別出的“明顯邊界”,這樣就能用來(lái)執(zhí)行這個(gè)數(shù)據(jù)收集的任務(wù)。
(2)執(zhí)行圖像收集的時(shí)候,并不需要將分道物體按照指定路線進(jìn)行排列,只需要排成半個(gè)圓形或方形就可以。這里需要識(shí)別的“邊界狀況”是固定的立體物或線條,比前面避撞項(xiàng)目所需要面對(duì)眾多“未知物”更加簡(jiǎn)單,因此 4 個(gè)分類大約各收集 20~30 張圖片也就夠了。
(3)采集數(shù)據(jù)的分類,請(qǐng)根據(jù)“攝像頭所看到的畫面”去進(jìn)行分類,避免從人眼去判斷目前鏡頭圖像“可能”是哪個(gè)類別,這樣才不會(huì)造成誤差而影響最終的識(shí)別效果。下面列出幾種分道物所采集分類的圖像,提供作參考。
2.模型訓(xùn)練:使用train_model_cones.ipynb
這個(gè)項(xiàng)目名稱里雖然有“Transfer Learning”在里面,不過(guò)只是在“Define the neural network”第一個(gè)步驟的“model = models.alexnet(pretrained=True)”用到 PyTorch 預(yù)訓(xùn)練好的 AlexNet 1000 類的分類器模型,但是這些分類與我們所使用的分道物基本沒(méi)有關(guān)聯(lián),因此以使用這個(gè)模型為基礎(chǔ)的遷移學(xué)習(xí)并沒(méi)有明顯的幫助。
如果想將前面的避撞功能加到這個(gè)循路應(yīng)用里,有兩種方法可以實(shí)現(xiàn):
(1)將避撞項(xiàng)目收集好的 “blocked” 與 “free” 類別圖像數(shù)據(jù),分別加到這個(gè)項(xiàng)目的對(duì)應(yīng)目錄中一起進(jìn)行模型訓(xùn)練。
(2)運(yùn)用“遷移學(xué)習(xí)”技巧,在執(zhí)行模型訓(xùn)練之前將避障項(xiàng)目的 best_model.pth 導(dǎo)進(jìn)來(lái)作為訓(xùn)練的基礎(chǔ),當(dāng)然您得先把避撞的 best_model.pth 模型文件復(fù)制到這個(gè)目錄下。不過(guò)這個(gè)做法需要在代碼上做些小幅度的修改,將“Define the neural network”第一個(gè)步驟進(jìn)行以下的調(diào)整:
#關(guān)閉原本的pretrained設(shè)置
model=models.alexnet(pretrained=False)
#添加下面代碼
model.load_state_dict(torch.load('best_model.pth'))
這種做法的好處是,未來(lái)面向更多不同分道物的時(shí)候,可以不斷往上疊加以增加Jetbot適合的使用場(chǎng)景。
例如第一次使用紅錐做分道物,進(jìn)行數(shù)據(jù)采集并訓(xùn)練出 best_model_cones_1.pth,等后面要使用定位膠帶做分道物的時(shí)候,就能在 best_model_cones_1.pth 的基礎(chǔ)上去訓(xùn)練能識(shí)別紅錐與定位膠帶兩種分道物的 best_model_cones_2.pth 模型,真正發(fā)揮遷移學(xué)習(xí)的效果。
3.現(xiàn)場(chǎng)演示:使用live_demo_cones.ipynb
這個(gè)腳本與避撞的 live_demo 基本邏輯是一樣的,項(xiàng)目提供一個(gè)完整的決策流程圖(如下)可以參考一下。
另外這里面還添加一個(gè)“第一視角(FPV, Fisrt Person View)”的視頻記錄功能,將循路的行進(jìn)過(guò)程完整記錄下來(lái)。
這個(gè)功能在校正過(guò)程中是非常有用的,但是視頻存儲(chǔ)的工作會(huì)占用 Jetbot 不少的 CPU 計(jì)算資源以及非常緊湊的存儲(chǔ)空間,因此完成校正之后就建議將這個(gè)功能關(guān)閉,這個(gè)功能的函數(shù)名是 “save_frames_with_telemetry” ,請(qǐng)使用網(wǎng)頁(yè)搜索功能在腳本里找到位置,只要在前面加上 “#” 關(guān)閉調(diào)用就可以。
剩下的工作就是按部就班去執(zhí)行,有了這個(gè)循路的功能之后,才是讓 Jetbot 真正進(jìn)入智能車應(yīng)用的起點(diǎn)。
原文標(biāo)題:NVIDIA Jetson Nano 2GB 系列文章(51):圖像分類法實(shí)現(xiàn)找路功能
文章出處:【微信公眾號(hào):NVIDIA英偉達(dá)企業(yè)解決方案】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
審核編輯:湯梓紅
-
功能
+關(guān)注
關(guān)注
3文章
590瀏覽量
30025 -
攝像頭
+關(guān)注
關(guān)注
61文章
5025瀏覽量
101584 -
智能車
+關(guān)注
關(guān)注
21文章
409瀏覽量
78027
原文標(biāo)題:NVIDIA Jetson Nano 2GB 系列文章(51):圖像分類法實(shí)現(xiàn)找路功能
文章出處:【微信號(hào):NVIDIA-Enterprise,微信公眾號(hào):NVIDIA英偉達(dá)企業(yè)解決方案】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
無(wú)線語(yǔ)音遙控智能車設(shè)計(jì)與實(shí)現(xiàn)
智能車設(shè)計(jì)基礎(chǔ)
多功能智能車
實(shí)時(shí)監(jiān)控防火智能車
樹(shù)莓派智能車AlphaBot系列教程
智能車系統(tǒng)解決方案總體設(shè)計(jì)
DIY一個(gè)智能車的資料分享
智能車制作相關(guān)資料分享
智能車競(jìng)賽淺談——圖像篇
圖像采集與處理在智能車系統(tǒng)中的應(yīng)用

圖像采集與處理在智能車系統(tǒng)中的應(yīng)用

評(píng)論