机器视觉缺陷检测算法经验及思路
當前位置:博猫 > 技術分享 > 博猫平台登录:机器视觉缺陷檢測算法經驗及思路

博猫

博猫平台登录:机器视觉 2021-04-26 9185 0


在缺陷檢測這個行業摸爬打滾多年,有了一些經驗,也有了很多的疑惑。淺談一下自己對缺陷檢測的理解。

缺陷檢測算法不同于尺寸、二維碼、OCR等算法。後者應用場景比較單一,基本都是套用一些成熟的算子,所以門檻較低,比較容易做成标準化的工具。而缺陷檢測極具行業特點,不同行業的缺陷算法迥然不同。随着缺陷檢測要求的提高,機器學習和深度學習也成了缺陷領域一個不可或缺的技術難點,接下來我會對标準缺陷檢測算法、以及半導體行業的非标算法做一個簡單分析:

注:提供的是一些算法思路,無實際的算法代碼


擴展閱讀:如何應對自動化浪潮?


1.标準缺陷檢測:

所謂标準,就是不針對行業特點,這裡基本分為如下幾類:

标準預處理功能:圖像增強、腐蝕、膨脹、開運算、閉運算、濾波、傅立葉變換、距離變換、差分等,《博猫平台登录:机器视觉軟件開發完整過程記錄——第四段》中有詳細說明,不累述面積檢測:阈值後計算ROI内面積,《博猫平台登录:机器视觉軟件開發完整過程記錄——第四段》中有詳細說明,不累述Blob檢測:阈值聯通後計算Blob,《博猫平台登录:机器视觉軟件開發完整過程記錄——第四段》中有詳細說明,不累述濃度差檢測:計算ROI範圍内的最大濃度、最小濃度、濃度差直線/曲線上的毛刺/缺陷:拟合直線/曲線,計算邊緣點到直線/曲線距離标準的做法一般都是拿标準的算法塊進行組合,以達到缺陷檢測的效果,例如以下流程就是一個缺陷檢測标準流程:

1設置基準圖模闆——>2當前圖模闆定位——>3生成仿射變換矩陣——>4旋轉平移圖像或者區域——>5預處理差分——>6預處理濾波/腐蝕/膨脹——>7Blob檢測——>8面積檢測2.非标缺陷檢測(針對行業特性)

相對與标準做法,非标的做法就非常多,有些非标的目的是為了減少操作步驟,例如将上面的組合流程變成一個工具,這個我們稱之為業務邏輯非标。還有一些非标主要是做圖像預處理部分,例如修改一些标準預處理的算子和預處理流程,将瑕疵提取出來。當然,對數學理論掌握程度較高的朋友,會推導理論公式,然後直接實現數學公式達到檢測效果。


擴展閱讀:博猫平台登录:机器视觉和機器人動力學應該選哪個方向?


個人認為缺陷檢測的難點:

  1. 傳統算法檢測缺陷:調試難度大,容易在檢測不穩定情況下反複調參,且複雜缺陷誤測多,兼容性差

  2. 機器學習檢測缺陷:一般使用類似MLP的一些單層神經網絡,對缺陷特征進行訓練分類,該方法需要事先提取出缺陷部分,一般用來與傳統分割法搭配使用,達到缺陷檢測分類的效果。

  3. 深度學習檢測缺陷(打标簽):一般需要客戶提供大量的缺陷樣本,而且缺陷種類越多、特征越不明顯,需要的缺陷樣本就越大。其次,打标簽過程很難做到自動,需要手動輔助框出缺陷位置,工作量非常大。總結就是訓練周期久,訓練樣本大,如果客戶可以提供大量樣本,那該方法是首選(半導體行業一般不會出現大量缺陷樣品)

  4. 深度學習檢測缺陷(遷移學習法):該方法我感覺會成為後面工業領域檢測瑕疵的一個大趨勢,但是需要一些公司去收集各種行業的缺陷類型圖片和訓練的網絡模型,并共享出來(突然感覺是個商機,就看誰能抓住了),然後我們可以使用遷移學習的方法學習别人訓練好的模型。

工業缺陷檢測接下來該如何推進,永遠是一大難題,也是一片藍海



取消回複發表評論:


立即定制視覺方案