熱線電話:0755-23712116
郵箱:contact@shuangyi-tech.com
地址:深圳市寶安區(qū)沙井街道后亭茅洲山工業(yè)園工業(yè)大廈全至科技創(chuàng)新園科創(chuàng)大廈2層2A
目前基于機(jī)器視覺的缺陷檢測(cè)技術(shù)已經(jīng)大量應(yīng)用于紡織品、汽車零部件、半導(dǎo)體、光伏組件等產(chǎn)品的缺陷檢測(cè)中,大大提升了制造業(yè)的質(zhì)檢效率。
但是,缺陷檢測(cè)在視覺需求中難度較大,不同于二維碼識(shí)別和OCR等算法容易去做成標(biāo)準(zhǔn)化的工具,穩(wěn)定性和精度需要依據(jù)具體的行業(yè)和具體的設(shè)備進(jìn)行量化。凹凸、污點(diǎn)、瑕疵、劃痕、裂縫等都是比較常見的缺陷,如圖1所示。
▲圖1污漬、劃痕圖
目前,基于成本和算法穩(wěn)定性的考慮,機(jī)器視覺也依舊擁有廣泛的用處。筆者在近期的實(shí)際應(yīng)用中總結(jié)了幾種比較常用的缺陷檢測(cè)方法,下面對(duì)此進(jìn)行詳細(xì)介紹。
01預(yù)處理
這一部分的操作可選性較多,主要有圖像增強(qiáng)、平滑濾波、銳化等。
1.1圖像增強(qiáng)
圖像增強(qiáng)主要是為了改善圖像質(zhì)量以及增強(qiáng)感興趣部分,使圖像變得更利于計(jì)算機(jī)處理,例如圖2,曝光不足的圖像需要增強(qiáng)處理。
▲圖2圖像增強(qiáng)處理前和后對(duì)比圖
常用算法是scale_image()和emphize()。
scale_image()的作用是增強(qiáng)圖像的色彩對(duì)比度,讓圖像中黑的地方更黑,亮的地方更亮,其原理計(jì)算公式為:
其中表示為灰度范圍。
emphasize()的作用是增強(qiáng)圖像的高頻區(qū)域(邊緣和拐角),使圖像看起來(lái)更清晰。原理是使用平均圖像進(jìn)行濾波,根據(jù)獲得的灰度值(平均值)和原始灰度值計(jì)算得到灰度值,計(jì)算公式為:
其中,是對(duì)比度因子,
則是對(duì)溢出灰度進(jìn)行裁剪。
1.2圖像銳化
圖像銳化是為了補(bǔ)償圖像的輪廓,增強(qiáng)圖像的邊緣及灰度跳變的部分,使得圖像變得更加清晰。
常用算子是shock_filter(),原理是基于圖像的灰度值進(jìn)行膨脹和侵蝕從兩側(cè)向邊緣傳輸,并滿足微分方程:
其中,圖像的灰度值,因此,離散化的方程在長(zhǎng)度為Theta的迭代時(shí)間步長(zhǎng)中求解,因此輸出圖像包含迭代Theta時(shí)的灰度值函數(shù)。
1.3圖像平滑
圖像平滑主要是為了減小噪聲,改善圖像質(zhì)量,有時(shí)還可以模糊圖像,方便目標(biāo)內(nèi)的小間斷進(jìn)行連接。這一部分大家都比較熟悉,常用的是以下三種方法:
· 均值濾波是對(duì)輸入圖像的灰度值進(jìn)行線性平滑,原理是將像素灰度值與其鄰域內(nèi)的像素灰度值相加取平均值;
· 中值濾波適合于去除一些孤立的點(diǎn),保留邊緣信息,原理是以像素為中心,取一個(gè)指定形狀的鄰域作為濾波器,然后將區(qū)域內(nèi)的灰度值排序,取排序的中值替換像素中心;
· 高斯濾波是適合于去除高斯噪聲,原理是利用一個(gè)二維離散的高斯函數(shù)進(jìn)行計(jì)算。
值得注意的是:應(yīng)該生成合適的濾波器,并注意頻域和空間域的轉(zhuǎn)換。
02Blob分析+特征
Blob分析是對(duì)圖像中相同像素的連通域進(jìn)行分析,該連通域稱為Blob。因此,能夠通過對(duì)前景、背景分離后的二值圖像,進(jìn)行連通域提取和標(biāo)記。標(biāo)記完成的每一個(gè)Blob都代表一個(gè)前景目標(biāo),然后就可以計(jì)算Blob的一些相關(guān)特征,從而定位到準(zhǔn)確的區(qū)域。相對(duì)于單純的角點(diǎn),它的穩(wěn)定性要更好,抗噪聲能力也更強(qiáng)。
其步驟為:
特征篩選是根據(jù)計(jì)算出的Blob區(qū)域進(jìn)行計(jì)算,然后根據(jù)選擇的特征,比如Area(面積)、Width(寬)、Circularity(圓度)、inner_radius(內(nèi)接半徑)、anisometry(長(zhǎng)寬比)等等,最終得出需要的區(qū)域,如圖3所示,根據(jù)面積和圓度來(lái)篩選得出。
▲圖3-1Blob分析+特征的原圖
▲圖3-2Blob分析=特征的結(jié)果圖
03模板匹配+差分
▲圖4模板匹配+差分的檢測(cè)結(jié)果
04頻域+空間域
首先介紹一下頻域和空間域,空間域是指自變量是圖像中的像素點(diǎn)位置,而值域是針對(duì)這個(gè)位置所標(biāo)記的像素值進(jìn)行一些操作和變換,類似于是像數(shù)坐標(biāo),
表示是一種映射關(guān)系,最終得出一個(gè)輸出結(jié)果。而頻域的自變量是頻率,因變量是該頻率信號(hào)的幅度,通??臻g域經(jīng)過傅里葉變換后得到的是圖像頻譜。
在數(shù)字圖像處理中,我們知道光在計(jì)算機(jī)內(nèi)部進(jìn)行采樣和量化,可用函數(shù)來(lái)表示這些數(shù)據(jù)。根據(jù)傅里葉變換將一個(gè)信號(hào)函數(shù)分解成多個(gè)三角函數(shù)的線性組合的思想,圖像是由多個(gè)正弦函數(shù)構(gòu)成,每個(gè)正弦函數(shù)都有一個(gè)自己的頻率。低頻特征的灰度變化不明顯,例如圖像整體輪廓,中頻特征的灰度變化居中,代表圖像邊緣、紋理等細(xì)節(jié),高頻特征的圖像灰度變化劇烈,如圖像邊緣和噪聲。
因此,頻域+空間域形式組合的缺陷檢測(cè)常常用于微小的瑕疵檢測(cè),主要有兩種:
那么,先進(jìn)行頻域部分的處理方法如下:
之后,空間域的處理分為三部分:
05幾何測(cè)量
幾何測(cè)量也是一種常見的工業(yè)應(yīng)用,基本思想是利用工件圖像中的參考物體來(lái)建立尺度關(guān)系,然后根據(jù)已知的尺度關(guān)系計(jì)算工件的實(shí)際尺寸,等式關(guān)系為:物體實(shí)際寬度/照片中物體的寬度=參考物實(shí)際寬度/照片中參考物的寬度,主要步驟是:
利用以上幾種或一種方法就能夠得到對(duì)缺陷的處理結(jié)果,里面的一些參數(shù)需要不斷去調(diào)試,從而找到最優(yōu)的參數(shù)。但是,集合到項(xiàng)目平臺(tái)時(shí),算法的一些判定參數(shù)應(yīng)該開放出來(lái),以便使用者挑選,從而判斷該圖到底是NG還是OK。最后,優(yōu)秀的算法功能應(yīng)該能夠做好足夠防護(hù)措施,避免程序閃退。