連軍莉,魏 鵬
(中國電子科技集團(tuán)公司第四十五研究所,北京 101601)
超聲掃描顯微鏡是用于檢測物體表面、內(nèi)部區(qū)域,產(chǎn)生高分辨率特征圖像的檢測系統(tǒng),廣泛應(yīng)用于無損檢測領(lǐng)域。由于超聲能量的傳遞要求介質(zhì)是連續(xù)的,所以如氣孔、雜質(zhì)、分層、裂紋等不連續(xù)界面都會干擾超聲信號傳播或致使超聲信號發(fā)生反射。在氣孔、分層處會發(fā)生相位反轉(zhuǎn),在圖像中表現(xiàn)為紅色區(qū)域。
確定器件是否合格,就是判斷氣孔、分層等缺陷的尺寸(也就是相位圖像中的紅色區(qū)域)是否超出容差范圍。傳統(tǒng)的人工目測,即使使用測量工具,也不能精確判斷各缺陷的面積和尺寸,很難適應(yīng)產(chǎn)品批量的要求。因此如何快速進(jìn)行缺陷分類成為工藝線上必須解決的大問題。而缺陷自動分類系統(tǒng)可以對缺陷進(jìn)行自動分類,減少缺陷分析時(shí)間,以及主觀造成的缺陷分類錯誤,分析結(jié)果更加精確,重復(fù)性更高,從而大大提高了整體效率。
系統(tǒng)打開一幅圖像,進(jìn)行缺陷分析,測量出各缺陷特征,然后根據(jù)各設(shè)定閾值,判斷是否可以忽略該缺陷。該系統(tǒng)可以離線操作,也可以嵌入到主檢測程序中。系統(tǒng)流程如圖1所示。
圖1 缺陷自動識別系統(tǒng)流程圖
由超聲掃描檢測設(shè)備得到的掃描圖像中,有氣泡、分層的地方會發(fā)生相位反轉(zhuǎn),在圖像中用紅色來標(biāo)識。由于缺陷的灰度值相等,故本系統(tǒng)中采用改良的區(qū)域標(biāo)記算法[1-4]對各缺陷進(jìn)行標(biāo)記,將缺陷(即紅色像素)視為物體。該方法對圖像進(jìn)行充分處理,可快速標(biāo)記出圖像中所有目標(biāo)物體。標(biāo)記算法的流程圖如圖2所示。
算法步驟描述:
(1)從左到右,從上到下逐個(gè)像素掃描。
(2)若當(dāng)前點(diǎn)為首行像素,且為物體,判斷左前點(diǎn)是否為物體,若是,當(dāng)前點(diǎn)標(biāo)記與左前點(diǎn)相同的值;否則,數(shù)標(biāo)加1,此數(shù)組值為1;
(3)若當(dāng)前點(diǎn)為首列像素,且為物體,判斷右上是否為物體,若是,當(dāng)前點(diǎn)標(biāo)記與左前點(diǎn)相同的值;否則,判斷正上是否為物體,若是,當(dāng)前點(diǎn)標(biāo)記與正上相同的值;否則,數(shù)標(biāo)加1,此數(shù)組值為1;
圖2 缺陷標(biāo)記流程圖
(4)若當(dāng)前點(diǎn)為最后一列像素,且為物體,判斷正上是否為物體,若是,當(dāng)前點(diǎn)標(biāo)記與正上點(diǎn)相同的值;否則,判斷左上是否為物體,若是,當(dāng)前點(diǎn)標(biāo)記與左上相同的值;否則,判斷左前是否為物體,若是,當(dāng)前點(diǎn)標(biāo)記與左前相同的值;否則,數(shù)標(biāo)加1,此數(shù)組值為1;
(5)若當(dāng)前點(diǎn)不是上述點(diǎn),是圖像中間像素(包含最后一行),且為物體,則依次判斷該像素點(diǎn)的右上點(diǎn)、正上、左上及左前是否為該物體,優(yōu)先級依次降低的順序?yàn)橛疑宵c(diǎn)、正上點(diǎn)、左上點(diǎn)及左前點(diǎn)。若右上點(diǎn)為物體,則當(dāng)前點(diǎn)標(biāo)記和右上點(diǎn)相同的值;否則,判斷正上是否為物體,若是,當(dāng)前點(diǎn)標(biāo)記與正上點(diǎn)相同的值;否則,判斷左上是否為物體,若是,當(dāng)前點(diǎn)標(biāo)記與左上相同的值;否則,判斷左前是否為物體,若是,當(dāng)前點(diǎn)標(biāo)記與左前相同的值;否則,數(shù)標(biāo)加1,此數(shù)組值為1;若該點(diǎn)的左上、正上、右上及左前點(diǎn)共4個(gè)點(diǎn)的像素值都不為物體,則把數(shù)標(biāo)加1,且此數(shù)組值為1,作為另一物體的區(qū)別。
(6)若該點(diǎn)的左上、正上、右上及左前點(diǎn)共4個(gè)點(diǎn)的像素值都不為物體,則把數(shù)標(biāo)加1,且此數(shù)組值為1,作為另一物體的區(qū)別。
(7)其中有一特別調(diào)整:當(dāng)前點(diǎn)的右上點(diǎn)及左前點(diǎn)為不同標(biāo)記,正上點(diǎn)和左上點(diǎn)不為物體,則當(dāng)前點(diǎn)標(biāo)記同右上點(diǎn)置相同的值。此時(shí),掃描當(dāng)前像素點(diǎn)之前的圖像,把所有同當(dāng)前點(diǎn)標(biāo)記相同的像素值都標(biāo)記成與右上點(diǎn)同樣的值。有多少個(gè)像素點(diǎn)轉(zhuǎn)換,則統(tǒng)計(jì)右上點(diǎn)像素值(標(biāo)記值)的數(shù)組就加多少。而把統(tǒng)計(jì)左前點(diǎn)的像素值(標(biāo)記值)的數(shù)組置0。
在超聲掃描檢測中,非常關(guān)注的問題之一是缺陷的大小。當(dāng)缺陷的尺寸超出一定的值,即認(rèn)定為缺陷。故在本系統(tǒng)中,主要統(tǒng)計(jì)缺陷的面積和最大尺寸。
在標(biāo)記圖像中,相互連接的物體像素集合組成一個(gè)區(qū)域。對圖像內(nèi)每個(gè)像素進(jìn)行標(biāo)記操作,將物體的像素值改為標(biāo)號,求各種標(biāo)號的總和,即求得不同區(qū)域的面積數(shù)目。具體步驟如下:
(1)遍歷標(biāo)記圖像,設(shè)置一維數(shù)組,維數(shù)為標(biāo)記物體的個(gè)數(shù);
(2)循環(huán)取得各點(diǎn)像素值,像素值就是標(biāo)號;
(3)根據(jù)不同的標(biāo)號,加到對應(yīng)的數(shù)組;
(4)得到各連通區(qū)域的面積。
在標(biāo)記圖像中,找到各種標(biāo)號的出發(fā)點(diǎn),然后將其余帶此標(biāo)號的像素的坐標(biāo)值和出發(fā)點(diǎn)的坐標(biāo)值比較,可得到此標(biāo)號區(qū)域x、y坐標(biāo)的最大和最小值。由此可計(jì)算出最大的長和寬。實(shí)現(xiàn)步驟如下:
(1)在標(biāo)記圖像內(nèi),根據(jù)不同的像素值,即不同的連通區(qū)域,循環(huán)取得各點(diǎn)像素值的標(biāo)號,搜索一個(gè)出發(fā)點(diǎn),記錄其坐標(biāo)值;
(2)遍歷標(biāo)記圖像,將相同標(biāo)記的像素坐標(biāo)值和出發(fā)點(diǎn)坐標(biāo)值進(jìn)行比較,最后可得到此連通區(qū)域坐標(biāo)的最大最小值;
(3)根據(jù)不同的像素值,依次執(zhí)行第(2)、(3)步;
(4)根據(jù)每個(gè)連通區(qū)域的最大最小值,計(jì)算連通區(qū)域的最大長度和寬度。
將得到的結(jié)果,每個(gè)連通區(qū)域的面積和最大的長和寬,與預(yù)先設(shè)定的值進(jìn)行比較。具體如下:
(1)如果:實(shí)際值>預(yù)先設(shè)定值,只要滿足一個(gè)條件,即記錄為缺陷;否則:實(shí)際值<預(yù)先設(shè)定值,忽略;
(2)輸出此器件是否為合格品。
為驗(yàn)證本系統(tǒng)的效果,本文進(jìn)行了大量實(shí)驗(yàn)。結(jié)果表明,本系統(tǒng)在毫秒級的時(shí)間內(nèi)能夠快速處理圖像,準(zhǔn)確率99%,重復(fù)率100%,真實(shí)反映了檢測器件的合格狀況。圖3、圖4、圖5、圖6為本文從大量實(shí)驗(yàn)中隨機(jī)挑選的一組結(jié)果圖。
圖3 原始圖像
圖4 處理結(jié)果1
圖5 處理結(jié)果2
圖6 處理結(jié)果3
說明:圖4中設(shè)置總閾值為10(即總的缺陷面積閾值為10),單個(gè)閾值為2(即單個(gè)缺陷面積閾值為2),下部分表格中的顯示結(jié)果為所有缺陷信息;圖5顯示結(jié)果為滿足條件(即單個(gè)缺陷的面積大于單個(gè)閾值2)的缺陷信息,點(diǎn)擊“處理”按鈕即可執(zhí)行,點(diǎn)擊“恢復(fù)”按鈕即可恢復(fù)為圖4所示的表格;圖6顯示結(jié)果為判斷結(jié)果,整個(gè)面積、單個(gè)面積只要有一個(gè)超出設(shè)定范圍,即表示此器件不合格,點(diǎn)擊“判別分析”按鈕即可執(zhí)行。
本文描述的缺陷自動分類系統(tǒng),可在毫秒級時(shí)間內(nèi)對圖像進(jìn)行自動分析、分類,減少了缺陷分析時(shí)間,以及主觀分類錯誤,結(jié)果更加精確,重復(fù)性更高。
[1]楊淑瑩.VC++圖像處理程序設(shè)計(jì)[M].北京:清華大學(xué)出版社、北京交通大學(xué)出版社,2003.163-167.
[2]章德偉,蒲曉蓉,章毅.基于Max-tree的連通區(qū)域標(biāo)記新算法[J].計(jì)算機(jī)應(yīng)用研究,2006(8):168-170.
[3]張桂林.基于跑長碼的連通區(qū)域標(biāo)記算法[J].華中理工大學(xué)學(xué)報(bào),1994,22(5):11-14.
[4]王鐵生,施鵬飛.二值圖像的快速標(biāo)記方法及其應(yīng)用[J].微型電腦應(yīng)用,2004,20(6):6-8.