跳至內容
測試伺服器
開發伺服器

Anomaly Detection vTool#

Anomaly Detection vTool 會根據您所選定的模型,識別出影像中偏離正常或預期行為的模式或特徵。

異常偵測是一種二元分類形式,其原理在於區分正常(預期)與異常(非預期)資料,讓您能將影像分類為「良好」與「不良」兩類。與標準分類不同的是,它能夠處理高度不平衡的資料——即在訓練資料集中,異常情況十分罕見、代表性不足,甚至完全不存在。

Anomaly Detection vTool 可對透過「Image」輸入接腳接收的影像進行分類,並透過「Classes」、「Scores」、「Regions」、「Heatmaps」及「InferenceImage」輸出接腳輸出結果。

若您在異常偵測前使用「ROI Creator vTool 」來指定感興趣區域(ROI),則「Anomaly Detection 」vTool 會透過其Roi輸入引腳接收 ROI 資料。在此情況下,異常偵測僅針對感興趣區域進行。此舉的附帶效果是能加快處理速度。

如需購買「Anomaly Detection vTool」的授權,請造訪Basler 網站。

Anomaly Detection vTool

運作原理#

假設您想檢查 PCB 生產線是否有異常情況。

這是您的輸入圖片(圖片來源: a),圖中顯示了一塊帶有彎曲接腳的印刷電路板:

顯示印刷電路板(PCB)的輸入圖像

您可透過載入一個經過訓練、能偵測 PCB 異常的模型來設定 vTool。

已選取「Anomaly Detection 」動物套裝

接下來,請設定偵測設定:

  • 異常視覺化與熱圖輸出:vTool 內建視覺化功能,預設為啟用狀態。此功能可讓您以熱圖形式檢視資料。您可以從多種色圖中選擇適用於熱圖的色圖。根據資料與情境的不同,不同的色圖能更有效地突顯異常。
    若您不需要此視覺化功能,且無需對影像資料進行進一步分析,可取消選取熱圖選項。此舉可提升處理量。若取消選取此選項,「區域」、「熱圖」及「推論影像」輸出接腳將被停用。

    推論影像、熱圖與區域的區別

    InferenceImage是疊加了熱力圖的輸入影像,用於在針腳資料檢視畫面中視覺化異常情況。

    熱力圖並非用於在「針腳資料」檢視中視覺化異常情況。它們是浮點數值的影像,代表每個像素的異常分數,若需在應用程式中進行進一步分析時才使用。

    區域是透過對熱力圖數值進行閾值處理來計算的。異常分數高於特定數值的像素會被歸類為一個區域,藉此將正常區域與異常區域區分開來。

  • 異常閾值:異常閾值根據所選模型返回的分數,界定被歸類為正常與被視為異常的影像之間的界線。預設閾值是在模型訓練過程中,根據訓練資料集所選定的。然而,最佳閾值取決於您的應用程式的具體需求,以及您願意接受的權衡取捨。 您可以根據需要進行調整。較高的閾值意味著偵測到的異常較少,但所偵測到的異常具有更高的可信度;較低的閾值則意味著偵測到的異常較多,但其中部分可能是誤報。

    資訊

    非異常推斷影像上的像素強度變化,顯示出與正常影像存在輕微偏差。然而,只要這些偏差低於預先設定的異常閾值,該影像即被歸類為正常。此觀察結果在必要時,可作為手動調整閾值的參考依據。

配置完 vTool 後,請執行該配方以啟動推論流程。vTool 會利用該模型分析影像並對其中的物件進行分類。分析完成後,系統將回傳異常偵測結果。您隨後可在「pin 資料檢視」中查看該結果。

選取 InferenceImage 接腳時的詳細輸出

Anomaly Detection 當選取 InferenceImage 圖釘時

推論圖像:已偵測到四個異常區域,並透過像素強度熱圖在圖像中加以標示。然而,其中僅有一個區域超過異常閾值,導致該圖像被歸類為「異常」。

分數:整張圖像中最高的異常分數為 52.5901。儘管偵測到四個異常區域,但僅有一個超過異常閾值,並獲得異常分數。

分類:由於評分高於閾值,因此該影像被歸類為異常。

選取區域接腳時的詳細輸出

Anomaly Detection 已選取「地區」圖釘

分類:由於評分高於閾值,因此該影像被歸類為異常。

分數:整張圖像中最高的異常分數為 52.5901。

區域:異常區域已標示出來(如螢幕截圖中的箭頭所示)。與推論影像輸出不同,區域輸出僅標記影像中異常分數高於特定數值的區域。

設定 vTool#

要設定「Anomaly Detection 」vTool:

Anomaly Detection vTool 設定

  1. 在vTool「設定」區域的「配方管理」窗格中,按一下「開啟設定」或雙擊該 vTool。
    此時會開啟 Anomaly Detection 對話方塊隨即開啟。

  2. 在 Server Selection 區域中,選取您想要連線的伺服器。
    伺服器必須正在執行中才能與其建立連線。

    • 選項 1:手動輸入 Triton Inference Server 的 IP 位址與連接埠。
    • 選項 2:在下拉式清單中選取您伺服器的 IP 位址 / 主機名稱與連接埠。
  3. 按一下 Connect 以建立連線。
    接著,vTool 便會載入可用的模型。

  4. 在 模型選取 區域中,在下拉式清單選取包含所需模型的 bundle。
    選取 bundle 後,下拉式清單下方的資訊便會填入該 bundle 的詳細資料,讓您可以確認所選取的 bundle 是否正確。
    模型選取區域

  5. 如果清單中沒有所需的 bundle,請按一下 部署新模型 下拉式清單中的
    部署新模型
    這會開啟 pylon AI Agent ,可讓您部署更多模型。
    部署新模型後,您必須按一下 Refresh 按鈕。

  6. 在「偵測設定」區域中,為您的熱圖選取所需的色彩映射。

  7. 在「偵測設定」區域中,如有需要,請調整異常閾值。
    異常閾值是模型的一部分。變更此設定可能會造成意想不到的後果。

    資訊

    此區域中可用的參數取決於所選的模型。某些參數必須在選取特定模型後才會顯示。預設值由模型提供。

  8. 按一下 OK。

您可以在引腳資料檢視中查看異常偵測的結果。在此處,您可以選擇要顯示哪些輸出。

Inputs#

Image#

可直接從「相機」vTool 或任何能輸出影像的 vTool(例如「Image Format Converter 」vTool)接收影像。

  • 資料類型:圖片
  • 影像格式:8 位元至 16 位元彩色影像

Roi#

接受來自 ROI Creator vTool 或任何其他輸出矩形的 vTool 的興趣區域。如果輸入多個矩形,則會使用第一個矩形作為單一興趣區域。

  • 資料類型:RectangleF、RectangleF Array

Outputs#

Classes#

回傳每張輸入影像的類別(正常或異常)。

  • 資料類型:字串陣列

Scores#

回傳該類別的異常分數。此分數表示偵測到的異常嚴重程度,亦即該影像出現異常的可能性。請注意,此數值並非機率值,且視模型而定,其範圍可能從極小數值到極大數值不等。應僅根據所定義的閾值來解讀此數值。

  • 資料類型:Float Array

熱力圖#

回傳熱力圖。此輸出可被停用。熱力圖並非用於在引腳資料檢視中視覺化異常情況。它們是浮點數值的圖像,代表每個像素的異常分數,若需在應用程式中進行進一步分析時才使用。

  • 資料類型:影像陣列

Regions#

回傳每個預測異常的區域。此輸出可被停用。區域是透過對熱圖值進行閾值處理來計算的。異常分數高於特定值的像素會被歸類為一個區域,藉此將正常區域與異常區域區分開來。

  • 資料類型:區域陣列

InferenceImage#

回傳疊加熱力圖的輸入影像,用以視覺化針腳資料檢視中的異常情況。此輸出功能可關閉。

  • 資料類型:圖片

Payload#

傳回有關 Inference Server 效能的額外資訊以供評估。只有在 Debug Settings パラメーターグループの Features - All ペインで有効にした場合にのみ、この出力ピンを利用できるようになります。

  • 資料類型:String

典型前置元件#


  1. Visual Anomaly (VisA) 於 DATE 從https://registry.opendata.aws/visa 取得。作者:Zou、Yang、Jongheon Jeong、Latha Pemula、Dongqing Zhang 及 Onkar Dabeer。 「針對Anomaly Detection 與分割任務的『找不同』自監督預訓練。」arXiv 預印本 arXiv:2207.14315 (2022)。