AnomalyDINO: DINOv2を活用した革新的なFew-shot異常検出手法

異常検出技術は、工業製品の品質管理や医療画像解析など、さまざまな分野で重要な役割を果たしています。特に、少数の正常データ（Few-shot）しか利用できない状況では、従来の異常検出手法は十分な学習ができず、精度が低下するという課題があります。

本記事では、DINOv2の事前学習済みの視覚特徴を活用し、学習不要（training-free）で即時適用可能な異常検出手法 **AnomalyDINO** を紹介します。AnomalyDINOは、画像をパッチ単位で解析し、正常データと異なる部分を特定することで、少数の正常サンプルのみで高精度な異常検出を実現します。

https://arxiv.org/abs/2405.14529v2

## **AnomalyDINOとは**

AnomalyDINOは、DINOv2の視覚特徴を活用し、Few-shot環境でも高い異常検出性能を実現する手法です。従来の手法のように大量の正常データを必要とせず、Few-shotのデータのみで即時適用できる点が特徴です。
![image-20250315123038146.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/208980/529d7cd7-6f3d-4504-9b86-fdd307658fa1.png)

**主な特徴**

- **学習不要（training-free）** – 追加のデータやファインチューニングなしで適用可能
- **画像レベルおよびピクセルレベルの異常検出が可能**
- **MVTec-ADデータセットで1-shot AUROC 96.6%を達成**
- **高速推論（1画像あたり約60ミリ秒）**
- **シンプルな実装で産業応用が容易**




## **従来手法との比較**

従来のFew-shot異常検出手法には、以下のような課題がありました。

- **学習が必要** – 追加のデータやファインチューニングが必須
- **計算コストが高い** – 大規模なネットワークの訓練が必要
- **異常の特定が難しい** – 画像レベルの分類のみで、詳細な異常位置の特定が困難

AnomalyDINOは、DINOv2の事前学習済みの特徴量を活用し、パッチ単位の類似度計算を行うことで、これらの問題を解決します。



## **パッチ単位の異常検出手法**

AnomalyDINOのコア技術は、**パッチ間の類似度を基に異常を検出する方法**にあります。画像全体の特徴量を学習する従来手法とは異なり、画像を細かいパッチに分割し、各パッチごとの特徴量を用いることで、高精度かつ学習不要な異常検出を実現します。

### **処理の流れ**

1. **正常データのパッチ特徴をDINOv2で抽出**
   - 画像を小さなパッチ（AnomalyDINOでは14×14ピクセルのパッチを使用）に分割し、それぞれのパッチの特徴量をDINOv2で抽出する。
   - 抽出された特徴量は高次元（例えば768次元）であり、画像の構造情報を詳細に保持している。
2. **正常パッチの特徴量をメモリバンクに保存**
   - Few-shotの正常画像から得られたパッチ特徴量をデータベース（メモリバンク）に保存する。
   - メモリバンクは、異常検出時の参照データとして機能し、異常スコアの計算に用いられる。
3. **異常検出時に、テスト画像のパッチをメモリバンクと比較**
   - テスト画像の各パッチの特徴をDINOv2で抽出し、メモリバンク内の正常パッチと比較する。
   - k近傍法（k-NN）を用いて、正常パッチとの類似度を計算し、正常データから大きく逸脱するパッチを異常と判定する。
4. **異常スコアの算出**
   - コサイン類似度を用いて、各パッチの異常スコアを算出する。
   - 画像全体の異常スコアは、異常パッチのスコアの最大値や平均値を基に統合される。

このアプローチにより、AnomalyDINOはFew-shot環境でも高精度な異常検出を実現し、ピクセルレベルで異常領域を特定することが可能になります。



## **実験結果**

AnomalyDINOは、以下のベンチマークデータセットで評価されました。

**MVTec-AD（工業製品の異常検出）**

- 1-shot AUROC: **96.6%（従来手法の最高値は93.1%）**
- 2, 4, 8, 16-shot設定でも最高精度を記録

![image-20250315123155887.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/208980/72fe7204-e148-48d1-a69a-a4bfb1568f90.png)


**VisA（多様な産業画像の異常検出）**

- 8-shot, 16-shotで既存手法を上回る性能


![image-20250315123212726.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/208980/8d06e537-0f34-4638-8b11-df6dfb29af95.png)

**推論速度**

- **448×448解像度で平均60ミリ秒/画像**（リアルタイム処理が可能）

![image-20250315123237055.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/208980/89205197-0c93-475f-98fb-72889790b3c6.png)



AnomalyDINOは、従来のFew-shot手法を全て上回るか、同等の精度を達成しながら、高速な推論を実現しました。



## **産業応用のメリット**

AnomalyDINOは、以下の理由から工業用途や医療分野での展開が容易です。

- **学習不要であるため、導入コストが低い**
- **リアルタイム処理が可能（60ミリ秒/画像）**
- **シンプルな実装のため、運用・デバッグが容易**
- **少数サンプルでも高精度な異常検出が可能**

具体的な応用例として、以下のような分野が考えられます。

- **半導体製造**: 微細な欠陥を検出し、製造品質を向上
- **食品検査**: 異物混入や品質異常を迅速に検知
- **医療画像解析**: MRIやX線画像から異常組織を特定

特に、**トレーニング不要で即時適用可能** という点が、現場での導入をスムーズにする大きなメリットとなります。



## **今後の課題と展望**

AnomalyDINOは高精度なFew-shot異常検出を実現していますが、以下のような課題も指摘されています。

- 意味的な異常（semantic anomaly）の検出が困難
  - 形状やテクスチャの異常には強いが、「意味的な異常」には対応しづらい。
- 正常データの多様性が低い場合、精度が低下する可能性
  - メモリバンクに登録する正常データが少なすぎると、誤検出が増加する。

今後は、**マルチモーダル情報（画像＋テキスト）を活用した異常検出** など、新しいアプローチの開発が期待されます。



## **まとめ**

AnomalyDINOは、DINOv2を活用したFew-shot異常検出の新たなアプローチです。特に、**トレーニング不要で即時適用可能** な点が、工業用途において大きなメリットとなります。

今後、産業分野や医療分野での活用が進み、異常検出技術の新たな標準となる可能性があります。