MVTec HALCON AI アクセラレータ インターフェイスを使用して、Intel ディスクリート グラフィックスでの AI 推論を高速化します。

著者: Zhang Jiaji、MVTec プリセールス エンジニア、Zhang Jing、Intel AI エバンジェリズム戦略マネージャー

1.1 ハルコンとは

MVTec HALCON は、世界中で使用されている総合的なマシンビジョン標準ソフトウェアです。画像処理ソリューションの開発専用の統合開発環境 (HDevelop) があります。MVTec HALCON を使用すると、次のことが可能になります。

  • 柔軟なソフトウェア アーキテクチャのメリットを享受
  • 実現可能なすべてのマシンビジョンアプリケーションの開発を加速します。 
  • 市場への迅速なアクセスを保証
  • 継続的なコスト削減 

HALCON は包括的なツールボックスとして、マシン ビジョン アプリケーションのワークフロー全体をカバーします。その核となるのは、2,100 を超えるオペレーターを備えた柔軟で強力な画像処理ライブラリです。HALCON はあらゆる業界に適しており、画像処理に優れたパフォーマンスを提供します。

公式サイトリンク:https://www.mvtec.com/

画像引用元: https://www.mvtec.com/cn/products/HALCON/why-HALCON/compatibility

1.2 OpenVINOとは

OpenVINO™ は、人工知能 (AI) 推論を最適化および展開するためのオープンソース ツール プラットフォームです。

  1. コンピューター ビジョン、自動音声認識、自然言語処理、その他の一般的なタスクのディープ ラーニングのパフォーマンスを向上させます。
  2. TensorFlow、PyTorch などの一般的なフレームワークでトレーニングされたモデルを使用します。
  3. リソース要件を削減し、エッジからクラウドまでのさまざまなインテル® プラットフォーム全体に効率的に導入します。

1.3  HALCON と OpenVINOのインストール

バージョン 21.05 以降、 HALCON は新しい HALCON AI Accelerator Interface (AI²) を通じてOpenVINO™ツール スイートをサポートし、それによって AI モデルをサポートして Intel ハードウェア デバイス上で推論計算の高速化を実現します。

現在の HALCON AI モデルは、以下の表に示すように、Intel ハードウェア デバイスをサポートしています。

HALCON AI アクセラレータ インターフェイスを使用して Intel ハードウェア デバイス上で AI 推論計算を高速化するには、HALCON とOpenVINO™ を1 回インストールし、HALCON AI 推論プログラムを作成するだけです。

1.3.1  HALCON のインストール

公式サイト登録

MVTec 公式 Web サイトの HALCON ソフトウェア ダウンロード ページにログインします (HALCON の最新バージョンは現在 23.05 Progress) https://www.mvtec.com/downloads/halcon . MVTec ユーザー アカウントを登録していない場合は、まず個人アカウントまたは法人アカウントを登録します。(ここで登録するには会社用メールアドレスを使用する必要があることに注意してください。qqメールや163メールなどのプライベートメールアドレスは登録できません)

ダウンロードして解凍します

公式 Web サイトでインストール パッケージの完全版をダウンロードし (ログイン アカウントが必要です)、HALCON: MVTec Software をダウンロードします製品バージョンとオペレーティング システムを選択できます。ここでは、Windows プラットフォームの 23.05 プログレス バージョンを例に挙げます。画像内のリンクをクリックするとダウンロードが自動的に開始され、ツールを使用してダウンロードを高速化できます。

ダウンロード・解凍後、該当のフォルダーを開き、som.exeファイルをクリックし、SOM(ソフトウェアマネージャー)を起動してください。

インストール設定

SOM はデフォルトのブラウザを使用してインストール インターフェイスを開きます。インターフェイスを開いた後にオプションのインストール項目が表示されない場合は、コンピュータを再起動して、som.exe を再度開くことをお勧めします。

[言語] ボタンをクリックしてインターフェイス言語を切り替え、[環境] ボタンをクリックしてプログラムとデータのインストール パス、ウェアハウスのアドレスなどの一部の設定を変更できます。通常はデフォルト値を使用するのが最善です。

次に、[利用可能] ページを選択し、インストール パッケージを見つけて、[インストール] ボタンをクリックします。上のボタンは現在のユーザーにインストールするためのもので、下のボタンはすべてのユーザーにインストールするためのものです (システム管理者権限が必要です)。通常は上のボタンをクリックします。

デバイスに十分なスペース (15G 以上) がある場合は、右側ですべてを選択してすべてインストールすることをお勧めします。クリックして、インストールが完了するまで待ちます。

ライセンスファイルをロードする

HALCON ソフトウェアの動作には、対応するライセンス暗号化ファイルも必要ですので、MVTec 公式から正式版を購入するか、評価版を申し込むことができます。

次に、SOM インターフェイスにライセンス ファイルを直接ロードできます。上の図の赤いボタンをクリックすると、下のインターフェイスが開き、ライセンス ファイルをインストールおよび管理できます。ライセンス ファイルをドラッグするだけです。

最後に、Windows デスクトップ上で HALCON 統合開発環境 HDevelop ソフトウェアのアイコンを見つけると、HALCON を正常に使用できるようになります。

1.3.2  OpenVINO 2021.4 LTSのインストール

下の図に示すように、OpenVINO 公式 Web サイトにアクセスして OpenVINO 2021.4.2 をダウンロードしてインストールしてください。

インストール後、OpenVINO™ランタイム ライブラリのパスを環境変数のパスに追加してください。

最初のステップとして、以下を実行します。

C:\Program Files (x86)\Intel\openvino_2021.4.752\bin\setupvars.bat

path

以下の図に示すように、OpenVINO™ランタイム ライブラリへのパスを取得します。

2 番目のステップでは、次の図に示すように、 OpenVINO™ランタイム ライブラリのパスを環境変数パスに追加します。

ここで、OpenVINO™ をダウンロードしてインストールし、環境変数のパスにOpenVINO™ランタイム ライブラリのパスを追加すれば作業は完了です。

1.4HALCON AI推論プログラムの作成 

1.4.1 HALCON AI 推論プログラムのワークフロー

HALCON AI推論プログラムのワークフローは、HALCONのディープラーニング画像分類を例に挙げており、プログラムコードはHALCON統合開発環境HDevelopの開発言語となっています。

1. トレーニングされた深層学習モデルを読み取ります。

* Read in the retrained model.

read_dl_model (RetrainedModelFileName, DLModelHandle)

2. 深層学習モデルのパラメーターを設定します。

* Set the batch size.

set_dl_model_param (DLModelHandle, 'batch_size', BatchSizeInference)

* Initialize the model for inference.

set_dl_model_param (DLModelHandle, 'device', DLDevice)

3. データセットの前処理用のパラメータをインポートします。

* Get the parameters used for preprocessing.

read_dict (PreprocessParamFileName, [], [], DLPreprocessParam)

4. 推論画像をインポートし、深層学習サンプルを生成します。

* Read the images of the batch.

read_image (ImageBatch, Batch)

* Generate the DLSampleBatch.

gen_dl_samples_from_images (ImageBatch, DLSampleBatch)

5. 深層学習サンプルを前処理してモデルと一致させます。

* Preprocess the DLSampleBatch.

preprocess_dl_samples (DLSampleBatch, DLPreprocessParam)

6. 深層学習推論を実行します。

* Apply the DL model on the DLSampleBatch.

apply_dl_model (DLModelHandle, DLSampleBatch, [], DLResultBatch)

1.4.2  HALCON AI アクセラレータ インターフェイス (AI²)

MVTec のOpenVINO™ツール スイート プラグインは、新しい HALCON AI Accelerator Interface (AI²) に基づいています。この共通インターフェイスを通じて、顧客はディープ ラーニング アプリケーションの推論フェーズでサポートされている AI アクセラレータ ハードウェアを迅速かつ簡単に使用できます。

これらの特殊なデバイスは組み込み環境で広く使用されているだけでなく、PC 環境でも使用されることが増えています。AI アクセラレータ インターフェイスは、特定のハードウェアからディープ ラーニング モデルを抽象化し、特に将来性のあるものにします。

マシン ビジョン ソフトウェアのテクノロジー リーダーとして、MVTec のソフトウェアは、3D ビジョン、ディープ ラーニング、組み込みビジョンなどの最新テクノロジーを使用して、産業用 IoT 環境における新しい自動化ソリューションを可能にします。

MVTec が提供するプラグインに加えて、顧客固有の AI アクセラレータ ハードウェアも統合できます。さらに、AI² によって一般的な深層学習アプリケーションを高速化できるだけでなく、HALCON の Deep OCR など、深層学習機能を統合するすべての「古典的な」マシン ビジョン手法も AI² の恩恵を受けることができます。

1.4.3  OPenVINOをベースとしたHALCON AI推論サンプルプログラム

この記事では、HALCON ベースの深層学習画像分類の公式サンプル プログラムを使用します。

この記事で使用されているOpenVINO™に基づく HALCON サンプル コードは、MVTec 公式 Web サイト (https://www.mvtec.com/cn/technologies/deep-learning/ai-accelerator-interface) で共有されています。

-------------------------------------------------- ------------------------------------

ダウンロード後、HALCON サンプル プログラムで指定されたファイル パス %HALCONEXAMPLES%/hdevelop/Deep-Learning/Classification/ にプログラムを保存します。

デフォルトでは、推論にはトレーニング済みの深層学習モデルをロードする必要があるため、トレーニングを完了してモデルを保存できるように、HALCON の開発環境 Hdevelop を使用して最初にこのパスのサンプル プログラムを実行する必要があります。

  1. assign_pill_defects_deep_learning_1_preprocess.hdev
  2. assign_pill_defects_deep_learning_2_train.hdev

次に、ダウンロードしたサンプルを開いて実行します (または F5 キーを押します)。まず、 HALCON でサポートされているOpenVINO™デバイスをクエリする必要があります。

* This example needs the HALCON AI²-interface for the Intel® Distribution of the OpenVINO™ Toolkit * and a installed version of the Intel® Distribution of the OpenVINO™ Toolkit.

query_available_dl_devices ('ai_accelerator_interface', 'openvino', DLDeviceHandlesOpenVINO)

その後、プログラムの実行を続けると、この記事で使用されている Intel Arc A770 独立グラフィックス カードを含む、クエリされたすべてのOpenVINO™デバイス情報がビジュアル インターフェイスに順番に表示されます。ここでは、サポートされている推論精度が FP32 であり、以下に示すように、FP16。

次に、 OpenVINO™デバイスを選択する必要があります。現在、 HALCON AI² インターフェイスでサポートされているOpenVINO™デバイスには、Intel の CPU、GPU、HDDL、および MYRIAD が含まれます。HALCON をインストールする場合、CPU プラグインのみが組み込まれており、 GPU などの他のデバイスをサポートするには、 OpenVINO™ツールスイートを追加でインストールする必要があります。具体的なインストールについては、第 1.3.2 章を参照してください。ここでは、 OpenVINO™実行デバイスを、Intel の独立したグラフィックス カードである「GPU」として指定します。

* The device parameter 'type' can be used for further selection.

* It states the OpenVINO™ plugin responsible for handling the

* device. Depending on your OpenVINO™ installation, possible values

* are e.g. 'CPU', 'GPU', 'HDDL', and 'MYRIAD'. If you did not install

* OpenVINO™, HALCON will install the 'CPU' plugin.

OpenVINODeviceType := 'GPU'

プログラムを実行し続けると、GPU の異なる浮動小数点精度に基づいて推論の最適化が実行され、 OpenVINO™によって高速化および最適化された推論モデルが取得されます。

* To convert the model to 'float16'/'float32' precision, no samples have to be provided to

* optimize_dl_model_for_inference.

* No additional conversion parameters are required, so use the default parameters.

get_dl_device_param (DLDeviceHandleOpenVINO, 'optimize_for_inference_params', OptimizeForInferenceParams)

optimize_dl_model_for_inference (DLModelHandle, DLDeviceHandleOpenVINO, 'float32', [], OptimizeForInferenceParams, DLModelHandleOpenVINO, ConversionReport)

視覚化ウィンドウには、推論時間とトップ 1 エラー率を含む、それぞれ FP32 と FP16 での CPU と GPU のパフォーマンス比較が表示されます。

この時点で、OpenVINO™の構成テストは基本的に完了し、ディープラーニングの推論が実行されます。可視化ウィンドウには、推論ステップのイラストとテキストの説明が表示され、再び推論デバイスが表示されますこれはインテルの独立したグラフィックス カード情報です。

推論のワークフローについては、第 1.4.1 章を参照してください。推論の実行中にタスク マネージャーを開いて、Intel の独立したグラフィック カードの実行ステータスを観察できます。この例では、推論を高速化するためにデフォルトで FP16 精度が使用されていますが、特定のニーズに応じて比較テストのために FP32 精度に切り替えることもできます。

1.5 概要

MVTec HALCON AI アクセラレータ インターフェイス (AI²) は、MVTec ソフトウェア製品のユーザーがOpenVINO™ツールキットと互換性のある AI アクセラレータ ハードウェアを最大限に活用できるようにします。その結果、重要なワークロード用の CPU、GPU、VPU などのインテル コンピューティング デバイス上でディープ ラーニングの推論時間を大幅に短縮できます。

サポートされるハードウェアの範囲が拡大したことで、ユーザーは、少数の特定のデバイスに限定されることなく、さまざまなインテル デバイスのパフォーマンスを最大限に活用してディープラーニング アプリケーションを高速化できるようになりました。同時に、この統合はシームレスであり、特定のハードウェアの詳細に依存することはありません。パラメータを変更するだけで、既存の深層学習アプリケーションの推論プロセスを、 OpenVINO™ツールキットでサポートされているデバイス上で実行できるようになりました。

MVTec は最近マシン ビジョン セミナーを開催しました。誰でもサインアップして HALCON の専門家と直接コミュニケーションを取ることができます。

おすすめ

転載: blog.csdn.net/gc5r8w07u/article/details/132685325