尤世軍 趙梓龍 張建敏
關(guān)鍵詞:芯片F(xiàn)rame;圖像分割;模板匹配;重疊匹配框
中圖分類號:TP391 文獻(xiàn)標(biāo)識碼:A
1 引言(Introduction)
近年來,隨著人工智能和大數(shù)據(jù)等技術(shù)的快速發(fā)展,芯片已成為現(xiàn)代化產(chǎn)業(yè)中不可或缺的一部分。然而,由于芯片具有制造過程復(fù)雜和缺陷隱蔽的特點,因此芯片缺陷及其造成的影響是普遍存在且不可忽視的問題。利用計算機(jī)圖像處理等技術(shù)對芯片圖像進(jìn)行自動缺陷檢測,可以有效地提升企業(yè)的生產(chǎn)效率。因此,針對芯片缺陷檢測算法的研究逐漸成為世界上最熱門的課題。
研究芯片缺陷檢測算法的首要任務(wù)是對芯片圖像進(jìn)行單芯片分割處理,這也是芯片缺陷檢測的基礎(chǔ)。圖像分割主要是通過圖像灰度值的不連續(xù)性和相似性實現(xiàn),利用一定的方法將圖像中感興趣的目標(biāo)與背景區(qū)域分離后提取出目標(biāo)區(qū)域,以便進(jìn)行進(jìn)一步的圖像處理。常用的圖像分割算法有閾值分割算法、邊緣檢測分割算法等,其中基于閾值的圖像分割算法需要獲得一組恰當(dāng)?shù)拈撝担瑢D像的像素值與閾值比較,使具有相似特征的像素點歸為一類[1-3]。閾值分割算法的最大優(yōu)勢就是計算快速,可以有效地分割目標(biāo)物體與背景像素值差異大的芯片圖像。但是,對于背景復(fù)雜或目標(biāo)物體與背景像素值差異較小的芯片圖像,該算法可能無法產(chǎn)生理想的分割效果[4]。邊緣檢測算法通常應(yīng)用在邊緣清晰的芯片圖像中,但對于邊緣模糊或者邊緣灰度值變化復(fù)雜的芯片圖像,當(dāng)前的邊緣檢測算法可能表現(xiàn)不佳[5-6]。因此,研究更智能、更適用的芯片圖像分割算法尤為緊迫且重要。
本文針對背景復(fù)雜、邊界模糊以及芯片相連等特征的芯片F(xiàn)rame圖像,提出了一種基于模板匹配的圖像分割算法,通過合并單芯片的重疊匹配框,能有效地分割出單個芯片圖像;為了提高芯片的匹配速度,首先將整幅芯片F(xiàn)rame圖像分割出多個區(qū)域模塊,然后基于區(qū)域模塊圖像分割出單芯片圖像。實驗結(jié)果表明:該算法能夠有效地分割出單芯片圖像且滿足芯片F(xiàn)rame高精度和高速度的分割需求。
2 模板匹配芯片圖像分割算法(Image segmentationalgorithm of template matching chip)
分析芯片F(xiàn)rame的圖像特點后,本文通過模板圖像在待分割的芯片F(xiàn)rame圖像上進(jìn)行匹配運算,利用匹配算法計算得到的相似度系數(shù)確定目標(biāo)芯片,算法主要包括區(qū)域模塊匹配分割以及單芯片模板匹配分割兩個階段,詳細(xì)流程如圖1所示。
2.1 區(qū)域模塊匹配分割
由于芯片F(xiàn)rame圖像的分辨率很大,因此本文首先根據(jù)芯片F(xiàn)rame圖像的特點對其進(jìn)行區(qū)域預(yù)分割處理,以提高分割算法的分割效率,然后基于區(qū)域圖像分割出單芯片圖像。算法選取區(qū)域模板進(jìn)行匹配操作,把芯片F(xiàn)rame圖像分割出n 塊區(qū)域圖像,具體步驟主要包括以下部分。
(1)選取區(qū)域模板。依據(jù)芯片F(xiàn)rame的圖像特點,本文選取區(qū)域特征清晰、像素大小為w× h的模塊作為區(qū)域模板圖像,其中寬為w 像素,高為h 像素,此區(qū)域模板圖像共包含36個單芯片。
(2)圖像預(yù)處理。為了降低運算量,提高匹配算法的實時性,本文使用高斯濾波對圖像進(jìn)行平滑降噪處理,在保留芯片圖像整體特征信息的情況下降低噪聲的影響。
高斯濾波器是一種基于高斯函數(shù)的平滑濾波器,常用于圖像處理領(lǐng)域中的圖像平滑操作,它主要是將圖像中每個像素的值替換為其周圍像素值的加權(quán)平均值,其中權(quán)重由高斯函數(shù)計算得出[7]。這意味著距離中心像素越遠(yuǎn)的像素會被賦予更小的權(quán)重,從而減少它們對平均值的貢獻(xiàn)。這種加權(quán)平均的效果可以實現(xiàn)對圖像的平滑和降噪處理,與此同時能保留圖像的整體特征;其公式定義如下:
其中, x 和y 表示像素點的位置,σ 是高斯分布的標(biāo)準(zhǔn)差,G(x, y)是在位置(x, y)的高斯核函數(shù)的值。在平滑降噪處理中,高斯濾波器通常采用卷積操作,即用高斯核函數(shù)與芯片F(xiàn)rame圖像上的每一個像素進(jìn)行卷積運算。具體來說,對一個像素大小為m× n的芯片F(xiàn)rame圖像,用大小為k × k 的高斯核函數(shù)與其進(jìn)行卷積,可以得到平滑處理后的圖像,平滑處理后的圖像有利于加快模板匹配相關(guān)系數(shù)的計算效率。但是,在選擇高斯核函數(shù)的大小和標(biāo)準(zhǔn)差時必須謹(jǐn)慎,否則可能會影響芯片F(xiàn)rame圖像的細(xì)節(jié)信息,從而影響匹配算法分割的準(zhǔn)確率。
(3)匹配運算。模板匹配算法可分為基于形狀的模板匹配算法和基于灰度的模板匹配算法,由于芯片F(xiàn)rame圖像中的每個芯片都是相接的,不能有效地提取單個芯片的輪廓形狀信息,所以本文無法使用基于形狀的模板匹配算法。最終,本文決定選用基于灰度的模板匹配算法作為芯片F(xiàn)rame圖像的匹配分割算法。
基于灰度的模板匹配算法的基本思想是將一個固定大小的模板圖像在待處理的大圖像中滑動,通過比較待匹配圖像和模板圖像灰度值的相關(guān)性,找到與模板最相似的位置。本文在進(jìn)行匹配運算時,選取區(qū)域模板圖像,在以芯片F(xiàn)rame圖像左上點的位置出發(fā),計算區(qū)域模板與其移動過程中相對應(yīng)的圖像塊I 的相關(guān)系數(shù)R(x, y),移動步長為1,直至區(qū)域模板遍歷整幅芯片F(xiàn)rame圖像。在匹配運算過程中,本文選取基于模板與對應(yīng)圖像塊內(nèi)積運算的歸一化相關(guān)匹配法作為此次的模板匹配算法,用于消除數(shù)據(jù)特征之間差異性的影響,匹配相關(guān)系數(shù)定義如下[8-9]:
這類方法采用模板和圖像間的乘法操作,所以較大的數(shù)表示匹配程度較高,1表示匹配相似度最高,0表示最壞的匹配效果。
(4)設(shè)置閾值。匹配運算遍歷完整幅芯片F(xiàn)rame圖像后,將計算得到的相關(guān)系數(shù)與設(shè)定的閾值進(jìn)行比較。若相關(guān)系數(shù)小于設(shè)定的閾值,則過濾掉相關(guān)匹配圖像塊,否則認(rèn)為模板與相關(guān)匹配圖像塊相匹配,此時可以標(biāo)記匹配位置,保留相關(guān)匹配圖像塊的坐標(biāo)信息,利用坐標(biāo)信息進(jìn)行后續(xù)區(qū)域模塊的預(yù)分割處理。閾值的大小需要依據(jù)實際情況進(jìn)行設(shè)置,本文通過多次實驗驗證多張分辨率不同的芯片F(xiàn)rame圖像,選取合適的閾值進(jìn)行判定。
(5)分割區(qū)域模塊。由于采用多目標(biāo)模板匹配算法,同一塊圖像區(qū)域會因為極小的坐標(biāo)偏移被匹配多次而擁有多個重疊的匹配框,導(dǎo)致同一塊圖像區(qū)域被分割出多次。因此,本文加入合并重疊的匹配框算法,可確保同一塊圖像區(qū)域只被分割出一次,合并重疊框原理如圖2所示。
2.2 單芯片模板匹配分割
單芯片模板匹配分割算法與區(qū)域模塊分割算法的流程基本一致,遍歷n 個被分割出來的圖像區(qū)域模塊,在每個區(qū)域模塊中做匹配運算、閾值篩選、合并重疊匹配框處理,根據(jù)最終的框坐標(biāo)信息分割出單芯片圖像,具體步驟如下。
(1)選取單芯片模板。選取特征清晰、像素大小為w× h的單芯片圖像作為模板圖像,其中單芯片寬為w 像素,高為h像素。
(2)匹配運算。進(jìn)行匹配運算時,選取單芯片模板圖像,從區(qū)域模塊圖像左上點的位置出發(fā),沿著圖像的每一個像素點,與其移動過程中相對應(yīng)的圖像塊的像素值進(jìn)行比較,計算模板與圖像塊的相似度或匹配程度,移動步長為1,直至單芯片模板遍歷整幅區(qū)域模塊圖像。在單芯片匹配運算過程中,本文使用的依然是歸一化相關(guān)匹配法。
(3)設(shè)置閾值。匹配運算遍歷完n 張被分割出來的圖像區(qū)域模塊后,將計算得到的相關(guān)系數(shù)與設(shè)定的閾值進(jìn)行比較。若相關(guān)系數(shù)小于設(shè)定的閾值,則過濾掉相關(guān)匹配圖像塊,否則認(rèn)為模板與相關(guān)匹配圖像塊相匹配,保留相關(guān)匹配圖像塊的坐標(biāo)信息,利用坐標(biāo)信息進(jìn)行后續(xù)的單芯片圖像分割處理。
(4)單芯片圖像分割。與區(qū)域模塊匹配相同,都面臨重疊區(qū)域問題,即同一個單芯片圖像區(qū)域會因為極小的坐標(biāo)偏移被匹配多次而擁有多個重疊的匹配框,導(dǎo)致同一個單芯片圖像區(qū)域會被分割出多次。因此,此處利用上文提到的合并重疊匹配框算法,可確保同一個單芯片圖像區(qū)域只被分割出一次,從而完成對芯片F(xiàn)rame圖像進(jìn)行單芯片分割處理的操作,為芯片缺陷檢測算法的研究提供了重要的數(shù)據(jù)源。
3 實驗結(jié)果分析(Analysis of experimental results)
為了驗證本文算法的運行效率和分割芯片F(xiàn)rame圖像的準(zhǔn)確率,本文采用圖像開源庫Open CV和Py t h o n語言編程實現(xiàn)本文算法[10],并在Windows 10平臺[系統(tǒng)內(nèi)存為16 GB,CPU型號為Intel(R)Core(TM)i9-9900,顯卡型號為NVIDIA GeForce RTX 2060]上運行算法,分別選取分辨率為11 610×2 908的區(qū)域模板圖像、分辨率為800×708的單芯片模板圖像,以及3幅分辨率分別為11 670×27 208、11670×23 720、11670×20 308的待匹配芯片F(xiàn)rame圖像進(jìn)行算法驗證,最終匹配框結(jié)果標(biāo)注于圖3(d)和圖3(f)中,其中內(nèi)包圍框為閾值篩選匹配框,最外層包圍框為多個重疊匹配合并框,目標(biāo)匹配結(jié)果圖如圖3所示。
3.1 區(qū)域匹配閾值分析
分別選取閾值0.81、0.82、0.83、0.84對比算法區(qū)域的匹配結(jié)果,在閾值為0.81、0.82時,算法匹配區(qū)域個數(shù)為100.00%,而閾值為0.83時,芯片1和芯片3區(qū)域匹配個數(shù)開始丟失,隨著閾值的增大,匹配區(qū)域個數(shù)丟失得越多。因此,只有選取合適的閾值才可保證匹配的準(zhǔn)確性。本文此次選取0.82作為區(qū)域匹配的閾值。不同閾值的區(qū)域匹配結(jié)果詳見表1。
3.2 單芯片匹配閾值分析
分別選取閾值0.86、0.87、0.88、0.89、0.90對比單芯片匹配結(jié)果,在閾值為0.86、0.87、0.88時,3幅芯片F(xiàn)rame圖像的匹配率都為100.00%;閾值為0.89時,芯片1的匹配率開始降低;閾值為0.90時,3幅芯片的匹配率都開始降低。最終,根據(jù)實驗結(jié)果,本文選取閾值0.88作為本次芯片分割實驗的單芯片匹配閾值。不同閾值的單芯片匹配結(jié)果詳見表2。
3.3 單芯片圖像分割時間對比分析
選取區(qū)域匹配閾值為0.82,單芯片匹配閾值為0.88進(jìn)行實驗,每種分割算法實驗操作10次,取10次實驗結(jié)果的平均值作為統(tǒng)計結(jié)果。從分辨率為11 670×20 308的芯片3可以看出,基于區(qū)域匹配的單芯片圖像分割算法比不基于區(qū)域匹配的單芯片圖像分割算法節(jié)省了45.76%的運行時間,分辨率為11 670×23 720的芯片2節(jié)省了46.78%的運行時間,分辨率為11 670×27 208的芯片1節(jié)省了55.61%的運行時間。本次實驗驗證了改進(jìn)后的基于區(qū)域匹配的圖像分割算法可明顯節(jié)省圖像分割時間,并且圖像分辨率越大,分割時間減少越明顯。圖像分割算法時間對比詳見表3。
4 結(jié)論(Conclusion)
本文描述了一種基于模板匹配的芯片圖像分割算法,通過對3幅分辨率不同的芯片F(xiàn)rame圖像進(jìn)行實驗,分析了該算法的性能。實驗結(jié)果表明,只要選取合適的模板和閾值,本文提出的分割算法就能夠達(dá)到很高的準(zhǔn)確率。同時,本文通過區(qū)域匹配預(yù)分割算法,在不影響單芯片圖像分割效果的情況下,極大地縮短了平均每幅芯片F(xiàn)rame圖像分割所需要的時間,進(jìn)一步提高了算法的分割效率,為芯片缺陷檢測算法的研究提供了重要的數(shù)據(jù)來源。
作者簡介:
尤世軍(1996-),男,碩士生.研究領(lǐng)域:圖像處理,機(jī)器視覺.
趙梓龍(1997-),男,碩士生.研究領(lǐng)域:圖像處理,機(jī)器視覺.
張建敏(1971-),女,博士,教授.研究領(lǐng)域:智能醫(yī)療與健康,人工智能應(yīng)用.