劉志堅,陳 寧
西安工程大學,陜西 西安 710000
集成電路是現代化工業的基礎產業和核心技術,發展集成電路產業是中國在經濟結構質量化與工業結構智能化的主要方向之一,對中國現代化工業的發展影響深遠[1]。隨著國內外集成電路的高速發展,基于集成電路芯片的應用設備已廣泛應用于軍事工程、航空工業、工業信息化、家居智能化等領域。市場影響著需求,需求推動著創新,因此基于集成電路的微電子設備近年來持續高效地發展創新,功能齊全且完善穩定,迭代速度快。這促進了整個行業規模的擴大,集成電路設計復雜且體積已經從微米級進入納米級[2]。在此背景下,集成電路的故障查詢技術也得以快速發展。
集成電路常見故障類型為通孔缺陷、氧化介質缺陷、金屬布線缺陷等[3]。集成電路的故障提升了其檢測難度。傳統的集成電路人工檢測方法受經驗影響較大,并且無法定量描述故障原因與故障類型。同時,人工檢測方法準確性較低,穩定性較差,且不能快速檢測,難以符合現代工業批量對集成電路故障檢測的要求。因此,有必要研究集成電路的高效率無接觸檢測技術。隨著計算機技術的蓬勃發展,在計算機技術領域尋求對集成電路檢測的解決方案成為一種可能,可以彌補人工檢測集成電路的不足,并且研究前景十分廣闊,具有現實的應用價值。
基于機器視覺的集成電路互聯線提取,本質上是集成電路圖像中線段的檢測。線段檢測方法主要包括基于邊緣檢測的線段提取方法[4]、基于假設檢驗策略的直線提取方法[5-6]以及基于空間變換的直線提取方法[7]。基于邊緣的直線檢測方法,是根據圖像中的邊緣依據投票結果擬合圖像中的線段信息。基于假設策略的線段檢測方法,是先假設局部圖像信息中存在線段,再利用全局信息判斷是否存在線段。基于空間的線段提取方法,是將圖像空間上的線段依據其參數,表達在參數空間內,在參數空間中檢測圖像空間內的直線。
目前,在線條檢測技術方面,國內外研究都有一套比較完整的體系,最常用的是Hough變換和Radon變換,大多數的延伸算法也均是基于這2種方法進行改進。相比Radon變換,Hough變換更為簡單高效,因此常選擇Hough變換提取集成電路圖像中的互聯線信息。Hough變換的發展現狀表明,在使用其檢測復雜圖像時,存在誤檢測以及錯檢測的問題。為此,使用卷積神經網絡(CNN)對Hough變換所提取的互聯線信息進行提純,剔除錯檢測、誤檢測互聯線信息。
基于Hough變換改進算法的集成電路互聯線提取的流程如圖1所示。首先,使用Canny算法對集成電路輸入圖像進行邊緣提取;其次,使用Hough變換提取集成電路圖像內的互聯線;再次,使用神經網絡對提取出的互聯線結合數據集進行篩選;最后,由集成電路圖像得到集成電路中互聯線信息。

圖1 集成電路互聯線提取的流程圖
使用Canny算法提取集成電路圖像中的邊緣,利用邊緣梯度方向抑制圖像中的非極大值,并使用雙閾值的方法對滯后閾值進行處理。Canny算法流程如圖2所示。

圖2 Canny算法流程圖
集成電路圖像中的噪聲主要集中在圖像的高頻區域,很容易識別為偽邊緣,圖像使用高斯模糊去噪后可降低邊緣提取的錯誤率,高斯系數選擇3×3。
計算垂直方向、水平方向、2個對角線方向的梯度幅值和方向:


式中:G為梯度;Gx為水平方向的差分;Gy為垂直方向的差分;θ為梯度角度(水平方向為0°、垂直方向為90°、2個對角線方向分別為45°和135°)。
經過提取的邊緣線寬度不僅僅只有一個像素點的寬度,非最大值抑制目的是提高提取到邊緣的精度。在已提取的邊緣內保留局部梯度強度的極值,抑制非極值。即比較邊緣的像素帶中點在正負方向梯度的梯度強度,保留最大的梯度,抑制非最大梯度。
在邊緣檢測算法中,為了提高容錯性,一般設定一個閾值對圖像進行降噪或者降低由于顏色變化對結果的影響。Canny算法利用高閾值和低閾值2個閾值劃分圖像的像素區域。
當邊緣內一點梯度高于高閾值,則為強邊緣點;當邊緣內一點梯度低于低閾值,則會被算法抑制。當邊緣一點梯度在高、低閾值之間,則可認為弱邊緣點。
受外部噪聲的影響,某些真實的邊緣點被誤認為弱邊緣點,為了更精確的提取邊緣,對弱邊緣點進行滯后邊緣跟蹤。即檢查弱邊緣點附近2個像素點中是否存在強邊緣點,若存在則保留此弱邊緣點,與強邊緣點一同連接,構成基于Canny算法的邊緣提取結果。
為了增加對比效果,使用Canny邊緣提取算法對圖像1和圖像2進行邊緣提取,結果如圖3、圖4所示。圖3(a)、圖4(a)為閾值3×3的邊緣提取結果,圖3(b)、圖4(b)為閾值為1×1的邊緣提取結果。由圖3、圖4可以看出,閾值選擇3×3時效果均優于閾值為1×1時的結果,當閾值為3×3時,所提取的邊緣圖噪聲較少,可用于后續的集成電路互聯線工作。因此,該算法邊緣提取閾值選擇3×3。

圖3 圖像1邊緣提取結果

圖4 圖像2邊緣提取結果
Hough變換的算法流程如圖5所示。首先,輸入通過Canny邊緣提取過后的圖像;其次,將圖像空間基于Hough變換轉換至參數空間,設定所提取集成電路互聯線的閾值,判斷其是否滿足閾值,若滿足閾值則提取互聯線信息并清零互聯線上的極值點以及閾值點;再次,判斷是否重復提取互聯線;最后,輸出未重復的互聯線信息。

圖5 Hough變換算法流程圖
使用Hough變換提取到的集成電路互聯線圖像如圖6所示。因為集成電路互聯線長短參差不齊,無法確定線路長度的閾值,所以在Hough變換提取線段時將起點和終點閾值選取為全圖像長度最大值。由圖6可以看出,所提取的互聯線線段橫跨全圖像,造成提取的互聯線過長。同時,由于一些干擾,造成集成電路互聯線存在錯檢現象。對圖像中提取出的線段進行篩選,最終確定集成電路互聯線信息。

圖6 Hough變換提取的線段
利用Hough變換算法對集成電路互聯線提取后,集成電路線段集合包含較多過長的線段,并且由于噪聲的影響,在提取過程中,也會出現誤提取的現象。為了得到真實的集成電路互聯線信息,使用CNN對集成電路互聯線信息進行篩選。
CNN可以自動構造特征,具有特征表達能力強、健壯性高等優點。設計一個基于CNN的線段分類器對線段集合進行篩選。利用線段的信息可以獲取線段的感受域。感受域中的信息為線段所在位置的空間信息,互聯線線段和非互聯線線段所處的感受域不同。基于這種假設,對線段的分類轉換為對線段感受域的分類結果。感受域即在圖中標注出線段的起點Q(xmin,ymin),線段終點Z(xmax,ymax),線段斜率a,線段截距b。
已知線段的起點和終點之后,使用公式y=ax+b即可得出線段斜率以及截距。
(1)數據集。使用正確的線段感受域作為正樣本,使用多提取或錯誤提取的線段感受域為負樣本。為了獲得更高的線段分類性能,借助更多的數據來訓練網絡,使用一張集成電路圖片,每條線段可以提取出不同的感受域,從而擴增數據。
網絡樣本分布如表1所示。表1中,樣本總數為1 500個,其中正樣本750個,負樣本750個;訓練集樣本總數為1 200個,正樣本600個,負樣本600個;測試集樣本總數為300個,正樣本150個,負樣本150個。

表1 網絡樣本分布
神經網絡中,作為數據集中部分樣本代表的圖像信息如圖7所示。圖7(a)為負樣本感受與代表的圖像信息,圖7(b)為正樣本展示的圖像信息。負樣本為使用Hough變換提取的非互聯線信息的感受域,正樣本為Hough變換提取的集成電路互聯線真實信息圖像的感受域。

圖7 數據集圖像
(2)模型介紹。CNN參數如表2所示。

表2 CNN參數
CNN結構如圖8所示。網絡結構為卷積層與池化層交替構成,網絡中C1、C2為卷積層,P1、P2為最大池化層。第一個卷積層C1的卷積核大小為5×5,通道數為32,滑動窗口步長為1×1;第二個卷積層C2的卷積核大小為2,通道數為64,步長為1×1。最大池化層P1、P2核大小為2×2,步長為2×2。P2產生的5×5×128的特征向量將傳入全鏈接層。

圖8 CNN結構圖
(3)模型訓練。網絡輸入模型訓練結果如圖9所示。由圖9可知,使用CNN訓練次數越多,誤差均方根越小;文本正確率為90.5%,誤檢率為4.25%(正確率與誤檢率和不為1,二者之間沒有必然關系)。

圖9 網絡輸入模型訓練結果
根據感受域信息在圖像上進行標注,如圖10所示。互聯線信息提取正確的線路為圖10中的白線,錯誤信息為圖10中所示的灰線。

圖10 標注集成電路互聯線圖片
剔除錯誤線段的互聯線信息如圖11所示,去除背景后的集成電路圖像信息如圖12所示。對比集成電路圖像可以得出,在線路篩選環節,提取的集成電路互聯線信息與圖像中的互聯線信息誤差低于0.1 mm。原因為在標注正樣本和負樣本時,可能產生偏差。

圖11 剔除錯誤線段的互聯線信息

圖12 去除背景后的集成電路互聯線信息
使用Hough變換對集成電路圖像中的互聯線進行提取時,互聯線長度不一,線段長度閾值難以確定,并且可能發生互聯線誤提取的狀況。為此,將線段長度閾值均設為最大進行預提取,標定圖像中的集成電路互聯線線段的感受域為正樣本,標定圖像中的集成電路非互聯線線段的感受域為負樣本,使用CNN進行訓練,最終得到集成電路互聯線信息。結果表明,該方法所得集成電路互聯線信息可以用于集成電路的質量檢查、故障診斷。但是,該方法僅針對一種布線金屬材料的集成電路進行互聯線提取工作,而集成電路集成線路材料多種多樣,希望后續有更多研究針對不同材料的集成電路互聯線提取。