用開源庫 Anomalib 做工業質檢:只訓正常樣本,推理加速近 4 倍
ML6 工程師展示了基於開源庫 Anomalib 的工業視覺質檢方案。該方案採用教師-學生網路架構的單分類學習,僅需無缺陷樣本即可訓練,能在畫素級精確定位缺陷。配合 OpenVINO 在 CPU 上的推理速度提升近 4 倍,達到 30.2 fps。

Anomalib 是一個專門用於工業異常檢測的開源深度學習演算法庫,能幫你在流水線上快速搭建自動化視覺質檢流程,而且幾乎不需要人工標註缺陷。
做工業質檢最大的痛點就是缺陷樣本極難收集。正常產品成千上萬,但不同形式的劃痕、磕碰往往很少見。Anomalib 採用單分類學習方案,直接繞開了這個難題。
只用正常樣本就能挑出瑕疵
這套方案的核心在於只拿無缺陷的正常影像進行訓練,省去了大量收集和標註異常資料的時間。
模型採用了金字塔式的教師-學生網路架構。教師模型是一個在 ImageNet 上預訓練好的 ResNet18,學生模型則是同樣結構但隨機初始化的 ResNet18。
在檢測過程中,演算法會比對教師網路與學生網路輸出特徵之間的差異。這種差異可以直接在畫素級打出異常機率分值,從而在影像上精確圈出瑕疵的具體位置和大小。
硬體門檻與實測跑分
ML6 工程師在工業界常用的 MVTec 異常檢測資料集上測試了這套方案,覆蓋了其中的 7 個不同類別,輸入影像尺寸統一調整為 244x244,超引數保持預設。
測試硬體非常平民,僅用了一臺 AWS EC2 t3.xlarge 例項,配置為 4 核 Intel Xeon Platinum 8175M 2.50GHz vCPU 與 8GB 記憶體,完全沒有依賴昂貴的獨立顯示卡。
測試結果顯示,該方案在多個工業品類中都拿到了極高的分數,在皮革類別上甚至跑出了滿分。
速度表現同樣很亮眼。如果在 CPU 上直接使用原生 PyTorch 跑推理,幀率相對有限。但通過 Anomalib 內建的工具將模型匯出到 Intel OpenVINO 框架後,在瓶子類別測試中跑出了大約 30.2 fps 的推理吞吐量,比原生 PyTorch 提速了將近 4 倍。
想要嘗試的開發者可以直接在 GitHub 上獲取 Anomalib,程式碼庫本身自帶現成的高階檢測演算法、基準測試工具以及硬體匯出支援。
為什麼重要
這套方案對工廠質檢和邊緣計算開發者格外實用。傳統計算機視覺質檢往往受制於缺陷資料不足,或者需要給產線工控機加裝昂貴顯示卡。現在只用正常樣本訓練,配合 OpenVINO 就能在普通 CPU 上跑到 30 fps 的即時水準,部署成本幾乎被壓到了最低。
不過需要提醒的是,單分類學習極度依賴正常樣本的純淨度。如果訓練集裡混入了輕微瑕疵,或者產線光照變化過大,模型的誤報率可能會上升。投產前依然需要在真實產線環境下做細緻的閾值微調。
來源 (2)
- medium.com(在新分頁開啟)原文medium.com
- @ml6team(在新分頁開啟)討論x.com