AI 驅動文件
您想了解什麼?
分割:為每個畫素打上標籤
分割器檢視裁剪後的區域並回答一個更豐富的問題:不僅是這裡有什麼,還包括在哪裡以及有多少。劃痕究竟在哪裡?汙漬有多大?托盤裡有多少藥片?它以分類器的速度為代價,換取逐畫素的掩膜(mask),即您在測量、計數或定位缺陷時所需的空間細節。
其設定建立在與分類器相同的層級結構之上:型別(Type)擁有類別(Class),型別以 ROI 形式標註在影象上。
可以把它想象成一套數字油畫套件。**檢測型別(Inspection Type)**是整套套件(調色盤加形狀輪廓)。**類別(Class)**是您可選擇的顏料顏色。ROI 是您每次捕獲時繪製的畫布,每個繪製的畫素最終都會被精確分配給一個類別,包括隱含的 background。
三個概念
在訓練 AI模型 之前,相機需要知道在哪裡檢視、有哪些可能的結果,以及如何評估每個裁剪影象。這三個問題對應著三個概念,它們以非常特定的方式巢狀在一起。
Inspection Type
A named bucket. Holds one shared dataset, one shared list of classes, and one trained AI model.
Classes
The vocabulary of possible outcomes for this inspection. Defined once on the type.
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 Type)**是容器。
- **類別(Class)**是結果詞彙表。
- ROI 是影象上的位置。
對於分割器:為每個畫素打上標籤,繪製而非選擇
分割器對每個 ROI 裁剪影象執行比選擇類別更豐富的操作:它為每個畫素打上標籤。您不是從下拉選單中選擇答案,而是在訓練影象上塗繪缺陷,模型會學習每個類別的形狀。每個 ROI 的輸出是一個掩膜(mask),這是一個可用於測量、定位和計數的逐畫素圖。
實際示例:表面缺陷檢測
設想一個拉絲金屬表面,上面有兩道劃痕、一個凹痕和一處汙漬。您可以這樣配置:
- 型別(Type):
Surface Quality(1 個 ROI,分割器) - 類別(Class):
background(隱含)、scratch、dent、stain - ROI:
Surface_Top(覆蓋可檢測區域)
您不是為整個區域選擇一個標籤,而是用每個缺陷對應的類別顏色進行塗繪。模型輸出是一個掩膜,按類別細分如下:
| 類別 | 覆蓋率 |
|---|---|
| background | 93.5% |
| scratch | 3.1% |
| dent | 1.4% |
| stain | 2.0% |
從這個示例中需要理解的三個要點:
- 繪製,而非選擇。 您不是為整個 ROI 選擇一個標籤,而是逐畫素繪製每個缺陷。模型學習每個類別的形狀,而不僅僅是它是否存在。
- ROI 是畫素領地。 分割器在 ROI 內部對每個畫素進行標記。表面積越大 = 需要評估的畫素越多。仍需遵守
512 × 512規則,如果區域過大,請使用網格平鋪。 - 類別是缺陷型別。 不是透過/失敗,每個類別都是您想要定位的不同事物:
scratch、dent、stain。再加上一個隱含的background。
深入瞭解:類別的行為方式
每個類別都是調色盤上的一種顏色
在分割器中,類別不是從下拉選單中選擇的標籤,而是你塗抹的顏料。選擇一個類別,你的畫筆就會開始用該類別的顏色書寫畫素。ROI 中的每個畫素最終都會被分配到一個類別,包括預設的 background。
- 在型別上定義一次。 新增一個類別(例如
burn_mark)並賦予它一種顏色。此型別的每個 ROI 現在都可以在其調色盤上使用該顏色。 - Background 是免費的。 你不需要塗抹"這裡沒有問題"的畫素。任何未塗抹的畫素自動歸為
background。 - 每個畫素一個類別。 在
scratch上用dent塗抹會替換標籤,類別不能在同一個畫素上疊加。 - 從簡單開始。 兩三個缺陷類別通常優於六個模糊的類別。合併相似的缺陷,直到模型難以區分它們,然後再拆分。
深入瞭解:ROI 的行為方式
區域越小越好。 讓每個 ROI 恰好足以包含目標特徵。較小的 ROI 意味著更少的訓練資料、更快的迭代速度和更準確的 AI 決策,特徵在裁剪圖中佔據主導地位,而不是淹沒在背景中,並且不會被縮小尺寸。
即使對於分割器,也要保持小且具體
人們容易在整個表面上繪製一個巨大的 ROI,但黃金法則仍然適用。分割器的 ROI 會像分類器一樣被縮小以適應模型輸入,而一個只有 20 畫素寬的缺陷,在你把 2000 畫素寬的 ROI 縮小到 512 時就會消失。
- 每個 ROI 保持在 512 × 512 畫素以下。 超過這個範圍,細節會因縮小而永久丟失。小缺陷將變得不可見。
- 緊湊的裁剪意味著緊湊的掩碼。 較小的 ROI 使每個畫素保持全解析度,因此掩碼與真實的缺陷邊界對齊。
- 表面很大?用網格平鋪。 不要把一個 ROI 拉伸到整個面板上。佈置一個由較小 ROI 組成的網格,使每個圖塊保持全解析度,讓模型能夠看到細微的缺陷。
- 掩碼按捕獲持久儲存。 每個訓練影象都為該 ROI 儲存自己的塗抹掩碼;模型從所有這些掩碼中學習。
- 豐富的輸出。 每個 ROI 都會得到每個類別的畫素計數、每個缺陷區域的邊界框以及可測量的面積,足以制定基於尺寸的透過/失敗規則。
資料流:每個 ROI 返回的是掩碼,而不是標籤
執行時,相機從完整影象中裁剪出 ROI,將其輸入到訓練好的分割器中,並獲得逐畫素的預測,即一個相同尺寸的掩碼,其中每個畫素都帶有一個類別。相機從該掩碼中匯出畫素計數、缺陷區域和邊界框。
- 捕獲 標記了 ROI 的完整畫面。
- 裁剪 ROI 為單張影象,保持在 512 × 512 畫素以下。
- 分割器模型 使用編碼器-解碼器架構為每個畫素預測一個類別。
- 掩碼輸出 是一個彩色畫素圖,加上每個類別的畫素計數,以及每個連通區域的邊界框。透過/失敗規則在 IO模組 中基於這些數值執行。
發揮創意:掩膜是一個幾何物件
一旦分割器返回掩膜,您就不再侷限於透過/失敗。您擁有每個類別的精確形狀和位置,這意味著您可以推匯出測量值、計數、距離和空間關係。這開啟了一整類完全不同於"查詢劃痕"的檢測,而同一個分割器可以服務於所有這些用途。
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.
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.
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.
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.
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.
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。**要檢測兩種不同的材料或缺陷類別?為每種型別分配獨立的型別,使其擁有各自的類別、資料集和模型。
- 類別代表缺陷型別,而非嚴重程度。
scratch、dent、stain,每一個都是獨立的視覺物件。嚴重程度和透過/失敗由下游對掩膜畫素計數得出。 - **背景是隱式的。**您從不繪製或標註"良品"畫素。所有未繪製的部分都屬於
background。 - **ROI 尺寸合理。**覆蓋感興趣區域,但每個 ROI 保持在 512 × 512 畫素以下。如果表面較大,請採用網格分塊。
- **繪製每一個可見的缺陷。**訓練資料中遺漏的缺陷會讓模型認為它們是背景,這是質量檢測中最糟糕的教訓。
- 訓練資料應涵蓋您預期在生產中遇到的全部缺陷尺寸範圍(請參閱上面的陷阱提示)。僅用小樣本訓練的模型無法泛化到大樣本。
- **每個類別從 10 到 15 張影象開始。**訓練、執行實時預覽、在掩膜出錯的地方有針對性地新增影象、重新訓練。通常迭代兩到四次即可。
後續步驟
- Understanding Classifier,關於下拉選擇模型的姐妹頁面。
- Regions of Interest (ROIs),繪製 ROI 的實用指南。
- Training Your AI,標註和訓練工作流程。