アダプテーションモード:ラインバリエーションへのアダプテーション

生産ラインで新しくキャプチャされた画像には、既存のVisionPro Deep Learningツールの学習に使用された画像 (学習画像) の照明やカメラの状態にバリエーションがある可能性があります。たとえば、生産ラインでは、ある日、カメラのパフォーマンスが低下したり、輝度が変化したりして、ラインでキャプチャされた画像が学習画像から逸脱する可能性があります。この状況が発生した場合、これらの画像のVisionPro Deep Learningツールの結果は、学習画像からの結果よりも低下します。このような場合、Cognexは、以前に学習されたツールのニューラルネットワークをバリエーションを含む少数の新しいイメージに適応させることで、統計的な結果の最適化を提供して、学習画像と新しい画像から得られる結果の間のパフォーマンスのギャップを埋めます。その場合、アダプテーションは、新しくキャプチャした画像と以前の学習画像の組み合わせによってツールを再学習させるよりもはるかに迅速で便利です。

 

バリエーションの範囲

  • 照明の状態 (照明の角度、輝度、カラー)

  • カメラの状態 (カメラの高さ、経年変化、歪み)

 

バリエーションのない画像の例

 

バリエーションのある画像の例:輝度

 

バリエーションのある画像の例:カメラの角度

 

バリエーションのある画像の例:カメラの高さ

 

一般的なワークフロー

アダプテーションは、解析 (赤) High Detailおよび分類 (緑) High Detailでサポートされています。アダプテーションモードにより、新しく取得した画像にわずかなバリエーションがあっても、ツールは生産中に欠陥 (解析 (赤) High Detail) を正しく識別したり、オブジェクト (分類 (緑) High Detail) を正しく分類したりすることができます。

[ツールのパラメータ] パネルのモードのパラメータは、ベーシックまたはアダプテーションのいずれかです。ベーシックモードとは、解析 (赤) High Detailまたは分類 (緑) High DetailのデフォルトのVisionPro Deep Learning学習モードを指します。アダプテーションに変更すると、以前に学習させたツールを新しくキャプチャした画像に適応させるプロセスを開始できます。

 

 

分類 (緑) High Detailアダプテーションワークフロー

1.以前に学習させた分類 (緑) High Detailツールの準備

以前に学習させた分類 (緑) High Detailツール (.vgta) を準備します。学習されたツールは、VisionPro Deep Learning 3.0で学習されている必要があります。アダプテーションの結果は、バリエーションなしで以前に学習させたツールの結果に依存します。事前にこのツールを適切に学習し、高い適合率、再現率、および F 得点を取得することをお勧めします。

 

2.バリエーションを含む新しくキャプチャされた画像のサンプルの準備

学習画像のバリエーションを含む、生産ラインから新しくキャプチャされた画像のサンプルを準備します。新しくキャプチャされた画像に、学習画像からの照明の状態とカメラの状態におけるバリエーションを含めることができますが、画像の他のすべてのプロパティは、以前に学習させたツールの学習画像のプロパティと同一でなければなりません。アダプテーションのパフォーマンスのために、合計で少なくとも 32 のサンプル画像を準備することをお勧めします。

 

新しくキャプチャされた画像に複数のバリエーションタイプを含めることができますが、パターンはすべてのサンプルで一貫していなければなりません。

 

3.新しいストリームと新しいツールの作成

新しいストリームを作成し、このストリームで新しい分類 (緑) High Detailツールを作成します。

 

 

4.ベーシックからアダプテーションへのモードのパラメータの変更

このツールのモードのパラメータをベーシックからアダプテーションに変更します。ステップ 3 で作成されたツールが学習済みの場合、モードのパラメータを変更すると、このツールのすべての学習済み情報が削除されます。

 

5.以前に学習させたツールのインポート

[インポート] ボタンをクリックすると、以前に学習させたツールを読み込むことができます。

 

以前に学習させたツールが正常にインポートされると、その名前は「学習済みツール」として表示されます。

 

6.新しい画像のサンプルのインポート

新しい画像のラベル付きサンプルを現在のストリームにインポートするか、ラベルなしのサンプルをインポートしてそれらにラベルを付けます。新しい画像のサンプルは、新しくキャプチャされた画像のプロパティを完全かつ同一に表す必要があります。これらのサンプルはアダプテーションの対象として使用されます。新しいサンプル画像内の各クラス名は、以前に画像させたツールの構築に使用された画像内の各クラスの名前と正確に一致する (大文字小文字を含む) 必要があります。

CAUTION:  以前に学習させたツールの構築に使用された画像と、新しくキャプチャされた画像のサンプルを同じストリームまたはワークスペースに読み込まないでください。読み込むと、期待されるアダプテーションの結果が得られません。
Note: 分類 (緑) High Detailの画像のインポートとラベル付けの詳細については、「画像の収集」および「ラベルの作成 (ラベル付け)」を参照してください。新しい画像のインポートされたサンプルのラベルが正しくない場合は、それらのラベルの品質チェックを実行して修正できます。詳細については、「ラベルチェックによるラベル付けの最適化」を参照してください。
Tip: Cognex ラベルのインポート/エクスポートのプラグインを使用すると、VisionPro Deep Learningによってサポートされているラベルファイルが存在する場合、ラベルをインポートすることができます。
  1. 事前に、プラグインを使用してバリエーションのある新しい画像のラベルをエクスポートします。
  2. 上記のステップ 1 からステップ 5 まで実行してください。
  3. ステップ 6 で説明したように、新しい画像のサンプルを現在のストリームにインポートします。
  4. プラグインを使用してバリエーションのある新しい画像のラベルをインポートします。

 

新しい画像のサンプルをインポートする場合、クラスごとのビューの数は 1 以上でなければなりません。

 

7.アダプテーションの開始

[アダプテーション] をクリックして、以前に学習させたツールのアダプテーションを開始します。アダプテーションが完了すると、ツールは自動的に処理されます。

 

8.アダプテーション結果の確認

適応されたツールの処理結果が表示されます。アダプテーション完了後の処理パラメータの結果を変更する場合は、それらを設定し、[処理] をクリックします。

Note: 分類 (緑) High Detail 処理パラメータの詳細については、「処理パラメータの設定」を参照してください。

 

以前に学習させたツールをバリエーションのある新しい画像に適応する前の結果の例

 

以前に学習させたツールをバリエーションのある新しい画像に適応した後の結果の例

 

9.適応されたツールを展開し、新しい画像全体をそのツールで処理する

ランタイム環境で適応されたツールを展開し、バリエーションのある新しい画像全体を処理します。

Note: ランタイム環境で学習させたツールの展開の詳細については、「ランタイム」を参照してください。

 

 

解析 (赤) High Detailアダプテーションワークフロー

1.以前に学習させた解析 (赤) High Detailツールの準備

以前に学習させた解析 (赤) High Detailツール (.vrta) を準備します。学習されたツールは、VisionPro Deep Learning 3.0で学習されている必要があります。アダプテーションの結果は、バリエーションなしで以前に学習させたツールの結果に依存します。事前にこのツールを適切に学習し、高い適合率、再現率、および F 得点を取得することをお勧めします。

 

2.バリエーションを含む新しくキャプチャされた画像のサンプルの準備

学習画像のバリエーションを含む、生産ラインから新しくキャプチャされた画像のサンプルを準備します。新しくキャプチャされた画像に、学習画像からの照明の状態とカメラの状態におけるバリエーションを含めることができますが、画像の他のすべてのプロパティは、以前に学習させたツールの学習画像のプロパティと同一でなければなりません。アダプテーションのパフォーマンスのために、合計で少なくとも 32 のサンプル画像を準備することをお勧めします。

 

新しくキャプチャされた画像に複数のバリエーションタイプを含めることができますが、パターンはすべてのサンプルで一貫していなければなりません。

 

3.新しいストリームと新しいツールの作成

新しいストリームを作成し、このストリームで新しい解析 (赤) High Detailツールを作成します。

 

 

4.ベーシックからアダプテーションへのモードのパラメータの変更

このツールのモードのパラメータをベーシックからアダプテーションに変更します。ステップ 3 で作成されたツールが学習済みの場合、モードのパラメータを変更すると、このツールのすべての学習済み情報が削除されます。

 

5.以前に学習させたツールのインポート

[インポート] ボタンをクリックすると、以前に学習させたツールを読み込むことができます。

 

以前に学習させたツールが正常にインポートされると、その名前は「学習済みツール」として表示されます。

 

6.新しい画像のサンプルのインポート

新しい画像のラベル付きサンプルを現在のストリームにインポートするか、ラベルなしのサンプルをインポートしてそれらにラベルを付けます。新しい画像のサンプルは、新しくキャプチャされた画像のプロパティを完全かつ同一に表す必要があります。これらのサンプルはアダプテーションの対象として使用されます。

CAUTION:  以前に学習させたツールの構築に使用された画像と、新しくキャプチャされた画像のサンプルを同じストリームまたはワークスペースに読み込まないでください。読み込むと、期待されるアダプテーションの結果が得られません。
Note: 解析 (赤) High Detailの画像のインポートと画像のラベル付けの詳細については、「画像の収集」および「ラベルの作成 (ラベル付け)」を参照してください。新しい画像のインポートされたサンプルのラベルが正しくない場合は、それらのラベルの品質チェックを実行して修正できます。詳細については、「ラベルチェックによるラベル付けの最適化」を参照してください。
Tip: Cognex ラベルのインポート/エクスポートのプラグインを使用すると、VisionPro Deep Learningによってサポートされているラベルファイルが存在する場合、ラベルをインポートすることができます。
  1. 事前に、プラグインを使用してバリエーションのある新しい画像のラベルをエクスポートします。
  2. 上記のステップ 1 からステップ 5 まで実行してください。
  3. ステップ 6 で説明したように、新しい画像のサンプルを現在のストリームにインポートします。
  4. プラグインを使用してバリエーションのある新しい画像のラベルをインポートします。

 

新しい画像のサンプルをインポートする場合、良好なラベルと不良なラベル (ピクセル単位でのラベル付け) のビューの数はそれぞれ 1 以上でなければなりません。

Note: ピクセル単位でラベル付けされた領域の詳細については、「コンフュージョンマトリックスのカウント」および「コンフュージョンマトリックスの計算 - 領域/未学習領域」を参照してください。

 

7.アダプテーションの開始

[アダプテーション] をクリックして、以前に学習させたツールのアダプテーションを開始します。アダプテーションが完了すると、ツールは自動的に処理されます。

 

8.アダプテーション結果の確認

適応されたツールの処理結果が表示されます。アダプテーション完了後の処理パラメータの結果を変更する場合は、それらを設定し、[処理] をクリックします。

Note: 解析 (赤) High Detail 処理パラメータの詳細については、「処理パラメータの設定」を参照してください。

 

 

以前に学習させたツールをバリエーションのある新しい画像に適応する前の結果の例

 

以前に学習させたツールをバリエーションのある新しい画像に適応した後の結果の例

 

9.適応されたツールを展開し、新しい画像全体をそのツールで処理する

ランタイム環境で適応されたツールを展開し、バリエーションのある新しい画像全体を処理します。

Note: ランタイム環境で学習させたツールの展開の詳細については、「ランタイム」を参照してください。