アプリケーションの概要
小売向けチェックアウト システムは、接触を最小限に抑えたセルフサービス型のユーザー体験へと移行しており、商品ごとに個別にスキャンしたり、コードを入力したりする必要性が減っています。画像上の AI モデルは、複数のさまざまな製品を同時に区別できるため、顧客は迅速に注文をすべて入力でき、必要に応じて軽微な修正を行えます。必要に応じて、AI は製品上の 1D コードと 2D コードをすばやく見つけることで、同じシステムでバーコードの読み取りを支援できます。
エッジ AI は、ローカル プロセッサで画像処理を可能にし、高速でリアルタイムな結果をもたらすとともに、顧客のプライバシーを保護します。データをデバイス上にとどめることで、ネットワークの安定性が顧客に影響を与えるのを防ぎ、クラウドベース AI の繰り返し発生するコストも削減します。
AM62A や AM67A のようなデバイスは、C7™ NPU を搭載しており、同等のデバイスで動作する CPU に比べて、ニューラル ネットワーク モデルの性能を最大 50 倍に高速化します。ハイエンド システムでは、追加のカメラを内蔵して視点を増やすことで、検出精度を向上させたり、盗難防止機能を追加して在庫の減少を防いだりすることができます。
評価を開始する
データ収集
ビジョン AI モデルのトレーニングには、画像を使用します。小売用スキャナで物体を検出するには、YOLOX のような物体検出モデルが最適な選択肢になります。このモデルは、多くの異なる製品を検出して区別します。モデルが認識する対象のグラウンド トゥルース (すなわちアノテーション) は「境界ボックス」であり、これには製品を含む画像の領域と、それがどの製品であるかが含まれます。
画像はカメラで撮影されるため、最終製品で使用されるカメラで撮影した画像を含めることが有益です。優れたデータセットには、風景、照明条件、対象物の向きにおける現実的なバリエーションが豊富にあります。TI の評価基板を使用するか、ツールに手動で画像をアップロードする方法で、CCStudio™ Edge AI Studio を使用して画像を収集してアノテーションを付けることができます。
データ品質の評価
正確なモデルを得るには、適切にアノテーションされた画像データが必要です。アノテーション (境界ボックス) は、製品の位置を正確に指定する必要があります。
適切なデータセットには、次のような現実的なシナリオとバリエーションが含まれている必要があります:
- 製品が部分的に重なったり、互いに触れたりしている。
- お客様の手、衣類、財布など、購入可能な製品以外のものが存在している。
- 1 日を通しての照明の変化、または製品からの反射。
- わずかに損傷はあるものの、依然として人間が認識できる製品。
モデルを構築してトレーニング
CCStudio™ Edge AI Studio または edgeai-modelmaker を使用すると、TI がサポートしているニューラル ネットワーク向けにモデルをトレーニングできます。熟練した開発者は、PyTorch や TensorFlow を使用してカスタム ネットワークを自ら学習させることを好むかもしれません。
用途に適したモデルを検索
まず、物体検出モデルまで検索を絞り込むことから始めます。小売向けシステムは多数の異なる物体検出が必要な場合があるので、より大規模で、より高解像度のモデルの方が適切な可能性があります。大規模なモデルほど実行速度が遅くなるため、システムに求められる応答性に応じて、そのバランスを調整できる必要があります。異なる製品が多数あるほど、より大規模なモデルの恩恵を受けることになります。
YOLO-Small (S) と YOLOX-Nano のようなモデル バリエーションは似たアーキテクチャを持っていますが、前者は精度を向上させるためにより多くの (そしてより大きい) 層を持っています。
バーコード検出器のような小型で高速なモデルでは、従来のアルゴリズムで構造化されたビジュアル データを製品番号または SKU にデコードする前に、より低い解像度のモデルを使用して関心領域を決定します。
モデルの展開
モデルの展開では、対象となるハードウェア アクセラレータ用に、モデルを事前にコンパイルする必要があります。Edge AI Studio や edgeai-modelmaker のようなツールを使用すると、コンパイルが自動的に行われます。そうでない場合、モデルのコンパイルは TI の GitHub 上にある edgeai-tidl-tools などのソフトウェア パッケージを使用して、独自モデルのフローを通じて別途実行する必要があります。
モデル アーティファクトは、ONNX Runtime、LiteRT (以前の tensorflow-lite)、TVM などのランタイムを通じてデプロイされ、ハードウェア アクセラレーションのバックエンド ソフトウェアとして TI Deep Learning (TIDL) が使用されます。
モデルをエンド ツー エンドのビジョン アプリケーションにデプロイするには、まず edgeai-gst-apps を使用し、画像の前処理および後処理に加えて AI モデル自体の高速化も含め、複数のハードウェア アクセラレーション段階でパイプラインを構成します。
edgeai-gst-apps に加えて、小売向けチェックアウトとバーコード スキャン用に 2 つのデモを作成しました。それぞれについてデモ用のモデルをトレーニングし、リポジトリの一部として含んでいます。これらのリポジトリへのリンクは、サポート リソースで参照してください。
小売用途では、カタログへの商品の追加や削除が日常的に行われるため、モデルの再トレーニングと更新を継続的に行うことが重要です。完全な生産グレード システムには、オンライン更新メカニズムを確立する必要があります。
お客様に最適なデバイスの選択
デバイスの選択は、必要な AI 性能のレベルとカメラのスループット (分解能とフレームレート) によって異なります。
なお、AM67A には C7 NPU コアが 2 つ搭載されており、それぞれが AM62A のベンチマークと同様のレベルで個別に動作します。複数のモデルを個々のコアで実行することも、同じコアを共有することもできます。
以下の表に示すベンチマークは、SDK バージョン 10.1 を使用して作成されたものです。
| 製品番号 | プロセッシング コア | NPU が利用可能 | モデル ベンチマーク | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
YOLOX-Nano (416x416) のパフォーマンス |
SSD - Mobilenetv2 (512x512) のパフォーマンス |
YOLOX-Small (640x640) のパフォーマンス | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AM62A7 | 4x Arm® | 2 TOPS | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| TDA4VM | 2x Arm® Cortex®-A72 + C7™ NPU | 8 TOPS | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
FPS (フレーム / 秒)
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
開始に必要なすべてのハードウェア、ソフトウェア、およびリソース
ハードウェア
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 の開発およびデプロイにおける製品ライフサイクル全体を簡素化します。
産業用 | ビジョン
AI アクセラレーション対応プロセッサと業界標準ソフトウェアを用いて、高フレーム レートでリアルタイムに特定の物体や人物を検出し、位置特定します