使用 MaixHub 零 AI 經驗零代碼快速在線訓練和部署模型到設備開發板(V831,K210等硬件AI加速芯片,及STM32,ESP32,Arduino等單片機)

使用 MaixHub, 不會 AI 訓練編程也能快速訓練出 AI 模型并快速部署到你的開發板或者是手機和網頁服務上!

版權聲明:本文為 neucrack 的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接(持續更新):https://neucrack.com/p/444

先看看效果, 一個檢測小鴨子(可同時檢測多個相同或者不同目標),另外一個是表情分類模型:

deploy
face_emotion.gif

視頻來源: 基于K210的情緒識別與可視化

這樣的功能,使用 MaixHub 搭配一款硬件(手機、電腦、開發板)就能快速實現,甚至不需要寫一行代碼!
利用 MaixHub 快速開始制作你的 AI 應用,或者開始入門學習 AI 模型訓練基本知識吧!

新版 MaixHub 簡介

MaixHub 推出了新版!支持了更多設備,包括 K210, V831, NCNN, TFjs, TinyMaix(所有單片機上運行)!更新了一大堆功能:

  • 多種上傳數據集方式:


    上傳數據集
    • 本地文件上傳
    • 設備直接拍照后一鍵上傳


      采集
    • 導入本地標注
  • 支持在線標注,簡單快速好用,以及支持視頻自動標注哦


    在線標注
  • 多種訓練參數自定義支持


    參數
  • 多種平臺(硬件平臺)
    • 手機、電腦


      瀏覽器
    • 帶硬件NPU加速的高性價比板子,比如Maix-II-Dock
      m1m2
    • 通用單片機,更是推出了超輕量的單片上運行的模型推理庫TinyMaix,可以移植到任意單片機,甚至能在 2KiB RAM的arduino上跑
      mcu
  • 訓練過程、日志、圖標展示,以及驗證結果展示,方便分析和優化模型


    maixhub
  • 一鍵部署到設備


    部署
  • 一鍵分享到模型庫(模型平臺/model zoo),同時模型庫也支持手動上傳分享更厲害好玩的模型哦


    模型庫

訓練一個模型試試

注意 MaixHub 在不停更新,可能有些地方在未來會有些許變化,原理變化不大,舉一反三即可

  • 創建訓練項目,選擇檢測任務,檢測任務能框出物體的位置,后面需要我們標注數據,分類任務則不需要標注框,用來區分多種物體


    創建訓練項目

    創建項目
  • 創建數據集


    數據集
  • 采集數據,可以從本地上傳,也可以用手機在線拍照采集,也可以用設備拍照采集(比如 Maix-II-DocK)


    采集數據

    采集
  • 標注數據,就是將要檢測的物體框起來,并且給一個標簽,比如這里只有一個duck;一張圖里面可以有多個框,也可以只有一個框,最后訓練出來的模型都能識別同一個畫面的多個物體,數據量盡量多一點,覆蓋的場景全面一點,這樣實際到板子上跑起來準確率更高,最好使用什么板子跑就用什么板子采集數據,準確率會高些


    collect

這里有訓練集,驗證集,測試集的概念,訓練集就是拿來參與訓練的數據,驗證集不參與訓練,但是每隔一段訓練時間后會將模型在驗證集上面跑一次,得到 val_acc也就是驗證集精確度,即這個模型在這個從來沒參與過訓練的數據上正確率如何,一般用這個指標來評判模型的好壞;測試集則是完全沒在訓練過程中參與的數據,比如部署到板子上后實際識別的物體就算是測試集。所以為了讓實際在板子上跑的時候準確度高,盡量將驗證集的數據和實際應用的場景(測試集)相近,這樣訓練時在驗證集上的準確率(val_acc)才能更精確地反應在測試集上的效果。

比如你實際識別的是哈士奇狗狗,訓練集中放了各種狗狗圖,驗證集卻放了中華田園犬,就算 val_acc 為 1,即全部識別正確,實際拿去識別哈士奇狗狗的時候可能完全無法識別

  • 創建訓練任務,一個項目里面可以多次創建任務,調整不同的參數。
    注意要根據自己的設備選擇對應的平臺,比如 K210 選擇 nncase, 普通沒有 NPU 加速的單片機選擇 TinyMaix,手機或者瀏覽器跑則選擇 tfjs。分辨率使用默認的 224x224 效果最好,因為遷移訓練就是基于一個已經訓練過的模型微調訓練模型,這個模型默認都是 224x224 下訓練的,所以理論上效果最好。


    參數

另外,選擇模型主干網絡,網絡越大效果越好(精確度越高),但是占用的內存就越大,以及運行消耗的時間就越久,也就是對算力的要求越大,根據你的數據集復雜度以及設備性能選擇合適的主干網絡(backbone)。
還有更多參數,可以看頁面對應的文檔說明即可,也可以到首頁的交流群交流。

  • 啟動訓練,訓練任務多的時候可能需要排隊,耐心等待就好了,如果加急可以聯系官方或者管理員鈔能力解決哈哈哈。
    訓練過程可以看到 val_acc, 即損失和精確度曲線,會慢慢上升,代表在驗證集訓練完成后可以看到
    訓練結果

如前面所說,這里最重要的是 val_acc,即在驗證集上的準確度,越接近 1越好(實際上這里 val_acc 是 MAP,MAP相關含義可自行搜索)。以及展示了部分識別正確的和識別錯誤(或者未識別到)的樣例。

  • 一鍵部署
    根據不同設備支持的方式可能不同,可能是直接下載文件(具體使用方法看對應說明),也有(比如 Maix-II-Dock)支持一鍵部署,在設備上選擇模型部署,掃描部署頁面的二維碼即可自動部署,然后就可以進行識別了。
    需要注意的是一鍵部署需要設備已經聯接互聯網,設備選擇聯網功能,到 maixhub.com/wifi 生成填寫 WiFi 信息然后設備掃碼連接 WiFi, 注意不是局域網,需要能訪問互聯網。

    deploy

  • 分享模型到模型庫
    訓練的模型可以一鍵分享到模型庫,如果你訓練的模型實際在板子上運行的識別效果不錯,歡迎點擊左邊導航欄分享模型分享到模型庫,可以多寫點圖文介紹,推薦在 B 站上傳一個視頻后嵌入到模型描述里面~

更多功能持續在更新持續關注哦也歡迎來上傳分享你自己的模型!

訓練優化建議

  • 盡量多采集實際使用場景的圖片,覆蓋更多使用場景有利于提高最終識別率。
  • 圖片數量盡量不要太小,雖然平臺限制最小數量為 20 張圖才可以訓練, 但要打到比較好的效果,顯然一個分類 200 張都不算多,不要一直在 30 張訓練圖片上糾結為什么訓練效果不好。。。
  • 默認分辨率但是 224x224, 是因為預訓練模型是在 224x224 下訓練的,當然也有其它分辨率的,比如 128x128,具體發現不支持的分辨率預訓練模型,在訓練日志中會打印警告信息。
  • 為了讓驗證集的精確度的可信度更高(也就是在實際開發板上跑的精確度更接近訓練時在驗證集上的精確度),驗證集的數據和實際應用的場景數據一致。比如訓練集是在網上找了很多圖片,那這些圖片可能和實際開發板的攝像頭拍出來的圖有差距,可以往驗證集上傳一些實際設備拍的圖來驗證訓練的模型效果。
    這樣我們就能在訓練的時候根據驗證集精確度(val_acc)來判斷模型訓練效果如何了,如果發現驗證集精確度很低,那么就可以考慮增加訓練集復雜度和數量,或者訓練集用設備拍攝來訓練。
  • 對于檢測訓練項目,如果檢測訓練的物體很準,但是容易誤識別到其它物體,可以在數據里面拍點其它的物體當背景;或者拍攝一些沒有目標的圖片,不添加任何標注也可以,然后在訓練的時候勾選“允許負樣本”來使能沒有標注的圖片。
  • 檢測任務可以同時檢測到多個目標,如果你覺得識別類別不準,也有另外一種方式,先只檢測模型檢測到物體(一個類別),然后裁切出圖片中的目標物體上傳到分類任務,用分類任務來分辨類別。不過這樣就要跑兩個模型,需要寫代碼裁切圖片(在板子跑就好了),以及需要考慮內存是否足夠
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,316評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,481評論 3 415
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,241評論 0 374
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,939評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,697評論 6 409
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,182評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,247評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,406評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,933評論 1 334
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,772評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,973評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,516評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,209評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,638評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,866評論 1 285
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,644評論 3 391
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,953評論 2 373

推薦閱讀更多精彩內容