跳到主要內容

AI 驅動文件

您想了解什麼?

分割:為每個畫素打上標籤

分割器檢視裁剪後的區域並回答一個更豐富的問題:不僅是這裡有什麼,還包括在哪裡以及有多少。劃痕究竟在哪裡?汙漬有多大?托盤裡有多少藥片?它以分類器的速度為代價,換取逐畫素的掩膜(mask),即您在測量、計數或定位缺陷時所需的空間細節。

其設定建立在與分類器相同的層級結構之上:型別(Type)擁有類別(Class),型別以 ROI 形式標註在影象上

可以把它想象成一套數字油畫套件。**檢測型別(Inspection Type)**是整套套件(調色盤加形狀輪廓)。**類別(Class)**是您可選擇的顏料顏色。ROI 是您每次捕獲時繪製的畫布,每個繪製的畫素最終都會被精確分配給一個類別,包括隱含的 background

三個概念

在訓練 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

**檢測型別(Inspection Type)**是一個容器。它包含一個共享的資料集、一個共享的類別列表和一個訓練好的 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
  • **檢測型別(Inspection Type)**是容器。
  • **類別(Class)**是結果詞彙表。
  • ROI 是影象上的位置。

對於分割器:為每個畫素打上標籤,繪製而非選擇

分割器對每個 ROI 裁剪影象執行比選擇類別更豐富的操作:它為每個畫素打上標籤。您不是從下拉選單中選擇答案,而是在訓練影象上塗繪缺陷,模型會學習每個類別的形狀。每個 ROI 的輸出是一個掩膜(mask),這是一個可用於測量、定位和計數的逐畫素圖。

實際示例:表面缺陷檢測

設想一個拉絲金屬表面,上面有兩道劃痕、一個凹痕和一處汙漬。您可以這樣配置:

Surface_Top · segmentbrush · scratch
  • 型別(Type): Surface Quality(1 個 ROI,分割器)
  • 類別(Class): background(隱含)、scratchdentstain
  • ROI: Surface_Top(覆蓋可檢測區域)

您不是為整個區域選擇一個標籤,而是用每個缺陷對應的類別顏色進行塗繪。模型輸出是一個掩膜,按類別細分如下:

類別覆蓋率
background93.5%
scratch3.1%
dent1.4%
stain2.0%

從這個示例中需要理解的三個要點:

  1. 繪製,而非選擇。 您不是為整個 ROI 選擇一個標籤,而是逐畫素繪製每個缺陷。模型學習每個類別的形狀,而不僅僅是它是否存在。
  2. ROI 是畫素領地。 分割器在 ROI 內部對每個畫素進行標記。表面積越大 = 需要評估的畫素越多。仍需遵守 512 × 512 規則,如果區域過大,請使用網格平鋪。
  3. 類別是缺陷型別。 不是透過/失敗,每個類別都是您想要定位的不同事物:scratchdentstain。再加上一個隱含的 background

深入瞭解:類別的行為方式

每個類別都是調色盤上的一種顏色

在分割器中,類別不是從下拉選單中選擇的標籤,而是你塗抹的顏料。選擇一個類別,你的畫筆就會開始用該類別的顏色書寫畫素。ROI 中的每個畫素最終都會被分配到一個類別,包括預設的 background

CLASS PALETTEbackgroundscratchdentstain+ add classpick a class →brush loads its colorPAINT IN THE ROIeverything unpainted = background
  1. 在型別上定義一次。 新增一個類別(例如 burn_mark)並賦予它一種顏色。此型別的每個 ROI 現在都可以在其調色盤上使用該顏色。
  2. Background 是免費的。 你不需要塗抹"這裡沒有問題"的畫素。任何未塗抹的畫素自動歸為 background
  3. 每個畫素一個類別。scratch 上用 dent 塗抹會替換標籤,類別不能在同一個畫素上疊加。
  4. 從簡單開始。 兩三個缺陷類別通常優於六個模糊的類別。合併相似的缺陷,直到模型難以區分它們,然後再拆分。

深入瞭解:ROI 的行為方式

ROI 的黃金法則

區域越小越好。 讓每個 ROI 恰好足以包含目標特徵。較小的 ROI 意味著更少的訓練資料、更快的迭代速度和更準確的 AI 決策,特徵在裁剪圖中佔據主導地位,而不是淹沒在背景中,並且不會被縮小尺寸。

即使對於分割器,也要保持小且具體

人們容易在整個表面上繪製一個巨大的 ROI,但黃金法則仍然適用。分割器的 ROI 會像分類器一樣被縮小以適應模型輸入,而一個只有 20 畫素寬的缺陷,在你把 2000 畫素寬的 ROI 縮小到 512 時就會消失。

GOOD · TIGHT ROIfull resolution preservedHUGE SURFACE · GRID TILEeach tile stays full-resPER-ROI OUTPUTMASK · Surface_Topbackground93.5%scratch3.1%dent1.4%stain2.0%largest regionscratch · 280 × 38 pxdefect count3
  1. 每個 ROI 保持在 512 × 512 畫素以下。 超過這個範圍,細節會因縮小而永久丟失。小缺陷將變得不可見。
  2. 緊湊的裁剪意味著緊湊的掩碼。 較小的 ROI 使每個畫素保持全解析度,因此掩碼與真實的缺陷邊界對齊。
  3. 表面很大?用網格平鋪。 不要把一個 ROI 拉伸到整個面板上。佈置一個由較小 ROI 組成的網格,使每個圖塊保持全解析度,讓模型能夠看到細微的缺陷。
  4. 掩碼按捕獲持久儲存。 每個訓練影象都為該 ROI 儲存自己的塗抹掩碼;模型從所有這些掩碼中學習。
  5. 豐富的輸出。 每個 ROI 都會得到每個類別的畫素計數、每個缺陷區域的邊界框以及可測量的面積,足以制定基於尺寸的透過/失敗規則。

資料流:每個 ROI 返回的是掩碼,而不是標籤

執行時,相機從完整影象中裁剪出 ROI,將其輸入到訓練好的分割器中,並獲得逐畫素的預測,即一個相同尺寸的掩碼,其中每個畫素都帶有一個類別。相機從該掩碼中匯出畫素計數、缺陷區域和邊界框。

1 · CAPTUREFull frame + ROI2 · CROP≤ 512 × 512 px crop3 · SEGMENTER MODELSurface Quality · trainedencode → bottleneck → decodepredicts a class per pixel4 · MASK OUTPUTscratch3.1%dent1.4%stain2.0%total defect6.5%ruleFAIL > 2%
  1. 捕獲 標記了 ROI 的完整畫面。
  2. 裁剪 ROI 為單張影象,保持在 512 × 512 畫素以下。
  3. 分割器模型 使用編碼器-解碼器架構為每個畫素預測一個類別。
  4. 掩碼輸出 是一個彩色畫素圖,加上每個類別的畫素計數,以及每個連通區域的邊界框。透過/失敗規則在 IO模組 中基於這些數值執行。

發揮創意:掩膜是一個幾何物件

一旦分割器返回掩膜,您就不再侷限於透過/失敗。您擁有每個類別的精確形狀和位置,這意味著您可以推匯出測量值、計數、距離和空間關係。這開啟了一整類完全不同於"查詢劃痕"的檢測,而同一個分割器可以服務於所有這些用途。

AREA4.8 mm²
01 / Measure

Area & coverage

Pixel counts become mm² on a calibrated camera. Set pass/fail in real-world units, "reject if stain > 3 mm²", instead of fuzzy percentages.

1234COUNT · scratch4
02 / Count

Distinct blobs

Four small pits tell a different story than one big one. Count connected regions per class to flag defect frequency, not just total coverage.

L = 52 mmWL × W52 × 4 mm
03 / Measure

Dimensions & shape

Length, width, aspect ratio, orientation, all fall out of the mask. Flag long scratches, ignore micro ones. Or flag round dents and ignore elongated ones.

24.6 mmDIST · blob → blob24.6 mm
04 / Relate

Blob-to-blob distance

Euclidean gap between two painted regions, centroid-to-centroid or nearest-edge. Useful for component spacing, pin pitch, weld-to-weld gaps, or detecting defect clusters.

edge8.2 mmDIST · defect → edge8.2 mm
05 / Relate

Distance to a reference

Paint a second class for your reference (edge, fiducial, adjacent component) then measure how far the defect sits from it. A defect 8 mm inside might be fine; 0.5 mm from the edge might be a reject.

COUNT · pills12
06 / Expand

Not just defects

Paint whatever you want to find: pills in a blister, screws in a tray, weld beads, gaps, fiducials, cells on a slide. Segmentation is a general-purpose scalpel, not a defect-only tool.

常見陷阱:以您實際檢測的尺度進行訓練

分割器只會學習它所見過的缺陷的尺寸和紋理。如果您用小汙染物訓練它,那麼當同一類缺陷的較大塊出現在產線上時,往往只有其邊緣或零散的斑塊被標記出來——缺陷的主體部分未被掩膜覆蓋。

"訓練時小,測試時大"的失敗模式

如果您的訓練集中只有缺陷的小樣本,模型會將大版本視為"大部分是背景,加上一些小的缺陷形狀斑塊"。掩膜看起來斑駁不全,或者只標記真實缺陷的邊緣/角落,而不是覆蓋整個缺陷。

**解決方法:**在訓練樣本中包含您預期在產線上看到的全部尺寸範圍。在小樣本旁邊加入少量大汙染物的捕獲影象通常就足夠了。同樣的原則也適用於紋理和顏色變化——按照生產中實際會看到的多樣性進行訓練。

**沒有大缺陷樣本?**使用 Defect Creator Studio 生成同一缺陷在不同尺寸、位置和方向下的合成訓練影象——無需等待真實的大汙染物出現在產線上。

設定回顧

訓練前的快速檢查清單。如果以下每一項都為真,您的分割器將有一個堅實的基礎。

  • **每個表面對應一種 Inspection Type。**要檢測兩種不同的材料或缺陷類別?為每種型別分配獨立的型別,使其擁有各自的類別、資料集和模型。
  • 類別代表缺陷型別,而非嚴重程度。scratchdentstain,每一個都是獨立的視覺物件。嚴重程度和透過/失敗由下游對掩膜畫素計數得出。
  • **背景是隱式的。**您從不繪製或標註"良品"畫素。所有未繪製的部分都屬於 background
  • **ROI 尺寸合理。**覆蓋感興趣區域,但每個 ROI 保持在 512 × 512 畫素以下。如果表面較大,請採用網格分塊。
  • **繪製每一個可見的缺陷。**訓練資料中遺漏的缺陷會讓模型認為它們是背景,這是質量檢測中最糟糕的教訓。
  • 訓練資料應涵蓋您預期在生產中遇到的全部缺陷尺寸範圍(請參閱上面的陷阱提示)。僅用小樣本訓練的模型無法泛化到大樣本。
  • **每個類別從 10 到 15 張影象開始。**訓練、執行實時預覽、在掩膜出錯的地方有針對性地新增影象、重新訓練。通常迭代兩到四次即可。

後續步驟