OmniXRI-Jack
    • Create new note
    • Create a note from template
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Write
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
    • Invite by email
      Invitee

      This note has no invitees

    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Note Insights
    • Engagement control
    • Transfer ownership
    • Delete this note
    • Save as template
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Versions and GitHub Sync Note Insights Sharing URL Create Help
Create Create new note Create a note from template
Menu
Options
Engagement control Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Write
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
  • Invite by email
    Invitee

    This note has no invitees

  • Publish Note

    Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

    Your note will be visible on your profile and discoverable by anyone.
    Your note is now live.
    This note is visible on your profile and discoverable online.
    Everyone on the web can find and read all notes of this public team.
    See published notes
    Unpublish note
    Please check the box to agree to the Community Guidelines.
    View profile
    Engagement control
    Commenting
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    • Everyone
    Suggest edit
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    Emoji Reply
    Enable
    Import from Dropbox Google Drive Gist Clipboard
       owned this note    owned this note      
    Published Linked with GitHub
    Subscribed
    • Any changes
      Be notified of any changes
    • Mention me
      Be notified of mention me
    • Unsubscribe
    Subscribe
    # 【vMaker Edge AI專欄 #20】 單晶片也能輕鬆玩AI影像辨識?難道土耳其大叔來了? 作者:Jack OmniXRI, 2024/08/15 ![vMaker_EdgeAI_20_Fig00](https://hackmd.io/_uploads/H1Kzb-t5R.jpg) 今(2024)年法國巴黎奧運除了台灣選手精彩的表現受到全球矚目外,其中被全世界傳得最多的迷因照片,大概就是南韓空氣槍女選手金藝智(Kim Yeji)和混合團體10公尺空氣手槍銀牌土耳其大叔迪凱區(Yusuf Dikec)的對比照了。前者英姿颯爽,各種專業射擊眼鏡與眼罩上身,而土耳其大叔一派輕鬆,身著短袖T恤,單手手插口袋,無需專業輔助眼鏡,手一舉,雙眼一瞄,就命中靶心,猶如職業殺手般冷靜,一招斃命。於是就有很多人把花俏實用和質樸專業的產品拿來對比,玩出不少有趣哏圖。 藉著這次迷因哏圖,也來和大家分享一下只用單晶片(Micro Control Unit, MCU)等級晶片也能運行微型機器學習(Tiny Machine Learning, TinyML)類型的人工智慧(Artificial Intelligence, AI)應用,如聲音辨識、電腦視覺、時序預測等,就像土耳其大叔,不用花俏的裝備,僅憑多年苦練,就能表現優異。 在上一期專欄「[當微處理器(MCU)遇上神經網路處理器(NPU)能擦出什麼新火花?](https://omnixri.blogspot.com/2024/07/vmaker-edge-ai-19-mcunpu.html)」[1]已有和大家介紹過一款 MCU + NPU 的開發板「Seeed Grove Vision AI Module v2」,其中使用了奇景光電(Himax) WiseEyes2 HX6538 作為主核心晶片,內含二組 Arm Cortex-M55 (1x @150MHz, 1x @400MHz)及一組 Micro-NPU Ethos-U55 (256 MACs @400MHz)。除板上自帶數位麥克風外,亦可外接攝影機模組,方便運行電腦視覺相關應用。 他山之石可以攻錯,以下就參考前不久由 Seeed Studio 舉辦的 Seeed Grove Vision AI Module v2 挑戰賽得獎作品[2],簡單介紹幾個專題給大家認識一下,方便大家能舉一反三,用類似的思路在其它類似的開發板上也能作出屬於自己的創意。 ## 1. 骷髏頭:使用計算機視覺和自定義 YOLO5 AI 模型創作音樂 作者:Joshua Curry at Lucid Beaming 作品簡介: 本作品利用3D印表機製了一些牙齒及迷你骷髏頭模型,利用攝影機模組取得影像,並自建資料集,使用 Google Colab 及 Yolov5 物件偵測模型進行訓練,再上傳模型到 Seeed SenseCraft AI網站進行模型轉檔及部署回開發板上,最後再將推論(辨識)結果透過 ESP32C3 及 MQTT 設定將結果送到原先在樹莓派上的混音程式,即可在辨識出不同數量、種類的牙齒及迷你骷髏頭時馬上產生對應的音效。 ![vMaker_EdgeAI_20_Fig01](https://hackmd.io/_uploads/rk069-F9R.jpg) {%youtube 7iffLzaAzOU%} [Youtube連結](https://youtu.be/7iffLzaAzOU) [專案連結](https://lucidbeaming.com/blog/skulls-composing-music-with-computer-vision-and-a-custom-yolo5-ai-model/) ## 2. 基於 Grove Vision AI 模組 V2 的機器人助理 作者:Jaime Andres Rincon Arango 作品簡介: 利用攝影機模組取得影像,再以開發板進行姿態估測(骨架關鍵點偵測),進而驅動一個具有12組舵機(LX16-A)的小型人型機器人來模仿使用者動作。另外搭配有一個小尺寸OLED(124x64 pixel)作為顯示器,可顯示文字及表情動畫圖案,更有利和使用者的互動。 ![vMaker_EdgeAI_20_Fig02](https://hackmd.io/_uploads/B1xxA-tqC.jpg) [專案連結](https://www.hackster.io/jarain78/assistant-based-on-grove-vision-ai-module-v2-490f43) ## 3.帶有 XIAO ESP32C3 和 Grove Vision AI 模組 V2 的 PIR 門鈴 作者:Team Professional 作品簡介: 24小時連續開啟的即時AI攝影機是非常耗電的。這裡使用ESP32C3作為主控板,大部份情況下採低功耗休眠模式,當接收紅外線熱感測器(PIR)觸發信號時,喚醒ESP32C3及Grove Vision AI Module v2進行人員影像辨識,若不是合法人員,則透過無線模組將警報送到使用者的手機上。這樣的搭配作法會非常有效且節能。 ![vMaker_EdgeAI_20_Fig03](https://hackmd.io/_uploads/SygqGMt90.jpg) [專案連結](https://www.hackster.io/teamprof/pir-doorbell-with-xiao-esp32c3-and-grove-vision-ai-module-v2-ee0b0f) ## 4.用於監控蜂鳥的雙 AI 攝像頭 作者:Ralph Yamamoto 作品簡介: 一般 Grove Vision AI Module v2 是搭配 Xaio ESP32C3 作為通訊及 Arduino 開發介面使用。由於 Xaio 全系列開發板的接腳定義皆相同,所以這個專案改成 ESP32S3,同時亦使用其搭配的攝影機模組,加原先 Grove Vision AI Module v2 的攝影機模組,就可得到兩組攝影機。這裡ESP32S3那組負責當成網路攝影機(IP Camera)記錄影像使用,而另一組則負責影像辨識使用。(註:ESP32S3亦可支援影像辨識用[3]) 這兩塊開發板都有支援 Seeed Sense Craft AI 雲端開發平台,可直接取像、建資料集及簡單訓練模型。但為了支援更複雜資料集(四種蜂鳥)及更高推論精度,因此這裡改使用 Edge Impulse 雲端 TinyML 開發平台[4]進行模型訓練及 TFLite 及 Vela(Micro NPU Ethos-U55使用) 轉檔後再上傳到 Sense Craft AI 雲端開發平台,最後再部署到開發板,即可得更佳的推論結果。 ![vMaker_EdgeAI_20_Fig04](https://hackmd.io/_uploads/ByMKRBFcA.jpg) [專案連結](https://www.hackster.io/Ralphjy/dual-ai-camera-e04757) ## 5.人臉控制全向輪機器人 作者:Timothy Lovett 作品簡介: 常見的全向輪小車大多是用遙控器驅動車身前進、後退及平移。在這個專案中,在車身前加上攝影機模組,進行人臉辨識及追蹤,並把偵測到的人臉大小及位置變成控制車身移動的命令,使人臉始終保持在畫面中間。而人臉(物件)偵測即是靠 Grove Vision AI Module v2 完成並輸出座標及物件框大小給車身控制程式。當人臉突然移出視野範圍時,則左右旋轉超音波測距模組,探測人員可能位置,當發現人臉時就可從新回到自動追蹤模式。 ![vMaker_EdgeAI_20_Fig05](https://hackmd.io/_uploads/HJ1cGvYcR.jpg) {%youtube AwGuaZD-V2Y%} [Youtube連結](https://youtu.be/AwGuaZD-V2Y) [專案連結](https://www.hackster.io/timo614/face-controlled-robot-03b3bb) ## 小結 由上述作品介紹,應該不難看出,以往需要較高算力的單板微電腦或筆電才能作到的AI電腦視覺應用,如今只要靠 MCU+NPU 就能有接近的用法,且僅需極低的功耗使用電池供電就能進行推論,這對於很多常時開啟(Always On)的小型AI應用就能得到更完美的解決方案。另外透過像 Seeed Sense Craft AI 或 Edge Impulse Studio 這類雲端 TinyML 開發平台,已可達到幾乎不寫程式碼(No/Low Code)就能完成AI應用開發,值得大家多多學習並發揮創意。由於受限於文章篇幅,還有更多的案例無法一一介紹,有興趣的朋友可參考[2][A],而更完整的性能評比亦可參考[B]。 ## 參考文獻 [1] 許哲豪,【vMaker Edge AI專欄 #19】 當微處理器(MCU)遇上神經網路處理器(NPU)能擦出什麼新火花? https://omnixri.blogspot.com/2024/07/vmaker-edge-ai-19-mcunpu.html [2] Seeed Studio Lily, Announcing Winners & Cool Projects of Seeed Studio Vision Challenge! https://www.seeedstudio.com/blog/2024/07/15/vision-challenge-winners-and-projects/ [3] Edge Impulse Stuio, Seeed Studio XIAO ESP32S3 Sense https://docs.edgeimpulse.com/docs/edge-ai-hardware/mcu/seeed-xiao-esp32s3-sense [4] MJRoBot (Marcelo Rovai), Computer Vision at the Edge with Grove Vision AI Module V2 (with Edge Impulse) https://www.hackster.io/mjrobot/computer-vision-at-the-edge-with-grove-vision-ai-module-v2-0003c7 ## 延伸閱讀 [A] Hackster, Grove Vision AI Module v2 Projects https://www.hackster.io/search?i=projects&q=grove%20vision%20ai%20v2 [B] Mengdu, 024 MCU AI Vision Boards: Performance Comparison https://www.hackster.io/limengdu0117/2024-mcu-ai-vision-boards-performance-comparison-998505 **本文同步發表在[【台灣自造者 vMaker】](https://vmaker.tw/archives/category/%e5%b0%88%e6%ac%84/jack-omnixri)** --- OmniXRI 整理製作,歡迎點贊、收藏、訂閱、留言、分享 ###### tags: `vMaker` `Edge AI`

    Import from clipboard

    Paste your markdown or webpage here...

    Advanced permission required

    Your current role can only read. Ask the system administrator to acquire write and comment permission.

    This team is disabled

    Sorry, this team is disabled. You can't edit this note.

    This note is locked

    Sorry, only owner can edit this note.

    Reach the limit

    Sorry, you've reached the max length this note can be.
    Please reduce the content or divide it to more notes, thank you!

    Import from Gist

    Import from Snippet

    or

    Export to Snippet

    Are you sure?

    Do you really want to delete this note?
    All users will lose their connection.

    Create a note from template

    Create a note from template

    Oops...
    This template has been removed or transferred.
    Upgrade
    All
    • All
    • Team
    No template.

    Create a template

    Upgrade

    Delete template

    Do you really want to delete this template?
    Turn this template into a regular note and keep its content, versions, and comments.

    This page need refresh

    You have an incompatible client version.
    Refresh to update.
    New version available!
    See releases notes here
    Refresh to enjoy new features.
    Your user state has changed.
    Refresh to load new user state.

    Sign in

    Forgot password

    or

    By clicking below, you agree to our terms of service.

    Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
    Wallet ( )
    Connect another wallet

    New to HackMD? Sign up

    Help

    • English
    • 中文
    • Français
    • Deutsch
    • 日本語
    • Español
    • Català
    • Ελληνικά
    • Português
    • italiano
    • Türkçe
    • Русский
    • Nederlands
    • hrvatski jezik
    • język polski
    • Українська
    • हिन्दी
    • svenska
    • Esperanto
    • dansk

    Documents

    Help & Tutorial

    How to use Book mode

    Slide Example

    API Docs

    Edit in VSCode

    Install browser extension

    Contacts

    Feedback

    Discord

    Send us email

    Resources

    Releases

    Pricing

    Blog

    Policy

    Terms

    Privacy

    Cheatsheet

    Syntax Example Reference
    # Header Header 基本排版
    - Unordered List
    • Unordered List
    1. Ordered List
    1. Ordered List
    - [ ] Todo List
    • Todo List
    > Blockquote
    Blockquote
    **Bold font** Bold font
    *Italics font* Italics font
    ~~Strikethrough~~ Strikethrough
    19^th^ 19th
    H~2~O H2O
    ++Inserted text++ Inserted text
    ==Marked text== Marked text
    [link text](https:// "title") Link
    ![image alt](https:// "title") Image
    `Code` Code 在筆記中貼入程式碼
    ```javascript
    var i = 0;
    ```
    var i = 0;
    :smile: :smile: Emoji list
    {%youtube youtube_id %} Externals
    $L^aT_eX$ LaTeX
    :::info
    This is a alert area.
    :::

    This is a alert area.

    Versions and GitHub Sync
    Get Full History Access

    • Edit version name
    • Delete

    revision author avatar     named on  

    More Less

    Note content is identical to the latest version.
    Compare
      Choose a version
      No search result
      Version not found
    Sign in to link this note to GitHub
    Learn more
    This note is not linked with GitHub
     

    Feedback

    Submission failed, please try again

    Thanks for your support.

    On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

    Please give us some advice and help us improve HackMD.

     

    Thanks for your feedback

    Remove version name

    Do you want to remove this version name and description?

    Transfer ownership

    Transfer to
      Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

        Link with GitHub

        Please authorize HackMD on GitHub
        • Please sign in to GitHub and install the HackMD app on your GitHub repo.
        • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
        Learn more  Sign in to GitHub

        Push the note to GitHub Push to GitHub Pull a file from GitHub

          Authorize again
         

        Choose which file to push to

        Select repo
        Refresh Authorize more repos
        Select branch
        Select file
        Select branch
        Choose version(s) to push
        • Save a new version and push
        • Choose from existing versions
        Include title and tags
        Available push count

        Pull from GitHub

         
        File from GitHub
        File from HackMD

        GitHub Link Settings

        File linked

        Linked by
        File path
        Last synced branch
        Available push count

        Danger Zone

        Unlink
        You will no longer receive notification when GitHub file changes after unlink.

        Syncing

        Push failed

        Push successfully