自動檢測閱讀時間 12 分鐘
機器視覺看不看得見,打光就決定了一半
一套視覺系統做不出來,工程師通常會先怪演算法。但真正的原因往往更前面:那個缺陷,在影像裡根本就不明顯。
Wikimedia Commons・Robotic Arm Polishing Guitars at Martin Guitar・CC BY 4.001先算得出來,再談看得見
視覺系統的第一個設計動作是算解析度。公式很簡單:每像素代表的實際尺寸 = 視野寬度 ÷ 感測器水平像素數。
| 項目 | 範例值 | 說明 |
|---|---|---|
| 視野 FOV | 50 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常見的四類應用
- 有無判定:零件在不在、方向對不對。最簡單、最穩定、投報率最高。
- 尺寸量測:輪廓、孔徑、間距。需要精確的鏡頭校正與穩定的工件定位。
- 外觀檢測:刮痕、凹痕、污染、色差。最難,因為缺陷的樣態變化大。
- 字元與碼辨識:OCR、條碼、DataMatrix。成熟度高,關鍵在打光與對比。
導入的順序建議由上往下。從有無判定開始,把光學、機構、觸發與資料流跑順了,再往外觀檢測推,反過來做,通常會卡在第一關就放棄。
04導入前先問三個問題
- 缺陷的定義寫得出來嗎?如果現場老師傅自己判定不一致,系統也不可能一致。先做人工判定的一致性測試(類似 GR&R)。
- 能不能控制工件的擺放?視覺系統最怕位置與姿態不固定。多數失敗案例的根因是機構而非軟體。
- 誤判的代價各是多少?漏判(false negative)與過殺(false positive)的成本通常不對稱,門檻要往成本低的那一側偏。