【啟動AI Maker世代 】2024 MAI 開發者社群大會(5/16-17)
|

【OpenVINO瑕疵檢測功能】Anomalib 介紹與實作教學

   
作者:陳紀翰

異常檢測(Anomaly detection),通常被理解為『檢測異常狀況』,為傳統統計學中,所指的離群值檢測,被廣泛用於偵測資料發生離群狀況,於電腦視覺、資訊安全、醫學、法律、經濟學、統計學領域中皆有大量應用。Deep Learning 興起後,大量工業技術開始應用基於機器學習基礎的瑕疵檢測方法,其中主要分為以下三大類:

1.監督式瑕疵檢測:

標註大量瑕疵物,以物件檢測技術(object detection)為基礎,於工件上檢測是否存在瑕疵物,優點是容易應用與理解,缺點是瑕疵數量多半為少量樣本,致使可標註的樣本數量低,且新瑕疵出現時也會因爲被識別而造成漏檢。

2.半監督瑕疵檢測:

標註部分瑕疵物,利用自動標註(auto-labeling)標註其餘樣本,其原理與執行方式與監督式瑕疵檢測大致相同,僅省去大量資料標註時間。

3.非監督式瑕疵檢測:

即不使用標註瑕疵的方法進行瑕疵檢測,改為利用訓練神經網路只學習正樣本,依照輸入樣本與正樣本的差異來判斷是否存在瑕疵,優點是可利用大量正樣本進行訓練且不需人工標註,在應用領域上接受度高。

受惠於近幾年 Anomaly detection 快速發展,2019 年後幾個重要的技術里程碑在 CVPR 上陸續發表,目前在工業領域上稱呼瑕疵檢測幾乎就是指異常檢測,而 Intel OpenVINO toolkit 也在近期完成了 Anomalib 這個函式庫(網址:https://github.com/openvinotoolkit/anomalib),此函式庫收錄了多個非監督式瑕疵檢測模型,對於目前走在前端的工業與研究團隊可說是一大研究利器。

同時,開發團隊今年也在 CVPR 研討會議程中提供教學文章,可讓使用者進行快速訓練並轉為 IR 檔,部署 Intel 晶片上進行加速運算,大幅縮減工業瑕疵檢測開發週期,本文將依序介紹本函式庫架構,挑選數個知名異常檢測模型進行原理、特色說明,並逐步進行操作說明。

Anomalib的特色

Anomalib 是 OpenVINO 所提供的異常檢測函式庫。該函式庫著重於圖像的異常檢測,識別圖像中的異常區域。在基準資料集(benchmark)中實現最佳性能。此外,該函式庫還提供組件(config)來設計可針對特定需求的自定義算法。其他工具,包括實驗管理(Experiment Management)、可視化器(visualization)和超參數優化器(Hyperparameter Optimization, HPO),使設計或執行異常檢測模型變得更簡單。Anomalib函式庫還支持OpenVINO 模型優化與量化以進行即時部署。

總體而言,anomalib 是一個廣泛的函式庫,用於設計、實現和部署從數據到邊緣的無監督異常檢測模型,其特色如下:

  • Anomalib為公開的大型深度學習異常檢測函式庫。
  • 運用PyTorch Lightning的模型,減少模組程式上的編輯,將能在實際運用上有效地簡化使用功能。
  • 所有模型都可以由OpenVINO導出 IR 檔案,以便在Intel硬體上加速推理,並可選擇部屬GPU或CPU上。
  • 可快速且輕鬆地部署在標準模型上,或是自定義異常檢測模型。

Anomalib函式庫架構

目前Anomalib 提供以下異常檢測模型(持續更新與增加中):

  1. PaDim
  2. CFlow-AD
  3. DRAEM
  4. DFKDE
  5. DFM
  6. Fast-Flow
  7. GANomaly
  8. PatchCore
  9. Reverse Distillation
  10. STFPM

將Anomalib從Git專案下載後,在檔案anomalib/models 可見每一模型所包含的檔案,大致可分為主模型(model.py)、與主模型相關程式以及模型配置檔(config.yaml),而使用者可依據模型配置檔中,自定義在訓練時所使用的資料集、預訓練模型、標準化方法、視覺化設定以及導出OpenVINO IR 或 ONNX檔案等功能。以下介紹第1~3種模型論文摘錄。

1. PaDiM

》論文名稱:PaDiM: a Patch Distribution Modeling Framework for Anomaly Detection and Localization Thomas Defard, Aleksandr Setkov, Angelique Loesch, Romaric Audigier

》發表時間:2020年11月

》論文摘錄:

在工業零組件檢測中,由於訓練數據的缺乏,在工廠實際檢測時,無法準確檢測出異常所在位置。本文基於補丁分布建模(Patch Distribution Modeling),將無異常圖片分為多個Patch的大小,提取embeddings中前三層的特徵,分析影像分布,作為檢測圖像的對比依據,計算圖像的Anomaly Score,根據embedding計算原圖可能存在異常的位置,輸出異常影像熱點圖。

本文為會員限定文章

立即加入會員! 全站文章無限看~

                               

已經是會員? 按此登入

只需不到短短一分鐘...

輸入您的信箱與ID註冊即可享有一切福利!

會員福利
1

免費電子報

2

會員搶先看

3

主題訂閱

4

好文收藏

Ludwig Chen

Author: Ludwig Chen

畢業於國立陽明交通大學資訊工程研究所,目前於僑光科技大學資訊科技系擔任助理教授,研究專長包括類神經網路、嵌入式系統、FPGA 及 AI 導入企業解方,執行專案經驗包含工研院、中科院、數發部、經濟部以及台中市環保局,曾獲112年度 AI 應用鬥智賽金獎(Prophet AI)、111 年度 AIGO 特優獎(8926 AIoT)及 109年度 AIGO 優等獎,目前擔任多所中小企業及新創企業執行顧問,專注於企業數位轉型與智慧轉型之導入議題。 本身是個熱愛藝術的資訊工程研究員,熱衷於探索在『研究、應用與啟發教學』之間平衡而產生的美感。

Share This Post On
468 ad

Submit a Comment

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *