跳到主要內容

AI 驅動文件

您想了解什麼?

分類:每個區域一個標籤

分類器檢視裁剪區域並回答一個簡單的問題:這屬於哪一類? 透過或失敗。空或滿。紅色、綠色或藍色。這是最簡單、最快的檢測型別,除非您需要知道缺陷位於何處,否則它是合適的預設選項。

分類器的設定基於一個簡單的層級結構:型別擁有類別,型別作為 ROI 標記到影象上

可以將其想象為一個橡皮圖章系統。檢測型別就是圖章本身(設計)。ROI 是您在紙上蓋出的印記(影象)。每個印記都繼承相同的設計、相同的類別列表和相同的訓練模型。

OV10i 僅支援分類器

OV10i 僅執行分類器模型。如果您的檢測需要畫素級蒙版(計數、面積測量、缺陷定位),請升級到 OV20i 或 OV80i,它們支援分割。

三個核心概念

在訓練 AI 模型之前,相機需要知道在哪裡檢視、有哪些可能的結果,以及如何評估每個裁剪區域。這三個問題對應三個概念,它們以一種非常特定的方式巢狀。

01 / Concept

Inspection Type

A named bucket. Holds one shared dataset, one shared list of classes, and one trained AI model.

02 / Concept

Classes

The vocabulary of possible outcomes for this inspection. Defined once on the type.

03 / Concept

Region of Interest (ROI)

A rectangle drawn on the image. Many ROIs can share one type and, therefore, one dataset and one model.

思維模型:一個型別擁有類別和 ROI

檢測型別是一個桶。它儲存一個共享的資料集、一個共享的類別列表和一個訓練好的 AI 模型。然後您將該桶在影象的多個位置上蓋章,這些蓋章就是 ROI。同一型別的每個 ROI 都繼承相同的類別,並由同一個模型進行評估。

INSPECTION TYPEone bucket1 dataset · 1 model · N ROIsCLASSES · DEFINED ONCEclass_aclass_bclass_c+ addAdd or edit classes here andevery ROI on this type updates.Single source of truth.ROIs · PLACED ON IMAGEroi_1roi_2roi_3roi_4roi_5+ add ROIEach ROI is a tight crop at a specificlocation, evaluated by the same model.All share one dataset.classes applied to ROIs
  • 檢測型別 是桶。
  • 類別 是結果詞彙表。
  • ROI 是影象上的位置。

對於分類器:每個 ROI 一個標籤,從類別列表中選取

分類器獲取每個 ROI 裁剪區域並提出一個問題:這看起來像哪個類別? 存在或不存在。透過或失敗。完好、劃傷或破裂。每個 ROI 的輸出是一個類別名稱加一個置信度分數,一個清晰的分類結果,可供您管道中的後續步驟使用。

例項:PCB 螺釘存在性檢查

考慮一塊有六個螺釘位置的 PCB。四顆螺釘存在,一顆缺失,一顆損壞。您可以這樣配置:

OV-MCU · v2Screw_1 · presentScrew_2 · absentScrew_3 · presentScrew_4 · presentScrew_5 · presentScrew_6 · damaged
  • 型別: Screws(6 個 ROI,分類器)
  • 類別: presentabsentdamaged
  • ROI: Screw_1Screw_6,每個標有三個類別中的一個

每個 ROI 的輸出是一個標籤加置信度:

ROI標籤置信度
Screw_1present0.98
Screw_2absent0.94
Screw_3present0.97
Screw_4present0.96
Screw_5present0.95
Screw_6damaged0.82

從此示例中需要理解三點:

  1. 每個 ROI 一個標籤。 分類器為每個裁剪區域準確分配一個類別,是下拉選擇,而不是繪製任務。輸出是 class_nameconfidence 分數。
  2. 型別是所有者。 所有六個 ROI 共享 Screws 資料集。捕獲一張影象即可獲得六個新訓練樣本,並由一個訓練模型決定全部六個結果。
  3. ROI 只是位置。 繪製要緊湊(小於 512 × 512 畫素)。使用複製來蓋章 Screw_1 → Screw_2 → Screw_3,每個都會自動繼承類別列表。

深入解析:分類的行為方式

分類屬於檢測型別,而非 ROI

這是最需要牢記的一點。分類是檢測型別 (Inspection Type) 的屬性,這意味著新增或刪除一個分類會自動更改使用該型別的每個 ROI 的標籤選項

TYPE · SCREWS · CLASSESpresentabsentdamagedstripped_headNEWAdd a class here →Screw_1LABELpresent ▾other options:· absent · damaged· stripped_head ← newScrew_2LABELabsent ▾other options:· present · damaged· stripped_head ← newScrew_3LABELpresent ▾other options:· absent · damaged· stripped_head ← new…AND EVERY OTHER ROI OF THIS TYPE
  1. 只需定義一次。 在 Classes 面板中點選 + Add class。為其命名(例如 stripped_head)並指定顏色。
  2. 即時傳播。 新分類會出現在該型別所有 ROI 的下拉選單中。無需對每個 ROI 單獨配置。
  3. 按需重新標註。 已有訓練影象保留其原標籤;您可以重新訪問任何影象並將其重新歸類到新分類。
  4. 保持精簡。 從能夠覆蓋您決策的最小分類集開始。兩個分類(pass / fail)通常比五個模糊分類表現更好。

深入解析:ROI 的行為方式

ROI 的黃金法則

區域越小越好。 讓每個 ROI 剛好夠包含所需特徵即可。更小的 ROI 意味著更少的訓練資料、更快的迭代速度和更準確的 AI 決策——特徵在裁剪圖中占主導地位,而不會淹沒在背景中,也不會被縮小。

小、具體、數量多

ROI 告訴相機在哪裡進行裁剪。裁剪越緊湊,模型獲得的訊號越清晰。由於 ROI 共享同一型別,新增更多 ROI 會成倍增加訓練資料,而不會成倍增加工作量。

GOOD · TIGHT CROP60 × 60 px · feature dominatesBAD · TOO LARGEscrew is a speck · downscaledDUPLICATE PATTERNScrew_1Screw_2Screw_3…NName the first ROI, click Duplicate, and the rest auto-increment.All share the same type → same classes, same dataset, same model.10 ROIs × 1 CAPTURE = 10 TRAINING SAMPLES
  1. 將裁剪保持在 512 × 512 px 以下。 任何更大的尺寸都會被縮小以適配模型輸入,細節將永久丟失。
  2. 越緊湊越好。 圍繞單個特徵的小 ROI 能為模型提供清晰訊號,所需的訓練資料也更少即可收斂。
  3. 多個 ROI,一個型別。 10 顆螺絲 → 在同一 Screws 型別上設定 10 個 ROI。一次捕獲就成為十個訓練樣本,一個模型即可在推理時處理全部十個。
  4. 使用 Duplicate 功能。 為第一個 ROI 起一個有意義的名稱(Screw_Top_Left)。Duplicate 會自動遞增名稱,無需重複輸入。
  5. 需要完整覆蓋? 不要繪製一個巨大的 ROI,而是用一組小 ROI 平鋪成網格。每個 ROI 都能保留完整解析度。

資料流:每個 ROI 都獨立透過模型

執行時,相機會從完整影象中裁剪出每個 ROI,分別送入訓練好的模型,並記錄獲勝的分類及置信度分數。每次捕獲,每個 ROI 都會得到一個標籤。

1 · CAPTUREFull frame + 6 ROIs2 · CROP INDIVIDUALLYScrew_1Screw_2Screw_3Screw_4Screw_5Screw_6max 512 × 512 px each3 · CLASSIFIER MODELScrews · trained modelpicks 1 class + confidence4 · OUTPUTScrew_1present 0.98Screw_2absent 0.94Screw_3present 0.97Screw_4present 0.99Screw_5present 0.96Screw_6damaged 0.82resultFAIL
  1. 捕獲帶有所有 ROI 標記的完整畫面。
  2. 逐個裁剪,使每個 ROI 成為獨立的小影象。
  3. 分類器模型為每個裁剪圖選出一個分類及置信度分數。
  4. 輸出為 ROI → 標籤 → 置信度的表格。基於該表格的透過/失敗邏輯由您的 IO模組 規則決定。

設定總結

訓練前的快速檢查清單。如果以下每項都成立,您的分類器就有了堅實的基礎。

  • 每個決策對應一個檢測型別。 不要在同一型別中混用"螺絲"和"標籤"——為每一種各設一個型別,使其擁有獨立的分類、資料集和模型。
  • 分類在型別級別定義。 每個 ROI 都獲得相同的下拉選單。如果某個選項並不適用於每個 ROI,那它可能屬於另一種型別。
  • ROI 繪製緊湊、命名具描述性。 Screw_Top_Left 優於 New ROI。保持每個 ROI 剛好夠容納其特徵,並控制在 512 × 512 px 以下。
  • 對齊功能首先要正常工作。 如果零件發生位移或旋轉,對齊器會隨之移動您的 ROI。只有在對齊穩固時,緊湊的 ROI 才能發揮作用。
  • 每個分類先準備 3 到 5 張訓練影象。 訓練、找出失敗案例、新增針對性資料、重新訓練。通常需要兩到四輪迭代。
  • 每個標籤都要複核。 五張訓練影象中有一個錯標就是 20% 的汙染。每次訓練前點選 View All ROIs

後續內容