01傳統影像處理與 YOLOv8 深度學習模型的選擇
許多傳統自動化廠商初入 AI 時,常嘗試用 OpenCV 的二值化 (Thresholding)、Canny 邊緣檢測或範本比對 (Template Matching) 進行瑕疵識別。然而在實際工廠環境中,光源強度微幅波動、背景金屬反光或產品表面固有紋理,都會導致傳統演算法出現大量誤報 (False Alarms)。
YOLOv8(You Only Look Once v8)採用 Anchor-Free 的單階段物件偵測架構,能夠自動學習極其複雜的特徵空間。不論是微小的劃痕 (Scratch)、壓傷 (Dent)、髒污 (Stain) 或是內部裂痕 (Crack),YOLOv8 都能在保持高精度的同時達到每秒 60-120 FPS 的實時推論速度。
02工業級資料集準備與資料增強 (Data Augmentation)
工業瑕疵檢測成敗的 80% 取決於資料品質。在產線上,良品率通常高達 99% 以上,這導致「瑕疵品樣本極度匱乏」。為了解決資料不平衡問題,我們在資料預處理階段採取以下策略:
- 高解析度 Tile 切割:工業相機(如 1200 萬像素 GigE 相機)拍攝的影像,不能直接壓縮 resize 到 640x640,否則微小瑕疵會直接消失。我們採用滑動視窗 (Sliding Window) 進行重疊切割。
- Mosaic 4 影像拼貼與 HSV 微調:強制模型學習局部特徵,並透過隨機飽和度與亮度調整,模擬產線不同時間點的燈光衰減與光影變化。
- GAN 擬真瑕疵生成:利用 Generative Adversarial Network 衍生生成合成瑕疵樣本,補充極稀有的嚴重缺陷類別。
03關鍵超參數設定與訓練避坑經驗
在訓練 YOLOv8 工業模型時,預設的超參數設定通常無法達到工業級驗收標準。以下是鳳凰程式工坊在多個專案中歸納出的最佳實務設定:
- Optimizer 與 Learning Rate:採用 AdamW 優化器,初始學習率設為 0.001,配合 Cosine Learning Rate 衰減策略,使模型在訓練後期穩定收斂。
- Epochs 與 Early Stopping:設定 300 epochs,並開啟 early stopping (patience=30),避免因為瑕疵樣本過少導致模型產生嚴重的過擬合 (Overfitting)。
- Loss Weight 調整:提高 Box Loss 與 Cls Loss 的權重,強烈懲罰邊界框定位不準確的預測。
04模型驗收指標:過殺率與漏檢率的平衡對比
在評估 AI 品檢系統時,絕不能單看總體 Accuracy(準確率)。工廠最在乎的是**過殺率 (Overkill Rate)** 與 **漏檢率 (Underkill Rate)**:
| 指標名稱 | 學術對應 | 工廠實際影響 | 鳳凰程式工坊驗收目標 |
|---|---|---|---|
| 漏檢率 (Underkill):壞品判為良品 | 1 - Recall (召回率) | 致命缺陷流入客戶端,導致退貨與違約金 | < 0.1% (接近零容忍) |
| 過殺率 (Overkill):良品判為壞品 | 1 - Precision (精確率) | 良品被誤打入人工複檢區,增加複檢成本 | < 1.5% (極低誤報) |
| 推論延遲 (Inference):單張處理時間 | FPS / Latency | 影響產線 Cycle Time 與每分鐘產能 (UPH) | < 30 ms (滿足高流速) |
05邊緣裝置部署 (TensorRT) 與工廠 PLC 訊號整合
在推論部署階段,我們將 PyTorch (.pt) 模型轉換為 NVIDIA TensorRT (FP16/INT8 量化) 引擎,並部署於工業級電腦 (IPC + RTX 4060) 或 NVIDIA Jetson 邊緣裝置。模型推論時間可從 45ms 壓縮至 8ms!
此外,我們透過 Industrial I/O 卡或 Modbus/TCP 協定直接與 PLC 控制器對接。當 AI 檢測出不良品時,3 毫秒內輸出剔除訊號控制氣缸將瑕疵品推入廢料盒,實現全自動化閉環控制。
FAQ常見問題解答
做一套 AI 瑕疵檢測需要準備多少張瑕疵照片?
一般建議每種瑕疵類型至少準備 150-300 張清晰圖片。若照片數量不足,可透過資料增強技術 (Data Augmentation) 與轉移學習 (Transfer Learning) 來降低初期的資料收集成本。
現有的工廠相機可以直接拿來跑 AI 嗎?
只要相機能透過 SDK (如 GigE/USB3 Vision) 或 RTSP 串流輸出穩定清晰的影像,即可直接串接 AI 辨識系統,無需更換整套光學設備。
評估到真正上線需要多久時間?
標準流程通常為:1-2 週進行資料評估與可行性驗證 (PoC),3-4 週進行模型訓練、量化優化與系統介面開發。
如果產線更換生產新規格的產品怎麼辦?
我們封裝了「一鍵再訓練 (Re-training)」介面,現場工程師只需補充 30-50 張新產品照片,即可快速更新模型上線,無須重新編寫程式碼。
模型量化 (INT8) 會不會大幅降低瑕疵辨識的精確度?
在經過校正資料集 (Calibration Dataset) 的 INT8 量化後,Precision/Recall 降幅通常小於 0.5%,但推論速度可提升 2-3 倍並顯著降低顯示卡記憶體佔用。