逐飛科技
2021-01-07 Thursday
▌01 前言
各位車友好, 第十六屆全國大學(xué)生智能車競賽競速組規(guī)則 發(fā)布后,大家已經(jīng)注意到由恩智浦贊助的 AI視覺組 是最具有綜合性的一個組,感謝NXP繼續(xù)對大賽的支持,讓我們感覺了挑戰(zhàn)性。
-
第十六屆全國大學(xué)生智能車競賽競速組規(guī)則:
https://zhuoqing.blog.csdn.net/article/details/110253008 -
ng.blog.csdn.net/article/details/111352093
關(guān)于“ 第十六屆全國大學(xué)生智能車競賽競速組-室內(nèi)視覺組補充說明[2] ”的初稿詳情大家可以通過卓老師的微信公眾號推文了解到,點擊此處查看。
-
第十六屆全國大學(xué)生智能車競賽競速組-室內(nèi)視覺組補充說明:
https://zhuoqing.blog.csdn.net/article/details/111352093
初稿發(fā)布后,很多同學(xué)都對AI視覺組產(chǎn)生了濃厚的興趣,同時也產(chǎn)生了很多疑問。所以,我們今天對AI視覺組的賽題進(jìn)行一個簡單分析,希望能給目前還在迷茫準(zhǔn)備階段的車友們打開一些思路。
根據(jù)初稿我們知道:車模限定使用C型車、微控制器限定使用NXP公司的MCU,推薦使用i.MX RT系列高性能MCU、傳感器基本不限,可以使用OpenMV RT模塊,但需要提醒的是該模塊并不能完成這個賽題組的所有任務(wù),下文有詳細(xì)解釋,請仔細(xì)閱讀。
▌02 賽題任務(wù)分解
1.循跡
與其他競速組賽道兼容,依然需要循跡,依然包含120°三岔路口,循跡任務(wù)推薦采用普通攝像頭來完成,當(dāng)然,也不是太普通,畢竟是全局快門的總鉆風(fēng),這個任務(wù)比較傳統(tǒng),這里不再贅述,可以查看往期推文。
2.數(shù)字識別
在三岔路口需要對路口處的數(shù)字進(jìn)行識別,并根據(jù)數(shù)字的奇偶性,來決策應(yīng)該走左邊還是走右邊,數(shù)字識別可以使用OpenMV RT模塊,也可以使用OpenART(本文后面會有OpenART的相關(guān)介紹)來完成。
3.AprilTag識別
AprilTag是一個視覺基準(zhǔn)庫,在AR,機器人,相機校準(zhǔn)領(lǐng)域廣泛使用。設(shè)定為與二維碼相似但相對更簡單的特定標(biāo)志,實現(xiàn)快速檢測。
在賽題中AprilTag碼也代表著數(shù)字,依然通過識別其所代表的數(shù)字,并判斷奇偶性來得知靶標(biāo)牌是在賽道的哪一側(cè),AprilTag碼識別可以使用OpenMV RT模塊,也可以使用OpenART(本文后面會有OpenART的相關(guān)介紹)來完成。
4.物體識別
賽題中包含動物圖案和水果圖案,這部分內(nèi)容也是該組別最能體現(xiàn)“AI”的一個環(huán)節(jié)。動物類包含狗、貓、馬、豬、牛五個子類別,水果類包含蘋果、橘子、葡萄、香蕉、榴蓮五個子類別,圖案對象均為全身或整體照片。
關(guān)于動物和水果的識別,需要采用第十五屆AI電磁組部署神經(jīng)網(wǎng)絡(luò)模型的方式,來實現(xiàn)對圖案的識別,區(qū)別是數(shù)據(jù)量大了許多,所以這個環(huán)節(jié)的任務(wù)采用OpenMV RT模塊就完成不了了,必定需要部署神經(jīng)網(wǎng)絡(luò)模型,當(dāng)然也可以在該模塊上自行部署,但該模塊上沒有SDRAM,無法部署較大的模型,所以推薦在獨立的高性能MCU上部署AI模型進(jìn)行訓(xùn)練。
這里又提到對MCU性能有要求,因此規(guī)則中推薦使用NXP的i.MX RT系列的高性能MCU。對應(yīng)的,我們推薦使用RT1064來作為部署AI模型的MCU,同時逐飛的RT1064核心板板載32M SDRAM,正好可以滿足模型數(shù)據(jù)量對空間的要求。
關(guān)于圖案識別的參考數(shù)據(jù)集及識別示例,NXP都會提供,屆時逐飛也會第一時間進(jìn)行驗證。同時在這個賽題任務(wù)的討論時,基本意見是考慮預(yù)賽階段的數(shù)據(jù)集由組委會統(tǒng)一提供,也就是說預(yù)賽中出現(xiàn)的水果和動物圖案,都在預(yù)先提供的數(shù)據(jù)集里,決賽階段選擇預(yù)先告知的數(shù)據(jù)集之外的水果和動物圖案,這樣可以保證大多數(shù)同學(xué)的完賽率,同時提高決賽階段的競技水平,誰的訓(xùn)練更充分,誰就更有可能在決賽中的識別環(huán)節(jié)取勝,具體實施方案應(yīng)該會在正式版的規(guī)則中明確。
同時水果和動物的圖案可能還需要一個外框,用于定位抓圖,通過對圖像中這個外框的識別來定位,將攝像頭中有效的動物水果圖案抓取出來進(jìn)行識別,避免背景對識別的干擾,這一點也許需要加入到最終的規(guī)則中去,后面逐飛在做驗證時也會更清楚這一點的需求,AprilTag碼的位置與靶標(biāo)牌的距離及相對位置也需要實際測試,規(guī)則中的距離要求可能需要調(diào)整,有待進(jìn)一步驗證。
5.激光打靶
在識別到圖案為水果時,需要使用車載小型激光發(fā)射器對準(zhǔn)靶心發(fā)送一束激光,打中才算完成該項任務(wù),激光發(fā)射的相關(guān)技術(shù)要求,會在后面的正式規(guī)則文檔中詳細(xì)寫出,相對而言,這部分工作需要建立在圖案識別的基礎(chǔ)上,識別準(zhǔn)確了,打靶的控制才能準(zhǔn)確實現(xiàn)。激光發(fā)射部分的制作很簡單,屆時會給出參考方案和技術(shù)指標(biāo)。激光瞄準(zhǔn)部分的機械結(jié)構(gòu)應(yīng)該需要用到舵機云臺,通過控制來實現(xiàn)瞄準(zhǔn)靶心。
▌02 OpenART
接下來給大家簡單介紹一下上文中多次提到OpenART,這究竟是一個什么神器?
OpenART是由恩智浦研發(fā)的,最初的設(shè)計構(gòu)想是做一套基于NXP i.MX RT系列高性能MCU的通用AI教育套件.
⊙ 應(yīng)用場合:
- 人工智能教育,綜合創(chuàng)新,原型驗證
- 非多媒體數(shù)據(jù)上的機器學(xué)習(xí)(異常檢測、姿態(tài)識別、智能控制策略)
- 語音觸發(fā)、聲源定位
- 人臉識別
- 智能可運動物體(模仿+強化學(xué)習(xí))-機電聯(lián)動:云臺載具
- 機器視覺(OpenMV,從這里可以看出,它可以替代OpenMV)
- MCU教育
- 傳統(tǒng)算法轉(zhuǎn)深度學(xué)習(xí)
⊙ 硬件設(shè)計特點:
- 模塊化設(shè)計
- 兼容樹莓派通信接口
- 強化數(shù)據(jù)采集 –攝像頭、多麥克風(fēng)、多路AD、加速度、陀螺儀、地磁、壓力、溫度、濕度、照度等多傳感器融合
- 尺寸小巧
⊙ 軟件特點:
- RT-Thread內(nèi)核,驅(qū)動,軟件組件及開發(fā)環(huán)境
- Micropython環(huán)境,用于二次開發(fā), AI教學(xué)
- OpenMV機器視覺庫,運行OpenMV IDE自帶視覺處理腳本
- eIQ: NXP機器學(xué)習(xí)開發(fā)包
OpenART套件的軟件部分采用RTOS為基礎(chǔ),可以說RTOS為這套系統(tǒng)提供了很便捷的開發(fā)方式,對于大賽的AI視覺組來講,有RTOS的加持,可以為軟件設(shè)計提供更便捷的開發(fā)環(huán)境。
尤其該賽題組涉及到多任務(wù),及Python和C語言的兩種開發(fā)語言,有了操作系統(tǒng)做多任務(wù)分配,就大大的提高了可操作性,同學(xué)們可以根據(jù)自己的需求和能力,來自由分配和設(shè)計自己的整體軟件結(jié)構(gòu),Python腳本可實現(xiàn)基礎(chǔ)硬件控制,C語言可以完成主控邏輯的程序編寫,同時解決了OpenMV只能用Python文件編寫功能,不能用C語言來編寫實時控制邏輯代碼的問題。
所以O(shè)penART教育套件的軟件結(jié)構(gòu)設(shè)計初衷,幾乎完美契合AI視覺組的任務(wù)需求,引入RTOS也在這種復(fù)雜多任務(wù)嵌入式系統(tǒng)的設(shè)計中,體現(xiàn)出了巨大的優(yōu)勢。
上面也提到了OpenART本身就可以變身為一個OpenMV,通過Python腳本就可以完成人臉檢測、色塊檢測、邊緣檢測等視覺處理腳本。??同時,現(xiàn)在的OpenART支持3種神經(jīng)網(wǎng)絡(luò)引擎:分別是openMV的舊式nn模塊,tf模塊,以及nncu模塊。將來會支持GLOW。
接下來會制作基于nncu和tf模塊的模型,nncu模塊使用舊式CMSIS-NN API并且優(yōu)化了性能,而tf模塊使用新式CMSIS-NN的"_s8" API,性能有少量下降但8位精度更高。
▲ OpenART工具包架構(gòu)
按照OpenART的設(shè)計思路,基于與智能車大賽AI視覺組任務(wù)需求的完美契合,NXP與逐飛聯(lián)合設(shè)計了這套硬件,如下圖所示,整個開發(fā)板依然圍繞逐飛RT1064核心板展開,攝像頭可兼容OpenMV4接口的Camera模塊和逐飛的凌瞳彩色攝像頭。
受NXP委托,逐飛正在做基于OpenART的AI視覺組賽題任務(wù)驗證,驗證完成后將會給出一個入門參考方案給同學(xué)們(包含神經(jīng)網(wǎng)絡(luò)模型部署等),但更多的工作仍需要同學(xué)們自己去完成,包括OpenART開發(fā)套件也只能用于學(xué)習(xí),只有RT1064核心板、OpenMV RT模塊、凌瞳彩色攝像頭等模塊可以直接用于比賽,參賽作品的拓展板需要同學(xué)們根據(jù)自己的需求自行設(shè)計和裁減。
因為OpenART開發(fā)套件包含的功能較多,對于競賽而言,有些功能是多余的,但如果您對其他部分也感興趣,可以在比賽之余通過開發(fā)板學(xué)習(xí)到更多的應(yīng)用。
▲ OpenART 開發(fā)板
好了,本次的AI視覺組賽題分析就先到這了,更多關(guān)于AI視覺組的硬件適配,軟件方案的介紹且聽下回分解,歡迎留言或進(jìn)QQ群(946236488)討論。
本文來自微信公眾號文章:智能車競賽,AI視覺組賽題淺析
免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!