TinyAnimal:Grove Vision AI上的動(dòng)物識(shí)別實(shí)踐
資料介紹
描述
問(wèn)題
有許多項(xiàng)目專注于邊緣 AI/ML 的硬件。但在實(shí)際場(chǎng)景中,并沒(méi)有在產(chǎn)品之上的軟件側(cè)學(xué)習(xí)細(xì)節(jié)的顯著實(shí)踐來(lái)展現(xiàn),本文彌補(bǔ)了這一不足。
同時(shí),該項(xiàng)目在一個(gè)廉價(jià)的邊緣人工智能硬件上提供了完整的、可重現(xiàn)的EdgeML/TinyML動(dòng)物識(shí)別工作流程,這在已知的現(xiàn)有項(xiàng)目中是很少見(jiàn)的。
硬件
該項(xiàng)目的硬件是Seeed SenseCAP K1100/A1100中的 Grove Vision AI 模塊。官方商店有單機(jī)版的Grove Vision AI Module 。
Vision AI Module有一顆芯片:Himax HX6537-A。芯片上的mcu基于消費(fèi)者比較陌生的ARC架構(gòu)。主頻是400Mhz,也不高。但最有趣的是 HX6537-A,具有快速XY SDRAM 內(nèi)存架構(gòu)來(lái)加速 TinyML,如 tensorflow lite 模型推理。我們稍后會(huì)看到這款芯片的性能。
工作流程
上面的工作流程很常見(jiàn),也很清晰。我們只討論一些有趣的需求:
- 該數(shù)據(jù)集是具有 9.6GB 圖像的公共數(shù)據(jù)集。
這避免了樣本太少或代表性不足的常見(jiàn)問(wèn)題。
- 培訓(xùn)在當(dāng)?shù)赝瓿伞?/font>
這避免了樣本太少或代表性不足的常見(jiàn)問(wèn)題。
- 數(shù)據(jù)收集和實(shí)時(shí)分析是通過(guò)邊緣數(shù)據(jù)庫(kù)JoinBase完成的。
與 PostgreSQL 或 TimescaleDB 等常見(jiàn)數(shù)據(jù)庫(kù)不同,JoinBase 直接接受 MQTT 消息。與云服務(wù)不同,JoinBase支持運(yùn)行在邊緣,可以在沒(méi)有網(wǎng)絡(luò)的環(huán)境下使用。最后,JoinBase 可免費(fèi)用于商業(yè)用途,這也有利于邊緣平臺(tái)的進(jìn)一步發(fā)展。
準(zhǔn)備數(shù)據(jù)集
目前,針對(duì)野生動(dòng)物或動(dòng)物的工作邊緣 AI 的公開研究并不多。使用了少數(shù)公開可用的動(dòng)物數(shù)據(jù)集之一——來(lái)自 Kaggle 的動(dòng)物檢測(cè)圖像數(shù)據(jù)集(稱為“animals-80”數(shù)據(jù)集)。它包含 9.6GB 圖像中的 80 只動(dòng)物,對(duì)于常見(jiàn)的動(dòng)物識(shí)別任務(wù)應(yīng)該足夠了。
準(zhǔn)備訓(xùn)練數(shù)據(jù)
animals-80 數(shù)據(jù)集的好處是它已經(jīng)被標(biāo)記了。但是原始標(biāo)簽格式不是Yolov5標(biāo)簽格式。已經(jīng)進(jìn)行了準(zhǔn)備工作。核心部分就是上圖的預(yù)處理函數(shù)。請(qǐng)稍后的代碼回購(gòu)以獲得更多信息。
火車
因?yàn)槲覀儧](méi)有足夠的資源來(lái)對(duì)完整的 9.6GB 訓(xùn)練進(jìn)行完整的訓(xùn)練。因此,選擇了animals-80數(shù)據(jù)集的一個(gè)子集。
- 15-動(dòng)物子集訓(xùn)練
我們使用 24c/48T Xeon Platinum 8260 處理器使用上面從官方示例中獲得的命令進(jìn)行訓(xùn)練。
python3 train.py --img 192 --batch 32 --epochs 200 --data data/animal.yaml --cfg yolov5n6-xiao.yaml --weights yolov5n6-xiao.pt --name animals --cache --project runs/train2
然而,兩個(gè)小時(shí)后(是的,再次證明Don't use CPU to train even is a top Xeon SP),發(fā)現(xiàn)最后的識(shí)別效果很差。
主要指標(biāo)非常低:精度為 0.6,召回率和 mAP_0.5 都在 0.3 左右。
事實(shí)上,這個(gè)結(jié)果接近于不起作用。
- 4-動(dòng)物子集訓(xùn)練
讓我們將可識(shí)別的動(dòng)物種類減少為四種:蜘蛛、鴨子、喜鵲和蝴蝶,這當(dāng)然是郊區(qū)野外最常見(jiàn)的動(dòng)物。
注意,重新運(yùn)行準(zhǔn)備腳本以生成正確的data/animal.yaml.
主要指標(biāo)變得更好:精度約為 0.81,召回率和 mAP_0.5 約為 0.6。
我們將在后期推理試驗(yàn)和評(píng)估中回顧該模型的性能。可以只進(jìn)行二元分類:一種動(dòng)物和一種動(dòng)物。但在這個(gè)項(xiàng)目中,我更期待在更復(fù)雜的場(chǎng)景下評(píng)估識(shí)別效果。
- YoLov5官方預(yù)訓(xùn)練模型的 4 動(dòng)物子集訓(xùn)練
以上訓(xùn)練均由Seeed官方文檔推薦完成。預(yù)訓(xùn)練模型yolov5n6-xiao
可能缺乏良好的泛化能力。在這個(gè)項(xiàng)目中,我們嘗試了一個(gè) YoLOv5 官方最小的預(yù)訓(xùn)練模型yolov5n6
,看看是否有一些差異。
上面的結(jié)果是從官方yolov5n6
模型中得到的epochs=150.
結(jié)果很好。因?yàn)椋?/font>
主要指標(biāo):precision、recall 和 mAP_0, 5 均大于 0.9。在 ML 中,mAP_0.5 在 0.6 和 0.9 之間的差異在現(xiàn)實(shí)世界的檢測(cè)中是巨大而巨大的。
不幸的是,基于官方訓(xùn)練的最終模型yolov5n6
接近4MB,而Grove AI模塊的約束模型大小不超過(guò)1MB。因此,我們不能使用任何此類更大的模型(已嘗試)。一些建議將在最后一節(jié)中討論。 推論
經(jīng)過(guò)以上訓(xùn)練,我們進(jìn)行圖片仿真,初步評(píng)估模型的效果。讓我們看例子。
以上是 Grove AI 模塊的輸出。分類指數(shù)在中間,置信度在旁邊。對(duì)應(yīng)指標(biāo)的動(dòng)物名稱可以在上面的訓(xùn)練圖中看到。
第一次和第二次檢測(cè)是正確的,第三次檢測(cè)是錯(cuò)誤的。第三張圖是一只喜鵲在天上飛,推理結(jié)果是蝴蝶。我們只是在后面的real-wprld評(píng)估中看到這個(gè)分類模型的影響。
真實(shí)世界評(píng)估
現(xiàn)實(shí)世界中的推理比實(shí)驗(yàn)室中的推理更具挑戰(zhàn)性。因?yàn)闇y(cè)試時(shí)所處的環(huán)境或測(cè)試者或被測(cè)對(duì)象的狀態(tài)都會(huì)對(duì)結(jié)果產(chǎn)生很大的影響。這就是我們?cè)诠ぷ髁鞒滩糠诌M(jìn)行規(guī)劃的原因。
我們通過(guò)TinyWild 項(xiàng)目中的郊野公園野生動(dòng)物調(diào)查進(jìn)行了真實(shí)世界的評(píng)估。執(zhí)行兩種類型的檢測(cè):
- 基于動(dòng)態(tài)視口(移動(dòng)相機(jī))的檢測(cè)
上圖是整個(gè)調(diào)查的分類統(tǒng)計(jì)(置信度>75)。相機(jī)移動(dòng)的時(shí)間很長(zhǎng)。因此,這是一個(gè)基于動(dòng)態(tài)視口(移動(dòng)相機(jī))的檢測(cè)。源于軟件邏輯的“未知”和空動(dòng)物已被排除在外。
基本結(jié)論是,對(duì)于個(gè)體識(shí)別來(lái)說(shuō),不是特別理想,但是收集到的定性信息是有效的。
Bufferfly在統(tǒng)計(jì)上相對(duì)突出,但沒(méi)有在公園里見(jiàn)過(guò)很多次的Magpie。
這似乎是喜鵲被識(shí)別為緩沖蠅,如上面推理部分的分析所示。它們的共同點(diǎn)是,它們經(jīng)常在空中飛行。三個(gè)真實(shí)世界的因素:移動(dòng)的相機(jī)、移動(dòng)的物體和低分辨率,對(duì)識(shí)別結(jié)果有很大的影響。
- 基于靜態(tài)視口(靜態(tài)相機(jī))的檢測(cè)
為減少移動(dòng)因素的影響,還在湖邊開展了野鴨(野鴨)專項(xiàng)觀測(cè)。
在上面的第一個(gè)捕獲中,我們前端 UI 中鴨子的數(shù)量(其中一個(gè)有趣的地方是 UI 中的動(dòng)態(tài)表是由 SQL 查詢驅(qū)動(dòng)的,請(qǐng)參閱我們未來(lái)項(xiàng)目中的更多信息)。突然,兩個(gè)鴨子游入鏡頭范圍。鴨子的數(shù)量已經(jīng)增加到13??紤]到原來(lái)的鴨子是被數(shù)過(guò)的,13是當(dāng)時(shí)精確的數(shù)。發(fā)現(xiàn)Grove AI 對(duì)附近的動(dòng)物檢測(cè)非常有效,就像我們?cè)诤吽龅哪菢樱寒?dāng)三只鴨子突然以相對(duì)靜態(tài)定位游入相機(jī)范圍時(shí),我們得到了三個(gè)計(jì)數(shù)。(注:在TinyWild項(xiàng)目中,我們說(shuō)有四項(xiàng)計(jì)數(shù),但根據(jù)我們的錄音應(yīng)該更正為三項(xiàng)計(jì)數(shù)。)
建議
基于以上實(shí)踐,我們針對(duì)廉價(jià)邊緣人工智能硬件上的 EdgeML 或 TinyML給出以下建議:
- 嘗試靜態(tài)觀察
即觀察者不做大動(dòng)作。
- 檢測(cè)盡可能少的物體
例如,只做二元分類:人或沒(méi)有人,猴子或沒(méi)有猴子,鳥或沒(méi)有鳥。
- 使模型的主要指標(biāo)盡可能大
例如,precision > 0.8,recall 和 mAP_0.5 > 0.6。
- 盡可能提高識(shí)別準(zhǔn)確率(比如,更長(zhǎng)的訓(xùn)練時(shí)間)
廉價(jià)的邊緣 ML 硬件通常資源有限,例如 Grove AI 模塊的約束模型大小不超過(guò) 1MB,低于 yolov5 官方 yolov5n 預(yù)訓(xùn)練網(wǎng)絡(luò)訓(xùn)練的模型大小。發(fā)現(xiàn)較小的模型會(huì)顯著影響模型的主要指標(biāo)。
- Vision_Board_schematic
- AI遇冷?2023從融資再看AI“芯”賽道? 2次下載
- PowerAI Vision:用于圖像和視頻的自動(dòng)AI
- 使用帶RGB背光的Grove LCD
- Grove IR通用遠(yuǎn)程項(xiàng)目
- 如何將Grove語(yǔ)音識(shí)別器模塊與Arduino板連接
- DB3962_FP_AI_VISION1數(shù)據(jù)手冊(cè)摘要
- Grove Feux/TrafficLights模塊
- GitHub入門與實(shí)踐 0次下載
- LabVIEW Vision圖像處理開發(fā)寶典電子版 0次下載
- 基于ADC121C021的Grove模數(shù)轉(zhuǎn)換器原理圖PCB使用教程.
- 動(dòng)物群體逃生行為及群體虛擬仿真實(shí)驗(yàn) 11次下載
- DIY:如何將把Intel Edison 與 Grove LCD變成智能型桌鐘資料下載
- 使用數(shù)字識(shí)別和AI實(shí)現(xiàn)OCR的資料合集 20次下載
- 無(wú)線動(dòng)物識(shí)別和跟蹤管理系統(tǒng)的設(shè)計(jì)方案解析 0次下載
- AMD Vitis? Libraries Vision L3 Isppipeline U50流程示例 635次閱讀
- M-Vision在LinuxRT下使用OpenVINO加速AI推理 687次閱讀
- 射頻識(shí)別系統(tǒng)基本組成 4201次閱讀
- AI愛(ài)克斯開發(fā)板上使用OpenVINO加速YOLOv8目標(biāo)檢測(cè)模型 1067次閱讀
- 在AI愛(ài)克斯開發(fā)板上用OpenVINO?加速YOLOv8目標(biāo)檢測(cè)模型 1134次閱讀
- Kubernetes上Java應(yīng)用的最佳實(shí)踐 575次閱讀
- Grove Beginner Kit for Arduino入門套件試用指南 2345次閱讀
- AI行為識(shí)別分析技術(shù)在智慧養(yǎng)老行業(yè)的應(yīng)用 1w次閱讀
- 中控智慧科技識(shí)別終端AI702簡(jiǎn)介 5538次閱讀
- 中控智慧科技人臉識(shí)別終端AI302介紹 5327次閱讀
- 大疆無(wú)人機(jī)借助微軟AI技術(shù)識(shí)別物體 4800次閱讀
- 深度解析人臉識(shí)別技術(shù) 1.1w次閱讀
- 追溯3D人臉識(shí)別背后的技術(shù)之源 5412次閱讀
- 攜程信息安全部在web攻擊識(shí)別方面的機(jī)器學(xué)習(xí)實(shí)踐之路 5541次閱讀
- 無(wú)線射頻識(shí)別技術(shù)在畜牧業(yè)動(dòng)物管理中的應(yīng)用案例分析 2963次閱讀
下載排行
本周
- 1DC電源插座圖紙
- 0.67 MB | 2次下載 | 免費(fèi)
- 2AN-1269: 采用ADP2441/ADP2442同步降壓DC-DC穩(wěn)壓器設(shè)計(jì)反相電源
- 389.42KB | 次下載 | 免費(fèi)
- 3AN87-線性技術(shù)雜志電路集,第五卷
- 1.41MB | 次下載 | 免費(fèi)
- 4AN135-為L(zhǎng)TC3880實(shí)施強(qiáng)大的PMBus系統(tǒng)軟件
- 122.98KB | 次下載 | 免費(fèi)
- 5AN-953: 具可編程模數(shù)的直接數(shù)字頻率合成器(DDS)
- 278.15KB | 次下載 | 免費(fèi)
- 6AN-793: iCoupler隔離產(chǎn)品的ESD/閂鎖考慮因素
- 1.01MB | 次下載 | 免費(fèi)
- 7AN-718: ADuC7020評(píng)估板參考指南
- 413.19KB | 次下載 | 免費(fèi)
- 8HSW-TTY6754 二鍵觸摸感應(yīng)IC_V1
- 1.15 MB | 次下載 | 免費(fèi)
本月
- 1ADI高性能電源管理解決方案
- 2.43 MB | 450次下載 | 免費(fèi)
- 2免費(fèi)開源CC3D飛控資料(電路圖&PCB源文件、BOM、
- 5.67 MB | 137次下載 | 1 積分
- 3基于STM32單片機(jī)智能手環(huán)心率計(jì)步器體溫顯示設(shè)計(jì)
- 0.10 MB | 128次下載 | 免費(fèi)
- 4使用單片機(jī)實(shí)現(xiàn)七人表決器的程序和仿真資料免費(fèi)下載
- 2.96 MB | 44次下載 | 免費(fèi)
- 53314A函數(shù)發(fā)生器維修手冊(cè)
- 16.30 MB | 31次下載 | 免費(fèi)
- 6美的電磁爐維修手冊(cè)大全
- 1.56 MB | 22次下載 | 5 積分
- 7如何正確測(cè)試電源的紋波
- 0.36 MB | 17次下載 | 免費(fèi)
- 8感應(yīng)筆電路圖
- 0.06 MB | 10次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935121次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420062次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233088次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191367次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183335次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73810次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評(píng)論
查看更多