コンテンツにスキップ
ステージングサーバー
開発サーバー

Anomaly Detection vTool#

Anomaly Detection vToolは、選択したモデルに基づいて、画像内の通常または期待される動作から逸脱しているパターンや特徴を識別します。

Anomaly detectionは、正常(望ましい)データと異常(望ましくない)データを区別し、画像を良品と不良品に振り分けることができるバイナリ分類の一種です。標準的な分類とは異なり、異常が稀である、十分に表現されていない、あるいはトレーニングデータセットにまったく存在しないような、極端に偏ったデータを処理することができます。

Anomaly Detection vToolは、Image入力ピンを介して受け取った画像を分類します。結果は、Classes、Scores、Regions、Heatmaps、およびInferenceImage出力ピンを介して出力されます。

anomaly detectionの前にROI Creator vToolを使用して関心領域を指定した場合、Anomaly Detection vToolはそのRoi入力ピンを介してROIデータを受け取ります。その場合、anomaly detectionは関心領域に対してのみ実行されます。副次的な効果として、これにより処理の高速化につながります。

Anomaly Detection vToolのライセンスを購入するには、Baslerウェブサイトをご覧ください。

Anomaly Detection vTool

仕組み#

PCBの製造ラインで異常がないかチェックする場合を想定します。

これは、ピンが曲がったPCBを示す入力画像(画像ソース:a)です:

PCBを示す入力画像

PCBの不具合を検知するようにトレーニングされたモデルを読み込んで、vToolを設定します。

動物のAnomaly Detection用バンドルが選択されました

次に、検出設定を行います:

  • Visualize anomalies and output heatmap: vToolには可視化機能が含まれており、デフォルトで有効になっています。これにより、データをヒートマップの形式で表示できます。ヒートマップにはさまざまなカラーマップから選択できます。データやコンテキストに応じて、さまざまなカラーマップが異常をより効果的にハイライトします。
    この可視化が必要なく、画像データのこれ以上の解析が不要な場合は、ヒートマップの選択を解除できます。これにより、スループットが向上する場合があります。このオプションの選択を解除すると、Regions、Heatmaps、およびInferenceImage出力ピンが無効になります。

    InferenceImage、Heatmaps、およびRegionsの差別化

    InferenceImageは、ピンデータビューで異常を可視化するためにヒートマップを重ね合わせた入力画像です。

    Heatmapsは、ピンデータビューでの異常の可視化を目的としたものではありません。これらは各ピクセルの異常スコアを表す浮動小数点値の画像であり、アプリケーションでのさらなる分析が必要な場合に使用されます。

    Regionsは、ヒートマップ値にしきい値を適用して計算されます。異常スコアが特定の値を超えているピクセルが領域にグループ化され、正常領域と異常領域が分離されます。

  • Anomaly threshold: 異常しきい値は、選択したモデルによって返されたスコアに基づいて、正常と分類された画像と異常と見なされた画像の境界を定義します。デフォルトのしきい値は、トレーニングデータセットに基づいてモデルのトレーニング中に選択されます。ただし、最適なしきい値は、アプリケーションの特定の要件や、受け入れるトレードオフによって異なります。必要に応じて調整できます。しきい値が高いほど検出される異常は少なくなりますが、検出された異常の信頼性は高くなります。しきい値が低いほど多くの異常が検出されますが、その一部は誤報である可能性があります。

    情報

    異常のない推論画像におけるピクセル強度の変動は、正常な画像からのわずかな逸脱を示しています。ただし、これらの逸脱が事前に定義された異常しきい値未満にとどまる限り、画像は正常と分類されます。この観察結果は、必要に応じて手動でしきい値を調整する際に役立ちます。

vToolの設定後、推論プロセスを開始するレシピを実行します。vToolはモデルを使用して画像を分析し、存在するオブジェクトを分類します。分析が完了すると、anomaly detectionの結果が返されます。その後、ピンデータビューで結果を確認できます。

InferenceImage Pin が選択されている状態の詳細出力

InferenceImage Pin が選択されている状態の Anomaly Detection

InferenceImage: 4つの異常領域が検出され、画像内でピクセル強度のヒートマップを使用してハイライト表示されています。ただし、そのうちの1つだけが異常しきい値を超えているため、画像は「abnormal」と分類されます。

Scores: 画像全体での最高異常スコアは 52.5901 です。4つの異常領域が検出されていますが、しきい値を超えているのは1つだけであり、その領域にのみ異常スコアが割り当てられます。

Classes: スコアがしきい値を超えているため、画像は abnormal と分類されています。

Regions Pin が選択されている状態の詳細出力

Regions Pin が選択されている状態の Anomaly Detection

Classes: スコアがしきい値を超えているため、画像は abnormal と分類されています。

Scores: 画像全体での最高異常スコアは 52.5901 です。

Regions: 異常領域がハイライト表示されています(スクリーンショットの矢印が指す部分)。推論画像出力とは対照的に、領域出力は、異常スコアが特定の値を超えている画像の部分のみマークします。

vToolの設定#

Anomaly Detection vTool を設定するには、次を行います:

Anomaly Detection vTool の設定

  1. vTool Settings エリアの Recipe Management ペインで、Open Settings をクリックするか、vTool をダブルクリックします。
    Anomaly Detection ダイアログボックスが開きます。

  2. Server Selection エリアで、接続するサーバーを選択します。
    接続するには、サーバーが実行されている必要があります。

    • オプション1:Triton Inference ServerのIPアドレスとポートを手動で入力します。
    • オプション2:ドロップダウンリストからサーバーのIPアドレス / ホスト名とポートを選択します。
  3. Connectをクリックして接続を確立します。
    その後、vToolによって利用可能なモデルがロードされます。

  4. ペインの モデルの選択 エリアで、ドロップダウンリストから目的のモデルが含まれるバンドルを選択します。
    バンドルを選択すると、ドロップダウンリストの下部にバンドルの詳細情報が入力され、正しいバンドルを選択したかどうかを確認できます。
    モデル選択エリア

  5. 目的のバンドルが表示されない場合は、次をクリックします 新しいモデルのデプロイ ドロップダウンリストで。
    新しいモデルのデプロイ
    これにより、次が開きます pylon AI Agent さらにモデルをデプロイできるようになります。
    新しいモデルをデプロイした後は、次をクリックする必要があります 更新 ボタン。

  6. Detection Settings エリアで、ヒートマップに使用するカラーマップを選択します。

  7. Detection Settings エリアで、必要に応じて異常しきい値を調整します。
    異常しきい値はモデルの一部です。これを変更すると、意図しない結果を招く可能性があります。

    情報

    このエリアで利用可能なパラメータは、選択したモデルによって異なります。一部のパラメータは、特定のモデルを選択した後にのみ利用可能になります。デフォルト値はモデルによって提供されます。

  8. OKをクリックします。

異常検知の結果は、pin data view で確認できます。ここでは、表示する出力項目を選択できます。

入力#

画像#

Camera vToolから、またはImage Format ConvertervToolなどの画像を出力するvToolから、直接画像を受け入れます。

  • データ型:Image
  • 画像形式:8ビットから16ビットのカラー画像

Roi#

ROI Creator vToolまたは長方形を出力するその他のvToolからROI(関心領域)を受け入れます。複数の長方形が入力された場合は、最初の長方形が単一のROIとして使用されます。

  • データ型:RectangleF、RectangleF Array

出力#

クラス#

各入力画像のクラス(normal または abnormal)を返します。

  • データ型:String Array

スコア#

クラスの異常スコアを返します。これは検出された異常の深刻度、つまり画像が abnormal である確率を示します。この値は確率ではなく、モデルによっては非常に小さい数値から非常に大きい数値までさまざまであることに注意してください。定義されたしきい値との関係においてのみ解釈する必要があります。

  • データ型:Float Array

ヒートマップ#

ヒートマップを返します。この出力は無効にすることができます。ヒートマップは、pin data view での異常の視覚化を目的としたものではありません。これらは各ピクセルの異常スコアを表す浮動小数点値の画像であり、アプリケーションでさらに分析を行いたい場合に使用されます。

  • データ型: Image Array

領域#

予測された各異常の領域を返します。この出力は無効にすることができます。領域は、ヒートマップの値にしきい値を適用して計算されます。異常スコアが特定の値を超えるピクセルが領域にグループ化され、正常領域と異常領域が分離されます。

  • データ型:Region Array

InferenceImage#

pin data view で異常を視覚化するために、ヒートマップオーバーレイ付きの入力画像を返します。この出力は無効にすることができます。

  • データ型:Image

ペイロード#

評価用にインファレンスサーバーのパフォーマンスに関する追加情報を返します。この出力ピンは、Debug Settingsパラメータグループ内のFeatures - Allペインで有効にした場合にのみ使用可能になります。

  • データタイプ:文字列

典型的な先行機#


  1. Visual Anomaly (VisA) は DATE に https://registry.opendata.aws/visa からアクセスされました。Zou, Yang, Jongheon Jeong, Latha Pemula, Dongqing Zhang, and Onkar Dabeer. "SPot-the-Difference Self-Supervised Pre-training for Anomaly Detection and Segmentation." arXiv preprint arXiv:2207.14315 (2022).