i.MXアプリケーション・プロセッサ用のLinux BSPには、「GoPoint」と呼ばれるデモ・セットが含まれています。「GoPoint」には、物体/顔検出などのMachine Learning (ML)をはじめ、ビデオ再生、カメラのISP調整、3Dグラフィックス(OpenGL ES)などのマルチメディアのデモがあり、i.MXアプリケーション・プロセッサの各種機能を簡単に確認できます。
また、多くのデモはGitHubでソース・コードを公開していますので、実際のアプリケーションを開発する際の参考にすることもできます。
I.MXアプリケーション・プロセッサ用GoPoint | NXP Semiconductors
このブログではLinux 6.12.3_1.0.0のデモ・イメージを使用しています。
i.MX 8M Plus EVK評価ボードにダウンロードしたLinux BSPのデモ・イメージを書き込みます。イメージの書き込み方法は「Linux BSPをビルドして生成したイメージをターゲットボードに書き込む方法 (日本語ブログ)」の4.1をご参照ください。
*Linux BSPのバージョンによって、GoPointに含まれるデモの内容が異なる可能性がありますので、ご注意ください。
i.MX 8M Plus EVK評価ボードにHDMIディスプレイ、USBマウスを接続します。必要に応じて、MIPIカメラを接続します。
i.MX 8M Plus EVK評価ボードの詳しい使い方については、i.MX 8M Plus EVK Quick Start Guideをご参照ください。
GUI(グラフィック・ユーザー・インタフェース)での起動
i.MX 8M Plus EVKの電源を投入し、Linuxカーネルが起動するとHDMIディスプレイに画面が表示されます。表示された画面の左上にあるNXPマークをクリックすると、GoPointが起動します。
CUI(コマンド・ユーザー・インタフェース)での起動
Linuxカーネルが起動した状態で、コンソールのコマンド・ラインに以下のコマンドを入力することで、GoPointのテキスト・ユーザー・インタフェース(TUI)を起動することもできます。
# gopoint tui
各デモのタイトルにGitHubへのリンクを張っておきましたので、ご参照ください。
(一部のデモはリンクがありませんので、ご了承ください)
i.MX 8M Plus EVKのLinuxの/opt/gopoint-apps/scriptsに、各デモのスクリプトが配置されています。
root@imx8mpevk:/# ls /opt/gopoint-apps/scripts/
TSN audio multimedia run_tui.sh
__pycache__ machine_learning opengl utils.py
モデルをダウンロードするため、初回起動時はインターネット接続が必要
NNStreamer |
|
画像に何が映っているかを分類 |
|
画像の中から特定のオブジェクトを見つけ、位置と種類を識別 | |
|
人や物体の位置/向きを推定 | |
|
MLアクセラレータ・サーバーとして、NPUを持たないクライアントに接続し、ML推論を実行 | |
|
背景の置き換えや修正ができるよう、人物の肖像を切り取る | |
|
Pose EstimationとPose Classificationを組み合わせ、スクワットの回数を計測 | |
OpenCV |
Face Recognition |
複数のプロファイルを保存し、各個人を保存された名前によって識別 |
|
NPUを使用した高精度/低レイテンシの運転手監視システム(Driver Monitor System) | |
TFLite |
|
CPUとNPUによるTFLiteのモデルの性能を容易に比較 |
Multimedia
GStreamer |
|
カメラで撮影した映像またはテスト・ソースを再生 |
Camera using VPU | 映像のエンコード/デコードにVPUを使用したカメラ・プレビュー | |
2Way Video Streaming | ローカル・ネットワークで接続されたi.MXデバイス間で双方向のビデオ・ストリーミングを行う | |
|
Basler/OS08A20カメラとOV5640カメラを同時に使用したカメラ・プレビュー | |
ISP |
|
ISPの様々なパラメータをリアルタイムに変更することができる。BaslerカメラまたはOS08A20カメラに対応 |
Video Dump | カメラのRAWフレーム・データを接続されたドライブにダンプ。Baslerカメラのみ対応 | |
Voice |
i.MX Voice Control |
様々なアプリケーションを音声でOpen / Close。 8-MIC Arrayボード(8MIC-RPI-MX8)が必要 |
|
音声コマンドでBluetooth接続されたオーディオ・プレイヤーを制御 | |
|
NXPのVIT (Voice Intelligent Technology)を使用した音声コマンドによるスマート・キッチンの制御 | |
|
NXPのVITを使用した音声コマンドによるeBikeの制御 |
GPU
GLES2 |
Vivante Launcher |
Vivanteランチャのデモ |
|
ブルーム効果の作成例。 正確さよりも描画速度を重視した簡易的な処理を行うデモ |
|
|
元画像を1/4に縮小してから「ぼかし」処理を行い、ぼかした画像を元のサイズに拡大することで帯域幅を節約するデモ | |
|
8枚の1080pレイヤーを重ねてブレンドすることで、簡単なパララックス・スクロール効果を作成するデモ | |
|
フラグメント・シェーダーを使用して、ジュリア集合とマンデルブロ集合の両方をレンダリング |
|
|
ダイナミック・ライン・レンダリングの簡単な例 | |
|
FslSceneImporter と Assimp を使用してシーンを読み込み、OpenGLES2 を使ってレンダリングする方法を示すデモ |
|
|
アニメーションされた頂点カラー付きの三角形をレンダリングするデモ | |
|
遠近投影行列の構築方法と、フレームレートに依存しないアニメーションを使用して3Dモデルをレンダリングする方法を示すデモ | |
|
テクスチャ・クラスを使用して立方体にテクスチャを適用する方法を示すデモ | |
|
反射素材の効果をシミュレートするためのキューブマップ・テクスチャの使用法と、OpenGL ESでキューブマップ・テクスチャを生成するためのContentManagerの使用法についてのデモ | |
|
上記のデモと同様にキューブマップ・テクスチャを使用するが、反射素材そのものをシミュレートするデモ | |
Open VG 2D |
Tiger G2D |
OpenVGを使用してベクター・イメージの回転/拡大・縮小を行うデモ |
その他
TSN - Qbv |
TSN 802.1Qbv |
Time Sensitive Network トラフィック・スケジューリングを強化 |
i.MXアプリケーション・プロセッサ用のLinux BSPに含まれるデモ・セット「GoPoint」の起動方法と、各デモの簡単な説明および詳細なwebページへのリンクを紹介しました。これらのデモの情報がアプリケーション・ソフトウエアの開発の一助になれば幸いです。
=========================
本投稿の「Comment」欄にコメントをいただいても、現在返信に対応しておりません。
お手数をおかけしますが、お問い合わせの際には、NXP代理店、もしくはNXPまでお問い合わせください。
ここにコメントを追加するには、ご登録いただく必要があります。 ご登録済みの場合は、ログインしてください。 ご登録がまだの場合は、ご登録後にログインしてください。