跳到主要內容

AI 驅動文件

您想了解什麼?

首個程式建立

本深度指南闡述了什麼是程式,介紹了分類與分割之間的差異,並提供了建立程式的分步指導。同時還包括影象設定配置、模板影象捕獲與對齊設定、ROI 最佳化、資料採集與 AI 訓練,以及影象資料增強配置的詳細演練。

影片指南

觀看該主題的實際操作:如何在幾分鐘內建立分割程式


學習目標​

完成本深度指南後,您將瞭解:

  • 什麼是程式
  • 分類與分割的區別——以及各自的使用場景
  • 如何建立程式
  • 如何配置影象設定
  • 如何捕獲模板影象並配置對齊器
  • 什麼是 ROI(感興趣區域)以及如何最佳化它們
  • 用於 AI 訓練的資料採集
  • 程式測試與驗證

什麼是程式?​

  • 一組已配置的指令集,用於告知相機如何檢測特定零件或產品。
  • 定義相機設定,包括曝光、增益和白平衡,以實現一致的影象捕獲。鏡頭對焦和光圈透過 C-mount 鏡頭進行機械設定。
  • 包括處理邏輯,例如 ROI 定義、對齊器、分類或分割類別。
  • 儲存輸入/輸出配置,以與自動化系統整合,實現透過/失敗或高階訊號。
  • 可儲存和重複使用,以確保跨班次、生產線或工廠的一致檢測。

分類與分割​

定義​

  • 分類:識別 ROI 中物件的型別
  • 分割:定位並分析影象/ROI 中的區域

示例​

影象分類影象分割影象分類影象分割
什麼是綿羊?哪些畫素屬於哪個物件?這個披薩是合格的還是有缺陷的?每片義大利辣香腸在哪裡?
綿羊分類綿羊分割披薩分類披薩分割

關鍵對比​

分類分割
速度速度取決於影象設定和複雜度。在簡單設定下通常高效快速最佳化後可與分類一樣快甚至更快,尤其是使用精簡模型時
準確性適用於整體透過/失敗或零件型別識別對精確缺陷定位具有更高準確性
複雜度簡單易於設定和維護;引數較少複雜 – 需要更多資料、標註和調優
資料需求低 – 所需標註影象較少中等 – 需要大量帶有詳細畫素級精確標註的影象
使用場景零件存在、方向、基本質量檢查、零件是否插入等。表面缺陷、精細特徵檢測、多缺陷檢測、計數、測量等。

建立和匯出程式​

使用程式旁邊的 Export Recipe 按鈕匯出單個程式。

Export Recipe button

使用螢幕頂部的 Export 按鈕一次匯出多個程式。

Export multiple Recipes button

使用螢幕頂部的 Import 按鈕匯入程式。

Import Recipe button

備註

請注意: 每個程式一次僅支援一種檢測型別,即分割或分類。請在開始設定前選擇正確的型別。

影象設定​

影象旋轉​

Image Rotation settings in Imaging Setup

  • 功能說明: 旋轉影象(0° 或 180°)。
  • 使用場景: 如果相機以某個角度安裝,但您希望影象在介面中以另一方向顯示。
備註

如果需要將影象旋轉 90°,請旋轉相機。

增益​

Gain settings in Imaging Setup

  • 功能說明: 以數字方式人為地提亮影象(類似相機上的 ISO)。
  • 效果:
    • 增益越高 → 影象越亮,但會增加噪點(顆粒感)。
    • 增益越低 → 影象越乾淨,但需要良好的光照。
高增益低增益
Example of high gainExample of low gain
更明亮但噪點更多更暗但噪點更少
提示

只有在無法調整曝光或光照的情況下才提高增益。

模板影象與對齊​

跳過對齊器​

Skip Aligner settings in Template Image and Alignment

  • 功能說明: 在檢測過程中關閉對齊步驟。
  • 使用場景: 如果部件在影象中始終處於相同的位置和方向。

模板區域​

Template Regions settings in Template Image and Alignment

  • 功能說明: 定義用於對齊的模板影象區域。
    • 矩形: 繪製矩形感興趣區域。
    • 圓形: 繪製圓形感興趣區域。
    • 忽略模板區域: 將某些區域排除在對齊之外,以避免干擾性圖案或無關特徵。
  • 最佳用途: 幫助系統僅關注最具辨識度的部件特徵,以實現精準對齊。

旋轉範圍​

Rotation Range settings in Template Image and Alignment

  • 功能說明: 設定系統在將部件與模板匹配時可容忍的旋轉角度(以度為單位)。
  • 示例: 設定為 ±20° 允許部件輕微旋轉但仍可被檢測到。
  • 調整時機: 如果部件在生產過程中容易發生旋轉,則增大該值;對於方向高度一致的情況,則減小該值。

靈敏度​

Sensitivity settings in Template Image and Alignment

  • 功能說明: 控制系統在實時影象與模板之間查詢匹配的精細程度。
  • 效果:
    • 高靈敏度 → 可檢測到更細微的細節,適用於複雜部件。
    • 低靈敏度 → 減少誤匹配,但可能會遺漏細微特徵。

置信度閾值​

Confidence Threshold settings in Template Image and Alignment

  • 含義: 設定系統接受檢測所需的最低置信度分數。
  • 效果:
    • 閾值越高 → 誤報越少,但可能會漏掉臨界匹配。
    • 閾值越低 → 檢測數量增多,但誤報風險隨之上升。
提示

從中等值開始,根據測試結果進行調整。

尺度不變​

Scale Invariant settings in Template Image and Alignment

  • 含義: 允許系統檢測比原始模板影象略大或略小的部件。
  • 何時啟用: 當部件尺寸可能因定位、距離變化或製造公差而略有差異時。

實時預覽圖例​

Live Preview in Template Image and Alignment

1. 一個可配置的邊界框,用於定義觸發期間要監控的相機視野 FOV 中的特定區域。

  • 用途: 確保相機僅聚焦於相關區域,忽略不必要的背景區域。
  • 最佳用途:
    • 對於移動物體,確保部件完全保留在檢測區域內。
    • 透過減少需要分析的影象資料量來最佳化處理速度。

2. 一個視覺化的紅點,顯示影象中所有已定義 ROI(感興趣區域)的中心點。

  • 用途: 幫助您相對於部件或相機檢視對齊並定位搜尋區域。

3. 綠色線條表示已檢測到物體的邊緣。

提示

如果您看到線條變為紅色,請嘗試增大 ROI 尺寸、調整 ROI 或提高靈敏度。

Example of edge detection

ROI(感興趣區域)的定義與最佳化​

檢測型別​

Inspection Type settings in Inspection Setup

  • 含義: 定義正在執行的檢測型別,並將相似的 ROI(感興趣區域)分組。
  • 示例: "Holes"用於檢查部件上孔的存在、尺寸或質量。
  • 主要功能:
    • 新增檢測型別: 為不同的檢測需求建立新類別。
    • ROI 數量: 顯示當前分配給該檢測型別的 ROI 數量。

變換​

Transformation settings in Inspection Setup

  • 含義: 調整所選 ROI 的位置和幾何形狀,以實現精確的對齊和放置。
  • 欄位及其用途:
    • 高度/寬度: 更改 ROI 的尺寸。
    • X / Y: 沿水平(X)和垂直(Y)軸移動 ROI 的位置。
    • 角度: 圍繞 ROI 中心旋轉。
  • 最佳用途: 當您有重複圖案(如多個相同的孔)時,可加快設定速度。

檢測區域​

Inspection Regions settings in Inspection Setup

  • 功能說明: 模板影象中定義的所有 ROI 的列表。
  • 功能特性:
    • 新增檢測區域: 手動建立新的 ROI。
    • 忽略區域: 將特定區域排除在處理之外。
    • 編輯: 儲存、刪除或取消。
    • 鎖定圖示: 表示已鎖定的 ROI,解鎖前無法移動。

實時預覽模式​

Live Preview Mode in Inspection Setup

  • 功能說明: 在調整或新增 ROI 後顯示實時反饋。
  • 使用場景: 非常適合在設定過程中精細調整 ROI 的位置和大小。

測試按鈕​

Test button in Inspection Setup

  • 功能說明: 基於舊影象執行回測以驗證更改。
  • 使用場景: 將當前結果與之前的設定進行比較,以驗證準確性和一致性。

資料採集與 AI 訓練​

定義不同的檢測類別,並根據每個 ROI 指定的檢測型別為其新增標籤(參見下方示例)。

Example of defined inspection classes and labeled ROIs

使用標註工具為影象新增標籤/標註。使用畫筆類別下拉選單選擇要標註的類別。分割任務當前每個程式最多支援 10 個類別。

Example of annotated classes

優質資料的重要性​

Examples of good and bad data

  • 垃圾進,垃圾出: AI 模型的效果取決於所提供的資料質量。質量差或不一致的資料會導致結果不準確。

  • 多樣性至關重要: 採集能夠代表所有現實變化的資料:不同班次、光照條件、零件位置和表面狀況。

  • 質量重於數量: 一個規模較小但乾淨且標註良好的資料集,通常比一個龐大但噪聲大或不一致的資料集表現更好。

標註基礎:

  • 分類: 將整幅影象或 ROI 標記為特定類別(例如"良好"、"損壞")。
  • 分割: 以畫素級精度對特定關注區域進行塗刷、勾勒或高亮標註(例如表面上的劃痕位置)。
  • 一致性: 使用一致的規則和定義進行標註,以避免訓練過程中的混淆。

Example of good annotations

常見陷阱

  • 資料不足: 樣本過少會導致欠擬合,從而在實際應用中表現不佳。
  • 類別不平衡: 某一類別的過度代表(例如"良好"零件很多但缺陷零件很少)會使模型產生偏差。
  • 標註質量差: 錯誤、不一致或倉促的標註會導致準確率顯著下降。
  • 忽略環境變化: 當光照、零件方向或表面狀況發生變化時未更新資料集,會導致準確率漂移。
  • 未驗證資料: 訓練前跳過質量檢查通常會導致時間浪費和返工。

資料增強​

影象資料增強透過人為修改訓練影象來提高模型的魯棒性。它們模擬真實世界中的變化,如亮度變化、旋轉或噪聲,使模型在不同條件下都能表現良好。

顏色增強​

顏色增強設定

亮度 (Brightness)

  • 含義: 調整影象的明暗程度。
  • 使用場景: 用於應對生產過程中光照的輕微變化。
提示

對於穩定的設定使用 ±0.1;如果光照變化較大,可適當增加。

對比度 (Contrast)

  • 含義: 改變明暗區域之間的差異。
  • 使用場景: 適用於具有紋理或多樣表面的部件,幫助模型適應視覺差異。

色相 (Hue)

  • 含義: 輕微地調整色調。
  • 使用場景: 適用於光照顏色(例如 LED 色溫)可能隨時間變化的場景。

飽和度 (Saturation)

  • 含義: 調整顏色的強度。
  • 使用場景: 幫助應對使影象看起來更暗淡或更鮮豔的光照變化。

幾何增強​

幾何增強設定

旋轉範圍 (Rotation Range)

  • 含義: 在設定範圍內(例如 ±20°)隨機旋轉影象。
  • 使用場景: 適用於可能以略微旋轉的位置出現的部件。
提示

對於通常方向固定的部件,請避免過度旋轉。

翻轉 (Flip)

  • 含義: 水平、垂直或同時翻轉影象。
  • 使用場景: 適用於對稱的部件,或在搬運過程中方向可能翻轉的情況。

光照與顏色模擬​

光照與顏色模擬設定

Planckian

  • 含義: 模擬色溫變化(例如暖光或冷光)。
  • 使用場景: 應對不同班次或光源不同的工作單元。

高斯噪聲 (Gaussian Noise)

  • 含義: 為影象新增細微噪聲。
  • 使用場景: 如果您的生產環境中存在少量視覺噪聲或相機感測器偽影,可提高魯棒性。

運動模擬​

運動模擬設定

運動模糊 (Motion Blur)

  • 含義: 模擬捕獲過程中部件移動所產生的輕微模糊。
  • 使用場景: 對於可能出現運動模糊的高速產線至關重要。

機率 (prob)​

機率設定

  • 含義: 設定訓練期間應用每種資料增強的可能性。
  • 示例: 0.50 = 有 50% 的機率將該變化應用於任何給定的訓練影象。
提示

大多數資料增強建議從 0.5 開始,並根據實際變化情況進行調整。

訓練引數(分割)​

訓練引數(也稱為超引數)是控制機器學習模型如何從資料中學習的設定。

學習率 (Learning Rate)​

學習率設定

  • 定義: 控制模型在訓練期間更新其內部權重的速度。
  • 值 (0.003): 學習率越高,模型學習得越快,但過高可能導致不穩定或精度較差。
  • 滑塊範圍: 從 10^-4(非常慢)到 10^-1(非常快)。
提示

通常,介於 0.001–0.01 之間的值是分割任務的良好起點。

ROI (Region of Interest) 大小​

Override ROI Size settings

  • 定義: 定義訓練期間使用的影象區域大小(寬 × 高)。
  • 未勾選: 預設情況下,模型會根據您的資料自動確定 ROI。
  • 勾選時: 如果需要一致的輸入尺寸(例如,所有影象都裁剪為 256×256 畫素),您可以手動設定寬度和高度。
提示

當您的資料集中包含不同大小的影象,並且希望獲得一致的輸入以提高穩定性、可復現性或匹配已知的模型架構時,請使用固定大小(例如 256×256)。

當您的資料已具有統一解析度,或希望系統根據資料集特徵最佳化最佳感興趣區域時,請讓系統自動選擇。

迭代次數 (Epochs)​

Number of Iterations (Epochs) settings

  • 定義: 一個 epoch = 完整遍歷整個訓練資料集一次。
  • 值 (100): 模型將進行 100 次完整訓練遍歷。
提示

增加此數值通常會在一定程度上提高準確性,但耗時更長。

經驗法則: 在訓練期間監控訓練損失和驗證損失。如果驗證損失停止下降而訓練損失仍持續下降,則表明模型出現過擬合,您應儘早停止訓練。

架構​

Architecture settings

  • 定義: 選擇神經網路的規模和複雜度。
  • Small: 訓練速度更快,通常對於大多數資料集已足夠。適合快速實驗或較小的資料集。
  • 較大的模型 可以捕獲更多細節,但在小資料集上可能會過擬合;較小的模型在資料有限時更高效且泛化能力更好。
提示

從 Small 開始,通常已足夠,並能幫助您在擴充套件之前更快地進行迭代。

外部 GPU​

External GPU IP Address settings

如需瞭解更多關於外部 GPU 的資訊,請聯絡技術支援。

訓練引數(分類)​

訓練引數(也稱為超引數)是控制機器學習模型如何從資料中學習的設定。

學習率​

Learning Rate settings

  • 定義: 控制模型在訓練期間更新其內部權重的速度。
  • 值 (0.003): 學習率越高,模型學習越快,但過高可能導致不穩定或準確性差。
  • 滑塊範圍: 從 10^-4(非常慢)到 10^-1(非常快)。
提示

通常,0.001–0.01 之間的值是分割任務的良好起點。

驗證百分比​

Validation Percent settings

  • 定義: 定義將資料集中多少比例的資料留作驗證(訓練期間的測試)。
  • 用途: 驗證資料有助於監控模型在未見樣本上的表現,防止過擬合。
  • 範圍: 0–50%。
提示

常見選擇為 10–20%。

如果設定為 0%,則所有資料都用於訓練,這可能會提高訓練準確性,但更難檢測過擬合。

ROI (Region of Interest) 尺寸​

Override ROI Size settings

  • 定義: 定義訓練期間使用的影象區域的尺寸(寬 × 高)。
  • 未勾選: 預設情況下,模型會根據您的資料自動確定 ROI。
  • 勾選時: 如果需要一致的輸入尺寸(例如,所有影象都裁剪為 256×256 畫素),您可以手動設定寬度和高度。
提示

當資料集包含不同尺寸的影象,且您希望獲得一致的輸入以提高穩定性、可復現性或匹配已知的模型架構時,請使用固定尺寸(例如 256×256)。

當您的資料已具有統一的解析度,或希望系統根據資料集的特性最佳化最佳感興趣區域時,請讓系統自動選擇。

迭代次數 (Epochs)​

Number of Iterations (Epochs) settings

  • 定義: 一個 epoch = 完整遍歷一次整個訓練資料集。
  • 值 (100): 模型將進行 100 次完整訓練。
提示

增加此數字通常會在一定程度上提高準確性,但訓練時間會更長。

經驗法則: 在訓練過程中監控訓練損失和驗證損失。如果驗證損失停止下降而訓練損失持續下降,則表明模型出現過擬合,您應儘早停止訓練。

架構​

Architecture settings

  • 定義: 選擇神經網路的大小和複雜性。
  • Small: 訓練速度更快,通常足以應對大多數資料集。適合快速實驗或較小的資料集。
提示

從 Small 開始,通常已足夠,並可幫助您在擴充套件之前更快地進行迭代。

架構與相機描述推薦用途
ConvNeXt-Pico超輕量級模型,針對速度和低記憶體使用進行了最佳化。非常適合快速實驗或有限的硬體。
ConvNeXt-Nano略大於 Pico;以極小的額外成本獲得更好的準確性。對於中小型資料集具有良好的平衡性。
ConvNeXt-Tiny在保持高效的同時提供更高的準確性。適用於中等規模資料集和較長時間的訓練。
ConvNeXt-Small此列表中功能最強大的變體。具有更高的容量和準確性。適用於大型資料集或需要最高效能時。

外部 GPU​

External GPU IP Address settings

請聯絡技術支援瞭解更多有關外部 GPU 的資訊。