免費試用

← 回部落格

自動檢測閱讀時間 12 分鐘

機器視覺看不看得見,打光就決定了一半

一套視覺系統做不出來,工程師通常會先怪演算法。但真正的原因往往更前面:那個缺陷,在影像裡根本就不明顯。

Wikimedia Commons・Robotic Arm Polishing Guitars at Martin Guitar・CC BY 4.0

01先算得出來,再談看得見

視覺系統的第一個設計動作是算解析度。公式很簡單:每像素代表的實際尺寸 = 視野寬度 ÷ 感測器水平像素數

項目範例值說明
視野 FOV50 mm要看的範圍
感測器2448 × 2048(500 萬畫素)相機規格
空間解析度50 ÷ 2448 ≈ 0.020 mm/px一個像素代表多大
可偵測缺陷約 0.06 ~ 0.1 mm一般需 3 ~ 5 個像素才穩定
量測精度約 0.005 ~ 0.01 mm次像素演算法可到 1/4 ~ 1/2 像素
先算這一張表。如果算出來抓不到目標缺陷,換演算法也沒用。

02打光決定一切

同一個工件,換一種打光,影像可以完全不同。選打光的原則是:讓要找的特徵變亮或變暗,其餘保持一致

打光方式配置擅長抓
背光光源在工件後方外形輪廓、通孔、缺件
同軸光光經半反射鏡與鏡頭同軸鏡面上的刮痕、印刷字元
環形光(高角度)鏡頭四周斜下照表面紋理、一般外觀
低角度環形光近乎平行工件表面刻印、凹凸、邊緣缺口
漫射穹頂光半球內壁漫反射曲面、高反光件的均勻照明
結構光投射條紋或線雷射三維高度、平面度、體積
背光與低角度光是最常被低估的兩種,它們能把演算法難題變成門檻問題。

波長也是變數

紅光穿透力較強、對紅色特徵對比低;藍光波長短、散射少,適合細微特徵與高精度量測;紅外光可穿透部分塑膠,用來看內部;紫外光可激發螢光,用來檢測膠量與塗層覆蓋。

03常見的四類應用

  1. 有無判定:零件在不在、方向對不對。最簡單、最穩定、投報率最高。
  2. 尺寸量測:輪廓、孔徑、間距。需要精確的鏡頭校正與穩定的工件定位。
  3. 外觀檢測:刮痕、凹痕、污染、色差。最難,因為缺陷的樣態變化大。
  4. 字元與碼辨識:OCR、條碼、DataMatrix。成熟度高,關鍵在打光與對比。

導入的順序建議由上往下。從有無判定開始,把光學、機構、觸發與資料流跑順了,再往外觀檢測推,反過來做,通常會卡在第一關就放棄。

04導入前先問三個問題

  • 缺陷的定義寫得出來嗎?如果現場老師傅自己判定不一致,系統也不可能一致。先做人工判定的一致性測試(類似 GR&R)。
  • 能不能控制工件的擺放?視覺系統最怕位置與姿態不固定。多數失敗案例的根因是機構而非軟體。
  • 誤判的代價各是多少?漏判(false negative)與過殺(false positive)的成本通常不對稱,門檻要往成本低的那一側偏。