D-Robotics RDK X3を試してみました
AIフェスティバル2024への登壇後に、技研ベースでD-Roboticsの方から提供いただいたRDK X3、ようやく少しだけ試せたので、簡単に紹介します。
最初に結論から書くと、RDK X3を最大限に活かすのであれば、5 TOPSの推論チップやTogetheROS.BotというD-Robotics社のチップで使えるROSベースのミドルウェアを使いこなす必要がありそうです。
逆にいえば、それらを使わない限りは、ラズパイ5などに比べて大きなメリットはないと思います。
RDK X3セットアップ
セットアップ含め、npaka先生がすでに以下から始まる連載記事をすでにアップしてくださっています。
なので、基本的にはnpaka先生の記事を見ていただいた方がよいと思います。
この記事は上記記事の一部の補足と「普通にLinuxが動くボードとして、AIとか動かしたときの性能はラズパイと比べてどうなの?」といった観点の比較をしています。
ハードウェア
いただいたのは、本体とケースとカメラ(MIPI-CSIインターフェース)です。ただ、今回はこのカメラは使わず、USBカメラを使用しました。
OSのインストール
以下記事を参考にしました。
オフィシャルの解説は以下です。
オフィシャルの解説にあったOS Imageリンクから、ファイルをダウンロードしたあと、Raspberry Pi ImagerでマイクロSDカードにイメージを焼きました。
Raspberry Pi Imagerに関しては以下の記事を参考にしてください。他のソフトでも特に問題はありません。
基本的なセットアップ
焼き上げたマイクロSDカードをカードスロットに差し込んで、USB-Cで電源供給したら、起動します。
ネットワークは、最初有線だと繋がらなかったので、WiFiでセットアップしました。
どうも、公式サイトみると /etc/network
の変更が必要そうな感じでした。
また、パスワードが分からなかったのですが、勘でユーザー名と同じsunrise
にしたらビンゴでした。多分ドキュメントのどこかに書いてあると思います。
SSH設定は、npaka先生の以下記事を参考にしました。
AI画像認識
AIを使った画像認識を試してみました。
やり方は、ラズパイ5のときに実施した以下と同じ要領です。
カメラはUSBカメラを使ったのですが、ここには少し注意が必要です。また、npaka先生の記事を参考にします。
USBカメラは、通常の/dev/video0
でなく/dev/video8
に割り付けられる点に注意しましょう。
接続した後、以下でカメラを認識しているか確認します。
$ sudo v4l2-ctl -d /dev/video8 --all
画像認識のソフトウェア、OpenCVの場合は以下のようにします。
cap = cv2.VideoCapture(8)
セットアップに必要なコマンドは以下くらいでした。
$ sudo apt-get update
$ sudo pip3 --default-timeout=1000 install opencv-python==4.10.0.84
$ sudo pip3 install onnxruntime
ジャンケンの手の形の認識をしてみます。
ラズパイで0.022秒くらいだったのでちょっと遅いくらいですね。
当たり前ですが、普通のONNXモデルを使った推論なので、5 TOPSの推論能力は活かすことができないようです。
AI画像認識、より詳細が気になる、もっと試してみたい人は以下の本を参考にしてみてください。
ラズパイ5とRDK X3の比較表
比較表をChatGPTに作成してもらいました。スペックはそこまで大きく違いはないかなという印象です。価格も、メモリ4GBだと現時点(2024年12月)時点だと似た価格(少しRDK X3が高い)です。
項目 | Raspberry Pi 5 | D-Robotics RDK X3 |
---|---|---|
プロセッサ | Broadcom BCM2712、クアッドコア Arm Cortex-A76(2.4GHz) | クアッドコア Cortex-A53 |
GPU | VideoCore VII、800MHz | 情報なし |
メモリ | 2GB、4GB、8GBのLPDDR4X-4267 | 最大4GB |
ストレージ | microSDカードスロット、PCIe 2.0 x1スロット(NVMe SSD対応) | microSDカードスロット |
映像出力 | デュアルMicro HDMI(4Kp60対応) | HDMI(4K@60fps対応) |
USBポート | USB 3.0 Type-A ×2、USB 2.0 Type-A ×2 | USB 3.0 Type-A ×1、USB 2.0 Type-A ×2、Micro USB 2.0 ×1 |
ネットワーク | ギガビットイーサネット、Wi-Fi 5(802.11ac 2.4/5GHz) | ギガビットイーサネット |
カメラインターフェース | 2つのMIPI CSI-2コネクタ(デュアルカメラサポート) | MIPI CSIカメラインターフェース ×1 |
GPIO | 40ピンGPIOヘッダー | 40ピンGPIOヘッダー |
AI推論性能 | 情報なし | 5 TOPS(毎秒5兆回の演算) |
電源供給 | USB Type-C(5V/5A推奨)、PoE+対応 | USB Type-C(5V/3A) |
その他 | PCIe 2.0 x1スロット、RTC用バッテリーコネクタ、電源ボタン、ファンコネクタ | デバッグ用シリアルポート、Wi-Fiアンテナインターフェース、ステータスLEDインジケーター |
まとめ
D-Robotics RDK X3を試してみたので簡単にまとめてみました。ラズパイと比較するために、一般的なAIの画像認識ソフトとUSBカメラを使った比較をしました。単純にラズパイの上位互換を期待して買うようなボードではなさそうです。
RDK X3は、5 TOPSの推論チップや、TogetheROS.Botを活用することで、初めてメリットが出るボードになりそうです。私はそのあたりは興味がないので試しませんが、興味ある方はnpakaさんの記事や自分でD-Robotics RDK X3を買って自分で試してみてください。
Discussion