作者:cshyxxxl
需求:利用傳統算法檢測iPhone手機背殼是否瑕疵并給出瑕疵率
工具:攝像頭/iPhone 6s/偏振鏡等
傳統算法方向的選擇
最近做圖像處理與識別相關的事情,先從OpenCV/Matlab入手,看傳統算法在瑕疵檢測方向能做到什么程度。
因之前并沒有相關的經驗,乍開始生怕閉門造車,遂多方搜尋,相關的會議與論述很多,不乏深度學習或者深度學習與傳統算法相結合的,以有限的資源來看,深度學習并沒有特別大的優勢:表現在
1. 深度學習對訓練圖庫的要求很高,很難得到很好的訓練結果 2. 深度學習的靈活度較低,若適用場景有些許改變,均需要重新訓練,這在商用時會是很大的問題 3. 深度學習的部署成本較高,同時對部署場景有較高要求(光線/攝像效果等) 當然,深度學習大勢所趨,也不必因噎廢食,萬一是一時的淺見呢。后續也會投身到這個方向去。
瑕疵檢測關注的兩個問題
瑕疵的標注
對瑕疵的標注是為了更直觀的展示,主要是給人看的
瑕疵的量化
真正機器關心的是怎么量化,是用數量表示還是百分比是個值得考慮的問題
歷程
1.圖像去噪->灰度化->二值化
二值化之后就可以看到絕大部分的瑕疵點已經凸顯出來了,但是有三個問題:
1.黑點瑕疵與白點瑕疵是二值化的兩個極端,故無法同時出現。 2. 量化如何去除Logo與其他印刷的干擾 問題1后續用邊緣檢測替代 問題2采用像素點計數的方法,計算百分比,然后與無瑕疵的百分比作比較,準確度不高,也顯得low low的。
2.圖像去噪->灰度化->canny->形態學(閉運算)->連通域
邊緣檢測后進行閉運算,瑕疵會形成大大小小的連通域,可以統計連通域的個數,然后與無瑕疵logo與其他印刷形成的連通域個數作比較,這種情況幾乎不會漏掉。這是感覺可行的選擇之一。
3.OpenCV matchTemplate
實驗室條件下,可以營造比較理想的條件,所以考慮了OpenCV的模板匹配,同時也測試了模板匹配在不理想情況下的表現。 結果證明因為手機瑕疵檢測的需求目標較低,模板匹配是比較能夠勝任的一個辦法。只要模板與識別目標的拍攝角度差別不是太大,都可以很好的識別瑕疵。圖片的輕微縮放大多也可以應付。
其他處理
前面都是軟件方面處理的流程,在如何獲得更加理想的圖片方面也做了一些嘗試:
采用各種不同顏色的光源,如藍光/紅光,區別不大
對圖片進行白平衡調整,有改善
攝像頭加偏振鏡防止圖像反光,有改善但不明顯
圖片浮雕處理,肉眼看上去瑕疵顯著了,但對機器而言并沒有區別,故沒有采納
編輯:黃飛
-
圖像處理
+關注
關注
27文章
1289瀏覽量
56723 -
OpenCV
+關注
關注
31文章
634瀏覽量
41338 -
深度學習
+關注
關注
73文章
5500瀏覽量
121113
原文標題:關于利用傳統圖像處理方法進行瑕疵檢測的總結
文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論