AnomalyGPT:LVLMを使用して産業の異常を検出する
Using AnomalyGPT LVLM to detect anomalies in industries.
最近、LLavaやMiniGPT-4などの大規模ビジョン言語モデル(LVLMs)は、画像の理解力を示し、いくつかの視覚タスクで高い精度と効率を実現しています。LVLMは広範なトレーニングデータセットによる一般的なオブジェクトの認識に優れていますが、特定のドメイン知識がなく、画像内の局所的な詳細の理解が制限されています。これにより、産業異常検知(IAD)タスクでの効果が制限されます。一方、既存のIADフレームワークは異常の原因を特定することしかできず、正常と異常のサンプルを区別するために手動で閾値の設定が必要であり、実用的な実装が制限されています。
IADフレームワークの主な目的は、産業シナリオや製品画像での異常の検出と位置特定です。しかし、実世界の画像サンプルの予測不可能性と稀少性のため、モデルは通常正常データのみでトレーニングされます。彼らは典型的なサンプルからの逸脱に基づいて異常なサンプルと正常なサンプルを区別します。現在のIADフレームワークとモデルは、主にテストサンプルの異常スコアを提供しています。さらに、各アイテムクラスの正常なインスタンスと異常なインスタンスを区別するには、閾値の手動指定が必要です。これにより、実世界のアプリケーションには適していません。
産業異常検知フレームワークの課題に取り組むために、LVLMに基づく革新的なIADアプローチであるAnomalyGPTが導入されました。AnomalyGPTは、手動の閾値設定なしで異常を検出し、位置を特定することができます。さらに、AnomalyGPTは画像に関する関連情報も提供し、ユーザーと対話して異常や特定のニーズに基づいて追加の質問をすることができます。
産業異常検知と大規模ビジョン言語モデル
既存のIADフレームワークは、次の2つのカテゴリに分類されます。
- 再構築ベースのIAD。
- 特徴埋め込みベースのIAD。
再構築ベースのIADフレームワークでは、主な目的は異常サンプルをそれぞれの正常な対応サンプルに再構築し、再構築エラーの計算によって異常を検出することです。SCADN、RIAD、AnoDDPM、InTraなどは、生成的対抗ネットワーク(GAN)やオートエンコーダーから拡散モデル&トランスフォーマまで、さまざまな再構築フレームワークを使用しています。
一方、特徴埋め込みベースのIADフレームワークでは、主な目的は正常データの特徴埋め込みをモデリングすることです。PatchSSVDなどの手法では、正常サンプルを緊密に包括できる超球を見つけようとします。一方、PyramidFlowやCflなどのフレームワークでは、正常サンプルを正規化フローを使用してガウス分布に射影します。CFAとPatchCoreフレームワークは、パッチ埋め込みから正常サンプルのメモリバンクを確立し、テストサンプル埋め込みと正常埋め込みの間の距離を使用して異常を検出します。
これらの方法はすべて、「1クラス1モデル」という学習パラダイムに従っており、各オブジェクトクラスの分布を学習するために大量の正常サンプルが必要です。大量の正常サンプルの要件は、新しいオブジェクトカテゴリには実用的ではなく、動的な製品環境では限定的なアプリケーションしかありません。一方、AnomalyGPTフレームワークは、オブジェクトカテゴリの文脈に即した学習パラダイムを使用し、わずかな正常サンプルのみで干渉を可能にします。
さらに進めると、私たちには大規模ビジョン言語モデルまたはLVLMがあります。LLMまたは大規模言語モデルは、NLP業界で非常に成功しており、視覚タスクへの応用が現在探索されています。BLIP-2フレームワークは、Q-formerを使用してビジョントランスフォーマのビジュアル特徴をFlan-T5モデルに入力します。さらに、MiniGPTフレームワークは、BLIP-2フレームワークの画像セグメントとVicunaモデルを線形層で接続し、画像テキストデータを使用した2段階の微調整プロセスを実行します。これらのアプローチからは、LLMフレームワークが視覚タスクにいくつかの応用がある可能性が示唆されています。ただし、これらのモデルは一般的なデータでトレーニングされており、広範な応用に必要なドメイン固有の専門知識が不足しています。
AnomalyGPTはどのように機能しますか?
AnomalyGPTは、その核となる大規模ビジョン言語モデルであり、画像を使用して産業の異常を検出し、その正確な位置を特定するために設計されています。AnomalyGPTフレームワークは、LLMと事前学習された画像エンコーダを使用して、刺激された異常データを使用して画像を対応するテキストの記述と整列させます。モデルはデコーダモジュールとプロンプト学習モジュールを導入し、IADシステムのパフォーマンスを向上させ、ピクセルレベルの位置特定の出力を実現します。
モデルのアーキテクチャ
上記の画像はAnomalyGPTのアーキテクチャを示しています。モデルはまずクエリ画像を凍結された画像エンコーダに渡します。その後、モデルは中間層からパッチレベルの特徴を抽出し、これらの特徴を画像デコーダに供給して、異常なテキストと正常なテキストとの類似性を計算し、結果をローカライズします。プロンプトラーナーはそれらをプロンプト埋め込みに変換し、ユーザーテキスト入力と共にLLMへの入力として使用することができます。LLMモデルはプロンプト埋め込み、画像入力、ユーザーが提供したテキスト入力を活用して異常を検出し、その位置を特定し、ユーザーへの最終応答を作成します。
デコーダ
ピクセルレベルの異常の特定のため、AnomalyGPTモデルは、few-shot IADフレームワークと非教示型IADフレームワークの両方をサポートする軽量な特徴マッチングベースの画像デコーダを展開します。AnomalyGPTで使用されるデコーダの設計は、WinCLIP、PatchCore、APRIL-GANフレームワークに触発されています。モデルは画像エンコーダを4つのステージに分割し、各ステージごとに中間のパッチレベルの特徴を抽出します。
しかし、これらの中間特徴は最終的な画像テキストのアライメントを経ていないため、直接特徴と比較することはできません。この問題に対処するため、AnomalyGPTモデルは中間特徴を射影するための追加のレイヤーを導入し、それらを正常および異常のセマンティクスを表すテキスト特徴と整列させます。
プロンプトラーナー
AnomalyGPTフレームワークは、ローカライズ結果をプロンプト埋め込みに変換して、画像から細かいセマンティクスを活用し、デコーダとLLMの出力間のセマンティックの一貫性を維持しようとするプロンプトラーナーを導入しています。さらに、モデルは、IADタスクに追加の情報を提供するためにデコーダの出力とは関係のない学習可能なプロンプト埋め込みをプロンプトラーナーに組み込みます。最後に、モデルは埋め込みと元の画像情報をLLMに供給します。
プロンプトラーナーは、学習可能なベースプロンプト埋め込みと畳み込みニューラルネットワークから構成されています。ネットワークはローカライズ結果をプロンプト埋め込みに変換し、画像埋め込みと組み合わせた一連のプロンプト埋め込みを形成し、LLMに組み込まれます。
異常シミュレーション
AnomalyGPTモデルは、異常データをシミュレートするためにNSAメソッドを採用しています。NSAメソッドは、ポアソン画像編集法を使用してカットアンドペースト技術を活用し、画像セグメントを貼り付けることで導入される不連続性を緩和します。カットアンドペーストは、IADフレームワークで一般的に使用される技術で、シミュレートされた異常画像を生成します。
カットアンドペースト法では、画像からランダムにブロック領域を切り取り、別の画像のランダムな位置に貼り付け、一部のシミュレートされた異常を作成します。これらのシミュレートされた異常サンプルはIADモデルの性能を向上させることができますが、注意点があります。それらはしばしば目立つ不連続性を生じる可能性があります。ポアソン編集法は、ポアソン偏微分方程式を解くことにより、1つの画像から別の画像にオブジェクトをシームレスにクローンすることを目指しています。
上記の画像はポアソンとカットアンドペーストの画像編集の比較を示しています。カットアンドペースト法では目立つ不連続性が見られますが、ポアソン編集の結果はより自然に見えます。
質問と回答の内容
AnomalyGPTモデルでは、大規模なビジョン言語モデルでプロンプトチューニングを行うために、異常画像に基づいて対応するテキストクエリを生成します。各クエリは2つの主要なコンポーネントで構成されています。クエリの最初の部分は、画像内に存在するオブジェクトに関する情報とそれらの予想される属性を提供する入力画像の説明で構成されています。クエリの2番目の部分は、オブジェクト内の異常の存在を検出するか、画像に異常があるかどうかをチェックすることです。
LVLMはまず、画像に異常があるかどうかのクエリに応答します。モデルが異常を検出すると、異常領域の位置と数を指定します。モデルは画像を3×3のグリッドに分割し、LVLMが異常の位置を言葉で示すことができるようにします。
LVLMモデルは、入力の詳細な知識と入力画像の基礎知識を組み合わせて、画像の構成要素をより良く理解するためのモデルです。
データセットと評価指標
このモデルは、主にVisAとMVTec-ADのデータセットで実験を行います。MVTech-ADデータセットは、トレーニング用に3629枚の画像と15の異なるカテゴリに分かれた1725枚のテスト用画像で構成されており、IADフレームワークでは最も人気のあるデータセットの1つです。トレーニング画像には通常の画像のみが含まれ、テスト画像には通常の画像と異常な画像の両方が含まれています。一方、VisAデータセットには9621枚の通常の画像とおよそ1200枚の異常な画像が12の異なるカテゴリに分かれて含まれています。
次に、既存のIADフレームワークと同様に、AnomalyGPTモデルは評価指標として受信者動作特性の下の面積(AUC)を使用し、異常の位置特定のパフォーマンスを評価するためにピクセルレベルと画像レベルのAUCを使用します。また、モデルは提案手法のパフォーマンスを評価するために画像レベルの正確度も利用します。これにより、手動で閾値を設定する必要なく異常の存在を判断することができます。
結果
定量結果
フューショット産業用異常検出
AnomalyGPTモデルは、PaDiM、SPADE、WinCLIP、PatchCoreなどのフューショットIADフレームワークと比較して、その結果を比較します。
上記の図は、AnomalyGPTモデルの結果をフューショットIADフレームワークと比較したものです。両方のデータセットで、AnomalyGPTによる手法は以前のモデルが採用した手法よりも画像レベルのAUCで優れたパフォーマンスを示し、また精度も高い結果を返します。
非教師あり産業用異常検出
大量の通常サンプルを使用した非教師ありトレーニング設定では、AnomalyGPTはデータセット内のすべてのクラスから得られたサンプルを使用して単一のモデルをトレーニングします。AnomalyGPTの開発者は、UniADフレームワークを選択しました。これは同じ設定で訓練され、比較のためのベースラインとなります。さらに、モデルはJNLDとPaDimフレームワークとも同じ統一された設定で比較します。
上記の図は、AnomalyGPTのパフォーマンスを他のフレームワークと比較したものです。
定性結果
上記のイメージは、AnomalyGPTモデルの非教師あり異常検出方法のパフォーマンスを示しています。以下の図は、モデルの1-shotインコンテキスト学習におけるパフォーマンスを示しています。
AnomalyGPTモデルは、異常の存在を示し、その位置を特定し、ピクセルレベルのローカリゼーション結果を提供することができます。モデルが1-shotインコンテキスト学習方法にある場合、トレーニングがないため、ローカリゼーションのパフォーマンスは若干低くなります。
結論
AnomalyGPTは、大規模なビジョン言語モデルの強力な機能を活用するために設計された革新的な対話型IAD(異常検出)ビジョン言語モデルです。画像内の異常を特定するだけでなく、その正確な位置を特定することもできます。さらに、AnomalyGPTは異常検出に焦点を当てたマルチターンの対話を可能にし、フューショットインコンテキスト学習において優れたパフォーマンスを発揮します。AnomalyGPTは、LVLM(大規模ビジョン言語モデル)を異常検出に応用する潜在的な可能性について探求し、IAD業界に新しいアイデアと可能性を提供しています。
We will continue to update VoAGI; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles