介 紹
Anomalib Github 地址[1]
Anomalib 是一個深度學習庫,旨在收集最先進的異常檢測算法,以便在公共和私有數據集上進行基準測試。Anomalib 提供了近期文獻中描述的異常檢測算法的幾種即用型實現,以及一套便于開發和實現自定義模型的工具。該庫重點關注基于圖像的異常檢測,算法的目標是識別異常圖像或數據集中圖像的異常像素區域。
Anomalib 具有以下特點:
有大量現成可用的深度學習異常檢測算法和基準數據集。
基于 PyTorch Lightning 編寫了一套最大化通用的模型,可以幫助我們減少大量模板代碼,可以幫助我們將更多的精力放在重要的事情上。
所有模型均可導出到支持英特爾硬件加速的 OpenVINO 格式。
一套推理工具,用于快速、輕松地部署標準或自定義異常檢測模型。
在 CPU 上就可以實現毫秒級的檢測。
僅需少量的良品圖片,進行幾分鐘的訓練,即可完成一個在線異常檢查的應用。
針對我們的檢測應用,以上算法均能滿足需求的前提下,我們選用了速度最快的 STFPM-ResNet18 模型來進行測試。詳見論文: STFPM[2]
原 理
異常檢測的基本原理是使用一組教師-學生網絡做特征比對,比對差異較大的即為異常圖像。
在此基礎上,發展出了 STFPM、PaDiM、PatchCore、EfficientAD 等算法。他們的差異主要在于神經網絡結構、用于全局分析的特征編碼器、自動編碼器、多層特征混合計算、損失評估算法等不同。
優 勢
對比傳統的異常檢測算法,我們需要針對不同的產品編寫一套針對性的檢測代碼,還需要一定量的不良品來測試和優化檢測算法。而使用機器學習方法,我們只要統一的一套通用的訓練程序和幾張良品圖片即可。
檢測過程
01訓練
我們將 Anomalib 算法集成到深圳思墨科技的 SIMOTECH 在線缺陷檢測系統,基于英特爾開發者套件 AI x Board,實現訓練和推理。
在訓練過程中,我們采集了 3 張良品的 pcb 電路板圖片來進行訓練。
經過約 200 epoch 訓練后,損失降到了 1.0 以下。
02檢測
使用訓練好的模型來檢測一些樣品,均能正確檢出異常:
03部署
使用 OpenVINO 提供的工具將模型導出到 OpenVINO:
from openvino.tools import mo from openvino.runtime import Core, serialize # Convert model to openvino.runtime.Model object ov_model = mo.convert_model(model) # Save openvino.runtime.Model object on disk serialize(ov_model, "test_model.xml")
向右滑動查看完整代碼
將導出的模型拷貝到 AI x Board 上,使用 Anomalib 的推導工具 openvino_inference.py 即可在 AI x Board 上進行加速推導。
總 結
在沒有經過調優的情況下,我們的模型僅使用了 3 張良品照片進行簡單的訓練,即可上線檢測并取得不錯的效果。通過使用 Anomalib 我們不僅可以使用少量的良品特征快速構建一個異常檢測應用,還可以免去收集不良品特征的過程。結合 AI x Board 可以快速將應用部署到產線上。
深圳市思墨科技有限公司簡介
深圳市思墨科技有限公司是一家專注于工業物聯網技術研發、系統集成和應用解決方案提供的高科技企業。我們擁有一支專業的技術團隊,長期致力于智慧物聯網領域,將新一代連接技術、統一物聯網平臺和可視分析技術應用于工業智能制造現場,推動企業的信息化升級,助力企業實現數字化轉型。我們致力于為客戶提供專業的工業物聯網解決方案,幫助企業實現智能化、高效化和可持續發展。
審核編輯:湯梓紅
-
AI
+關注
關注
87文章
31513瀏覽量
270330 -
缺陷檢測
+關注
關注
2文章
144瀏覽量
12297 -
深度學習
+關注
關注
73文章
5513瀏覽量
121550 -
GitHub
+關注
關注
3文章
473瀏覽量
16564 -
pytorch
+關注
關注
2文章
808瀏覽量
13360
原文標題:基于 Anomalib 和 AI x Board 的 SIMOTECH 在線缺陷檢測系統|開發者實戰
文章出處:【微信號:英特爾物聯網,微信公眾號:英特爾物聯網】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論