2022年年底,素為帶著這個(gè)項(xiàng)目,參加了NVIDIA舉辦的Jetson Edge AI開發(fā)者大賽,榮獲特別獎(jiǎng)。
賈志剛便是其中一員,他的另外一個(gè)身份是 “OpenCV學(xué)堂” 的創(chuàng)辦人。同時(shí),作為CSDN博客專家以及51CTO視頻學(xué)院認(rèn)證講師,賈志剛在圖像特征提取匹配、識(shí)別等方面有較深入的研究,擁有10年以上圖像處理項(xiàng)目實(shí)踐經(jīng)驗(yàn)和教學(xué)經(jīng)驗(yàn)。
現(xiàn)在,NVIDIA面向所有Jetson開發(fā)者發(fā)起有獎(jiǎng)?wù)骷顒?dòng)!說出您與Jetson的故事,無論是開發(fā)創(chuàng)造的經(jīng)典案例,還是學(xué)習(xí)構(gòu)建的心得體驗(yàn),都?xì)g迎您暢所欲言。
NVIDIA Jetson是面向邊緣計(jì)算的人工智能平臺(tái),適用于自主機(jī)器和其他嵌入式應(yīng)用程序。而NVIDIA Jetson Nano是一款面向嵌入式和邊緣人工智能市場(chǎng)的低成本入門級(jí)人工智能計(jì)算機(jī)。
前面安裝Jetson Orin開發(fā)套件的開發(fā)環(huán)境過程,并沒有將DeepStream智能分析套件安裝進(jìn)去,因此需要獨(dú)立的安裝過程,這里提供三種安裝方式給使用者參考。
過去的AGX Xavier開發(fā)套件是需要透過headless(USB線)方式與PC進(jìn)行連線,然后在PC上執(zhí)行SDK Manager為Jetson設(shè)備安裝開發(fā)環(huán)境,執(zhí)行步驟相對(duì)繁瑣。
前面我們花了很多力氣在TAO上面訓(xùn)練模型,其最終目的就是要部署到推理設(shè)備上發(fā)揮功能。除了將模型訓(xùn)練過程進(jìn)行非常大幅度的簡(jiǎn)化,以及整合遷移學(xué)習(xí)等功能之外,TAO還有一個(gè)非常重要的任務(wù),就是讓我們更輕松獲得TensorRT加速引擎。
前面的系列文章里提過,TAO工具將模型訓(xùn)練的絕大部分技術(shù)難題都進(jìn)行抽象化處理,大幅度減輕開發(fā)人員的負(fù)擔(dān),唯獨(dú)數(shù)據(jù)集的收集與整理仍須由人工自行處理,這幾乎是留個(gè)操作人員的最后工作了。
NVIDIA Jetson開發(fā)者日是一個(gè)面向所有開發(fā)者開放的特別活動(dòng),F(xiàn)在免費(fèi)注冊(cè),您將看到Jetson平臺(tái)專家進(jìn)行深入探討,通過多場(chǎng)講座展示自主機(jī)器和邊緣AI的最新創(chuàng)新。
前一篇從Jetson Projects所挑選的“TRANSFER LEARNING WITH JETBOT & TRAFFIC CONES”項(xiàng)目,是延續(xù)避撞應(yīng)用使用深度學(xué)習(xí)的圖像分類技術(shù),讓Jetbot實(shí)現(xiàn)循路的功能,這種“定速”類型的操作基本上比較偏向于“找路”或“走迷宮”的應(yīng)用。
Jetbot使用深度學(xué)習(xí)最基礎(chǔ)的圖像分類功能,模擬人類真實(shí)的視覺感知能力來實(shí)現(xiàn)避撞的應(yīng)用,基本的原理在前一篇文章里已經(jīng)詳細(xì)說明,原廠提供的best_model.pth模型文件所采用的數(shù)據(jù)集。
避撞功能是智能車的最基本保護(hù)能力,Jetbot使用深度學(xué)習(xí)的圖像分類技術(shù)來模擬人眼習(xí)慣實(shí)現(xiàn)這個(gè)功能,但這只是智能車所展現(xiàn)的最入門應(yīng)用而已,接下去就要提升到“循路”的功能,跟著指定路線去前進(jìn),才是真正進(jìn)入有實(shí)用價(jià)值的應(yīng)用。
避撞功能是Jetbot一開始最令人矚目的功能,因?yàn)檫@是所有小車都必須具備的最基本“自我保護(hù)”的能力,而Jetbot沒有任何距離傳感,只憑著一個(gè)CSI攝像頭就能完成這項(xiàng)任務(wù),對(duì)很多人來說是一件蠻神奇的事情。
如果已經(jīng)將Jetbot智能小車組裝好的話,現(xiàn)在就可以開始執(zhí)行Jetbot提供的實(shí)驗(yàn),在接下來的操作都在以下環(huán)境中執(zhí)行。
假如您的Jetbot小車是從外面采購第三方套件的話,可以跳過本文的內(nèi)容。如果您是按照jetbot.org原廠的自行組裝方式,那么本文所提供的一些細(xì)節(jié)點(diǎn),會(huì)讓您節(jié)省很多摸索的時(shí)間。
機(jī)電控制是智能車最重要的輸出功能,假如您使用Jetbot官方的自行打印車體并用組裝方式來搭建智能小車的話,就需要搭配下圖這個(gè) ”DC-Stepper-Motor” 控制板,因?yàn)?D打印車體是根據(jù)這個(gè)控制板所設(shè)計(jì)的。
在“Jetbot實(shí)戰(zhàn)系列05-Jetson的40針引腳”一文,已經(jīng)將SFIO與GPIO之間的關(guān)系分析清楚,接下來就是帶著大家更深入了解I2C引腳與開發(fā)庫的使用,以及調(diào)整PiOLED顯示內(nèi)容的方法。
在最開始介紹Jetbot的時(shí)候有提到,這套智能小車只使用一個(gè)CSI攝像頭作為全部輸入的設(shè)備,因?yàn)檫@種設(shè)備的體積輕巧、功耗較低。
嵌入式設(shè)備有個(gè)天生賦予的重點(diǎn)任務(wù),就是要成為自動(dòng)控制整體方案中的一員。早期市場(chǎng)對(duì)自動(dòng)控制的需求主要集中在單純的“機(jī)電控制”上,而具備智能計(jì)算的Jetson系列產(chǎn)品相對(duì)與幾十元的這類控制板來說,成本是高出一個(gè)階位。
無線網(wǎng)絡(luò)是操控?zé)o人車的必要設(shè)備,因?yàn)槲覀儾豢赡茏専o人車拖著一條網(wǎng)路線去進(jìn)行操作。要為Jetson Nano(含2GB)裝上一片無線網(wǎng)卡是非常簡(jiǎn)單的事情,但是最復(fù)雜的問題是“設(shè)置”的細(xì)節(jié),必須兼顧更多可能的使用場(chǎng)景。