Vitis™ AIを用いてSo-One KITで物体検出AI(YOLOなど)を動かしてみた
皆さまこんにちは!TEPPE-AIです!
コロナウイルスの猛威、なかなか収まりませんね・・・
色々と制限をかけられている世の中ですが、何とか踏ん張っていきたいところです!
自由な生活を取り戻せるよう、今一度対策に力を入れていきたいと思います!
-
ということで、今回のタイトルはビッグタイトルです!!
「Vitis™ AIを用いてSo-One KITで物体検出AI(YOLOなど)を動かしてみた」です。
So-One KITは、Carrier BoardにPALTEKで開発した組み込みFPGAエッジコンピューティング「So-Oneモジュール」を搭載した2段構成となっているオリジナルFPGA評価ボードです。
So-One KITのサイズは、クレジットカードとほぼ同等のサイズです。
また、So-One KITに含まれる「So-Oneモジュール」には、Xilinx社のZynq®UltraScale+™MPSoCを搭載していて、37×38(mm)とかなり極小モジュールとなります。
今回は、So-One KIT上で「Vitis™AI 1.3」を用いて物体検出AIを動かしてみました。
この物体検出AIの動作環境に関しては、So-One KITをご購入いただきますと入手可能となっていますので、是非ご購入いただきお試しいただければと思います。
※So-One KIT ご検討の方は こちら からどうぞ!
それでは参りましょう!
目次
So-One KITについて
冒頭でも記載したとおり、So-One KITはCarrier BoardにPALTEKで開発した組み込みFPGAエッジコンピューティング「So-Oneモジュール」が搭載されているPALTEKオリジナル評価ボードです。
組み込みFPGAエッジコンピューティング「So-Oneモジュール」 37×38(mm)
So-One KIT 55×98(mm)
※上記サイズはキャリアボードの情報になります
①「So-Oneモジュール」は量産対応
So-Oneモジュールは非常に小型なだけでなく、実装されているデバイスはインダストリアルグレードのためSo-One KITにて評価いただいたのち、ユーザー様側のご判断でモジュールを量産品としてご使用いただくことも可能です。
※Carrier Boardは評価用となりますが、PALTEKにて量産を見据えた設計受託も可能です。
ドローン
監視カメラ
ラインセンサーカメラ
農機・建機
小型のため、今までは困難であった機器への実装も可能です
②主な使用用途は2通り
FPGAとしての”SoCモジュール”、エッジAIとしての”AI推論モジュール”の2通りで使用することができます。
- ◆ SoCモジュール:ユーザー回路を組み込んで使用可能 (FPGA評価Boardイメージ)
- ◆ AI推論モジュール:各パートナーIPを搭載しAIモデルを動作させることが可能
③ご購入後、用途ごとにリファレンスデザインを用意
「②」でお伝えした用途ごとにリファレンスデザインを用意しています。
デザインの作成手順や、作成済みデザインの実装方法を記載したドキュメントも用意していますので、開発の際には是非ご活用ください。
④今回はXilinx社のIPを搭載した”AI推論モジュール”として使用
今回は、Xilinx社が提供しているAI(DNN)演算IP
「DPU(Deep Learning Processor Unit)」を搭載した”AI推論モジュール”として使用しました。
※DPUに関する詳細は、 こちら からどうぞ!
So-One KITに関する詳細、購入を検討している方は、 こちら をご確認ください。
使用機材
hostPC | OS : windows | リファレンスデザインのSDイメージファイルをmicroSDカードへ書き込むために用います。 書き込みには汎用ツールを用いたので、OSは書き込みツール依存となります。 |
---|---|---|
評価ボード | So-One KIT | |
microSDカード | Micron製 industrial micro SD card 32GB | SDブートモードを用いて起動するので、microSDカードを用意しました。 ※So-One KITはeMMCブートでの起動も可能です。 |
USBwebカメラ | Logicool製 C615 | カメラを用いた物体検出のAIモデルを動作させるので、USBwebカメラを用意しました。 |
モニタ | 今回のデモはモニタ出力となるため、モニタも用意します。 |
事前準備
hostPC
・SDイメージファイル書き込みツールをインストール
Etcherを用いて、microSDカードへ書き込みを行いました。
→ https://www.balena.io/etcher/
・imageファイルをmicroSDカードへ書き込み
リファレンスデザインが格納されているimageファイルをSDカードへ書き込みます。
動作確認
前置きが長くなってしまい申し訳ございません!早速試してみましょう!!
SDブートでサンプルデモを起動
今回は、Vitis™ AI Libraryにて公開されているAIデモ(顔検出/物体検出)を動作させます。
先ほど用意したmicroSDカードを挿し込み、So-One KITの電源を入れると AIデモは自動で起動します。コマンド入力といった操作は不要です!
※ご注意!!
リファレンスデザインでは顔検出デモのみをご用意しております。
物体検出については、手順書に沿えば簡単に実装できますので、是非お試しください!
今回用いたAIサンプルデモ(顔検出)
出展:https://github.com/Xilinx/Vitis-AI/tree/1.3.2/demo/Vitis-AI-Library/samples/facedetect
今回用いたAIサンプルデモ(物体検出)
出展:https://github.com/Xilinx/Vitis-AI/tree/1.3.2/demo/Vitis-AI-Library/samples/yolov3
起動から約1分以内で、デモがモニタに出力されます。
① 顔検出(facedetect)
※顔検出については、プライバシーの点から、フリー画像に対しての結果を掲載しますm(__)m
② 物体検出(YOLOv3)
最後に
今回は、自動でデモが起動するデザインを使用しましたが、 Vitis™ AIを用いて任意にサンプルや独自モデルを動かせるデザインも用意しています。
次回は、用意している手順書をもとにデザインの構築~サンプルデモの起動まで案内予定です。
是非そちらもチェックしてみてくださいね!
それではまた!TEPPE-AIでした~