AI 驅動文件
您想了解什麼?
分割:為每個畫素標註標籤
分割器檢視裁剪區域並回答更豐富的問題:不僅是這裡有什麼,還包括在哪裡以及多少。劃痕究竟在哪裡?汙漬有多大?托盤裡有多少顆藥片?它以分類器的速度為代價換取逐畫素的掩碼,提供測量、計數或定位缺陷所需的空間細節。
其設定建立在與分類器相同的層次結構之上:型別擁有類別,型別作為 ROI 標註到影象上。
可以把它想象成數字油畫套件。檢測型別就是套件(調色盤加形狀輪廓)。類別是你選擇的顏料顏色。ROI 是你在每次捕獲時繪製的畫布,每個繪製的畫素最終都被分配到某一個類別,包括隱式的 background。
OV80i 是產品線中唯一支援多模型程式的相機。在單次檢測中將分割器(用於掩碼、計數和測量)與分類器(用於已知類別的判定)配對使用。另一半內容請參閱 Understanding Classifier。
三個概念
在訓練 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
檢測型別就是一個桶。它包含一個共享資料集、一個共享類別列表和一個訓練好的 AI 模型。然後將該桶在影象的多個位置上進行標註,這些標註就是 ROI。同一型別的每個 ROI 都繼承相同的類別,並由相同的模型進行評估。
- 檢測型別是桶。
- 類別是結果詞彙。
- ROI 是影象上的位置。
對於分割器:為每個畫素標註標籤——繪製,而非選擇
分割器對每個 ROI 裁剪進行比選擇類別更豐富的操作:它為每個畫素打標籤。你不是選擇下拉答案,而是在訓練影象上刷出缺陷,模型學習每個類別的形狀。每個 ROI 的輸出是一個掩碼,即可用於測量、定位和計數的逐畫素對映圖。
例項:表面缺陷檢測
想象一個拉絲金屬表面,上面有兩處劃痕、一處凹痕和一處汙漬。你可以這樣配置:
- 型別:
Surface Quality(1 個 ROI,分割器) - 類別:
background(隱式)、scratch、dent、stain - ROI:
Surface_Top(覆蓋可檢測區域)
你不是為整個區域選擇一個標籤,而是用每個類別的顏色逐畫素繪製缺陷。模型輸出是一個掩碼,按類別細分如下:
| 類別 | 覆蓋率 |
|---|---|
| background | 93.5% |
| scratch | 3.1% |
| dent | 1.4% |
| stain | 2.0% |
從此示例中要內化的三點:
- 繪製,而非選擇。 你不是為整個 ROI 選擇一個標籤,而是逐畫素繪製每個缺陷。模型學習每個類別的形狀,而不僅僅是它是否存在。
- ROI 是畫素區域。 分割器檢視 ROI 內部併為每個畫素打標籤。表面積越大 = 需要評估的畫素越多。仍需遵守
512 × 512規則,如果區域很大則進行網格平鋪。 - 類別即缺陷型別。 不是 pass/fail,每個類別都是你想要定位的獨立事物:
scratch、dent、stain。再加上一個隱式的background。
深入瞭解:類別的行為方式
每個類別都是調色盤上的一種顏色
在分割器中,類別不是從下拉選單中選擇的標籤,而是你塗抹的顏料。選擇一個類別,你的畫筆就會用該類別的顏色繪製畫素。ROI 中的每個畫素最終都會被分配到恰好一個類別,包括預設的 background。
- 在型別上定義一次。 新增一個類別(例如
burn_mark)併為其指定顏色。此型別的每個 ROI 現在都可以在其調色盤上使用該顏色。 - 背景是免費的。 你不需要塗抹"沒有問題"的畫素。任何未塗抹的畫素都會自動歸為
background。 - 每個畫素只屬於一個類別。 在
scratch上用dent塗抹會替換標籤,類別不能在單個畫素上堆疊。 - 從簡單開始。 兩到三個缺陷類別通常優於六個模糊的類別。合併相似的缺陷直到模型難以區分它們,然後再拆分。
深入瞭解:ROI 的行為方式
較小的區域更優。 讓每個 ROI 剛好能容納特徵即可。較小的 ROI 意味著所需訓練資料更少、迭代更快、AI 決策更準確,特徵會主導裁剪區域而不會淹沒在背景中,並且不會被縮小。
即使是分割器,也要保持小巧、專一
在整個表面上繪製一個巨大的 ROI 很有誘惑力,但黃金法則仍然適用。分割器的 ROI 與分類器一樣會被縮小以適應模型輸入,當你將 2000 畫素寬的 ROI 縮小到 512 時,一個僅 20 畫素寬的缺陷就會消失。
- 將每個 ROI 保持在 512 × 512 畫素以下。 超過這個尺寸,細節會因縮小而永久丟失。小缺陷會變得不可見。
- 緊湊的裁剪意味著緊湊的掩碼。 較小的 ROI 使每個畫素保持全解析度,因此掩碼與真實的缺陷邊界對齊。
- 大表面?用網格平鋪。 不要將一個 ROI 拉伸到整個面板上。佈置一個由較小 ROI 組成的網格,使每個小塊都保持全解析度,讓模型能夠看到細微的缺陷。
- 掩碼按捕獲持久化。 每個訓練影象都為該 ROI 儲存自己繪製的掩碼;模型從所有這些掩碼中學習。
- 豐富的輸出。 每個 ROI 都能獲得每個類別的畫素計數、每個缺陷區域的邊界框以及可測量的面積,足以用於基於尺寸的透過/失敗規則。
資料流:每個 ROI 都會返回一個掩碼,而不是一個標籤
在執行時,相機從完整影象中裁剪出 ROI,將其輸入經過訓練的分割器,並得到逐畫素的預測,即一個與之相同大小的掩碼,其中每個畫素都帶有一個類別。相機從該掩碼中匯出畫素計數、缺陷區域和邊界框。
- 捕獲 標記有 ROI 的完整幀。
- 裁剪 ROI 為單張影象,保持在 512 × 512 畫素或以下。
- 分割器模型 使用編碼器-解碼器架構為每個畫素預測一個類別。
- 掩碼輸出 是一個彩色畫素圖,加上每個類別的畫素計數,以及每個連通區域的邊界框。透過/失敗規則在 IO模組 中基於這些數值執行。
發揮創意:mask 是一個幾何物件
一旦分割器返回 mask,你就不侷限於透過/失敗。你擁有每個類別的精確形狀和位置,這意味著你可以推匯出測量值、計數、距離和空間關係。這開啟了一整類與"找劃痕"截然不同的檢測,而同一個分割器可以服務於所有這些檢測。
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.
常見陷阱:在你將要檢測的尺度下進行訓練
分割器只會學習它所見過的缺陷的尺寸和紋理。如果你用小汙染物對它進行訓練,那麼同一類缺陷的大塊版本進入產線時通常只有邊緣或零散的斑塊被高亮——缺陷的主體部分則未被 mask 覆蓋。
如果你的訓練集中只有缺陷的小型示例,模型會將大型版本視為"大部分是背景,加上幾個小的缺陷形狀斑塊"。mask 看起來是斑駁的,或只標記真實缺陷的邊緣/角落,而不是覆蓋整個缺陷。
修復方法: 包含覆蓋你預期在產線上會出現的完整尺寸範圍的訓練示例。在你的小尺寸樣本旁加上少量大汙染物捕獲通常就足夠了。同樣的原則也適用於紋理和顏色變化——在你將會在生產中看到的多樣性上進行訓練。
沒有大缺陷樣本? 使用 Defect Creator Studio 生成同一缺陷在不同尺寸、位置和方向上的合成訓練影象——無需等待真實的大汙染物從產線下來。
設定回顧
訓練前的快速檢查清單。如果以下每一項都成立,你的分割器將擁有堅實的基礎。
- 每個表面一個 Inspection Type。 檢測兩種不同的材料或缺陷類別?給每種各自的型別,這樣它們就能擁有各自的類別、資料集和模型。
- 類別代表缺陷型別,而不是嚴重程度。
scratch、dent、stain,每個都是獨立的視覺物件。嚴重程度和透過/失敗由下游 mask 的畫素計數決定。 - 背景是隱式的。 你永遠不會塗繪或標記"良好"畫素。任何未塗繪的部分都屬於
background。 - ROI 尺寸經過深思熟慮。 覆蓋感興趣區域,但每個 ROI 保持在 512 × 512 畫素以下。如果表面較大,使用網格平鋪。
- 塗繪每個可見的缺陷。 訓練資料中漏掉的缺陷會教會模型它們是背景,這是質量檢查中最糟糕的教訓。
- 訓練資料涵蓋你在生產中預期的完整缺陷尺寸範圍(請參閱上面的陷阱提示)。在小型示例上訓練的模型不會泛化到大型示例。
- 每個類別從 10 到 15 張影象開始。 訓練、執行實時預覽、在 mask 出錯的地方新增針對性影象、重新訓練。通常迭代兩到四次。
後續內容
- 理解分類器,關於下拉選擇模型的姊妹頁面。
- 感興趣區域 (ROI),繪製 ROI 的實用指南。
- 訓練你的 AI,標註和訓練工作流程。