本發(fā)明屬于工業(yè)產(chǎn)品表面瑕疵檢測方法技術(shù)領(lǐng)域,特別是一種計(jì)算量小、實(shí)時(shí)性好的近矩形平面狀工業(yè)產(chǎn)品表面瑕疵檢測方法。
背景技術(shù):
流水線生產(chǎn)過程中有可能在產(chǎn)品外殼上形成劃痕、擦傷等表面瑕疵,表面完好度檢測是很多工業(yè)產(chǎn)品出廠合格檢測的必檢項(xiàng)目之一。
表面瑕疵檢測傳統(tǒng)上主要依靠人工目測檢查的方式。長時(shí)間從事這種單調(diào)的外觀瑕疵檢測極易引起質(zhì)檢員視覺疲勞,從而影響檢測效率和正確率。工業(yè)生產(chǎn)線光照條件穩(wěn)定,單一流水線產(chǎn)品類型固定,比較適合采用機(jī)器視覺的方式在線自動檢測產(chǎn)品表面瑕疵?;跈C(jī)器視覺的工業(yè)品外觀瑕疵檢測方案在紡織、通信等行業(yè)都有應(yīng)用案例,已有應(yīng)用案例大都在空間域進(jìn)行數(shù)字圖像處理,通過與預(yù)存的標(biāo)準(zhǔn)產(chǎn)品外觀模板對比評估待檢產(chǎn)品表面是否存在瑕疵。為了發(fā)現(xiàn)一些較為細(xì)小的劃痕、污點(diǎn)等瑕疵,用于表面瑕疵檢測的機(jī)器視覺系統(tǒng)一般選擇分辨率較高的工業(yè)相機(jī)采集數(shù)字圖像。
目前大部分檢測系統(tǒng)采用空間域處理的方式比對待檢產(chǎn)品和標(biāo)準(zhǔn)圖像,在圖像分辨率較高的情況下,計(jì)算量較大,實(shí)時(shí)性差。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種近矩形平面狀工業(yè)產(chǎn)品表面瑕疵檢測方法,計(jì)算量小、實(shí)時(shí)性好。
實(shí)現(xiàn)本發(fā)明目的的技術(shù)解決方案為:
一種近矩形平面狀工業(yè)產(chǎn)品表面瑕疵檢測方法,包括以下步驟:
(10)模板圖像生成:在流水線正常照明狀態(tài)下采集表面完好的標(biāo)準(zhǔn)產(chǎn)品的外觀灰度圖像,檢測該圖像邊緣,獲取產(chǎn)品外輪廓線,依據(jù)外輪廓線裁剪出標(biāo)準(zhǔn)產(chǎn)品外觀模板圖像;
(20)待檢測產(chǎn)品圖像生成:采集待檢測產(chǎn)品外觀灰度圖像,尋找產(chǎn)品外輪廓矩形,裁剪出待檢測產(chǎn)品區(qū)域,調(diào)整分辨率,得到待檢測產(chǎn)品圖像,將模板圖像與待檢測產(chǎn)品圖像拼接形成一張整體圖像;
(30)疑似瑕疵區(qū)域檢測:將整體圖像進(jìn)行二維離散傅里葉變換和傅里葉反變換,在經(jīng)反變換后的圖像中剪裁出拼接時(shí)的待檢測產(chǎn)品圖像對應(yīng)區(qū)塊,將其二值化得到疑似瑕疵區(qū)域;
(40)瑕疵區(qū)域檢測:將疑似瑕疵區(qū)域與模板圖像中相同位置附近區(qū)域進(jìn)行對比,如最小差異超出閾值范圍,則確定該處存在表面瑕疵。
本發(fā)明與現(xiàn)有技術(shù)相比,其顯著優(yōu)點(diǎn)為:
1、計(jì)算量?。罕景l(fā)明首先通過高效的頻域分析檢測疑似瑕疵區(qū)域,然后僅針對這些疑似瑕疵區(qū)域?qū)嵤┯?jì)算量較大的瑕疵區(qū)域精細(xì)比較過程。由于一張待檢測產(chǎn)品圖像中疑似瑕疵區(qū)域數(shù)量較少,因此與常用的逐像素對比方法相比明顯減小了計(jì)算量。
2、實(shí)時(shí)性好:本發(fā)明使用的圖像快速傅里葉變換有很高的計(jì)算效率,同時(shí)得益于提取的疑似瑕疵區(qū)域待對比數(shù)據(jù)量較小,因此比常見的基于空間域分析的方法效率更高。
下面結(jié)合附圖和具體實(shí)施方式對本發(fā)明作進(jìn)一步的詳細(xì)描述。
附圖說明
圖1為本發(fā)明近矩形平面狀工業(yè)產(chǎn)品表面瑕疵檢測方法的主流程圖。
圖2為圖1中模板圖像生成步驟的流程圖。
圖3為模板圖像生成結(jié)果示例圖。
其中,圖3a為標(biāo)準(zhǔn)產(chǎn)品灰度圖像,圖3b為邊緣檢測與外輪廓矩形檢測結(jié)果,圖3c為裁剪得到的產(chǎn)品模板圖像。
圖4為圖1中待檢測產(chǎn)品圖像生成步驟的流程圖。
圖5為待檢測產(chǎn)品圖像生成結(jié)果示例圖。
其中,圖5a為待檢測產(chǎn)品灰度圖像,圖5b為邊緣檢測與外輪廓矩形檢測結(jié)果,圖5c為裁剪得到的待檢測產(chǎn)品圖像。
圖6為圖1中疑似瑕疵區(qū)域檢測步驟的流程圖。
圖7為模板圖像與待檢測產(chǎn)品圖像拼接結(jié)果示例圖。
圖8為圖1中瑕疵區(qū)域檢測步驟的流程圖。
圖9為待檢測產(chǎn)品外觀瑕疵檢測結(jié)果示例圖。
其中,圖9a為疑似瑕疵區(qū)域,圖9b為確定瑕疵區(qū)域,圖9c為瑕疵檢測結(jié)果。
具體實(shí)施方式
如圖1所示,本發(fā)明近矩形平面狀工業(yè)產(chǎn)品表面瑕疵檢測方法,包括以下步驟:
(10)模板圖像生成:在流水線正常照明狀態(tài)下采集表面完好的標(biāo)準(zhǔn)產(chǎn)品的外觀灰度圖像,檢測該圖像邊緣,獲取產(chǎn)品外輪廓線,依據(jù)外輪廓線裁剪出標(biāo)準(zhǔn)產(chǎn)品外觀模板圖像;
如圖2所示,所述(10)模板圖像生成步驟包括:
(11)邊緣圖像獲取:在流水線正常照明狀態(tài)下,采集表面完好的標(biāo)準(zhǔn)產(chǎn)品的外觀灰度圖像itemp-o,測量外觀灰度圖像中產(chǎn)品外輪廓矩形的寬度、高度,使用標(biāo)準(zhǔn)canny邊緣檢測算子檢測外觀灰度圖像itemp-o邊緣,得到二值化邊緣圖像itemp-edge;
(12)外輪廓線獲?。涸诙祷吘増D像itemp-edge中使用標(biāo)準(zhǔn)hough變換方法檢測直線,在檢測得到的直線簇中選擇長度與產(chǎn)品外輪廓矩形長和寬差異不超過δl的直線段作為疑似外輪廓線,先選擇二值化邊緣圖像itemp-edge中位于最左惻和最上惻的疑似外輪廓線作為實(shí)際輪廓線,然后以步驟1-1中測量的產(chǎn)品外輪廓矩形在itemp-o中的寬和高作為先驗(yàn)知識,選擇與左側(cè)和上側(cè)輪廓線平行且與其距離最接近產(chǎn)品寬和高的直線段作為右側(cè)和下側(cè)輪廓線;
(13)外觀模板圖像獲取:用標(biāo)準(zhǔn)圖像旋轉(zhuǎn)方法旋轉(zhuǎn)四條輪廓線圍成的區(qū)域,使上側(cè)輪廓線旋轉(zhuǎn)后呈水平,然后將旋轉(zhuǎn)后輪廓線圍成的區(qū)域保存為產(chǎn)品外觀模板圖像itemp。
圖3所示為模板圖像生成的結(jié)果示例圖。其中,圖3a為標(biāo)準(zhǔn)產(chǎn)品灰度圖像,圖3b為邊緣檢測與外輪廓矩形檢測結(jié)果,圖3c為裁剪得到的產(chǎn)品模板圖像。
(20)待檢測產(chǎn)品圖像生成:采集待檢測產(chǎn)品外觀灰度圖像,尋找產(chǎn)品外輪廓矩形,裁剪出待檢測產(chǎn)品區(qū)域,調(diào)整分辨率,得到待檢測產(chǎn)品圖像,將模板圖像與待檢測產(chǎn)品圖像拼接形成一張整體圖像;
如圖4所示,所述(20)待檢測產(chǎn)品圖像生成步驟包括:
(21)外觀灰度圖像采集:采集待檢測產(chǎn)品的外觀灰度圖像;
(22)外輪廓矩形尋找:使用canny邊緣檢測算子,在外觀灰度圖像中尋找產(chǎn)品外輪廓矩形;
(23)待檢測產(chǎn)品圖像獲?。盒D(zhuǎn)外觀灰度圖像,使產(chǎn)品外輪廓矩形上邊緣水平,依據(jù)外輪廓裁剪出待檢測產(chǎn)品區(qū)域,并將該區(qū)域縮放至與模板圖像itemp同分辨率,得到待檢測產(chǎn)品圖像itest,
(24)圖像拼接:將m*n-1個(gè)模板圖像itemp與1個(gè)待檢測產(chǎn)品圖像itest整體按照m*n排列拼接形成一張整體圖像idet。
所述(24)圖像拼接步驟包括:
(241)圖像縮放:在拍攝的包含待檢測圖像的原始圖像中裁剪出待檢測產(chǎn)品圖像itest并縮放至與模板圖像itemp4相同分辨率;
(242)圖像排列:將m*n-1個(gè)模板圖像itemp與1個(gè)待檢測產(chǎn)品圖像itest分別作為整體圖像塊,按照m*n排列拼接形成一張圖像idet,其中將itest放置于
圖5為待檢測產(chǎn)品圖像生成結(jié)果示例圖。
其中,圖5a為待檢測產(chǎn)品灰度圖像,圖5b為邊緣檢測與外輪廓矩形檢測結(jié)果,圖5c為裁剪得到的待檢測產(chǎn)品圖像。
(30)疑似瑕疵區(qū)域檢測:將整體圖像進(jìn)行二維離散傅里葉變換和傅里葉反變換,在經(jīng)反變換后的圖像中剪裁出拼接時(shí)的待檢測產(chǎn)品圖像對應(yīng)區(qū)塊,將其二值化得到疑似瑕疵區(qū)域;
如圖6所示,所述(30)疑似瑕疵區(qū)域檢測步驟包括:
(31)傅里葉變換:將整體圖像idet進(jìn)行二維離散傅里葉變換得到idet-f,如式(1)
其中mdet,ndet為idet的高和寬,udet-f、vdet-f、xtest、ytest為像素坐標(biāo),j為虛數(shù)單位,r(udet-f,vdet-f)為傅里葉變換后的實(shí)數(shù)部分,i(udet-f,vdet-f)為虛數(shù)部分,以下公式中類似參數(shù)含義相似僅以下標(biāo)區(qū)別,式(1)中:
(32)幅度譜計(jì)算:使用式(2)計(jì)算傅里葉變換后idet-f的幅度譜
(33)傅里葉逆變換:然后使用式(4)對idet-f'進(jìn)行二維離散傅里葉逆變換,即
在idet'中剪裁出原itest放置位置的圖像塊保存為itest';
(34)疑似瑕疵區(qū)域獲取:使用標(biāo)準(zhǔn)otsu算法將itest'二值化,二值化圖像中亮度為255的像素點(diǎn)為疑似瑕疵區(qū)域。
圖7為模板圖像與待檢測產(chǎn)品圖像拼接結(jié)果示例圖。
(40)瑕疵區(qū)域檢測:將疑似瑕疵區(qū)域與模板圖像中相同位置附近區(qū)域進(jìn)行對比,如最小差異超出閾值范圍,則確定該處存在表面瑕疵。
如圖8所示,所述(40)瑕疵區(qū)域檢測步驟包括:
(41)待對比圖像塊選?。阂来芜x擇疑似瑕疵區(qū)域中的疑似瑕疵點(diǎn)作為中心像素點(diǎn),取邊長wn像素的正方形窗口內(nèi)的近鄰像素與中心像素點(diǎn)一起作為待對比圖像塊;
(42)待對比圖像塊差異計(jì)算:記該待對比圖像塊為imgpatchtest(i),其中心像素在itest'中的圖像坐標(biāo)為(xi,yi),在模板圖像itemp中,以(xi,yi)為中心,取邊長wt的正方形對比窗口sw,依次以窗口sw中的像素為中心像素,在模板圖像itemp中取中心像素與邊長wn像素的正方形窗口內(nèi)的近鄰像素組成對比圖像塊imgpatchtemp(j),0<j<wt2+1,將wt2個(gè)imgpatchtemp(j)分別與imgpatchtest(i)對比計(jì)算差異;
所述(42)待對比圖像塊差異計(jì)算步驟中,對比計(jì)算差異具體為:
假設(shè)當(dāng)前帶對比圖像塊為imgpatchtest(i),對比模板圖像塊為imgpatchtemp(j),每個(gè)圖像塊中包含wn2個(gè)像素,使用式(5)計(jì)算imgpatchtest(i)與imgpatchtemp(j)的差異值:
式中,gmax為所使用灰度圖像格式的可取灰度級最大值,itest'中的每個(gè)imgpatchtest(i)與item中的wt2個(gè)對比圖像塊做對比得到wt2個(gè)差異值。
(43)瑕疵判定:記取最小的差異值為emin,如果emin大于設(shè)定的差異閾值eth,則待檢測產(chǎn)品圖像itest中(xi,yi)處即確定為瑕疵,否則不為瑕疵。
圖9為待檢測產(chǎn)品外觀瑕疵檢測結(jié)果示例圖。
其中,圖9a為疑似瑕疵區(qū)域,圖9b為確定瑕疵區(qū)域,圖9c為瑕疵檢測結(jié)果。
本發(fā)明使用快速頻域變換技術(shù),利用頻域?yàn)V波檢測疑似瑕疵區(qū)域,然后在空間域中僅把疑似瑕疵區(qū)域與模板圖像對比,通過頻率域與空間域混合分析方法顯著減少了對比時(shí)的計(jì)算量;利用單張圖像重復(fù)排列拼接方法人為構(gòu)造圖像中的整體重復(fù)模式,使用簡單的頻域?yàn)V波算法即可發(fā)現(xiàn)待檢測圖像與模板圖像不一致的區(qū)域,從而實(shí)現(xiàn)瑕疵檢測;與一般使用sift等特征算子匹配方法匹配模板圖像與待檢測圖像不同,本方法通過檢測產(chǎn)品輪廓矩形的方法在圖像中裁剪出產(chǎn)品區(qū)域并調(diào)整角度使產(chǎn)品上邊緣平行,然后將裁剪出的待檢測產(chǎn)品圖像縮放至和裁剪出的模板圖像同分辨率實(shí)現(xiàn)圖像匹配,在確定的生產(chǎn)線環(huán)境下,檢測攝像機(jī)安裝位置固定,產(chǎn)品區(qū)域在模板圖像和待檢測圖像中實(shí)際縮放比例很小,因此這種方法比稠密特征算子匹配方法更加簡便、高效。