Grove - Vision AI Module V2を動かしてみた

Seeed K.K.の松岡です。
本社のYouTube配信「Monthly chatCEO Live!」を見ていたら、Vision AI機能が搭載されたGroveモジュールGrove - Vision AI Module V2を紹介していて、面白そうだったので取り寄せて動かしてみました。

Monthly chatCEO Live!で紹介

きっかけは、「Monthly chatCEO Live!」での紹介。Arm M55とAI processorが載っていて、ノーコードでVision AIを動かせるGroveモジュールだそうです。

  • M55 Arm chipset
  • AI processor including
  • first dev board for makers
  • open source module
  • supporting XIAO
  • with a Grove connector
  • SenseCraft AI
  • No code

コアとなるチップはHimax Technologies社のHX6538で、Arm Cortex-M55(CPU)とArm Ethos-U55(NPU)を内蔵しています。機械学習の推論が高速かつ低消費電力で実行できるらしい。そして、SenseCraft AIという便利ツールを提供していて、コーディングすることなくモデルをモジュールに転送して推論できるみたい。supporting XIAOはちょっと謎。

www.youtube.com

パーツ取り寄せ

早速、取り寄せて動かしてみましょう。

モジュールにはカメラが搭載されていないので、別途用意しないといけません。Raspberry Piで使えるCSIカメラモジュールで良いみたいですが、Seeedフォーラムを見ていると動かないことがまぁまぁあるようです。動かなかったら悲しいので、公式wikiが推奨しているOV5647-62 FOVカメラモジュールを用意しました。

ノーコードでVision AI

SenseCraft AIで試してみると、、、簡単に動きました。簡単。簡単すぎる。

  1. カメラとGrove - Vision AI Module V2を繋ぐ
  2. PCにGrove - Vision AI Module V2を繋ぐ
  3. ブラウザでSenseCraft Web Toolkitを開く
  4. ConnectボタンをクリックしてSenseCraft Web ToolkitとGrove - Vision AI Module V2を接続
  5. モデルを選んでSendボタンをクリック

ちょっと戸惑ったのがブラウザで開くページ。公式wikiではSenseCraft AIやSenseCraft AI Model Assistantと書かれていますが、これらの名前でググるとちょっと違うものがヒットします🤔。SenseCraft Web Toolkitで検索するか、上記3.のリンクで開くのが良いでしょう。

たったこれだけで、モジュール内でモデルを使って推論して、結果がブラウザに表示されました。すごい。

youtu.be

USBの簡易測定で消費電流を見ると約77mA。すごい。(2度目)
これなら乾電池で動かせますね。

3種類の使い方

Grove - Vision AI Module V2とSenseCraft Web Toolkitの組み合わせでサクッと動かしましたが、このモジュールは小型デバイスに組み込めるように3種類の使い方ができるようになっています。

For PC/SBCは、さきほど試した構成。PCやSBCとUSBで接続して推論結果を送ります。Grove - Vision AI Module V2でどんなことができるのかをすぐに試して確認することができます。

For MCU/MPUは、みなさんが使い慣れたMCU/MPUに推論結果を送ります。小型デバイスや製品に組み込むときはこの構成が最適でしょう。モジュール上にGroveコネクタを用意しているので、ハンダ付け不要で接続できます。(だから、Groveモジュールという名前なのか!)MCU/MPUにこだわらないなら、モジュールにXIAO用のコネクタを用意しているので、Seeed Studio XIAOシリーズを使うとモジュールに綺麗に収まります。

Standaloneは、ツヨツヨな人ができる構成です。こちらの方が最適といえば最適ですが、開発にそれなりの期間と工数がかかるのであまりオススメしないです。Himax SDKでゴリゴリとコーディングしなければいけませんが、自由度が最も高くハードウェアはシンプルに仕上がります。

おまけ : Software

For PC/SBCFor MCU/MPUの場合は、HX6538でgrove_vision_ai_we2というファームウェアが動いています。 このファームウェアはUART(USB-CDC)とI2Cで指示を受け付けます。UARTは921600bps、I2Cは400KHzです。どちらも独自ATコマンドです。

独自ATコマンドの指示用にSeeedはSeeed_Arduino_SSCMAライブラリを提供しています。これを使うとMCU/MPUのコーディングが少し楽になります。

おまけ : Hardware

電源は、USB Type-CもしくはXIAO、Groveから供給します。

基本的にすべてのパーツがHX6538に結線されていますが、microSDスロットだけはHX6538とSeeed Studio XIAOに繋がっています。

現時点、PDM MICとmicroSDスロットのサンプルコードや使い方のドキュメントが無いです😢。

参考リンク

変更履歴

日付 変更者 変更内容
2024/4/17 松岡 作成