エッジ対応Open eVision
このホワイトペーパーでは、AI推論に対応するスマートカメラなどの組み込みデバイスにおけるエッジコンピューティングのメリットと、Open eVisionで機械学習のトレーニングとデプロイメントを行う方法を説明し、実用的なアプリケーションの例を紹介します。
次世代のマシンビジョンシステムは組み込みコンピューティングとAI画像処理によって形成されています。
ほとんどの産業用途では、レイテンシーと信頼性の理由から、マシンビジョンソフトウェアの推論をリモートサーバーではなくエッジで実行することが要求されるようになるでしょう。EuresysのOpen eVisionには機械学習モデルのトレーニングとエッジデバイスへのデプロイメントを可能にする実用的なツールが備わっており、柔軟なライセンス体系により手頃な価格で利用することができます。ルールベースの画像処理とAIモデルを1つのワークフローに統合し、より高速なアプリケーション開発も実現することができます。
マシンビジョン用途でエッジでの推論を行う理由
エッジコンピューティングでは、画像データをリモートのコンピューターやサーバー、もしくはクラウドプラットフォームに転送して処理するのではなく、画像データをできるだけソース(センサー)に近い場所で処理します。マシンビジョンの場合、画像を処理する最も近い場所とは、いわゆるスマートカメラやそれに類似する画像処理デバイスに搭載されたカメラ自体の中ということになります。
- 低レイテンシー
ほとんどの産業用マシンビジョンアプリケーションは、完全にインラインで部品検査を実行します。これには、意思決定をリアルタイムに行い、欠陥部品の拒否を確実に行える高速画像取り込みと処理が要求されます。エッジコンピューティングは、リモートホストへのデータの転送とそこでの処理に生じるレイテンシーを最小限に抑え、ほぼリアルタイムでの反応を可能にします。 - セキュリティ
画像データを生産ラインで直接処理すると、ネットワークの遮断や潜在的なハッキング行為に関わるリスクも低減できます。エッジコンピューティングは、より高いセキュリティと信頼性を確保するために、工場現場で直接、品質保証機能を実行します。 - 単純に
スマートカメラと組み込みデバイスには、コンパクトな特性により、スペースに制約のある産業機械に簡単に組み込めるという特定のメリットがあります。
Open eVisionの無料のDeep Learning Studioで、マシンビジョンソフトウェアモデルのトレーニングとデプロイメントを実施する
機械学習によって、ビジョンシステム開発者が高度なマシンビジョンアプリケーションを迅速に設計できる新しい可能性が開かれました。Euresysはその目的のために、Open eVisionソフトウェアライブラリに強力なツールボックスを追加しました。それがDeep Learning Studioです。
Deep Learning Studioは、特定の検査タスク向けにモデルをトレーニングし、テストして、エッジデバイスにデプロイする強力なアプリケーションです。このソフトウェアスイートを使うと、ユーザーは開発とデプロイメントワークフローのすべてのステップで支援が得られます。Deep Learning Studioは無料で提供されているため、開発者は制限を課せられることなくモデルのトレーニングと検証を行うことができます。課金されるのは、工場現場のターゲットデバイスに推論をデプロイする一度だけです。
モデルのトレーニングでは推論の実行よりもはるかに高い計算能力が必要となるため、トレーニングは64ビットプロセッサーアーキテクチャ、GPU(NVidia RTX 30シリーズ、8 GB RAM)、および最低8 GB RAMと400 MBのハードディスク空き容量を備えたWindowsまたはLinux PCで行うことが推奨されています。
Deep Learning Studioを使うと、トレーニングデータセットを作成し、注釈付け、拡張、分割を行い、モデルのトレーニングとテストを経て、デプロイに向けてエクスポートすることができます。
1. トレーニングデータの収集とDeep Learning Studioへのインポート
モデルのトレーニングには、検査する物体の画像セットが必要です。データセットのサイズが大きいほど、より堅牢にトレーニングを実施できます。期待される欠陥をモデルが識別できるようにするために、トレーニングデータには、合格部品と欠陥部品の画像が含まれていることが理想的です。
または、モデルを合格部品の画像のみでトレーニングし、その外れ値を検出するようにトレーニングすることもできます。
Deep Learning Studioには、データセット分割ツールが含まれています。このツールを使うと、トレーニング用、検証用、テスト用のような様々な目的のためにトレーニング画像を分割することが可能です。そうすることで、トレーニングで使用される画像とは異なる画像を使ってモデルのテストと検証を行えるため、より現実的な結果を得られます。
2. 適切なツールの選択(分類、セグメンテーション、位置情報)
Deep Learning Studioには、用途に応じて使用できる様々なツールが含まれています。
図1 Deep Learningツールの選択に影響する基準
- EasyClassify: 物体の画像をカテゴリ別に分類
特定の条件(合格/不良、色、形状など)に従って物体を分類する必要がある場合、EasyClassifyを使用すると、それらの基準を定義し、各画像を正しいカテゴリに割り当てられるようにモデルをトレーニングすることができます。 - EasySegment: 画像より欠陥を探す
合格画像と不良画像を振り分けるだけでは十分でない場合もあります。欠陥が何であるのか、それがどこにあるのかを知る必要がある場合は、EasySegmentを使用すると、欠陥の外観や画像内で見つかる可能性のある場所をモデルに教えることができます。 - EasyLocate: 画像内で物体を探し、カウントする
一部の用途では、同じ画像内で異なる物体を識別し、位置を特定し、その数をカウントする必要があります。たとえば、PCB上の異なる電子コンポーネントや箱の中でランダムに配置された物体などです。EasyLocateを使用すると、画像内の特定の物体を、それらが重なり合っている場合でも識別して強調表示できるように、モデルをトレーニングすることができます。
3. データの注釈付け
適切なツールを選択したら、トレーニング画像を確認し、モデルをトレーニングするための注釈付けを行います。
- EasyClassifyで、カテゴリを作成し、各画像を1つのカテゴリに割り当てます(合格/不良、
赤/黄色/青など)。Euresysでは、堅牢なトレーニング実現するために、クラスあたり少なくとも50個の画像を使用することをお勧めしています。 - EasySegmentで、各画像内の欠陥を印し、名前を付けます(傷、へこみ、ひび割れなど)。データセットに欠陥の画像が含まれる場合、この教師ありトレーニングのみを実行できます。そうでない場合は、EasySegmentは合格部品の画像のみを使用した教師なしトレーニングを提供します。すると、モデルはそれ以降の画像内で逸脱しているものを識別し、位置を特定するようになります。
- EasyLocateで、識別が必要な各物体をボンディングボックスで強調表示し、適切な名前でタグ付けを行います(FPGA、マイクロコントローラ、コネクタなど)。
4. トレーニングの構成
トレーニングデータの準備が完了し、適切なツールを選択したら、Deep Learning Studioでモデルのトレーニングを構成します。
以下の構成パラメータを使用できます。
- イテレーション回数: すべてのトレーニング画像をモデルが反復する回数。このパラメータはトレーニングにかかる時間と品質に影響します。イテレーション回数が多いほど、トレーニングにかかる時間は長くなり、より優れた結果を得られます。
- バッチサイズ: まとめて処理される画像の数。このパラメータは処理速度に影響しますが、必要なメモリ量と処理能力にも影響します。
- データ拡張: データ拡張は、画像の回転やシフト、照明設定の変更、ノイズの追加などにより、トレーニングデータセットのトレーニング画像を派生させて数を増やします。データセットに含まれるバリエーションが多いほど、実際のモデルの信頼性が高まります。
- トレーニングが決定論的であるかどうか。決定論的トレーニングではより再現可能な結果を得られますが、非決定論的トレーニングより低速です。
5. モデルのトレーニング
べてのパラメータの設定が完了し、Deep Learning Studioの「Train(トレーニング)」ボタンを押すと、トレーニングプロセスがキューに追加されます。トレーニングはキューに従って、1つずつ実行されます。トレーニングの所要時間は、データセットのサイズ、トレーニングパラメータ、およびハードウェアの性能によって異なります。
他のツールとは異なり、EuresysのDeep Learning Studioはトレーニングを完全にローカルで実行します。そのため、データがクラウドにアップロードされたり、Euresysやその他のサードパーティに共有されたりすることがありません。これは、用途を機密に維持する必要がある場合には、非常に高いメリットです。
6. 品質のチェック
Deep Learning Studio で別のデータセット分割を使用してモデルを検証できます。結果に満足行かない場合、ワークフローのステップ1(データセットのサイズを増やす)またはステップ2(注釈の品質を改善する)から、もう一度やり直します。
7. トレーニング済みモデルのエクスポート
ワークフローのこの前までのすべてのステップは、Deep Learning Studioを使って無料で実行できます。そのため、エッジデバイスにコミットして実際のオペレーションでテストする前に機械学習の実験を行いたい開発者にとって非常に魅力的なツールです。Euresysはモデルの各推論に対してのみ、つまり、現場にモデルをデプロイメントするたびにのみ、ライセンス料を請求します。
独自のモデルをトレーニング済みモデルや従来のライブラリと組み合わせる
AIコンピュータビジョンによって多くのメリットがもたらされますが、必ずしもAIである必要はなく、既存のライブラリを組み合わせて、エッジ検出などの実証済みの定型タスクを実行し、より用途固有のタスク用のモデルをトレーニングすることが望ましい場合もあります。Euresys Open eVisionを使用すると、ルールベースのライブラリ、トレーニング済みのモデル、および自己トレーニングモデルを単一のワークフローにシームレスに統合し、開発時間を高速化することができます。
EasyClassifyによる食品分類とグレード評価
ディープラーニング技術は、食品産業にとって強力な新しいアプローチです。AI処理は通常、自然食品の分類タスクを十分に処理することはできますが、食品産業には非常に高い検査レートが要求されます。製品は速いスピードでコンベアベルト状を移動しており、ビジョン検査によって生産プロセスが遅らされてはいけません。GPUを使っても、非常に高解像度の画像の分類を行えば、処理に遅れが生じる可能性があります。そのため、Open eVisionでは、効率的な物体検出を実行し(従来のオペレータを使用)、その後で小さな画像のバッチをディープラーニング分類器に送信するという、2段階のプロセスが推奨されています。

図2 たとえば、秒速18000ラインで実行するラインスキャンカメラの処理をディープラーニング分類器で行うと、決定にかかる平均レイテンシーはわずか9 msになります(NVidia RTX A2000 GPU使用時)。
Alecsスマートカメラのトレーニング済みOCRモデル

事前にトレーにングされたモデルの例として、EasyDeepOCRが挙げられます。これはディープラーニングを使用したテキスト認識ツールで、追加のトレーニングを必要としません。このツールでは、特定の情報のみを読み取るように構成することで、プロセスを高速化することも可能です。Euresysは、Allied Visionと合同で、Jetson Orinシステムオンチップ(SoC)を基盤とするAllied VisionのAlecsスマートカメラを使ったOCRアプリケーションのデモを行いました。AlecsカメラにはOpen eVisionがプレインストールされており、EasyDeepOCRにはトレーニングが必要ないため、構成することなくリアルタイムで複雑なラベルの読み出しを行えます。
このアプリケーションは、Alecs GPU上を使って、解像度1,232 x 1,032ピクセルの画像で400 msの処理速度を達成しています。
NVIDIA Jetson Orin NXでの物体数のカウント

図3 EasyLocateのコンポーネント認識機能の例
ユーザーがトレーニングしたアプリケーションの例は物体の数のカウントです。この例のモデルは、EasyLocateの「関心ポイント」方式を使ってトレーニングされており、画像内の特定の関心領域を検索して物体を認識します。ここでは、キャパシターの丸みを帯びた形状が認識され、画像内のインスタンスの数がカウントされます。上記のトレーニングの説明で見られるように、以下の作業においてDeep Learning Studioが使用されています。
• データセットの注釈付け
• トレーニングの構成(データの拡張や分割など)
• モデルのトレーニング
• モデルの検証(正確性、推論速度)
この単純でトレーニングしやすいモデルは、この後でNVIDIA Jetson Orin NX SoCで実行する組み込みコンピュータにエクスポートされました。GPUでの推論を高速化する、Open eVision対応のNVIDIAのTensorRT SDKによって、
FPS 20(1秒あたりのフレーム数)で画像(720 x 450ピクセル)あたり最大90個の物体をリアルタイムに検出することができます。
強力かつ柔軟で、使いやすくリスクもない
EuresysのOpen eVisionはエッジでのAI画像処理のための強力なツールです。最も一般的なマシンビジョンタスク向けのモデルトレーニングツール一式が備わっており、機械学習と組み合わせて単一のワークフローに統合できる確立されたライブラリが提供されています。この柔軟性により、マシンビジョンアプリケーションの迅速かつ効率的な設計を非常に簡単に実現することができます。推論ごとのライセンス体系は、予算を投入する前にモデルを調べてテストしたい開発者にとってコスト効率が非常に高くなります。モデルのトレーニングと検証は、Deep Learning Studioを使って無料で行えるため、モデルが現場にデプロイされる準備ができるまで、まったくリスクを負うことなく利用することができます。
