專利名稱:一種缺陷檢測方法及系統的制作方法
技術領域:
本發明屬于檢測領域,尤其涉及一種缺陷檢測方法及系統。
背景技術:
缺陷檢測是機器視覺應用的一個重要領域,缺陷檢測通常是指對物品表面缺陷的檢測,表面缺陷檢測是采用先進的機器視覺檢測技術,對工件表面的斑點、凹坑、劃痕、色差、缺損等缺陷進行檢測。模板匹配算法作為機器視覺領域的常用算法,在缺陷檢測中也得到廣泛應用。模板匹配算法的好壞會直接影響到檢測的結果。一般的模板匹配算法則是保存一幅模板,然后直接進行差值運算,得到缺陷圖像。但是,由于現場檢測環境的多樣性,很難找到一種模板匹配算法能適應大部分的要求。一般的模板匹配算法,易受燈光變化,人影竄動,機械手動作等造成的光照變化的影響,從而造成誤檢。以模具保護器應用為例,通過傳統的基于灰度的模板匹配算法進行缺陷檢測時,對待檢測模具進行圖像采集時,采集圖像與標準圖像的光線總會有所差異,圖1為僅通過灰度模板匹配算法得到的差值圖像,圖1明顯留下部分冗余圖像的邊緣信息,這樣,當所需的檢測精度較高時,這些邊緣信息較容易帶來誤檢。綜上,現有技術通過傳統的模板匹配算法進行缺陷檢測時,由于存在以下兩個不足,容易造成誤檢第一,易受光線明暗變化的干擾;第二,對于復雜的圖像容易產生噪點。
發明內容
本發明的目的在于提供一種缺陷檢測方法,旨在解決現有技術在進行缺陷檢測時,易受光線變化干擾、復雜圖像易造成誤檢的問題。本發明是這樣實現的,一種缺陷檢測方法,包括以下步驟對待檢測設備進行圖像采集,對采集的圖像進行預處理;將預存的灰度模板與預處理后的采集圖像進行差值運算,得到灰度模板差值圖像;對所述灰度模板差值圖像進行二值化處理,得到差值二值化圖像;將預存的二值模板與所述差值二值化圖像進行差值運算,得到二值模板差值圖像;對所述二值模板差值圖像進行輪廓查找,根據查找輪廓的結果對所述待檢測設備判定是否有缺陷。本發明的另一目的在于提供一種缺陷檢測系統,系統包括圖像采集和預處理單元,用于對待檢測設備進行圖像采集,對采集的圖像進行預處理;灰度模板差值圖像獲取單元,用于將預存的灰度模板與所述圖像采集和預處理單元預處理后的采集圖像進行差值運算,得到灰度模板差值圖像;差值二值化圖像獲取單元,用于對所述灰度模板差值圖像獲取單元獲取的灰度模板差值圖像進行二值化處理,得到差值二值化圖像;二值模板差值圖像獲取單元,用于將預存的二值模板與所述差值二值化圖像獲取單元獲取的差值二值化圖像進行差值運算,得到二值模板差值圖像;缺陷檢測單元,用于對所述二值模板差值圖像獲取單元獲取的二值模板差值圖進行輪廓查找,根據查找輪廓的結果對所述待檢測設備判定是否有缺陷。在本發明中,在本發明實施例中,對待檢測設備進行圖像采集并預處理,將預存的灰度模板與預處理后的采集圖像進行差值運算,得到灰度模板差值圖像;對灰度模板差值圖像進行二值化處理,得到差值二值化圖像;將預存的二值模板與差值二值化圖像進行差值運算,得到二值模板差值圖像;對二值模板差值圖進行輪廓查找,根據查找輪廓的結果對待檢測設備判定是否有缺陷。本發明能夠有效降低了光線變化帶來的圖像邊緣干擾,對于表面較為復雜的檢測設備具有更高的表面缺陷檢測精度,具有檢測速度快,誤檢率低的優點ο
圖1是現有技術提供的模具保護器缺陷檢測方法對應的差值圖像;圖2是本發明實施例提供的缺陷檢測方法的流程圖;圖3是本發明一個示例提供的基于FPGA缺陷檢測方法的流程圖;圖4是本發明實施例提供的缺陷檢測系統的結構圖。
具體實施例方式為了使本發明的目的、技術方案及有益效果更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。在本發明實施例中,對待檢測設備進行圖像采集并預處理,將預存的灰度模板與預處理后的采集圖像進行差值運算,得到灰度模板差值圖像;對灰度模板差值圖像進行二值化處理,得到差值二值化圖像;將預存的二值模板與差值二值化圖像進行差值運算,得到二值模板差值圖像;對二值模板差值圖進行輪廓查找,根據查找輪廓的結果對待檢測設備判定是否有缺陷。圖2示出了本發明實施例提供的缺陷檢測的處理流程。在步驟S201中,對待檢測設備進行圖像采集,對采集的圖像進行預處理;具體應用時,采集的圖像可以是灰度圖像,也可以是彩色圖像,如果是彩色圖像, 需要對彩色圖像進行灰度轉換,例如,當采集的圖像為RGB圖像時,對采集的圖像進行預處理具體包括灰度轉換處理和高斯濾波處理。其中,高斯濾波處理,是為了去除雜波干擾。在步驟S201之前,本發明缺陷檢測方法還包括對標準設備進行圖像采集,得到標準圖像;對標準圖像進行學習,得到灰度模板和二值模板并保存。其中,標準設備可視為無缺陷的設備,通常作為樣板設備,為待檢測設備提供生產標準。在步驟S202中,將預存的灰度模板與預處理后的采集圖像進行差值運算,得到灰度模板差值圖像。在步驟S203中,對灰度模板差值圖像進行二值化處理,得到差值二值化圖像。在本發明實施例中,對灰度模板差值圖像進行二值化處理的步驟具體為找出灰度模板差值圖像的直方圖的波峰;根據波峰計算出二值化閾值,然后對灰度模板差值圖像進行二值化。在步驟S204中,將預存的二值模板與差值二值化圖像進行差值運算,得到二值模板差值圖像。為了進一步消除圖像噪音的干擾,具體應用中,在步驟S204之前,缺陷檢測方法還包括對二值模板差值圖像進行膨脹腐蝕。在步驟S205中,對二值模板差值圖像進行輪廓查找,根據查找輪廓的結果對待檢測設備判定是否有缺陷。在本發明實施例中,步驟S205具體為當查找輪廓的結果為無輪廓時,則待檢測目標不存在缺陷;當查找輪廓的結果為有輪廓時,根據輪廓確定輪廓大小,當輪廓大小超過預設范圍時,輪廓對應的待檢測設備該區域存在缺陷。值得一提的是,灰度模板和二值模板的學習是本發明實施例能夠實現的基礎,在本發明實施例中,灰度模板學習的具體步驟為對標準圖像進行轉灰度和高斯濾波處理后,得到灰度模板圖像,然后保存在同步動態隨機存儲器(Synchronous Dynamic Random Access Memory, SDRAM)存儲器中。二值模板學習的具體步驟為在輸入標準圖像,保存好灰度模板后,再次采集標準圖像,經過轉灰度和高斯濾波處理后,與之前保存的灰度模板進行差值運算,得到灰度模板差值圖像,然后對灰度模板差值圖像進行二值化處理,得到差值二值圖像,最后將差值二值圖像保存為二值模板圖像,存入SDRAM存儲器中。本發明提出了一種基于二重模板匹配的缺陷檢測方法,在對標準圖像學習保存一幅灰度模板的同時,還學習保存了一幅基于灰度差值的二值模板,在光線明暗變化不大時, 每個像素的灰度值近似線性變換,第一重的灰度模板匹配能夠有效地減少光線明暗變化帶來的影響,但僅僅通過灰度模板差值運算,在圖像輪廓的邊緣部分,仍會有較大的誤差,通過第二重的二值模板的匹配處理有效消除第一重的灰度模板匹配對邊緣信息的處理不足, 減少圖像邊緣帶來的干擾,對于表面較為復雜的檢測設備,能有效降低誤檢率。圖3是本發明一個示例提供的基于現場可編程門陣列(Field Programmable Gate Array, FPGA)的缺陷檢測方法的流程圖;在步驟S301中,待檢測設備RGB圖像采集;在步驟S302中,灰度轉換;
在步驟S303中,高斯濾波在步驟S304中,從SDRAM中讀取灰度模板讀取;在步驟S305中,對步驟S303得到的灰度圖像和步驟S304得到灰度模板進行差值
運算;
在步驟S306中,自適應閾值二值化;在步驟S307中,從SDRAM中二值模板讀取;在步驟S308中,對步驟S306得到的二值圖像和步驟S307得到二值模板進行差值
運算;在步驟S309中,膨脹腐蝕;在步驟S310中,輪廓查找;在步驟S311中,缺陷判定,若找不到輪廓,則說明無缺陷,若有輪廓,判定缺陷區域大小,根據預設范圍確定是否為缺陷。在本示例中,在步驟S301之前,需要對標準圖像進行學習,得到灰度模板和二值模板并保存在SDRAM中,步驟S309后得到的圖像保存在靜態隨機存儲器(Static Random Access Memory, SRAM)中。具體地,步驟S302中將RGB圖像轉換為灰度圖像采用如下方式實現R,G,B和灰度(Gray)都采用8位二進制(范圍0 255)表示,RGB灰度轉換公式為Gray = R*0. 299+G*0. 587+Β*0· 114當通過FPGA完成運算時,整數處理更加方便,為避免浮點運算,方程兩邊同時乘以 1024Gray*1024 = (R*0. 299+G*0. 587+Β*0· 114)*1024= R*306+G*601+B*116將最終結果除以10M(即右移10位)得到灰度值Gray。具體地,步驟S303高斯濾波的實現方式如下用3*3高斯模板對輸入圖像進行卷積運算,對圖像進行平滑濾波處理。3*3 高斯模板可以是[1,2,1 ;2,4,2 ;1,2,1]像素點(i,j)的灰度值P(i,j)的高斯濾波公式如下,Suml = P(i_l,j_l)+2*P(i,j_l)+P(i+l,j-1);Sum2 = 2*P(i_l,j)+4*P(i,j)+2*P(i+l,j);Sum3 = P(i_l,j+l)+2*P(i,j+l)+P(i+l, j+1);P(i, j) = (Suml+Sum2+Sum3)/16具體地,步驟S305中的灰度差值的算法為
H-IW-I j=0 i=0其中,H、W分別是圖像的高和寬,Y為差值后的灰度圖像,P為當前輸入的灰度圖像,S為標準的模板灰度圖像具體地,步驟S306灰度差值圖像進行自適應閾值二值化的實現方法如下統計灰度差值圖像的直方圖;找到直方圖的波峰,然后計算出二值化閾值,根據該二值化閾值對差值灰度圖像
進行二值化。具體地,步驟S308的二值差值算法為由于二值圖像的值只有0和1兩種,兩幅二值圖像差值運算公式如下
M(i,j) = 0 ;當 P(i,j) = V(i, j);M(i, j) = 1 ;當 P(i,j) Φ V(i, j);其中,M為二值差值圖像,P為當前輸入的二值圖像,V為標準的二值模板圖像。步驟S309中膨脹腐蝕處理是為了簡化圖像數據,保持其基本形狀特性,并除去不相干的結構具體地,步驟S310中輪廓查找的實現方式如下采用8領域搜索查找的方法計算缺陷的輪廓的大小,如下圖,在像素點P(i,j)周圍按照下方的0、1、2、3、4、5、6、7順序進行輪廓搜索。本示例可以在Xilinx的XC3Sd3400a FPGA上實現并取得較好的效果,能大幅提高檢測結果對光線明暗變化的抗干擾能力,同時具有更高的表面缺陷檢測精度。另外,由于采用全流水線操作,大大提高了系統檢測的速度,比傳統軟件實現時所用的模板匹配要快很
^^ ο圖4示出了本發明實施例提供的缺陷檢測系統的結構圖。為了便于說明,僅示出了與本發明實施例相關的部分。該缺陷檢測系統可以用于計算機等終端設備,也可以用于 ARM,DSP或FPGA等芯片組成的終端設備。可以是運行于這些終端設備內的軟件單元,也可以作為獨立的掛件集成到這些終端設備中或者運行于這些終端設備的應用系統中。該缺陷檢測系統包括圖像采集和預處理單元41、灰度模板差值圖像獲取單元42、 差值二值化圖像獲取單元43、二值模板差值圖像獲取單元44和缺陷檢測單元45。其中圖像采集和預處理單元41,用于對待檢測設備進行圖像采集,對采集的圖像進行預處理;灰度模板差值圖像獲取單元42,用于將預存的灰度模板與圖像采集和預處理單元 41預處理后的采集圖像進行差值運算,得到灰度模板差值圖像;差值二值化圖像獲取單元43,用于對灰度模板差值圖像獲取單元42獲取的灰度模板差值圖像進行二值化處理,得到差值二值化圖像;二值模板差值圖像獲取單元44,用于將預存的二值模板與差值二值化圖像獲取單元43獲取的差值二值化圖像進行差值運算,得到二值模板差值圖像;缺陷檢測單元45,用于對二值模板差值圖像獲取單元44獲取的二值模板差值圖進行輪廓查找,根據查找輪廓的結果對待檢測設備判定是否有缺陷。在本發明實施例中,需要對標準圖像進行學習,保存兩個匹配模板,缺陷檢測系統還包括標準圖像學習單元,用于對標準設備進行圖像采集,得到標準圖像,對標準圖像進行學習,得到灰度模板和二值模板并保存。為了進一步消除二值模板差值圖像獲取單元44獲取的圖像噪音的干擾,缺陷檢測系統還包括膨脹腐蝕單元,用于對二值模板差值圖像獲取單元44獲取的二值模板差值圖像進行膨脹腐蝕。在本發明實施例中,當采集圖像為RGB圖像時,圖像采集和預處理單元41的預處理包括灰度轉換處理和高斯濾波處理。其具體實施方式
如上所述,具體不再贅述。以模具保護應用為例,該缺陷檢測系統可以作為模具保護器的一部分,當檢測到待檢測模具存在缺陷時進行報警。本發明實施例通過采用基于二重模板匹配的缺陷檢測方法降低了光線變化帶來的圖像邊緣干擾,提高檢測精度,特別對于表面較為復雜的檢測設備,能有效降低誤檢率, 具有較強的實用性。本領域普通技術人員可以理解實現上述實施例方法中的全部或部分步驟是可以通過程序來指令相關的硬件來完成,所述的程序可以存儲于一計算機可讀取存儲介質中, 所述的存儲介質,如ROM/RAM、磁盤、光盤等。另外也可以存儲于ARM,DSP和FPGA的程序存儲芯片flash中。以上所述僅為本發明的較佳實施例而已,并不用以限制本發明,凡在本發明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發明的保護范圍之內。
權利要求
1.一種缺陷檢測方法,其特征在于,所述方法包括以下步驟 對待檢測設備進行圖像采集,對采集的圖像進行預處理;將預存的灰度模板與預處理后的采集圖像進行差值運算,得到灰度模板差值圖像; 對所述灰度模板差值圖像進行二值化處理,得到差值二值化圖像; 將預存的二值模板與所述差值二值化圖像進行差值運算,得到二值模板差值圖像; 對所述二值模板差值圖進行輪廓查找,根據查找輪廓的結果對所述待檢測設備判定是否有缺陷。
2.如權利要求1所述的方法,其特征在于,所述將預存的灰度模板與預處理后的采集圖像進行差值運算步驟之前,所述方法還包括對標準設備進行圖像采集,得到標準圖像;對所述標準圖像進行學習,得到灰度模板和二值模板并保存。
3.如權利要求1所述的方法,其特征在于,所述根據查找輪廓的結果對所述待檢測目標判定是否有缺陷的步驟具體為當所述查找輪廓的結果為無輪廓時,則所述待檢測目標不存在缺陷; 當所述查找輪廓的結果為有輪廓時,根據輪廓確定輪廓大小,當所述輪廓大小超過預設范圍時,所述輪廓對應的待檢測設備該區域存在缺陷。
4.如權利要求1或2或3所述的方法,其特征在于,當所述采集圖像為RGB圖像時,所述預處理包括灰度轉換處理和高斯濾波處理。
5.如權利要求1或2或3所述的方法,其特征在于,所述對所述二值模板差值圖進行輪廓查找步驟之前,所述方法還包括對所述二值模板差值圖像進行膨脹腐蝕。
6.如權利要求1或2或3所述的方法,其特征在于,所述對所述灰度模板差值圖像進行二值化處理的步驟具體為找出所述灰度模板差值圖像的直方圖的波峰;根據所述波峰計算出二值化閾值,根據所述二值化閾值對所述灰度模板差值圖像進行二值化。
7.一種缺陷檢測系統,其特征在于,所述系統包括圖像采集和預處理單元,用于對待檢測設備進行圖像采集,對采集的圖像進行預處理;灰度模板差值圖像獲取單元,用于將預存的灰度模板與所述圖像采集和預處理單元預處理后的采集圖像進行差值運算,得到灰度模板差值圖像;差值二值化圖像獲取單元,用于對所述灰度模板差值圖像獲取單元獲取的灰度模板差值圖像進行二值化處理,得到差值二值化圖像;二值模板差值圖像獲取單元,用于將預存的二值模板與所述差值二值化圖像獲取單元獲取的差值二值化圖像進行差值運算,得到二值模板差值圖像;缺陷檢測單元,用于對所述二值模板差值圖像獲取單元獲取的二值模板差值圖進行輪廓查找,根據查找輪廓的結果對所述待檢測設備判定是否有缺陷。
8.如權利要求7所述的系統,其特征在于,所述系統還包括標準圖像學習單元,用于對標準設備進行圖像采集,得到標準圖像,對所述標準圖像進行學習,得到灰度模板和二值模板并保存。
9.如權利要求7所述的系統,其特征在于,所述系統還包括膨脹腐蝕單元,用于對所述二值模板差值圖像獲取單元獲取的二值模板差值圖像進行膨脹腐蝕。
10.如權利要求7或8或9所述的方法,其特征在于,當所述采集圖像為RGB圖像時,所述預處理包括灰度轉換處理和高斯濾波處理。
全文摘要
本發明適用于檢測領域,提供了一種缺陷檢測方法及系統,所述方法包括以下步驟對待檢測設備進行圖像采集,對采集的圖像進行預處理;將預存的灰度模板與預處理后的采集圖像進行差值運算,得到灰度模板差值圖像;對所述灰度模板差值圖像進行二值化處理,得到差值二值化圖像;將預存的二值模板與所述差值二值化圖像進行差值運算,得到二值模板差值圖像;對所述二值模板差值圖進行輪廓查找,根據查找輪廓的結果對所述待檢測設備判定是否有缺陷。本發明通過采用基于二重模板匹配的缺陷檢測方法降低了光線變化帶來的圖像邊緣干擾,特別對于表面較為復雜的檢測設備,能有效降低誤檢率,提高檢測精度,具有較強的實用性。
文檔編號G06T7/00GK102509300SQ20111036761
公開日2012年6月20日 申請日期2011年11月18日 優先權日2011年11月18日
發明者余加波, 廖家亮, 張俊, 李佐廣, 李耀華, 李運秀, 楊江華, 梁日雄 申請人:深圳市寶捷信科技有限公司