劉志堅(jiān),陳 寧
西安工程大學(xué),陜西 西安 710000
集成電路是現(xiàn)代化工業(yè)的基礎(chǔ)產(chǎn)業(yè)和核心技術(shù),發(fā)展集成電路產(chǎn)業(yè)是中國(guó)在經(jīng)濟(jì)結(jié)構(gòu)質(zhì)量化與工業(yè)結(jié)構(gòu)智能化的主要方向之一,對(duì)中國(guó)現(xiàn)代化工業(yè)的發(fā)展影響深遠(yuǎn)[1]。隨著國(guó)內(nèi)外集成電路的高速發(fā)展,基于集成電路芯片的應(yīng)用設(shè)備已廣泛應(yīng)用于軍事工程、航空工業(yè)、工業(yè)信息化、家居智能化等領(lǐng)域。市場(chǎng)影響著需求,需求推動(dòng)著創(chuàng)新,因此基于集成電路的微電子設(shè)備近年來持續(xù)高效地發(fā)展創(chuàng)新,功能齊全且完善穩(wěn)定,迭代速度快。這促進(jìn)了整個(gè)行業(yè)規(guī)模的擴(kuò)大,集成電路設(shè)計(jì)復(fù)雜且體積已經(jīng)從微米級(jí)進(jìn)入納米級(jí)[2]。在此背景下,集成電路的故障查詢技術(shù)也得以快速發(fā)展。
集成電路常見故障類型為通孔缺陷、氧化介質(zhì)缺陷、金屬布線缺陷等[3]。集成電路的故障提升了其檢測(cè)難度。傳統(tǒng)的集成電路人工檢測(cè)方法受經(jīng)驗(yàn)影響較大,并且無法定量描述故障原因與故障類型。同時(shí),人工檢測(cè)方法準(zhǔn)確性較低,穩(wěn)定性較差,且不能快速檢測(cè),難以符合現(xiàn)代工業(yè)批量對(duì)集成電路故障檢測(cè)的要求。因此,有必要研究集成電路的高效率無接觸檢測(cè)技術(shù)。隨著計(jì)算機(jī)技術(shù)的蓬勃發(fā)展,在計(jì)算機(jī)技術(shù)領(lǐng)域?qū)で髮?duì)集成電路檢測(cè)的解決方案成為一種可能,可以彌補(bǔ)人工檢測(cè)集成電路的不足,并且研究前景十分廣闊,具有現(xiàn)實(shí)的應(yīng)用價(jià)值。
基于機(jī)器視覺的集成電路互聯(lián)線提取,本質(zhì)上是集成電路圖像中線段的檢測(cè)。線段檢測(cè)方法主要包括基于邊緣檢測(cè)的線段提取方法[4]、基于假設(shè)檢驗(yàn)策略的直線提取方法[5-6]以及基于空間變換的直線提取方法[7]。基于邊緣的直線檢測(cè)方法,是根據(jù)圖像中的邊緣依據(jù)投票結(jié)果擬合圖像中的線段信息?;诩僭O(shè)策略的線段檢測(cè)方法,是先假設(shè)局部圖像信息中存在線段,再利用全局信息判斷是否存在線段。基于空間的線段提取方法,是將圖像空間上的線段依據(jù)其參數(shù),表達(dá)在參數(shù)空間內(nèi),在參數(shù)空間中檢測(cè)圖像空間內(nèi)的直線。
目前,在線條檢測(cè)技術(shù)方面,國(guó)內(nèi)外研究都有一套比較完整的體系,最常用的是Hough變換和Radon變換,大多數(shù)的延伸算法也均是基于這2種方法進(jìn)行改進(jìn)。相比Radon變換,Hough變換更為簡(jiǎn)單高效,因此常選擇Hough變換提取集成電路圖像中的互聯(lián)線信息。Hough變換的發(fā)展現(xiàn)狀表明,在使用其檢測(cè)復(fù)雜圖像時(shí),存在誤檢測(cè)以及錯(cuò)檢測(cè)的問題。為此,使用卷積神經(jīng)網(wǎng)絡(luò)(CNN)對(duì)Hough變換所提取的互聯(lián)線信息進(jìn)行提純,剔除錯(cuò)檢測(cè)、誤檢測(cè)互聯(lián)線信息。
基于Hough變換改進(jìn)算法的集成電路互聯(lián)線提取的流程如圖1所示。首先,使用Canny算法對(duì)集成電路輸入圖像進(jìn)行邊緣提?。黄浯?,使用Hough變換提取集成電路圖像內(nèi)的互聯(lián)線;再次,使用神經(jīng)網(wǎng)絡(luò)對(duì)提取出的互聯(lián)線結(jié)合數(shù)據(jù)集進(jìn)行篩選;最后,由集成電路圖像得到集成電路中互聯(lián)線信息。
圖1 集成電路互聯(lián)線提取的流程圖
使用Canny算法提取集成電路圖像中的邊緣,利用邊緣梯度方向抑制圖像中的非極大值,并使用雙閾值的方法對(duì)滯后閾值進(jìn)行處理。Canny算法流程如圖2所示。
圖2 Canny算法流程圖
集成電路圖像中的噪聲主要集中在圖像的高頻區(qū)域,很容易識(shí)別為偽邊緣,圖像使用高斯模糊去噪后可降低邊緣提取的錯(cuò)誤率,高斯系數(shù)選擇3×3。
計(jì)算垂直方向、水平方向、2個(gè)對(duì)角線方向的梯度幅值和方向:
式中:G為梯度;Gx為水平方向的差分;Gy為垂直方向的差分;θ為梯度角度(水平方向?yàn)?°、垂直方向?yàn)?0°、2個(gè)對(duì)角線方向分別為45°和135°)。
經(jīng)過提取的邊緣線寬度不僅僅只有一個(gè)像素點(diǎn)的寬度,非最大值抑制目的是提高提取到邊緣的精度。在已提取的邊緣內(nèi)保留局部梯度強(qiáng)度的極值,抑制非極值。即比較邊緣的像素帶中點(diǎn)在正負(fù)方向梯度的梯度強(qiáng)度,保留最大的梯度,抑制非最大梯度。
在邊緣檢測(cè)算法中,為了提高容錯(cuò)性,一般設(shè)定一個(gè)閾值對(duì)圖像進(jìn)行降噪或者降低由于顏色變化對(duì)結(jié)果的影響。Canny算法利用高閾值和低閾值2個(gè)閾值劃分圖像的像素區(qū)域。
當(dāng)邊緣內(nèi)一點(diǎn)梯度高于高閾值,則為強(qiáng)邊緣點(diǎn);當(dāng)邊緣內(nèi)一點(diǎn)梯度低于低閾值,則會(huì)被算法抑制。當(dāng)邊緣一點(diǎn)梯度在高、低閾值之間,則可認(rèn)為弱邊緣點(diǎn)。
受外部噪聲的影響,某些真實(shí)的邊緣點(diǎn)被誤認(rèn)為弱邊緣點(diǎn),為了更精確的提取邊緣,對(duì)弱邊緣點(diǎn)進(jìn)行滯后邊緣跟蹤。即檢查弱邊緣點(diǎn)附近2個(gè)像素點(diǎn)中是否存在強(qiáng)邊緣點(diǎn),若存在則保留此弱邊緣點(diǎn),與強(qiáng)邊緣點(diǎn)一同連接,構(gòu)成基于Canny算法的邊緣提取結(jié)果。
為了增加對(duì)比效果,使用Canny邊緣提取算法對(duì)圖像1和圖像2進(jìn)行邊緣提取,結(jié)果如圖3、圖4所示。圖3(a)、圖4(a)為閾值3×3的邊緣提取結(jié)果,圖3(b)、圖4(b)為閾值為1×1的邊緣提取結(jié)果。由圖3、圖4可以看出,閾值選擇3×3時(shí)效果均優(yōu)于閾值為1×1時(shí)的結(jié)果,當(dāng)閾值為3×3時(shí),所提取的邊緣圖噪聲較少,可用于后續(xù)的集成電路互聯(lián)線工作。因此,該算法邊緣提取閾值選擇3×3。
圖3 圖像1邊緣提取結(jié)果
圖4 圖像2邊緣提取結(jié)果
Hough變換的算法流程如圖5所示。首先,輸入通過Canny邊緣提取過后的圖像;其次,將圖像空間基于Hough變換轉(zhuǎn)換至參數(shù)空間,設(shè)定所提取集成電路互聯(lián)線的閾值,判斷其是否滿足閾值,若滿足閾值則提取互聯(lián)線信息并清零互聯(lián)線上的極值點(diǎn)以及閾值點(diǎn);再次,判斷是否重復(fù)提取互聯(lián)線;最后,輸出未重復(fù)的互聯(lián)線信息。
圖5 Hough變換算法流程圖
使用Hough變換提取到的集成電路互聯(lián)線圖像如圖6所示。因?yàn)榧呻娐坊ヂ?lián)線長(zhǎng)短參差不齊,無法確定線路長(zhǎng)度的閾值,所以在Hough變換提取線段時(shí)將起點(diǎn)和終點(diǎn)閾值選取為全圖像長(zhǎng)度最大值。由圖6可以看出,所提取的互聯(lián)線線段橫跨全圖像,造成提取的互聯(lián)線過長(zhǎng)。同時(shí),由于一些干擾,造成集成電路互聯(lián)線存在錯(cuò)檢現(xiàn)象。對(duì)圖像中提取出的線段進(jìn)行篩選,最終確定集成電路互聯(lián)線信息。
圖6 Hough變換提取的線段
利用Hough變換算法對(duì)集成電路互聯(lián)線提取后,集成電路線段集合包含較多過長(zhǎng)的線段,并且由于噪聲的影響,在提取過程中,也會(huì)出現(xiàn)誤提取的現(xiàn)象。為了得到真實(shí)的集成電路互聯(lián)線信息,使用CNN對(duì)集成電路互聯(lián)線信息進(jìn)行篩選。
CNN可以自動(dòng)構(gòu)造特征,具有特征表達(dá)能力強(qiáng)、健壯性高等優(yōu)點(diǎn)。設(shè)計(jì)一個(gè)基于CNN的線段分類器對(duì)線段集合進(jìn)行篩選。利用線段的信息可以獲取線段的感受域。感受域中的信息為線段所在位置的空間信息,互聯(lián)線線段和非互聯(lián)線線段所處的感受域不同?;谶@種假設(shè),對(duì)線段的分類轉(zhuǎn)換為對(duì)線段感受域的分類結(jié)果。感受域即在圖中標(biāo)注出線段的起點(diǎn)Q(xmin,ymin),線段終點(diǎn)Z(xmax,ymax),線段斜率a,線段截距b。
已知線段的起點(diǎn)和終點(diǎn)之后,使用公式y(tǒng)=ax+b即可得出線段斜率以及截距。
(1)數(shù)據(jù)集。使用正確的線段感受域作為正樣本,使用多提取或錯(cuò)誤提取的線段感受域?yàn)樨?fù)樣本。為了獲得更高的線段分類性能,借助更多的數(shù)據(jù)來訓(xùn)練網(wǎng)絡(luò),使用一張集成電路圖片,每條線段可以提取出不同的感受域,從而擴(kuò)增數(shù)據(jù)。
網(wǎng)絡(luò)樣本分布如表1所示。表1中,樣本總數(shù)為1 500個(gè),其中正樣本750個(gè),負(fù)樣本750個(gè);訓(xùn)練集樣本總數(shù)為1 200個(gè),正樣本600個(gè),負(fù)樣本600個(gè);測(cè)試集樣本總數(shù)為300個(gè),正樣本150個(gè),負(fù)樣本150個(gè)。
表1 網(wǎng)絡(luò)樣本分布
神經(jīng)網(wǎng)絡(luò)中,作為數(shù)據(jù)集中部分樣本代表的圖像信息如圖7所示。圖7(a)為負(fù)樣本感受與代表的圖像信息,圖7(b)為正樣本展示的圖像信息。負(fù)樣本為使用Hough變換提取的非互聯(lián)線信息的感受域,正樣本為Hough變換提取的集成電路互聯(lián)線真實(shí)信息圖像的感受域。
圖7 數(shù)據(jù)集圖像
(2)模型介紹。CNN參數(shù)如表2所示。
表2 CNN參數(shù)
CNN結(jié)構(gòu)如圖8所示。網(wǎng)絡(luò)結(jié)構(gòu)為卷積層與池化層交替構(gòu)成,網(wǎng)絡(luò)中C1、C2為卷積層,P1、P2為最大池化層。第一個(gè)卷積層C1的卷積核大小為5×5,通道數(shù)為32,滑動(dòng)窗口步長(zhǎng)為1×1;第二個(gè)卷積層C2的卷積核大小為2,通道數(shù)為64,步長(zhǎng)為1×1。最大池化層P1、P2核大小為2×2,步長(zhǎng)為2×2。P2產(chǎn)生的5×5×128的特征向量將傳入全鏈接層。
圖8 CNN結(jié)構(gòu)圖
(3)模型訓(xùn)練。網(wǎng)絡(luò)輸入模型訓(xùn)練結(jié)果如圖9所示。由圖9可知,使用CNN訓(xùn)練次數(shù)越多,誤差均方根越??;文本正確率為90.5%,誤檢率為4.25%(正確率與誤檢率和不為1,二者之間沒有必然關(guān)系)。
圖9 網(wǎng)絡(luò)輸入模型訓(xùn)練結(jié)果
根據(jù)感受域信息在圖像上進(jìn)行標(biāo)注,如圖10所示?;ヂ?lián)線信息提取正確的線路為圖10中的白線,錯(cuò)誤信息為圖10中所示的灰線。
圖10 標(biāo)注集成電路互聯(lián)線圖片
剔除錯(cuò)誤線段的互聯(lián)線信息如圖11所示,去除背景后的集成電路圖像信息如圖12所示。對(duì)比集成電路圖像可以得出,在線路篩選環(huán)節(jié),提取的集成電路互聯(lián)線信息與圖像中的互聯(lián)線信息誤差低于0.1 mm。原因?yàn)樵跇?biāo)注正樣本和負(fù)樣本時(shí),可能產(chǎn)生偏差。
圖11 剔除錯(cuò)誤線段的互聯(lián)線信息
圖12 去除背景后的集成電路互聯(lián)線信息
使用Hough變換對(duì)集成電路圖像中的互聯(lián)線進(jìn)行提取時(shí),互聯(lián)線長(zhǎng)度不一,線段長(zhǎng)度閾值難以確定,并且可能發(fā)生互聯(lián)線誤提取的狀況。為此,將線段長(zhǎng)度閾值均設(shè)為最大進(jìn)行預(yù)提取,標(biāo)定圖像中的集成電路互聯(lián)線線段的感受域?yàn)檎龢颖荆瑯?biāo)定圖像中的集成電路非互聯(lián)線線段的感受域?yàn)樨?fù)樣本,使用CNN進(jìn)行訓(xùn)練,最終得到集成電路互聯(lián)線信息。結(jié)果表明,該方法所得集成電路互聯(lián)線信息可以用于集成電路的質(zhì)量檢查、故障診斷。但是,該方法僅針對(duì)一種布線金屬材料的集成電路進(jìn)行互聯(lián)線提取工作,而集成電路集成線路材料多種多樣,希望后續(xù)有更多研究針對(duì)不同材料的集成電路互聯(lián)線提取。