4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AITRIOS の Local Edition でエッジデバイス AIH-IVRW2 を動かしてみる

Posted at

はじめに

メカトラックス株式会社maeda01です。
以前の記事 で Raspberry Pi AI Camera を使用したデモをご紹介しました。
Raspberry Pi AI Camera と同じイメージングセンサを使用し、エッジデバイス (カメラデバイス) として使用可能なものが Sony から提供されています。
本記事ではこのエッジデバイスのセットアップを行い、公式のサンプルを実行してみるという内容になります。

AIH-IVRW2

AIH-IVRW2 は AITRIOS が提供しているエッジデバイス (カメラデバイス) の1つで、Sony 製インテリジェントビジョンセンサー IMX500 搭載の小型 Wi-Fi モデル となっています。

同 AITROIS が提供している SDK やサービスと組み合わせることで強力なエッジ AI センシングソリューションが構築できます。

image.png

AIH-IVRW2 のスペックなどの情報は以下をご参照ください。

インテリジェントビジョンセンサー IMX500 の詳細については以下をご確認ください。

※ AITRIOS はソニーセミコンダクタソリューションズが提供しているワンストッププラットフォームです。
「IMX500」に加え、AIカメラ上で動作するAIを開発するAIデベロッパー、AIを活用したセンシングアプリケーションを開発するアプリケーションデベロッパー、AIカメラを開発するカメラメーカー/モジュールインテグレーター、それらAIカメラおよびセンシングアプリケーションを統合してシステム構築を担うシステムインテグレーターなどのパートナーに向けて、ソリューションの実現に必要なさまざまな機能を提供します。(ソニーのブログニュースリリース から引用)

AITRIOS 提供システムの全体像については以下をご参照ください。

AITRIOS ホームページ

Local Edition

この AITRIOS のサービスはクラウドで使用することもできますが Local Editionを導入すると AI モデルの開発から推論結果の取得までローカル環境で実行することが可能になります。
画像などのデータをクラウドに上げる必要がないため機密性の高いデータをクラウドにアップロードできない場合にも役立ちます。

Local Edition の詳細については以下をご参照ください。

この Local Edition を使用するためのライセンスはチップワンストップなどで購入可能です。

ライセンスを購入するとメールでライセンスアクティベート用の URL とインストーラなど必要なファイル一式が送られてきます。

Brain Builder

Brain Builder は Neurala 社が提供しているモデル作成ツールで、分類や物体検出、異常検知タスクの学習モデルをノーコードで作成することができます。

具体的には以下の処理ができます。

  • データセットの作成と画像のアップロード
  • 学習器 (分類器と検出器、異常認識器) のトレーニング
  • 学習モデルのパフォーマンスの評価
  • モデルのエクスポート

この Brain Builder を AITRIOS のデバイス向けに構築されたバージョンも提供されています。
機能は通常の Brain Builder と変わりません。

本記事では AITRIOS のデバイス向けのバージョンを使用します。

Brain Builder のセットアップ

ライセンスを購入後に送られるアクティベート用の URL を使用してアクティベートを行います。
ライセンス管理アプリケーションがない場合はインストールしてください。

ライセンスをアクティベートしたら Brain Builder でログインします。
VIA アカウントをお持ちでない場合はここで作成してください。

モデルの作成

今回はインストーラと一緒にダウンロードできるサンプルデータセット JapaneseCoins_Detector を使用して硬貨の検出タスクを作成します。

プロジェクトの作成

Brain Builder のホーム画面の右上にある プロジェクトを作成ボタンを押して新規プロジェクトを作成します。
この段階でプロジェクト名を入力します (ここでは Detection Japanese Coin としました)。

プロジェクトの作成.png

データセットのインポート

まずはデータセットをアップロードします。
右上の データセットの作成 ボタンを押してデータセットを作成します (ここでは Japanese Coin としました)。
物体検出タスクを作成するため、モデルタイプは Detector を選択します。

プロジェクトのデータセットの作成.png

実際に画像データをアップロードします。
右上の アップロードデータを押します。

プロジェクトのデータセットのインポート前.png

サンプルデータセット JapaneseCoins_Detector.zip を選択し、アップロードの開始を押します。

プロジェクトのデータセットの選択.png

アップロードが完了するとダッシュボードのイメージボックスに画像が表示されます。

プロジェクトのデータセットのインポート後.png

アップロードしたファイルの中の labels フォルダにラベリングデータが入っているため、.zip ファイルをそのままアップロードするとラベリング済みの状態でインポートされます。
手動でアノテーションを行う場合や修正をしたい場合は各画像を選択してラベリング処理を行ってください。

アノテーションの例.png

データセットは動的に学習データと検証データに分割されます。
手動で分割したい場合は学習データアップロードの際に static のオプションを選択してください。
またテストデータは別途用意する必要があります。

学習開始

アノテーション作業が完了したら学習を開始させます。
学習タブを選択し、学習方法を選択します。

学習.png

それぞれ以下のような方法で学習が開始されます。

  • クイック (Quick): いくつかの学習器を使用して最良のモデルを使用して学習
  • 徹底的 (Thorough): 用意されているすべての学習器を使用して最良のモデルを使用して学習
  • バランス型 (Balance): ある程度 (Quick 以上の数) の学習器を使用して最良のモデルを使用して学習

なお、どの学習器が使用されているかは公開されていません。
https://support.neurala.com/docs/training-detectors
https://support.neurala.com/docs/training-classifiers-and-anomaly-recognizers

今回はクイックモードで学習を行いました。300枚の画像、1956個の物体のデータを渡し、学習と検証を行わせるようにしています。
この場合では約5分程度で学習が完了しました。

モデルのエクスポート

学習が終了したらモデルを出力します。
エクスポートタブから AI モデルのダウンロード ボタンを押します。

AIモデルのエクスポート.png

デフォルトでは (データセット名)-imx500.zip という名前の zip ファイルがダウンロードされます。

AITRIOS Local Console のセットアップ

Local Console を立ち上げたらまずはカメラデバイスの登録を行います。

デフォルトで1つデバイスが登録されています。これに今回使用するカメラデバイスを紐づけます。
Device タブを見るとデバイス名 Default があります。これを使用しますが、後でわかりやすくする (区別しやすくする) ために名前を変えます。

デフォルトのデバイス.png

一番右のミートボールメニューから Rename を選択します。
名前は CamMTX001 とします。

この Local Console のデバイス CamMTX001 とカメラデバイスの紐づけを行います。

1台目のカメラデバイスは Provisioning タブから Connect の画面から登録します。
Device Name のプルダウンからデバイス CamMTX001 を選択します。
NTP サーバーや MQTT ブローカーを選択する必要があります。
NTP サーバーはデフォルトの pool.ntp.org として、MQTT ブローカーに使用する NIC は Wi-Fi とします。

今回使用するカメラデバイス AIH-IVRW2 は Wi-Fi モデルのため、ここで同時にカメラデバイスの Wi-Fi の設定をします。
Wi-Fi SSID のトグルを ON にして SSID とパスワードを入力します。

AIH-IVRW2 は 2.4GHz 帯の Wifi のみの対応のため、SSID は 2.4GHz のものを使用してください。

デバイスの登録.png

情報を一通り入力したら Generate ボタンを押してカメラデバイス登録用の QR コードを発行します。
このとき、カメラデバイスの3つある LED の一番上 (Power Indicator) が橙点滅していることを確認してください (橙点滅が QR コード読み取りモードを意味します)。

発行された QR コードをダウンロードして拡大した状態でカメラを QR コードに読み込ませるとデバイスの登録が完了します。

QR コードの読み取りにはコツがいるので以下を参考にしてください。

https://qiita.com/SSS-keijimorikawa/items/240e6243eb9178c59457

ファームウェアのデプロイ

最新のファームウェアはライセンス購入時に送られる URL から Local Console のインストーラなどと一緒にダウンロードできます。
本記事ではメインチップのファームウェアが 0400FEWS、センサチップのファームウェアが 020300 のバージョンを使用します。

Local Console の Deployment タブを選択します。

設定するデバイス名 (CamMTX001) を選択し、Firmware Options のトグルを ON にします。
メインチップとセンサチップのファームウェアを選択するボタンが出てくるのでクリックし、ファームウェアのバイナリファイルを選択します。
それぞれのファームウェアのバージョンを下のテキストボックスに入力します。

ファームウェアのバージョンはファームウェアと一緒にダウンロードされるテキストファイル Version.txt に記述されています。

ファームウェアデプロイ準備.png

Deploy ボタンを押すとデプロイが始まります。
ステータスは下の Deployment Status から確認できます。

現在使用しているファームウェアのバージョンは Device タブから確認できます。

ファームウェアデプロイ完了.png

モデルのデプロイ

Brain Builder で作成したモデルをカメラにデプロイしていきます。

Local Console の Deployment タブを選択します。

設定するデバイス名 (CamMTX001) を選択します。
次に AI モデルとエッジアプリケーションの選択をします。

Brain Builder から出力されるフォルダに network.pkgvision_app_objectdetection_v1.1.2.aot が入っているのでそれを選択してデプロイを行います。

ファームウェアと同様にDeploy ボタンを押すとデプロイが始まります。
ステータスは下の Deployment Status から確認できます。

AIモデルのデプロイ.png

エッジアプリケーションは Brain Builder からカメラで使用可能な状態でエクスポートされます。
自分でエッジアプリケーションを作成してデプロイすることも可能です。エッジアプリケーション作成のための SDK も提供されています。

テスト

エッジデバイスと AI モデルが正常に機能しているかも Local Console から確認できます。

Local Console の Interface タブを選択します。
Device から今回使用するカメラデバイス CamMTX001 を選択します。

Label File と PPL Parameter File は Brain Builder からエクスポートされたものを使用します。labels.txtneurala_detection_ppl_parameters.json を選択します。
画像データや推論結果のメタデータの保存先も指定できます。

必要な設定が完了したら Apply ボタンを押して設定を反映させます。

カメラテスト画面.png

設定を適用したら Start ボタンを押して実際に推論を開始させます。

硬貨1.jpg

カメラの画像に bounding box が描画された画像がプレビューできるとともに推論結果を json やテキスト形式でリアルタイムで確認できます。
フレームレートは 2~3 fps 程度と少し遅めですが静止物 (硬貨) の検出には影響はなさそうです。

カメラの位置や光の当て方などを工夫する必要はありますが推論は十分に行えています。

おわりに

本記事ではサンプルデータセットを使用した動作確認まで行いました。ラベルの定義ファイルも含まれているのでカメラの動作確認としてはライセンスを購入して

エッジデバイス AIH-IVRW2 のセットアップなど基本的な事柄に関してはドキュメントが充実しています。
また Local Edition のライセンス購入時にダウンロードできるドキュメントにはトラブルシューティングに関する FAQ もあるのでそちらも合わせてご確認ください。

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?