KV260のSmartCameraデモを動かしてみる
はじめに
KV260が手元にきてからROS2の方ばかり調べていたので、久しぶりにVVAS(ビデオ解析モジュール)の方をさわってみます。今回はKV260用公開されているSmartCameraデモがあり、見ていきたいと思います。
SmartCameraとは?
SmartCameraとは、カメラや音声デバイスをキャプチャして、顔検出や白線検出などのAI処理を実行し、HDMIモニターに出力する、もしくはストリーミング配信するというデモ処理になります。
以下のような処理ブロックで構成されています。
SDカードの準備
最初に以下のページにアクセスし、SD Card Image
のリンクをクリックしてPetaLinuxイメージをダウンロードします。
ダウンロードが完了したらEtcher
でSDカードに書き込みます。
KV260の準備
書き込みが完了したらSDカードをKV260に挿し込みます。
PetaLinux起動後に幾つかのパッケージをダウンロードするので、ネットワークにつながるようにEthernetも接続して置きます。
KV260とPCをUSBシリアルケーブルで接続してPCからターミナルソフトでアクセスできるようにします。
今回はMIPIカメラCAVBA-000A
を使用します。
以下のようにKV260のIASコネクタに接続しておきます。
PetaLinux設定
ターミナルソフトを起動しKV260の電源を入れます。
起動するとユーザー名と新しいパスワード設定が求められるので、ユーザー名はpetalinux
で任意のパスワードを設定してログインします。
xilinx-k26-starterkit-2020_2 login: petalinux
You are required to change your password immediately (administrator enforced)
New password:
Retype new password:
インストール済みパッケージを更新します。
$ sudo dnf update
$ sudo dnf clean all
SmartCameraパッケージを確認してインストールします。
$ sudo xmutil getpkgs
$ sudo dnf install packagegroup-kv260-smartcam.noarch
途中に何度かIs this ok [y/N]:
と聞かれるのでy
と入力して進めます。
アプリケーションのロード
次にアプリケーションをロードします。
最初にファームウエアの情報を確認します。Active_slot=0
になっているkv260-dp
が現在ロードされています。
$ sudo xmutil listapps
Accelerator Base Type #slots Active_slot
kv260-dp kv260-dp XRT_FLAT 0 0,
kv260-smartcam kv260-smartcam XRT_FLAT 0 -1
Socket 9 closed by client
一旦kv260-dp
をアンロードします。
ファームウエアの情報を見ると、kv260-dp
のActive_slot=-1
になりアンロードされていることが確認できます。
$ sudo xmutil unloadapp
$ sudo xmutil listapps
Accelerator Base Type #slots Active_slot
kv260-dp kv260-dp XRT_FLAT 0 -1
kv260-smartcam kv260-smartcam XRT_FLAT 0 -1
Socket 6 closed by client
SmartCameraのファームウエアをロードします。
kv260-smartcam
がロードされてActive_slot=0
となる事を確認します。
$ sudo xmutil loadapp kv260-smartcam
$ sudo xmutil listapps
Accelerator Base Type #slots Active_slot
kv260-dp kv260-dp XRT_FLAT 0 -1
kv260-smartcam kv260-smartcam XRT_FLAT 0 0,
Socket 6 closed by client
アプリケーションの起動
以上で準備が完了したのでSmartCameraアプリケーションを起動してみます。
MIPIカメラなので--mipi
オプションでFullHD、30フレームを指定します。
出力のターゲットはディスプレイを指定し実行します。
sudo smartcam --mipi -W 1920 -H 1080 -r 30 --target dp
結果、HDMIディスプレイにカメラ映像が表示されました。
おわりに
SmartCameraを動かしてみましたが、ZCU104の時と比べてアプリケーションも準備されていて、使い安くなった印象です。顔検出もしっかりと出来ていました。
Discussion