AD Workbench 的演算法都產生相同的輸出:逐像素的異常度熱圖與一個代表整張影像的分數,判定方式為 score ≥ Threshold → NG。差異在於用什麼擷取特徵、如何衡量異常度。這個差異決定了所需資料量、速度,以及擅長的瑕疵類型。
兩種訓練方式
A. 統計・特徵收集型(1-pass) — PaDiM、PatchCore、SPADE、AnomalyDINO、WinCLIP、HoleMetric、Tiled 2 種
將良品影像掃過一次,收集特徵或計算平均值與共變異數。由於沒有反向傳播,也就沒有 epoch 的概念,訓練只需數秒至數分鐘即可完成。但因為要儲存收集到的特徵,模型檔案可能會變大。
B. 梯度下降訓練型 — EfficientAD、FastFlow(20 epochs)、Dinomaly2(5,000 iterations)
實際訓練神經網路權重,因此需要較長時間。相對地,推論速度快、模型檔案小。當產線的節拍時間很緊時,可列為候選。
11 種一覽
| 演算法 | 特徵擷取 | 異常度計算 | 主要強項 |
|---|---|---|---|
| PaDiM | WideResNet50-2 | 與各位置高斯分布的馬氏距離 | 位置固定的對象,瑕疵位置清晰 |
| PatchCore | WideResNet50-2 | 記憶庫的 k 最近鄰距離 | 頂尖等級精度(建議預設) |
| SPADE | WideResNet50-2 | 與 K 張相似良品的逐位置最小距離 | 簡單,小規模資料可快速建置 |
| WinCLIP | CLIP ViT-B-16+ | 與「良品/不良品」文字的相似度 | 幾乎沒有良品影像也能立即嘗試 |
| EfficientAD | 輕量專用網路 | Teacher–Student 不一致 + 重建誤差 | 推論非常快 |
| FastFlow | WideResNet50-2 | 正規化流的機率密度 | 模型小、推論快 |
| AnomalyDINO | DINOv2 ViT | patch token 最近鄰餘弦距離 | 複雜形狀、few-shot、位置變動 |
| Dinomaly2 | DINOv2 + 解碼器 | 編碼器與解碼器的特徵差異 | 以單一模型整合多個視角 |
| HoleMetric | 傳統視覺 | 對位後的像素・cell 統計 | 孔・cell 單位微細形狀、CPU、訓練 3 秒 |
| AnomalyDINO Tiled | DINOv2 ViT-B/14 | 原始解析度下各 tile 的記憶庫 | 高解析度微細瑕疵、異物・破裂 |
| PatchCore Tiled | WideResNet50-2 | 各 tile 的 coreset 記憶庫 | 良品 20 張以上、微細表面瑕疵 |
基礎模型(Foundation Model)帶來的改變
WinCLIP、AnomalyDINO 與 Dinomaly2 直接使用以超過 1 億張影像預先訓練的通用視覺模型(CLIP、DINOv2)的特徵。這些模型已經訓練成能妥善表達「物體的結構」,因此即使只有幾張良品影像,也能擷取出區分正常與異常的特徵。WinCLIP 使用同時學習影像與文字的 CLIP,即使良品影像為 0 張,也會嘗試依據與「沒有刮痕的零件」、「有刮痕的零件」這類文字的相似度來判斷(Zero-shot)。在收集資料之前,可用來評估檢測是否可行。
高解析度微細瑕疵:tile 方式
大多數模型會將影像縮小到 512 像素左右再處理。若將 2048 像素的原圖縮小為四分之一,直徑 4 像素的孔堵塞就會變成 1 像素而消失。tile 方式會先將零件對位,再以原始解析度切成 518 像素的 tile(重疊 10%),並為每個 tile 分別建立記憶庫。在原圖中一個孔會呈現為 4×4 patch,因此 cell 單位的瑕疵能保留在特徵中。
HoleMetric 不使用深度學習,而是透過對位與統計,量測每個孔(cell)的亮度、暗部比例與偏差,並以 cell_report.csv 說明是哪個 cell 造成 NG。建議與擅長非典型異常(異物、破裂)的 AnomalyDINO Tiled 搭配使用。
選擇指南
| 情況 | 建議 | 理由 |
|---|---|---|
| 良品 0~10 張(可行性評估) | WinCLIP · AnomalyDINO | 以 Zero/Few-shot 立即嘗試 |
| 良品 10~50 張 | AnomalyDINO · SPADE · HoleMetric · Tiled | 免訓練的記憶庫・統計方式 |
| 良品 50~300 張 | PatchCore · AnomalyDINO · PaDiM | 頂尖等級精度 |
| 良品 300 張以上 | PatchCore · Dinomaly2 | 多視角時以 Dinomaly2 一套涵蓋 |
| 以治具固定,總是在同一位置 | PaDiM · PatchCore · HoleMetric | 逐位置基準完全吻合 |
| 對象會移動或略微旋轉 | AnomalyDINO | 對位置變化相對穩健 |
| 連接器、射出件等複雜形狀 | AnomalyDINO · Dinomaly2 | 較擅長表達複雜結構 |
| 孔・針腳微細形狀(2048px) | HoleMetric + AnomalyDINO Tiled | 原始解析度下以 cell 為單位量測 |
| 線上節拍時間很緊 | EfficientAD · FastFlow | 推論快、模型輕 |
最終仍以實驗決定
上表只是起點。即使是同一種零件,排名也會隨照明與瑕疵類型而改變。在 AD Workbench 中,於 Setup 勾選多個候選演算法並按下 Auto Run,就會以相同的訓練・評估資料全部執行,讓您並排比較分數分布與熱圖。比較依據請參閱模型評估與現場運作。