IVAD / 專案筆記

以 CNN 與 YOLO 探索 PCB 異常檢測

動手實作的電腦視覺 PoC

我想搞懂工業視覺異常檢測怎麼運作,於是動手做了一個小 PoC。我使用公開的 VisA PCB 資料集,用 CNN 特徵建立正常影像模型,測試 ROI 計分與穩健性,再訓練監督式 YOLO。這裡記錄了我的嘗試、成敗與實際收穫。

繁體中文 · A4 PDF · 完整網頁內容

實驗中的真實影像CNN / PCB2
PCB2 瑕疵影像,疊加既有 CNN 異常熱圖與電路板 ROI 虛線邊界
PCB2 / 成功檢出的異常。正常影像建模流程產生的熱圖;虛線為計分區域。

三輪技術探索

三個階段,不同的解法與考驗。

三輪探索串起同一段學習歷程。PCB1、PCB2、PCB3 與 PCB4 是四種不同的電路板資料集。它們各自獨立,使用不同的測試集,並不是把全部資料混在一起訓練同一個模型。

APCB1

CNN 基準方法

只學習正常外觀,能找出沒見過的瑕疵嗎?

僅以正常影像建模

  1. 資料檢視
  2. 方向校正與影像對位
  3. 預訓練 WideResNet-50-2 特徵
  4. 逐位置高斯模型 / 馬氏距離
  5. 影像異常分數與熱圖

方向、影像對位與背景干擾,是基準方法的主要挑戰。

先理解資料,再調整模型。

BPCB2 / PCB3

改善與壓力測試

前處理能降低干擾,同時避免引入新的失敗模式嗎?

PCB2 與 PCB3 分開實驗

  1. CNN 基準方法
  2. 電路板 ROI 計分
  3. 門檻校準
  4. 受控光照修正實驗
  5. 穩健性評估與工程決策

PCB2 測試 ROI 範圍計分;PCB3 則獨立測試光照修正的效果。

把圖片調亮、調暗、改變對比或模糊,測試對檢測結果的影響。

CPCB4

監督式 YOLO

有了瑕疵樣本與標註,影像檢測會有什麼不同?

使用瑕疵標註訓練

  1. PCB4 瑕疵標註
  2. 遮罩轉換為邊界框
  3. YOLOv8s / YOLO11s 訓練
  4. 校準與影像層級檢測
  5. 失敗案例與影像擷取混淆分析

YOLO 使用瑕疵標註訓練,採用單一 defect 類別;前面的 CNN 方法只用正常影像建模。

除了看模型得分,還要確認瑕疵位置有沒有框對。

實際發生了什麼

從翻車的地方與壓力測試中學到的事。

只選幾個來自凍結分數紀錄的代表性結果。每個發現都保留所屬資料集與評估條件。

A

先建立正常外觀的模型

PCB1 正常影像在對位前,以及完成對位和裁切後的比較
PCB1 正常影像:上排為原始影像,下排為對位後裁切。
想釐清
不使用瑕疵訓練標籤,預訓練 CNN 特徵能辨識異常嗎?
嘗試方法
檢視與對位 PCB1 影像,再於特徵圖各位置建立高斯模型。
實際結果
原始 PCB1 基準方法檢出 72/100 張瑕疵測試影像(瑕疵檢出率 72%)。熱圖與誤報案例呈現了對位與背景造成的影響。
我的收穫
最高異常分數可能來自背景,而不是瑕疵。要一起檢查影像與計分區域。
B

優化之後,再進行亮度測試

PCB2 正常影像被 ROI 計分模型誤報,電路板邊緣附近出現異常熱點
PCB2 誤報案例:正常影像仍觸發 ROI 模型。
想釐清
只在電路板內計分,加上光照修正,能減少誤報嗎?
嘗試方法
在 PCB2 評估 ROI 計分;在 PCB3 另做受控光照修正實驗,搭配門檻校準與穩健性檢查。
實際結果
PCB2:正常測試影像誤報率由 13% 降至 3%,瑕疵檢出率維持 80%。PCB3:修正在部分光照條件下有效,卻使模糊影像的誤報明顯增加,因此未採用候選方法。
我的收穫
先解決干擾源,再看代價。優化單一條件,不代表整體變得更穩健。
C

理解監督資訊帶來什麼

PCB4 標註檢查:青色為瑕疵真值遮罩輪廓,紅色為遮罩轉換的訓練邊界框
PCB4 標註檢查:紅色為訓練框、青色為真值遮罩;這是標註,不是模型預測。
想釐清
使用已標註瑕疵,影像層級檢測會如何改變?
嘗試方法
將 PCB4 瑕疵遮罩轉成邊界框,訓練 YOLOv8s 與 YOLO11s;使用單一 defect 類別與保留瑕疵 fold 評估。
實際結果
觀察到的影像層級瑕疵檢出率:YOLOv8s 98%、YOLO11s 95%。此監督式設定下檢出率較高,但也發現亮度混淆、對未見瑕疵類型的泛化較弱,以及定位限制。
我的收穫
判定影像有瑕疵,不代表框能精準定位瑕疵。這是探索性研究,不能據此斷言哪種架構較優。

CNN 只用正常影像建模,YOLO 則使用瑕疵標註。兩者的資料集與實驗條件不同,無法直接拿來比較模型優劣。

我學到什麼

下次實作,我會記住這四件事。

資料品質與前處理很重要。

信任分數之前,先檢查方向、對位、電路板遮罩與影像條件。

別急著把模型做複雜,先找出問題根源。

誤報影像幫助我辨識背景干擾,也促成 ROI 計分的嘗試。

更好的指標,可能帶來意外代價。

PCB3 光照修正改善部分條件,卻引入模糊影像的失敗模式。

模型選擇取決於資料、標註與目標。

正常影像建模與監督式檢測回答不同問題,也需要不同證據。

探索程式與證據

精簡的展示,背後有完整技術紀錄。

來源庫保留真實程式、實驗流程、資料切分說明、分數紀錄、模型比較限制、稽核證據與 D5 時間線。