近年、エッジAIの需要が急速に増加しています。エッジデバイスでリアルタイムにデータを処理し、素早くインテリジェントな判断を下す能力がますます重要視されています。この記事では、最先端技術を駆使した実例として、NVIDIAの革新的なソフトウェアとNXPのエッジデバイスであるi.MX 8M Plusを活用し、エッジAI用のモデル学習からデプロイまでの一連のプロセスを詳解します。単にAIモデルを作成するだけでなく、今回は新たな試みとして合成データを用いてAIモデルを開発します。この方法により、多様なデータシナリオに柔軟に対応し、精度と汎用性を両立したAIソリューションを目指します。
[NVIDIA x NXPで実現するエッジAI]
第1話 プロセス概要
第2話 データセットの作成(NVIDIA Omniverse™)
第3話 AIモデルの学習(NVIDIA TAO Toolkit)
第4話 エッジデバイスへのデプロイと推論(i.MX 8M Plus EVK)

第1話 プロセス概要
今回は以下のデモアプリケーションを作りました。侵入禁止エリアを設定しておき、そこにミニ人形が入ると赤く警告される、といったデモになります。こちらは工場や商業施設等を想定して作成しました。ミニチュアなデモでちょっとユニーク(のつもり)です。
モデル作成の流れ
NVIDIA Omniverseに3Dアセットを配置
AIに検出させたい3Dアセットを準備し、NVIDIA Omniverseにインポートします。今回はフリーアセットとして提供されている人形の3Dアセットを使用しました。フリーのアセットを活用することで、迅速なプロトタイプの作成が可能となります。Omniverseにも多数のアセットが用意されているので、そちらから始めることも可能です。

スクリプトを作成しデータセットを作成
3Dアセットやカメラをランダムに配置するスクリプトを作成し、データセットを作成していきます。Omniverse Replicatorでは、3Dアセットの位置や角度・テクスチャなどを自由に変えられるため、多様なシナリオに対応できる合成データを生成することができます。

NVIDIA TAO Toolkitを用いてAIモデルを作成
NVIDIA TAO Toolkitは、NVIDIA社が提供している転移学習のツールです。初心者の方でも簡単にAIモデルを作成でき、作ったモデルをONNX形式で出力することが出来るため、エッジデバイスへのデプロイが簡単になります。Omniverseで作ったデータセットと事前学習済みモデルを使ってオリジナルのAIモデルを作ります。

AIモデルをエッジデバイス用に変換してデプロイ
AIモデルはGPUを始めとした大規模なリソースを使用することが想定されています。しかし、エッジデバイスには限られたリソースしかないため、モデルを軽量化する必要があります。今回はONNX形式のモデルをTensorFlow Liteに変換することで、エッジデバイス向けにモデルを軽量化します、これによりエッジデバイス上でのリアルタイムな推論を実現できるようになります。

第2話では、データセットの作成 を解説
本記事ではエッジAI実現までの流れを説明しました。NVIDIA Omniverseのプラットフォームを活用することで、実際の現場で撮影することなく、データセットをフォトリアルな仮想空間内で自動生成することが可能です。また、TAO Toolkitでの転移学習、ONNX形式への出力が可能です。ONNXはスタンダードなモデルフォーマットのため、あらゆるエッジデバイスにモデルを変換できる、といっても過言ではありません。
次回第2話では、データセットの作成を深掘りして実行手順を詳しく解説します。