ビジョン システム内での物体検出

ビジョン システムにおける物体検出を 25 倍低いレイテンシで実現

AI アクセラレーション対応プロセッサと業界標準ソフトウェアを用いて、高フレーム レートでリアルタイムに特定の物体や人物を検出し、位置特定します

ビジョン システムにおける物体検出を 25 倍低いレイテンシで実現

アプリケーションの概要

多くのビジョン ベースのシステムでは、カメラの視野内にある車両、人、顔、不良部品、スキャン可能なコードなどの物体を検出する必要があります。物体の数や位置を把握することは、工場の自動化、住宅やビルのセキュリティ、自動車の安全、ロボティクスなど、さまざまなアプリケーションにおいて重要です。

複雑な対象物の検出には、信頼性と精度の高い検出を実現するためにディープラーニング AI ソリューションが必要です。専門レベルの知識は、検出対象のサンプル画像に置き換えることができ、開発プロセスを簡素化できます。また、AI  ベースの物体検出は、照明条件の変化、予期しない物体、センサ ノイズなどに対しても高い堅牢性を持っています。

エッジで AI を統合することで、システムのプライバシーとセキュリティが向上し、ネットワーク速度や信頼性に依存しない高速な応答が可能になります。TDA4x や AM62A デバイスに搭載された C7™ NPU などのハードウェア アクセラレーションや、ONNX  Runtime  などの業界標準ツールにより、オープンソースの物体検出 AI モデルをオンチップでリアルタイムに実行できます。

評価を開始する

データ収集

物体検出の学習データは画像とアノテーションで構成されており、アノテーションは画像内のどの位置にどの物体が存在するかを示します。TI ツールは、データセットに MS COCO 形式を使用します。

物体検出用の画像は、最終システムが動作する環境に一致している必要があります。類似した照明条件、カメラ レンズ、および環境の変動でデータを取得することで、学習済みモデルの精度が向上します。

データ品質の評価

学習結果の高い精度を得るためには画像品質が重要であり、データにはある程度のバリエーションを持たせる必要があります。検出対象の物体は、向きを変えたり、カメラからの距離を変えたり、一部を意図的に隠したりするなど、さまざまな形で示す必要があります。学習データにより多くのバリエーションを持たせることで、実環境での変化にも対応できるモデルになりますが、必須というわけではありません。

各オブジェクト タイプにつき数十枚の画像があれば、十分に実用的な精度のモデルを構築できます。

モデルを構築してトレーニング

当社では、CCStudio™ Edge AI Studio または TI の公式 GitHub  上の同等のコマンド ライン ツールを通じて、カスタム データ セットでのファインチューニングに最適化されたモデル群を提供しています。ユーザーはデータセットを用意し、エポック数や学習率などのいくつかのトレーニング パラメータを設定します。

トレーニングが完了した後、モデルをターゲットハードウェアにコンパイルすることで、導入の準備が整います。 このコンパイル ステップは、コマンド ラインとグラフィカル ツールの両方で自動的に処理されます。

用途に適したモデルを検索

サポート対象のデバイスごとに、複数のモデルを利用できます。精度と速度の間にはトレードオフがあり、モデルが大きいほど精度は高くなりますが、動作は遅くなります。用途に適したモデルを検索。

モデルの展開

モデルの展開には、ターゲット ハードウェア向けに最適化するため、事前にモデルをコンパイルしておく必要があります。Edge AI Studio のようなツールを使用すると、コンパイルが自動的に行われます。そうでない場合、モデルのコンパイルは TI の GitHub 上にある edgeai-tidl-tools などのソフトウェア パッケージを使用して、別途実行する必要があります。 

モデル アーティファクトは、ONNX Runtime、tensorflow-lite、TVM などのランタイムを通じてデプロイされ、ハードウェア アクセラレーションのバックエンドとして TI Deep Learning (TIDL) が使用されます。TI のツールでトレーニングを受けたモデルは、PyTorch でのトレーニングや、ONNX Runtime で使用できるように ONNX モデルのエクスポートを行います。

モデルをエンド ツー エンドのビジョン アプリケーションにデプロイするには edgeai-gst-apps を使用し、画像の前処理および後処理に加えて AI モデル自体の高速化も含め、複数のハードウェア アクセラレーション段階でパイプラインを構成します。

お客様に最適なデバイスの選択

TI プロセッサはさまざまなモデルでベンチマークされており、そのデータは Edge AI Studio で利用できます。複数の物体検出モデルが利用可能であり、NPU の有無にかかわらずデバイス上で実行できますが、リアルタイム処理においては NPU の存在が大きな性能向上につながることが分かります。

製品番号
プロセッシング コア
利用可能な NPU (TOPS)
物体検出のベンチマーク
YOLOX-Nano (416x416) レイテンシ [ms]
SSD-Mobilenetv2 (512x512) レイテンシ [ms]
AM625 4x Arm®
Cortex®-A53
なし 321ms
705ms
AM62A7
4x Arm®
Cortex®-A53 + C7™ NPU
Y (2 TOPS)
8.69ms
14.51ms
TDA4VE-Q1
2x Arm®
Cortex®-A72 + C7™ NPU
Y (8 TOPS)
4.23ms
5.46ms

開始に必要なすべてのハードウェア、ソフトウェア、およびリソース

ハードウェア

SK-AM62A-LP
AM62A は AM6xA ファミリの中で最も低コストの AI アクセラレーション対応デバイスであり、評価用途に最適です。画像の取得やライブデータでのモデル評価には、一般的な USB カメラやウェブカメラを使用できます

ソフトウェアおよび開発ツール

PROCESSOR-SDK-LINUX-AM62A
エッジ AI プロセッサ SDK は Linux ベースであり、コンパイル済みモデルをハードウェア アクセラレーションで実行するために必要なソフトウェア コンポーネントが含まれています。他のエッジ AI アクセラレーション プロセッサは、AM62A に置き換えることができます

CCStudio™ Edge AI Studio
このツールには、TI のエッジ AI プロセッサ向けにモデルの学習、コンパイル、デプロイを行うためのツールが含まれています。一般的なモデルの事前生成されたベンチマークを確認できるモデル選択ツールが用意されています。

コマンド ライン ツール
Linux および TIDL をサポートするマイクロプロセッサ デバイス向けツール。TI  のエッジ AI ソリューションは、豊富なツールと最適化されたライブラリを提供することで、DNN の開発およびデプロイにおける製品ライフサイクル全体を簡素化します。 

TIDL ツール
TI ディープラーニングの基本的なサンプルを確認し、カスタム モデル アーキテクチャをコンパイルします。

Edgeai-gst-apps
シンプルな YAML 設定ファイルを使用して、gstreamer により Edge AI アクセラレーション対応 MPU 上でエンド ツー エンドのアプリケーションを生成します

サポート リソース

スタート ガイドでは、TI プロセッサ上でエッジ AI アプリケーションを構築する際に開発者が考慮すべき要素と、そのために必要となるツールが示されています 

その他の使用事例

すべての使用事例を見る