AI 驅動文件
您想了解什麼?
使用分割器
本教程將指導您使用OV20i的AI驅動分割功能建立完整的分割檢測。您將學習如何透過逐畫素教會相機識別和測量鉛筆痕跡、劃痕或其他缺陷等特定特徵。
檢視此主題的實際操作:如何在幾分鐘內建立分割配方
OV10i不具備分割功能。
您將學習:
- 如何從頭到尾設定分割配方
- 如何訓練AI模型以識別特定特徵
- 如何根據分割結果配置合格/不合格邏輯
- 如何最佳化分割效能以便於生產使用
實際應用: 本教程使用鉛筆痕跡檢測作為示例,但相同的原理適用於檢測劃痕、裂縫、汙染或任何其他可以視覺區分的特徵。
先決條件
- 已設定並連線的OV20i相機系統
- 具有您想要檢測特徵的樣本部件(例如,帶有鉛筆痕跡的紙張)
- 對AI訓練概念的基本理解
- 訪問配方編輯器和Node-RED功能
教程概述
我們將構建的內容: 一個能夠檢測紙張上鉛筆痕跡並根據檢測到的標記數量確定合格/不合格的分割模型。
所需時間: 45-60分鐘(包括訓練時間)
學習的技能: AI模型訓練、分割標註、合格/不合格邏輯配置
第一步:建立新的分割配方
1.1 開始新的配方
- 從所有配方頁面,點選右上角的**"+ 新建"**
- 將出現新增新配方的模態框
- 輸入您配方的描述性名稱(例如,“Pencil_Mark_Detection”)
- 從配方型別下拉選單中選擇**“分割”**
- 點選**“確定”**以建立新配方
為什麼選擇分割? 與識別整個物件的分類不同,分割在影象中查詢並測量特定特徵,非常適合缺陷檢測、汙染分析或測量覆蓋區域。

1.2 啟用並開啟配方編輯器
- 您的新配方將在所有配方頁面上標記為**“未啟用”**
- 選擇配方右側的**“啟用”**
- 點選**“啟用並轉到編輯器”**以確認並啟動配方編輯器
檢查點: 您應該在麵包屑選單中看到配方編輯器介面及您的分割配方名稱。
第二步:配置相機成像
2.1 訪問成像設定
- 在配方編輯器中,點選左下角的**“配置成像”**
- 這將開啟成像配置頁面,您將在此最佳化相機設定

2.2 最佳化焦距設定
- 將帶有鉛筆標記的樣本紙放置在相機的視野中
- 使用 焦距滑塊 使鉛筆標記達到清晰聚焦
- 您也可以手動輸入焦距值以提高精度
- 使用 焦距檢視(如果可用)檢視邊緣高亮和焦距評分
焦距提示:
- 聚焦於缺陷將出現的表面
- 確保鉛筆標記清晰且輪廓分明
- 更高的焦距評分表示更好的聚焦質量
2.3 配置曝光設定
- 調整 曝光 滑塊以獲得適當的亮度
- 鉛筆標記應清晰可見且不應過度曝光紙張
- 從自動設定開始,根據需要進行微調
- 監控實時預覽以實時檢視變化
曝光指南:
- 鉛筆標記應與紙張有良好的對比度
- 避免過度曝光,以免沖淡細微標記
- 確保整個檢測區域的照明一致
2.4 設定 LED 照明
- 選擇適合您應用的 LED 燈光模式
- 對於鉛筆標記,均勻的照明通常效果最佳
- 調整 LED 燈光強度 以最小化陰影和眩光
- 如果反射是一個問題,請測試不同的模式
2.5 調整伽瑪和對比度
- 微調 伽瑪 以增強標記與背景之間的對比度
- 更高的伽瑪可以使細微的鉛筆標記更清晰可見
- 較低的伽瑪可以減少乾淨區域的噪聲
- 平衡伽瑪以最佳化缺陷可見性和背景清晰度
2.6 儲存成像設定
- 一旦所有設定最佳化完成,點選 "儲存成像設定"
- 您的相機配置現在已儲存為此配方
- 實時預覽應顯示清晰、對比度良好的影象
檢查點: 您的相機應能生成清晰的影象,其中鉛筆標記與紙張背景易於區分。
Step 3: 配置模板和對齊
3.1 導航到模板影象和對齊
- 點選麵包屑選單中的 配方名稱 返回配方編輯器
- 從選單中選擇 "模板影象和對齊"
3.2 跳過對齊器以進行本教程
- 由於我們正在檢測整個紙張上的特徵,請點選 "跳過對齊器"
- 這將禁用基於位置的對齊並使用完整影象
- 點選 "儲存" 以應用更改
何時使用對齊器: 當您需要檢測可能移動或旋轉的部件上特定位置的特徵時,請啟用對齊器。對於像鉛筆標記這樣的全紙檢查,跳過對齊器通常是合適的。

Step 4: 設定檢測區域
4.1 導航到檢測設定
- 返回配方編輯器並選擇 "檢測設定"
- 這是您將定義要分析的影象區域的地方
4.2 配置興趣區域(ROI)
- 您將看到相機視野的預覽
- 拖動 ROI 框的角 以調整其大小和位置
- 對於鉛筆標記檢測,通常覆蓋整個紙張區域
- 確保 ROI 包含所有可能出現鉛筆標記的區域
ROI 最佳實踐:
- 包括所有可能發生缺陷的區域
- 排除不應分析的邊緣或背景區域
- 使 ROI 足夠大,以捕捉部件定位的變化
- 避免包含文字、徽標或其他預期標記
4.3 儲存 ROI 配置
- 一旦您的 ROI 正確定位,請點選 "儲存"
- 檢查區域現在已為您的分割模型定義
第 5 步:標記並訓練您的模型
5.1 導航到標記和訓練
- 返回配方編輯器並選擇 "標記和訓練"
- 在這裡,您將教 AI 識別鉛筆標記的樣子

5.2 配置檢查類別
- 在 檢查型別 下,點選 "編輯"
- 將類別重新命名為 "鉛筆標記"(或您特定的缺陷型別)
- 選擇一種獨特的 顏色 來視覺化檢測到的標記
- 點選 "儲存" 以應用更改
5.3 捕獲訓練影象
- 拍攝至少 10 張 帶有不同鉛筆標記的紙張影象
- 變化訓練示例:
- 不同的鉛筆標記大小和形狀
- 淺色和深色標記
- 紙張上的不同位置
- 不同的標記密度
訓練影象提示:
- 包括細微和明顯的標記
- 捕獲您將遇到的各種光照條件
- 每張影象中包括沒有標記的乾淨區域
- 確保影象代表生產條件
5.4 註釋訓練影象
- 對於每張訓練影象,使用 畫筆工具 在鉛筆標記上描繪
- 僅繪製鉛筆標記 - 避免標記紙張或其他特徵
- 在註釋時要準確但全面
- 完成每張影象後點選 "儲存註釋"
註釋最佳實踐:
- 在標記“鉛筆標記”時保持一致
- 包括完整的標記,而不僅僅是部分
- 不要標記預期的標記,如文字或徽標
- 使用穩定、細緻的畫筆筆觸以確保準確的邊界
5.5 審查您的註釋
- 仔細檢查所有標記的影象 以確保準確性
- 查詢遺漏的標記或標記錯誤的區域
- 重新註釋任何需要更正的影象
- 高質量的註釋會導致更好的模型效能
第 6 步:訓練分割模型
6.1 開始訓練過程
- 一旦您標記了至少 10 張影象,請點選 "返回實時"
- 點選 "訓練分割模型"
- 輸入訓練的 迭代次數
迭代指南:
- 初始訓練時從 100-200 次迭代開始
- 更多的迭代通常會提高準確性,但需要更長時間
- 監控訓練進度並根據需要進行調整
- 在準確性要求與訓練時間之間取得平衡

6.2 監控訓練進度
- 點選 "開始訓練" 以開始過程
- 將出現一個訓練進度模態,顯示:
- 當前迭代次數
- 訓練準確性百分比
- 剩餘估計時間
6.3 訓練控制選項
在訓練期間,您可以:
- 中止訓練 - 如果需要進行更改,請停止
- 提前結束訓練 - 當準確性足夠時停止
- 監控進度 - 觀察準確性隨迭代提高
訓練提示:
- 當達到目標準確性時,訓練將自動完成
- 更高的準確性百分比表示更好的模型效能
- 如果準確性停滯,您可能需要更多的訓練資料
6.4 評估訓練結果
- 訓練完成後,檢視最終準確率
- 點選 "實時預覽" 檢視實時分割結果
- 使用新樣本測試以驗證模型效能
成功指標:
- 筆跡以您選擇的顏色高亮顯示
- 乾淨區域保持未標記
- 不同標記型別的檢測一致
- 模型對新未見樣本反應良好
第 7 步:配置合格/不合格邏輯
7.1 導航到 I/O 塊
- 返回配方編輯器,點選 "配置 I/O" 或從麵包屑選單中選擇 "IO 塊"
7.2 設定 Node-RED 流程
- 刪除現有的分類塊邏輯 節點
- 從左側調色盤中拖入:
- 所有塊輸出 節點(如果尚未存在)
- 函式 節點
- 最終合格/不合格 節點
- 連線節點:所有塊輸出 → 函式 → 最終合格/不合格

7.3 配置合格/不合格邏輯
雙擊 函式 節點並選擇以下邏輯示例之一:
選項 1:如果未檢測到缺陷則合格
// Pass if no pencil marks are found
const allBlobs = msg.payload.segmentation.blobs;
const results = allBlobs.length <1;
msg.payload = results;
return msg;
選項 2:如果所有標記都很小則合格
// Pass if all marks are smaller than threshold
const threshold = 500; // pixels
const allBlobs = msg.payload.segmentation.blobs;
const allUnderThreshold = allBlobs.every(blob => blob.pixel_count < threshold);
msg.payload = allUnderThreshold;
return msg;
選項 3:如果總覆蓋率低則合格
// Pass if total marked area is below threshold
const threshold = 5000; // total pixels
const allBlobs = msg.payload.segmentation.blobs;
const totalArea = allBlobs.reduce((sum, blob) => sum + blob.pixel_count, 0);
msg.payload = totalArea < threshold;
return msg;
7.4 部署並測試邏輯
- 點選 "完成" 儲存函式
- 點選 "部署" 啟用邏輯
- 導航到 HMI 測試您的合格/不合格邏輯
測試您的邏輯:
- 使用乾淨的紙張測試(應合格)
- 使用輕微標記的紙張測試(應根據您的標準合格/不合格)
- 使用重度標記的紙張測試(應不合格)
- 驗證結果是否符合您的預期
第 8 步:最佳化和驗證
8.1 使用生產樣本測試
- 透過您的檢測執行多個測試樣本
- 驗證檢測準確率是否滿足您的要求
- 檢查合格/不合格邏輯是否正常工作
- 記錄任何問題或邊緣情況
8.2 微調模型效能
如果檢測不一致:
- 新增更多具有不同示例的訓練影象
- 改善註釋質量和一致性
- 調整成像設定以獲得更好的對比度
- 進行額外迭代重新訓練
如果合格/不合格邏輯需要調整:
- 修改您 Node-RED 函式中的閾值
- 測試不同的邏輯方法
- 考慮多種標準以進行復雜決策
- 根據生產要求進行驗證
8.3 生產驗證
- 在實際條件下使用真實生產零件測試
- 與質量團隊驗證 以確保標準符合要求
- 記錄效能指標 如檢測準確率和假陽性率
- 設定監控 以跟蹤效能隨時間的變化
第 9 步:理解分割結果
9.1 分割資料結構
您的分割結果包括:
- Blobs:單個檢測到的特徵(鉛筆標記)
- 畫素計數:每個檢測到的特徵的大小
- 位置資訊:特徵被發現的位置
- 置信度分數:模型對每個檢測的確定程度
9.2 使用分割資料
您可以基於以下內容建立複雜的合格/不合格邏輯:
- 檢測到的缺陷數量
- 單個缺陷的大小(畫素計數)
- 總缺陷面積(所有畫素計數的總和)
- 缺陷位置(缺陷出現的位置)
- 缺陷形狀特徵(如果需要用於高階應用)
成功!您的分割模型已完成
您的 OV20i 分割檢測現在可以:
✅ 自動檢測影象中的鉛筆標記(或您特定的特徵)
✅ 測量檢測到的特徵的大小和數量
✅ 根據您的特定標準做出合格/不合格決策
✅ 提供關於每個檢測到的特徵的詳細資訊
✅ 適應標記大小、形狀和位置的變化
關鍵要點
分割與分類:
- 分割 在影象中查詢和測量特定特徵
- 分類 識別整個物體或整體條件
- 使用分割進行缺陷檢測、汙染分析或覆蓋測量
培訓最佳實踐:
- 高質量的標註比數量更重要
- 在您的訓練集中包含多樣化的示例
- 使用生產樣本進行徹底測試
- 根據需要監控和重新訓練
合格/不合格邏輯:
- 從簡單標準開始,根據需要增加複雜性
- 使用邊緣案例和臨界樣本測試邏輯
- 記錄您的標準以保持一致性
- 考慮多個因素以做出穩健的決策
下一步
現在您已完成第一個分割模型:
- 應用於其他用例 - 嘗試檢測不同型別的缺陷或特徵
- 與生產系統整合 - 連線到 PLC 或質量管理系統
- 設定資料收集 - 跟蹤效能指標和檢測統計
- 培訓操作員 - 確保團隊瞭解如何監控和維護系統
- 計劃維護 - 安排定期模型更新和效能評審