機器視覺技術及應用- 課件_第1頁
機器視覺技術及應用- 課件_第2頁
機器視覺技術及應用- 課件_第3頁
機器視覺技術及應用- 課件_第4頁
機器視覺技術及應用- 課件_第5頁
已閱讀5頁,還剩49頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、缺陷檢測的分類方法 瑕疵缺陷檢測 劃痕檢測 焊點檢測與分類方法 第6章 缺陷檢測技術主要內容第6章 缺陷檢測技術缺陷檢測在現代工業連續、大批量自動化生產中起著重要的作用,它涉及到各種各樣的工件檢查、測量和分類等應用,如檢測工件的表面是否有劃痕、印刷品形體是否有缺陷,IC字符印刷是否完整、電路板焊點是否完善、飲料瓶蓋的畫面是否完整等。6.1 缺陷檢測的分類方法產品缺陷的檢測方法可以分為三種:傳統的人工檢測方法,顯然這種方法的效率和精度都是比較低的,無法達到“零缺陷”的要求采用機械儀器裝置與產品接觸性的檢測方法,此類方法雖然能滿足產品檢驗需要,但存在檢測設備的制造代價高、靈活性差、速度慢等缺點基于

2、機器視覺的缺陷檢測方法,即利用圖像處理和分析來進行產品的缺陷檢測 6.1 缺陷檢測的分類方法 缺陷檢測系統的核心是缺陷檢測分類軟件,它對攝像機捕捉到的材料表面圖像進行分類整理,找到存在的缺陷,定位、識別和判斷,進而進行分級分類。6.1 缺陷檢測的分類方法 1)Naive Bayes(樸素貝葉斯)方法前提假設 :在給定樣本的情況下,樣本的屬性是相互獨立的。 假設 為一任意測試樣本,屬于 中的某一類 。根據NB分類法有: 6.1 缺陷檢測的分類方法 對 進行分類就是按照上式計算樣本類在給定情況下的概率,概率值最大的那個類就是 所在的類,也就是: 如果 對于給定分類樣本和測試樣本,用NB法分類的關鍵

3、就是計算 和 ,也就是建立分類模型。 根據 計算方式的不同,可以將NB法分為最大似然模型,多項式模型,泊松模型等。 6.1 缺陷檢測的分類方法 2)kNN方法 ( k-Nearest Neighbor)對于某一給定的測試樣本d,在訓練樣本集中,通過相似度找到與之最相似的k個訓練樣本,如果在這k個樣本中,有多個樣本屬于同一個類,則該類的分值為這些樣本與測試樣本之間的相似度之和。對這k個樣本所屬類的分值統計完畢后,即按分值進行排序,只有分值超過閾值的類才予以考慮。6.1 缺陷檢測的分類方法 形式化表示為: 其中, , 為閾值, 為 d 和 的相似度, 為測試樣本 d 屬于 類的分值。 6.1 缺陷

4、檢測的分類方法 3)支持向量機(SVM)方法支持向量機基于結構風險最小化原理,將原始數據集合壓縮到支持向量集合,學習得到分類決策函數。基本思想是構造一個超平面作為決策平面,使正負模式之間的空白最大。 6.2 瑕疵缺陷檢測從瑕疵缺陷圖像的特點開始,介紹圖像差分法、瑕疵缺陷圖像的特征提取與選擇、灰度形態學的瑕疵缺陷檢測等缺陷檢測的基本算法,以及這些算法在實際生產中的應用實例。6.2.1 瑕疵缺陷圖像特點檢測產品存在缺陷時,其圖像表現為缺陷處的灰度值與標準圖像在此處的灰度值有差異。將瑕疵缺陷圖像的灰度值同標準圖像的灰度值進行比較,判斷其差值(兩幅圖灰度值的相差程度)是否超出已預先設定的閾值范圍,就能

5、判斷出待檢測產品缺陷是否存在。 6.2.1 瑕疵缺陷圖像特點瑕疵缺陷檢測流程6.2.2 瑕疵缺陷檢測算法1. 缺陷圖像的差分算法 圖像差分法就是圖像的相減運算,實際上就是將同一景物在不同時間拍攝的圖像或同一景物在不同波段的圖像相減,差分后得到的結果圖像提供了圖像間的差異信息。圖像差分法能用于視頻監控、運動目標檢測和跟蹤、圖像背景消除以及目標識別等領域。 設模板圖像為T( i, j),待檢圖像為S( i, j),匹配相減后的圖 像(稱之為差分圖像)為D(i , j),則有:基于圖像差分法的缺陷檢測流程1)有效檢測區域的設定 2)圖像配準與剪裁 3)設定差分閾值 4)缺陷位置的判別 6.2.2 瑕

6、疵缺陷檢測算法2. 缺陷圖像的特征提取與選擇 特征提取 灰度值特征 灰度差特征 直方圖特征 變換系數特征 線條和角點的特征 灰度邊緣特征 紋理特征 6.2.2 瑕疵缺陷檢測算法(1)主成分分析(PCA)主成分分析方法應用線性代數中的KL變換將原始特征空間映射到一個低維的正交空間,設 為訓練樣本的n個p維特征向量,這時得到協方差矩陣: 它的前 個最大的特征值及其對應的特征向量分別為 和 。 e為新特征空間的基向量,維數為q。訓練集的 映射到新特征空間以后,得到q維特征向量集 ,實現了特征降維, , 。 特征選擇 6.2.2 瑕疵缺陷檢測算法對于給定的 矩陣X,其數據維數可以通過將其映射到一個低維

7、(r維,rn)的子空間而減少,這個映射由一組隨機向量確定: (2)隨機映射(RP) 對于任意 與整數n,設r為正整數,且使得: 6.2.2 瑕疵缺陷檢測算法則對于 中的n個點的集合W,存在一個映射 ,使得對所有的 :引理說明高維歐式空間可以映射到一個 維子空間,使得點間距離對于任意 能近似保留。而且,這個映射可以在多項式時間內找到。 (3)非負矩陣分解(NMF)非負矩陣分解方法將一個非負的矩陣 分解成左右兩個非負矩陣 和 的乘積,使得: 其中r通常比m和n都要小得多。這樣, 就可以看作是對V進行線性估計而優化了的基向量。用相對少的(r個)基表示許多(m個)觀測數據(rm)。如果這些基 能揭示出

8、隱藏在 中的數據結構,就可獲得對觀測數據 好的估計 。 6.2.2 瑕疵缺陷檢測算法6.2.2 瑕疵缺陷檢測算法 灰度形態學的缺陷檢測方法 數學形態學是非線性圖像處理中的一種重要方法,二值圖像和灰度圖像處理。和二值形態學一樣,灰度數學形態學的基本運算也有膨脹、腐蝕、開啟和閉合,其中利用膨脹和腐蝕的組合可構成開啟和閉合,而利用開啟和閉合又可構成形態濾波器。 在灰度圖像的形態分析中,結構元素可以是任何的三維結構,常用的有圓錐、圓柱、半球或拋物線。模板尺寸總是奇數,這樣模板中心正好對應一個像素。 6.2.2 瑕疵缺陷檢測算法膨脹灰度圖像的結果是,比背景亮的部分得到擴張,而比背景暗的部分受到收縮。 腐

9、蝕灰度圖像的結果是,比背景暗的部分得到擴張,而比背景亮的部分受到收縮。開啟一幅圖像可消除圖中的孤島或尖峰等過亮的點。閉合可將比背景暗且尺寸比結構元素小的結構除掉。 形態濾波器是非線性信號濾波器,它通過變換來局部地修改信號的幾何特征。將開啟和閉合結合起來可以消除噪聲。如果用一個小的結構元素先開啟再閉合一幅圖像,就有可能將圖像中小于結構元素的類似噪聲結構除去。6.2.3 應用實例飲料瓶蓋的缺陷檢測最終要實現生產流水作業上的高速質量判定,要求速度快,并且無須確定缺陷位置。采用基于灰度直方圖的特征提取方法,對兩幅待對比的RGB圖像(標準圖與檢測圖)灰度轉換后進行灰度直方圖統計,運用統計方法進行對比,得

10、到兩幅圖像的特征差異值,閾值法判定合格與否。在統計法對比過程中,利用灰度均值截斷的技巧放大可能由缺陷引起的灰度差異,提高了缺陷判定的準確度。6.2.3 應用實例TimerBegin(time_begin);/計時開始Readimage(bottle02.bmp,rgbimage_std);/讀取圖像ConvertDepth24to8(rgbimage_std,rgb2grayimage_std);/24位圖轉成8位灰度圖Readimage(bottle11.bmp,rgbimage_defect);ConvertDepth24to8(rgbimage_defect,rgb2grayimage_

11、defect);GraystatDefect(rgb2grayimage_std, rgb2grayimage_defect,10,result);showimage(rgbimage_defect);if(result=1);GenText(5,5,50,合格,black); endif();if(result=0);GenText(5,5,50, 不合格,black); endif();TimerEnd(time_begin,time_result);/計時結束XAVIS程序代碼如下:6.2.3 應用實例電路板布線缺陷檢測 對于一幅大小為1100870、灰度級為256的電路板灰度圖像,其布

12、線缺陷分為斷線和毛刺,利用灰度形態學檢測這些缺陷。取結構元素為55的半球模板,首先對原圖灰度開啟,消除比鄰域亮且尺寸比結構元素小的區域;然后對原圖灰度閉合,消除比鄰域暗且尺寸比結構元素小的區域,兩次結果差異即為缺陷。 6.2.3 應用實例XAVIS程序代碼如下:Readimage(pcb.bmp,image);/讀取圖像showimage(image);gray_erosion(image,5,image1);/灰度腐蝕gray_dilation(image1,5,image2); /灰度膨脹showimage(image2);gray_dilation(image,5,image3); /灰

13、度膨脹gray_erosion(image3,5,image4); /灰度腐蝕showimage(image4);dyn_threshold(image2,image4,75,image5,not_equal); /動態閾值showimage(image);show_result(image,3,green,image5);/結果輸出6.2.3 應用實例灰度膨脹:gray_dilation(Image, Size, ImageDilation);參數說明:Image:輸入灰度圖Size:半圓模板尺寸(1-211之間的奇數)ImageDilation:輸出膨脹結果圖灰度腐蝕:gray_erosi

14、on(Image, Size, ImageErosion);參數說明:Image:輸入灰度圖Size:半圓模板尺寸(1-211之間的奇數)ImageErosion:輸出腐蝕結果圖6.2.3 應用實例動態閾值函數功能:比較輸入的兩幅灰度圖的不同,輸出其比較結果調用格式:dyn_threshold(CDib Image,CDib ImageMean,int Offset,CDib ImageOutput,CString LightDark);參數說明:Image:輸入灰度圖1(假設其灰度值為g_o)ImageMean:輸入灰度圖2(假設其灰度值為g_t)Offset:偏移量ImageOutput:

15、輸出結果圖LightDark:比較模式選擇dark:滿足g_og_o) | (g_og_t+offset) 的輸出為白,否則為黑equal; 滿足(g_t-offset)=g_o) & (g_o=g_t+offset的輸出為白,否則為黑6.2.3 應用實例結果輸出函數功能:限制圖中為白的地方,在對應位置處的輸入圖中標示出來調用格式:show_result(CDib Image,int PenWidth,CString PenColor,CDib ImageResult);參數說明:Image:輸入灰度圖PenWidth:線寬(1-3)PenColor:顏色(6種:white,black,gra

16、y,red,blue,green)ImageResult:輸入限制圖6.3 劃痕檢測 劃痕檢測是工業生產中經常遇到的問題,工業中許多設備的零部件是在高溫、高壓的環境中工作的,所受載荷復雜,使用環境惡劣,故障頻率高,造成的后果非常嚴重,因此,對有關部件的缺陷、疲勞裂紋的產生、擴展進行檢測就尤為必要。劃痕檢測的基本分析過程分為兩步:首先,確定檢測產品表面是否有劃痕,其次,在確定被分析圖像上存在劃痕之后,對劃痕進行提取。6.3.1 劃痕圖像的特點由于在工業檢測中圖像的多樣性,對于每一種圖像,都要經過分析綜合考慮各種手段來進行處理達到效果。一般來說,劃痕部分的灰度值和周圍正常部分相比要暗,也就是劃痕部

17、分灰度值偏小;而且,大多都是在光滑表面,所以整幅圖的灰度變化總體來說非常均勻,缺乏紋理特征。因此,劃痕的檢測一般使用基于統計的灰度特征或者閾值分割的方法將劃痕部分標出。 6.3.1 劃痕圖像的特點劃痕的檢測一般使用基于統計的灰度特征或者閾值分割的方法將劃痕部分標出6.3.2 劃痕檢測算法 圖像中目標的標記 1)逐個點進行掃描。從左到右,如果該點的左上,正上和右上及左前方四個點的像素都不是目標,則把它們標為1 2)若鄰域X3,X5被分配了同一標號,或者只有其中之一 被分配標號,則把標號分配給X0 3)如果X3,X5分配了不同的標號,則把較小的標號分配給X04)利用等價表,把圖像中的標號替換成等價

18、標號中的最小標號像素點的編號順序,X0是被運算點6.3.2 劃痕檢測算法 劃痕特征提取與識別分類對于工業采集圖像劃痕提取的特征可分為兩類:灰度值特征和形狀特征。 分類:首先計算圖像的最低灰度值和灰度分布情況,然后分析圖像的灰度密度,如果圖像灰度偏低,并且靠近最低灰度值的點數目比較多,可以認為這屬于一幅缺陷很明顯的圖像,屬于第一類劃痕,用較低的閾值來標記。如果灰度分布很均勻,同時有幾個灰度偏低的點,而這些點的位置又比較集中,可以認為是第二類缺陷,如果點的數目比較多,則屬于第三類圖像。 6.3.2 劃痕檢測算法 for(i=1,8,1);CStringFormat(scratch%d.bmp,i,

19、image_path);/字符串初始化Readimage(image_path,image);showimage(image);sleep(2000);mean_image(image,7,image_mean);/均值濾波dyn_threshold(image,image_mean,5,image_dark,dark);/動態閾值select_area(image_dark,10,1000,image_area);/面積選擇dilation_circle(image_area,3,image_dilated);/圓模板膨脹showimage(image_dilated);sleep(3000

20、);endfor();XAVIS程序代碼如下:6.3.2 劃痕檢測算法 面積選擇函數功能:選擇滿足面積要求的目標輸出(針對黑色背景白色目標的二值圖)調用格式:select_area(CDib Image,int MinArea,int MaxArea,CDib ImageSeclected);參數說明:Image:輸入二值圖(黑色背景白色目標)MinArea:最小面積MaxArea:最大面積ImageOutput:輸出選擇后的結果圖6.3.2 劃痕檢測算法 圓模板膨脹函數功能:采用圓模板膨脹輸入圖調用格式:dilation_circle(CDib Image,int Size,CDib Ima

21、geDilation);參數說明:Image:輸入二值圖Size:圓模板大小(0-211之間的奇數)ImageDilation:膨脹后的輸出二值圖對于第一類劃痕,這種劃痕從外觀上較易辨認,同時灰度變化跟周圍區域對比也比較明顯。可以選擇較小的閾值H0,將缺陷部分直接標記。 第一類圖像缺陷標記(a)原圖 (b)標記出的劃痕(c)原圖 (d)標記出的劃痕(a)原圖 (b)標記的劃痕(c)原圖 (d)標記的劃痕第二類圖像缺陷標記對于第二類劃痕,部分灰度值變化并不明顯,整幅圖像灰度比較平均,劃痕面積也比較小,只有幾個像素點,灰度也只比周圍圖像稍低,很難分辨。可以對原圖像進行均值濾波,得到較平滑的圖像,并

22、與原圖像相減,當其差的絕對值大于閾值時就將其置為目標,并對所有的目標進行標記,計算其面積,將面積過小的目標去掉,剩下的就標記為劃痕。 對于第三類劃痕,各部分灰度差異較大,形狀通常呈長條形,如果在一幅圖像上采取固定閾值分割,則標記的缺陷部分會小于實際部分。由于這類圖像的劃痕狹長,單純依靠灰度檢測會將缺陷延伸部分漏掉。對于這類圖像,根據其特點選擇雙閾值和缺陷形狀特征相結合的方法,具體如下:1)選取一個較大的閾值H1將劃痕和背景分割開來2)根據分割出的缺陷來計算整幅圖像上劃痕的走向3)選取缺陷中處于兩端的部分,可通過利用方向模板來計算圖像上劃痕區域的邊緣,然后對邊緣追蹤到其端點處4)根據追蹤的軌跡得

23、到邊緣的走向5)沿著劃痕部分的角度作延伸,并將延伸部分灰度低于一定閾值H2的點也標記為待選劃痕6.3.3 應用實例 6.3.3 應用實例 7) 檢查連線上灰度較低的點是否大于一定數量N,若是則表面待選劃痕點可以被認為是在劃痕上,可被標記為劃痕6) 在待選劃痕點(x1, y1)和劃痕的端點(x2, y2)之間做連線 。 (a)原圖 (b)標記的劃痕第三類圖像缺陷標記6.4 焊點檢測與分類方法PCB焊點通常分為兩類:合格焊點(good)和不合格焊點(bad)。而不合格焊點又分為9類:橋接焊點(bridge)、焊料過量焊點(too-much)、焊料不足焊點(too-less)、無引腳焊點(no-le

24、ad)、空焊盤焊點(no-operation)、漏焊焊點(no-solder)、冷焊焊點(pull-off)、拉尖焊點(horn)、不濕潤焊點(no-wet)。 6.4.1 PCB焊點的分類焊點的俯視圖與側視圖 焊點類型焊點特征合格焊點呈圓錐狀;底部焊錫飽滿,上面焊錫緊裹引腳;在焊盤處,與旁邊的焊點有明顯的間隔(沒有連接)拉尖焊點在頂部或者底部有明顯的拉尖現象,部分焊錫不存在,球形拉尖比較多橋接橋接焊點是拉尖焊點的一種特殊情況,就是由于焊錫過多或者拉尖過大,焊點與旁邊的焊點有連接焊料過量焊點的形狀近似球狀,這是由于焊錫過多引起,和其他焊點沒有橋接焊料不足焊料不足是由于焊錫過少引起的,引腳或者焊

25、盤處焊錫太少,底部形狀跟合格焊點比起來比較癟甚至是平的,或者焊錫不能完全覆蓋引腳無引腳焊點沒有引腳,但是有焊錫空焊盤沒有任何操作的焊點,就是既沒有引腳又沒有焊錫漏焊焊點有引腳,焊盤處沒有焊錫,引腳有極少量或者沒有焊錫冷焊焊點焊錫形狀不對稱,焊錫偏向某一側,焊球上一般有孔洞,局部有拉尖現象不濕潤焊點的引腳處焊錫沒有完全包裹引腳或者與引腳分離,焊盤處焊錫沒有接觸焊盤或者沒有完全覆蓋焊盤焊點種類特征6.4.2 焊點檢測與分類算法 算法描述 對于一幅焊點圖像,首先要將目標焊點從背景中分離出來,然后提取特征,再分析每個特征的均值、標準方差、最大值和最小值,選擇特征,最后根據所選特征選擇分類器。 6.4.

26、2 焊點檢測與分類算法 焊點圖像處理 對焊點的圖像處理主要有色彩空間轉換、圖像濾波和圖像分割等步驟(a)原圖 (b)裁切圖 (c)中值濾波 (d)二值化 6.4.2 焊點檢測與分類算法 焊點特征提取與選擇 1)亮度歸一化和尺寸歸一化用三個變量表示一幅灰度圖像: k為(i , j)點的灰度值,f 為兩個變量的函數。 亮度歸一化也就是把一幅圖像所有像素點的灰度值除以 ,其中 , 。這樣歸一化后的圖像的灰度值分布在 內。 6.4.2 焊點檢測與分類算法 尺寸歸一化就是讓一幅圖像所有的像素值落在-0.5,+0.5 -0.5,+0.5之間。像素值大小取決于 和 ,調整公式: 2)灰度調整和中值濾波(1)

27、 灰度值特征(2) 高斯特征(4)對稱連接特征通過觀察焊點圖像,可以發現一些焊點的形狀比較對稱,比如good焊點、too-much焊點,而其他焊點的形狀則不對稱,比如pull-off焊點、bridge焊點、horn焊點,因此,焊點形狀的對稱性也可以作為焊點的一個特征。 (5)二值特征二值圖像非常直觀,處理速度也較快,但是丟失了灰度信息,所以,如果兩個焊點形狀相似但是亮度不同的話,就很難分開了。可以用二值圖像配合灰度圖像,提高分類的準確率和運算速度。 6.4.2 焊點檢測與分類算法 (3) 慣性特征綜上所述,一共提取27個特征, ,特征的順序可以隨意排列,沒有什么影響。 特征選擇檢驗一個特征的好

28、壞,首先計算每類焊點在這個特征上的均值、標準方差、最大值和最小值,然后畫矩形,其中矩形的高度為標準方差的倒數,矩形的寬度為最大值與最小值的差,矩形寬的中點x坐標為均值。理想特征的表現是矩形很高而且沒有交叉。 6.4.2 焊點檢測與分類算法 , , 焊點分類 6.4.2 焊點檢測與分類算法 SVM方法 對a求解下列函數的最大值 存在約束條件 分類函數 如何將10類焊點分開,要考慮每類焊點的特征,在這里,先把焊點分成三類,第一類為good焊點,第二類為no-operation,no-solder和no-lead,剩下的為第三類。因為第二類焊點要么沒有焊錫,要么沒有引腳,或者兩個都沒有,它們與其他兩類焊點在亮度上有明顯區別,因此首先將第二類分離出來,然后用閾值分割的辦法將第二類中的三種焊點分開。接下來,使用SVM將第一類和第三類焊點分開,最后用6個SVM將第三類中

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論