PR

ロボット制御 #15 Raspberry Pi AI Kit を使ってみる
Raspberry Pi AI Kit をセットアップして使ってみた。途中で自作ケースを作ってみたのが、シンデレラフィットだった話。

制御

Raspberry Pi AI キットを入手したので、早速、使ってみたいと思います。
ハードウェアのセットアップからインストール、デモの実行までやってみたいと思います。

なお、Raspberry Pi 5 のセットアップは、スキップしますので、情報が必要な方は、こちらの記事を参考にしてください。

Raspberry Pi AI キットについて

今回もスイッチサイエンスさんから購入しました。
いつサイトを確認しても売り切れだったので、入荷情報を貰うように登録して、メールが来たら確認するというのを3回ほど繰り返し、3回目で購入できました。

一応、Amazonでも販売されていましたが、現時点では、倍以上の値段でした。

Raspberry Pi Ai キット は、Raspberry Pi M.2 HAT+ に M.2 フォーマットのHailo 8L AI アクセラレータをバンドルした商品で、Raspberry Pi 5 (4GB/8GB) 上で優れた推論性能(最大13TOPS)を発揮できるというものです。

難しい単語が多く… 何が書いてあるのかあまり分かりません。

【Raspberry Pi M.2 HAT+】
Raspberry Pi 5に搭載されている高速PCIeインターフェースを、M.2規格のカードスロットに変換するRaspberry Piの純正オプションボードです。これにより、パソコン用などとして広く流通しているM.2規格のSSDやAIアクセラレータ、高速通信カードなどをRaspberry Piで利用できるようになります。

【Hailo 8L AI アクセラレータ】
AI アクセラレータとは、ニューラルネットワークにおけるモデル推論処理の高速化を行うハードウェアモジュールのことです。このモジュールは、M.2 の拡張ボードタイプで、上記のRaspberry Pi M.2 HAT+に接続できます。
処理能力は、13TOPSの演算能力を備えています。

【13TOPS】
推論性能を表す単位で「Tera, Operation, Par, Second」の略です。つまり、1秒間に何Tera(1Tera=1,000,000,000,000=1兆)の演算処理が出来るか?ということです。
演算処理も以前は、FLOPSと呼ばれ、浮動小数点数の演算処理を対象としていましたが、TOPSは整数演算処理を対象としています。これは、AIでの推論計算等では整数演算を行うことが多いため、指標として用いられるようになりました。
つまり、Hailo 8L AI アクセラレータは、1秒間に13兆回の整数演算が可能なモジュールということです。

ホストであるRaspberry Pi 5が最新のRaspberry Pi OS上で動作している場合、Hailoモジュールが自動的に検出され、NPU(Neural Processing Unit)がAIタスクに使用できるようになります。Raspberry Pi OSに組み込まれている rpicam-apps カメラアプリケーションはAIモジュールをネイティブサポートしているため、NPUを自動的に使用して互換性のある後処理タスクを実行します。

Raspberry Pi AI キットの取り付け

届いた「Raspberry Pi AI キット」を開封してみます。
本体は、「Hailo 8L AI アクセラレーター」が「M.2 HAT+」ボードに装着された状態で梱包されています。取り出していますが、当然、静電気シールド袋に入っていました。
他にGPIOピンヘッダー、ネジやスペーサーなどが小袋に入っていました。

PCIe ケーブルも装着された状態になっているので、反対側を「Raspberry Pi 5」に繋ぎます。

GPIOピンヘッダーも装着します。
4ヵ所のスペーサーとネジで固定すれば完成です。

反対側:

ケースの作成とカメラの接続

ケースをデザインしてみました。

3Dプリンタで印刷して、収納してみました。

こちらはフタです。
透明のフィラメントを使って作りました。すりガラスのようで綺麗に出来ました。

収納して、カメラを取り付けて完成です。

カメラは、「Raspberry Pi カメラモジュール V3」です。
スイッチサイエンスさんから購入しました。(1年以上前に)

注意が必要なのは、ケーブルが「Raspberry Pi 4B」の時と変わっています。
「Raspberry Pi 5」側のコネクタが細くなっているFPCケーブルが必要でした。

上側のケーブルがRaspberry Pi 5とRaspberry Pi Zeroで使います。
他のRaspberry Pi シリーズは下側のケーブルを使います。

Raspberry Pi AI キットのセットアップ

キーボード、ディスプレイ、電源を繋いで「Raspberry Pi 5」を起動します。

ファームウェアの更新

まず、Raspberry Pi が最新のソフトウェアを実行していることを確認します。

次に、Raspberry Pi ファームウェアが最新であることを確認します。

CURRENT」の日時と「LATEST」の日時が同じであれば最新です。
CURRENT」が2023年12月6日より前の日付の場合は、次のコマンドで設定を変更します。
なお、最新の場合は、スキップしてください。

Raspberry Pi Configration Software」のメニューから「Advanced Options」を選択し、「Bootloader Version」を選択します。次に「Latest」を選択して、終了します。

ファームウェアを最新バージョンに更新するには、次のコマンドを実行します。

再起動してファームウェアの更新は完了です。

PCIe 速度をGen3モードに設定する

Raspberry Pi Configration Software」のメニューから「Advanced Options」を選択し、「PCIe Speed」を選択します。次に「Would you like PCIe Gen 3 to be enabled?」と聞かれるので「YES」を選択して、終了「Finish」します。

再起動します。

AI キット用ソフトウェアのインストール

AIキットのソフトウェアをインストールするには、次のコマンドを実行します。

以下のソフトウェアがインストールされます。

  • Hailo カーネルデバイスドライバーとファームウェア
  • HailoRT ミドルウェア ソフトウェア
  • Hailo Tappas コア後処理ライブラリ
  • Hailo rpicam-apps後処理ソフトウェアのデモステージ

インストールが完了したら再起動します。

すべてが正しく実行されていることを確認するために、次のコマンドを実行します。

次のように表示されました。

さらに、「dmesg | grep -i heilo」でカーネルログを確認してみます。

最後にカメラの動作確認を行います。

これによりカメラが起動し、プレビューウィンドウが10秒間表示されます。
なお、上下左右が反転していたので、「--vflip」と「--hflip」オプションを追加しています。

デモを動かしてみる

「rpicam-apps」のダウンロード

rpicam-apps」は、後処理フレームワークを実装しています。AI キットの機能の一部をデモするための後処理ファイルが含まれています。

後処理とは、カメラから入力された画像を解析して、結果を画像に書き込む処理のことです。プレビューウィンドウには、後処理が実行された結果が表示されることになります。

今回は、「rpicam-hello」を使用します。これは、デフォルトでプレビューウィンドを表示します。
ただし、「rpicam-vid」や「rpicam-still」など、他の「rpicam-apps」を代わりに使用することもできます。(コマンドのオプションを追加または変更が必要な場合があります。)

デモに必要な後処理用のJSONファイルをダウンロードします。これらのファイルは、実行する後処理を決定し、各処理の動作を設定しています。例えば、物体検出デモでフィルタリングの強度を調整することができます。

後処理 JSONファイルのコレクションをダウンロードするには、「rpicam-apps」リポジトリをクローンします。

物体検出

このデモでは、ニューラルネットワークによって検出された物体の周囲に境界ボックスが表示されます。Paspberry Pi でデモを試すには、次のコマンドを実行します。

幾つか試してみました。

キーボードとマウスを検出しました。後ろのカメラは検出しないですね。

写真ですが、犬と猫は検出しました。

先程のは、Yolov6 モデルを使用した物体検出ですが、他のモデルも試してみます。

Yolov8 モデル:

確率が上がりました。

YoloX モデル:

Yolov5 人物および顔モデル:

人と顔を認識しています。右上の小さな写真も認識しています。

画像セグメンテーション

このデモは、物体検出を実行し、ビューファインダー画像にカラーマスクを描画してオブジェクトをセグメント化します。
Paspberry Pi でデモを試すには、次のコマンドを実行します。

姿勢推定

このデモでは、17 点の人間の姿勢推定を実行し、検出された点を結ぶ線を描画します。Raspberry Pi でデモを試すには、次のコマンドを実行します。

コメント

タイトルとURLをコピーしました