電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>TinyAnimal:Grove Vision AI上的動物識別實踐

TinyAnimal:Grove Vision AI上的動物識別實踐

2023-06-13 | zip | 0.00 MB | 次下載 | 免費

資料介紹

描述

問題

有許多項目專注于邊緣 AI/ML 的硬件。但在實際場景中,并沒有在產品之上的軟件側學習細節(jié)的顯著實踐來展現(xiàn),本文彌補了這一不足。

同時,該項目在一個廉價的邊緣人工智能硬件上提供了完整的、可重現(xiàn)的EdgeML/TinyML動物識別工作流程,這在已知的現(xiàn)有項目中是很少見的。

硬件

poYBAGSAgP2AGodBABUJJLc2CeE062.jpg
SenseCAP K1100 套件中的 Wio 終端和 Grove Vision AI 模塊
?

該項目的硬件是Seeed SenseCAP K1100/A1100中的 Grove Vision AI 模塊官方商店有單機版的Grove Vision AI Module 。

Vision AI Module有一顆芯片:Himax HX6537-A。芯片上的mcu基于消費者比較陌生的ARC架構。主頻是400Mhz,也不高。但最有趣的是 HX6537-A,具有快速XY SDRAM 內存架構來加速 TinyML,如 tensorflow lite 模型推理。我們稍后會看到這款芯片的性能。

工作流程

pYYBAGSAgQCAAr6CAADpW1yWZTs370.png
TinyAnimal 的工作流程
?

上面的工作流程很常見,也很清晰。我們只討論一些有趣的需求:

  • 該數(shù)據(jù)集是具有 9.6GB 圖像的公共數(shù)據(jù)集。

這避免了樣本太少或代表性不足的常見問題。

  • 培訓在當?shù)赝瓿伞?/font>

這避免了樣本太少或代表性不足的常見問題。

  • 數(shù)據(jù)收集和實時分析是通過邊緣數(shù)據(jù)庫JoinBase完成的。

與 PostgreSQL 或 TimescaleDB 等常見數(shù)據(jù)庫不同,JoinBase 直接接受 MQTT 消息。與云服務不同,JoinBase支持運行在邊緣,可以在沒有網(wǎng)絡的環(huán)境下使用。最后,JoinBase 可免費用于商業(yè)用途,這也有利于邊緣平臺的進一步發(fā)展。

準備數(shù)據(jù)集

poYBAGSAgQKAS0AfAAA-fJakKmg372.png
“animals-80”數(shù)據(jù)集的整體
?

目前,針對野生動物或動物的工作邊緣 AI 的公開研究并不多。使用了少數(shù)公開可用的動物數(shù)據(jù)集之一——來自 Kaggle 的動物檢測圖像數(shù)據(jù)集(稱為“animals-80”數(shù)據(jù)集)。它包含 9.6GB 圖像中的 80 只動物,對于常見的動物識別任務應該足夠了。

準備訓練數(shù)據(jù)

animals-80 數(shù)據(jù)集的好處是它已經被標記了。但是原始標簽格式不是Yolov5標簽格式。已經進行了準備工作。核心部分就是上圖的預處理函數(shù)。請稍后的代碼回購以獲得更多信息。

火車

因為我們沒有足夠的資源來對完整的 9.6GB 訓練進行完整的訓練。因此,選擇了animals-80數(shù)據(jù)集的一個子集。

  • 15-動物子集訓練
?
?
?
pYYBAGSAgQSAYhDpAACanSRL85g906.jpg
?
1 / 2 ? 15-動物子集訓練
?

我們使用 24c/48T Xeon Platinum 8260 處理器使用上面從官方示例中獲得的命令進行訓練。

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

然而,兩個小時后(是的,再次證明Don't use CPU to train even is a top Xeon SP),發(fā)現(xiàn)最后的識別效果很差。

主要指標非常低:精度為 0.6,召回率和 mAP_0.5 都在 0.3 左右。

事實上,這個結果接近于不起作用。

  • 4-動物子集訓練

讓我們將可識別的動物種類減少為四種:蜘蛛、鴨子、喜鵲和蝴蝶,這當然是郊區(qū)野外最常見的動物。

注意,重新運行準備腳本以生成正確的data/animal.yaml.

?
?
?
pYYBAGSAgQaAFtq9AACHoCjo1jc506.jpg
?
1 / 2 ? 4-動物子集訓練
?
主要指標變得更好:精度約為 0.81,召回率和 mAP_0.5 約為 0.6。

我們將在后期推理試驗和評估中回顧該模型的性能。可以只進行二元分類:一種動物和一種動物。在這個項目中,我更期待在更復雜的場景下評估識別效果。

  • YoLov5官方預訓練模型的 4 動物子集訓練

以上訓練均由Seeed官方文檔推薦完成預訓練模型yolov5n6-xiao可能缺乏良好的泛化能力。在這個項目中,我們嘗試了一個 YoLOv5 官方最小的預訓練模型yolov5n6,看看是否有一些差異。

poYBAGSAgQmAMhjMAAJH_wfXv-M407.png
使用官方 yolov5n6 模型進行 4 動物子集訓練
?

上面的結果是從官方yolov5n6模型中得到的epochs=150.結果很好。因為,

主要指標:precision、recall 和 mAP_0, 5 均大于 0.9。在 ML 中,mAP_0.5 在 0.6 和 0.9 之間的差異在現(xiàn)實世界的檢測中是巨大而巨大的。

不幸的是,基于官方訓練的最終模型yolov5n6接近4MB,而Grove AI模塊的約束模型大小不超過1MB。因此,我們不能使用任何此類更大的模型(已嘗試)。一些建議將在最后一節(jié)中討論。 推論

poYBAGSAgQyAB7i6AAB-W2aDQnc691.png
仿真中檢測的三個例子
?

經過以上訓練,我們進行圖片仿真,初步評估模型的效果。讓我們看例子。

以上是 Grove AI 模塊的輸出。分類指數(shù)在中間,置信度在旁邊。對應指標的動物名稱可以在上面的訓練圖中看到。

第一次和第二次檢測是正確的,第三次檢測是錯誤的。第三張圖是一只喜鵲在天上飛,推理結果是蝴蝶。我們只是在后面的real-wprld評估中看到這個分類模型的影響。

真實世界評估

現(xiàn)實世界中的推理比實驗室中的推理更具挑戰(zhàn)性。因為測試時所處的環(huán)境或測試者或被測對象的狀態(tài)都會對結果產生很大的影響。這就是我們在工作流程部分進行規(guī)劃的原因。

我們通過TinyWild 項目中的郊野公園野生動物調查進行了真實世界的評估。執(zhí)行兩種類型的檢測:

  • 基于動態(tài)視口(移動相機)的檢測
pYYBAGSAgQ6AZhV4AABC4eEV3og363.png
整個調查的分類統(tǒng)計(置信度>75)
?

上圖是整個調查的分類統(tǒng)計(置信度>75)。相機移動的時間很長。因此,這是一個基于動態(tài)視口(移動相機)的檢測。源于軟件邏輯的“未知”和空動物已被排除在外。

基本結論是,對于個體識別來說,不是特別理想,但是收集到的定性信息是有效的。

Bufferfly在統(tǒng)計上相對突出,但沒有在公園里見過很多次的Magpie。

這似乎是喜鵲被識別為緩沖蠅,如上面推理部分的分析所示。它們的共同點是,它們經常在空中飛行。三個真實世界的因素:移動的相機、移動的物體和低分辨率,對識別結果有很大的影響。

  • 基于靜態(tài)視口(靜態(tài)相機)的檢測

為減少移動因素的影響,還在湖邊開展了野鴨(野鴨)專項觀測。

野鴨靜態(tài)觀察的主要過程
?

在上面的第一個捕獲中,我們前端 UI 中鴨子的數(shù)量(其中一個有趣的地方是 UI 中的動態(tài)表是由 SQL 查詢驅動的,請參閱我們未來項目中的更多信息)。突然,兩個鴨子游入鏡頭范圍。鴨子的數(shù)量已經增加到13??紤]到原來的鴨子是被數(shù)過的,13是當時精確的數(shù)。發(fā)現(xiàn)Grove AI 對附近的動物檢測非常有效,就像我們在湖邊所做的那樣:當三只鴨子突然以相對靜態(tài)定位游入相機范圍時,我們得到了三個計數(shù)。(注:在TinyWild項目中,我們說有四項計數(shù),但根據(jù)我們的錄音應該更正為三項計數(shù)。)

建議

基于以上實踐,我們針對廉價邊緣人工智能硬件上的 EdgeML 或 TinyML給出以下建議

  • 嘗試靜態(tài)觀察

即觀察者不做大動作。

  • 檢測盡可能少的物體

例如,只做二元分類:人或沒有人,猴子或沒有猴子,鳥或沒有鳥。

  • 使模型的主要指標盡可能大

例如,precision > 0.8,recall 和 mAP_0.5 > 0.6。

  • 盡可能提高識別準確率(比如,更長的訓練時間)

廉價的邊緣 ML 硬件通常資源有限,例如 Grove AI 模塊的約束模型大小不超過 1MB,低于 yolov5 官方 yolov5n 預訓練網(wǎng)絡訓練的模型大小。發(fā)現(xiàn)較小的模型會顯著影響模型的主要指標。


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數(shù)字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費