【AI: Computer Vision】eYs3D XINK V2 プラットフォームのご紹介


eYs3D(アイズスリーディー) マイクロエレクトロニクス社 (以下eYs3D社) は、エッジAI向けの新しいプラットフォームXINK V2 (シンク Ver.2) の提供を開始しました。ここでは、XINK V2の構成やYOLOv8の物体認識デモをご紹介します。
XINKプラットフォームとは?
XINKプラットフォームは、サービスとしてのプラットフォームということだけでなく、コンピュータービジョン搭載製品の開発を効率的に推し進めるハードウェアとソフトウェアを組み合わせたソリューションです。ハードウェアとして、eYs3D社が開発するエッジAI向け高性能SoC (eCV5546) を搭載したモジュール (XINK) を提供し、ソフトウェアについてもcut-and-pasteでのコーディングも可能にしていくなど、コンピュータービジョンの実装を簡略化しています。
XINK V2の構成
XINK V2は小型BOX PCタイプのXINK V1よりも大きくなり、複数のUSBやMIPI CSIの入力など、様々なインターフェースの評価ができるようになりました。また、XINK V2にはeCV5546 Core Boardと呼ばれるSoM (System on Module) が搭載されています。Core Boardを使って評価から量産までを一貫して進められ、お客様は4層などで構成される低価格なIO基板やアプリケーションの開発に注力できます。
eCV5546 Core Board
- eCV5546 SoC
-CPU : Quad-Core Arm® Cortex®-A55
-NPU : AI Processor
-MCU : Arm Cortex®-M4 - 4 GiB LPDDR4 – 3200 MT/s
- 32 GiB eMMC – HS200
IO Board
- USB
-USB2.0 HS Type-A x 4
-USB3.1 SS Gen1 Type-A x 4
-USB3.1 SS Gen1 Type-C x 1
-USB2.0 HS Type-C x 1:デバッグ用途 - Ethernet RJ-45 1G x 1
- MIPI CSI x 4:Raspberry Pi向けカメラ互換コネクタ
- MIPI DSI x 2:Raspberry Pi / Forlinx Embedded向けディスプレイ互換コネクタ
- HDMI x 1:MIPI DSI → HDMI変換IC経由
- SD Card x 1:Micro SD Cardソケット
- SDIO x 1:Wi-Fiモジュールコネクタ
- Audio Codec x 1:マイク入力, スピーカー出力
- GPIO x 22:SPI, I2C, UARTなどにも使用可能
※基板上のジャンパーを切り替えて使用し、全てのインターフェースを同時に使用できるわけではありません
YOLOv8を用いた物体認識のデモ
代表的な物体認識のAIモデルであるYOLO (You Only Look Once) のデモを見てみましょう。
動作環境
USBカメラ (eYs3D社のG100+ Depth Camera) から画像を入力します。このデモでは深度情報は使わずに、シングルRGB(YUV) 640 x 640 pixel(または1280 x 720 pixel)として使用します。そして、XINK V2の処理結果をHDMIモニターから出力します。
動作結果
- 顔認識:顔の特徴から登録済みの名前を表示 ※緑枠の中を画像加工しています
- 姿勢推定:認識した人の姿勢を線で描写
- セグメンテーション:物体検出した物を色分けして区分
こちらのデモでは、様々なAIモデルのリアルタイム推論性能をご確認頂けます。
- ポーズ/キーポイント 動作と姿勢の認識
- セグメンテーション 物体の境界を正確に識別
- 分類 高速かつ高精度な物体認識
- 顔認証 正確・高速・安全な顔認証
- 人物追跡 効率的な人物モニタリング
- ナンバープレート認識 OCRベースの車両ナンバー認識
XINKソフトウェア開発ガイド
ここでは、eCV5546 SoC向けのUbuntuソースコードをGitHubからダウンロード・コンパイルして、Ubuntuをブートさせるまでの手順をご紹介します。なお、Host LinuxマシンはUbuntu 22.04を使用しています。
必要なパッケージのインストール
各種ソフトウェアパッケージ、ライブラリ、Python3パッケージがインストールされていることを確認します。もし、まだインストールされていない場合は、以下のコマンドを実行します。
sudo apt install bison flex git make mtd-utils mtools openssl pv python3-pip u-boot-tools dosfstools kmod xxd squashfs-tools bc wget sudo apt install libncurses* libgmp-dev libmpc-dev libssl-dev pip install crypto pycryptodomex pyelftools |
また、以下のコマンドを実行して、pythonコマンドでpython3が動作するようにします。
ln -s /usr/bin/python3 /usr/bin/python |
GitHubからコードのダウンロード
リポジトリのクローン:GitHubにあるリポジトリのコードを、ローカルコンピューターにコピーします。
git clone https://github.com/eYs3D/eCV5546_Platform.git |
初回準備:ビルドに必要なすべてのサブモジュールを準備します。ここでは、最新の開発版であるmasterブランチのコードを取得します。こちらは数十分かかる場合があります。
cd eCV5546_Platform git submodule update –init –recursive git submodule foreach git checkout master |
コード更新:リポジトリとサブモジュールの変更を最新の状態にします。
git pull git submodule foreach git pull |
ビルドの構成と実行
構成するためのコマンドを実行します。ここでは右にある構成を選択しています。
make config |
ビルドを実行します。こちらは数十分かかる場合があります。
make |
Flash書き込みとブート
以下の手順を行います。
- 生成されたバイナリをUSBメモリにコピーして、XINK V2のUSBポートに挿します。
- XINK V2基板上のブートスイッチをUSBブートに設定して、XINK V2の電源を入れます。
- eCV5546のISP (In-System Programming) 機能を用いて、USBメモリのバイナリをeMMCに書き込みます。
- USB-UARTターミナルやHDMIモニターを介して、書き込みの進捗が確認できます。
- ブートスイッチをeMMCブートに設定して、XINK V2の電源を再投入します。
- HDMIモニターでUbuntu MATE 22.04の起動が確認できます。
まとめ
eYs3D社のエッジAI向けの新しいプラットフォームXINK V2の構成や、YOLOv8の物体認識デモ、XINKソフトウェア開発についてご紹介しました。学習済みモデルをXINK V2で処理させることで、エッジAIのシステムが構築できます。XINK V2にご興味のある方、デモを見てみたい方はぜひご連絡ください。また、XINK V1のデモの記事もあわせてご覧ください。
- eYs3D XINKデモを動かしてみた①:物体認識、人物追跡、スケルトン、深度イメージを同時に行うデモ
- eYs3D XINKデモを動かしてみた②:YOLOを用いた物体認識と3D視覚の顔の位置合わせのデモ
関連商品
eYs3D Microelectronics: 3DマシンビジョンとエッジAIで未来を拓く
【AI: Computer Vision】eYs3D XINK プラットフォームのご紹介