一、介紹
缺陷檢測是工業(yè)視覺技術(shù)中最重要的組成部分。業(yè)務(wù)廣泛,場景豐富,技術(shù)難點高、工作量大。針對不同的場景,選擇不同的相機和識別方法。
一般情況下,工業(yè)視覺相機分為面陣和線陣,大部分有點要求的場景對應(yīng)需要的相機都比較貴,相機還要配套光源、鏡頭組成一套成像系統(tǒng)。算法的研發(fā)費用也是比較貴的,一種產(chǎn)品缺陷的研發(fā)周期至少也是一個月以上,往往需要一個小團隊共同開發(fā)。很多場景的缺陷至今是無法解決或者無法實用的。這就造成了有的場景利潤低,用人工比用機器更省錢,有的場景利潤高,可惜沒人能作出實用的系統(tǒng)。
如上圖所示,通過線陣相機環(huán)繞一周掃描得到的圖像。清晰度比較高,但設(shè)備價格相對偏高。
2、缺陷分類
對于缺陷的類別,國標中的定義,分很多種情況,針對不同的廠家需求有不同的要求。比如印:可分為壓印,劃痕,坑類別。這里主要分為三類,印,電鍍不良及臟污。如下圖所示:
本方法采用深度學習分類技術(shù),對于樣本的標注采取mask的方式,mask灰度值不同用來指示類別。如下圖所示:
(1)將掃描圖片根據(jù)金屬件寬度縮放到指定大小,并進行微弱的隨機放大縮小;
(2)設(shè)定窗口大小如15x15,以滑動窗口的形式,掃描金屬件,得到樣本,其中正樣本為缺陷面積占窗口大于20%,類別為面積最大的類型(考慮到有交際的情況),負樣本為缺陷面積占窗口小于1%,其他情況舍棄(保留中間地帶進行界限區(qū)分);
(3)采用簡單的卷積網(wǎng)絡(luò)作為分類器訓(xùn)練,多個分類器形成級聯(lián)分類器;
5、預(yù)測過程
預(yù)測過程如下:
(1)對輸入圖像,根據(jù)金屬件寬度縮放到指定大小;
(2)滑動窗口對缺陷的每一塊進行分類;
(3)用生長算法將小的缺陷框合成一個大的框輸出
三、核心思維
算法設(shè)計比較簡單,有幾個點非常重要卻也容易忽略掉的:
1、樣本的標注要盡可能細致,要考慮到金屬件的尺度和窗口的大小,十分影響缺陷的定義;
2、參與訓(xùn)練的樣本,正負分明,拋棄一定的中間樣本,這些樣本往往是缺陷的邊界,及細小的不需要檢測的缺陷;
3、缺陷的形狀千奇百怪,沒有固定的外形模式,通用的目標檢測容易出錯,代價比較高;
4、樣本增強無需考慮太多,成像情況通常比較穩(wěn)定;
5、采用級聯(lián)分類的方式將極大的提升速度,總的效果相對于單一分類器無差別;
6、采用分割方式(點像素分類)所需樣本多,沒有樣本間隔的機制,達到同樣的效果,時間復(fù)雜度顯著比較高。
四、結(jié)果
左邊為未對缺陷框生長的效果,右邊為生長結(jié)果。
缺陷檢測是工業(yè)視覺技術(shù)中最重要的組成部分。業(yè)務(wù)廣泛,場景豐富,技術(shù)難點高、工作量大。針對不同的場景,選擇不同的相機和識別方法。
一般情況下,工業(yè)視覺相機分為面陣和線陣,大部分有點要求的場景對應(yīng)需要的相機都比較貴,相機還要配套光源、鏡頭組成一套成像系統(tǒng)。算法的研發(fā)費用也是比較貴的,一種產(chǎn)品缺陷的研發(fā)周期至少也是一個月以上,往往需要一個小團隊共同開發(fā)。很多場景的缺陷至今是無法解決或者無法實用的。這就造成了有的場景利潤低,用人工比用機器更省錢,有的場景利潤高,可惜沒人能作出實用的系統(tǒng)。
二、方法
不同的缺陷適用不同的算法,介紹的算法僅適用于光滑表面缺陷檢測,其他方向檢測不適用。1、物體及成像——如下圖所示:
對物體具體行業(yè)不是很明確,我們稱之為金屬件,大概是用在特殊領(lǐng)域。成像效果如下:
如上圖所示,通過線陣相機環(huán)繞一周掃描得到的圖像。清晰度比較高,但設(shè)備價格相對偏高。
2、缺陷分類
對于缺陷的類別,國標中的定義,分很多種情況,針對不同的廠家需求有不同的要求。比如印:可分為壓印,劃痕,坑類別。這里主要分為三類,印,電鍍不良及臟污。如下圖所示:
綠框標注的是臟污,紅框標注的是電鍍不良,藍框標注印。
本方法采用深度學習分類技術(shù),對于樣本的標注采取mask的方式,mask灰度值不同用來指示類別。如下圖所示:
(1)將掃描圖片根據(jù)金屬件寬度縮放到指定大小,并進行微弱的隨機放大縮小;
(2)設(shè)定窗口大小如15x15,以滑動窗口的形式,掃描金屬件,得到樣本,其中正樣本為缺陷面積占窗口大于20%,類別為面積最大的類型(考慮到有交際的情況),負樣本為缺陷面積占窗口小于1%,其他情況舍棄(保留中間地帶進行界限區(qū)分);
(3)采用簡單的卷積網(wǎng)絡(luò)作為分類器訓(xùn)練,多個分類器形成級聯(lián)分類器;
5、預(yù)測過程
預(yù)測過程如下:
(1)對輸入圖像,根據(jù)金屬件寬度縮放到指定大小;
(2)滑動窗口對缺陷的每一塊進行分類;
(3)用生長算法將小的缺陷框合成一個大的框輸出
三、核心思維
算法設(shè)計比較簡單,有幾個點非常重要卻也容易忽略掉的:
1、樣本的標注要盡可能細致,要考慮到金屬件的尺度和窗口的大小,十分影響缺陷的定義;
2、參與訓(xùn)練的樣本,正負分明,拋棄一定的中間樣本,這些樣本往往是缺陷的邊界,及細小的不需要檢測的缺陷;
3、缺陷的形狀千奇百怪,沒有固定的外形模式,通用的目標檢測容易出錯,代價比較高;
4、樣本增強無需考慮太多,成像情況通常比較穩(wěn)定;
5、采用級聯(lián)分類的方式將極大的提升速度,總的效果相對于單一分類器無差別;
6、采用分割方式(點像素分類)所需樣本多,沒有樣本間隔的機制,達到同樣的效果,時間復(fù)雜度顯著比較高。
四、結(jié)果
總計標注200余張樣本,覆蓋各種類型的缺陷。在2000余張不參與訓(xùn)練的樣本測試,明顯缺陷檢出率100%,誤檢率0.1%(大多比較小)。效果如下:
左邊為未對缺陷框生長的效果,右邊為生長結(jié)果。