魏鵬
(中國(guó)電子科技集團(tuán)公司第十一研究所,北京100015)
集成電路(IC)芯片生產(chǎn)過(guò)程中往往要經(jīng)歷數(shù)十道甚至上百道工藝處理過(guò)程。在流片過(guò)程中,有許多因素會(huì)造成IC芯片質(zhì)量受損。所以在工藝線上往往會(huì)在各個(gè)工藝節(jié)點(diǎn)完成后增加一個(gè)質(zhì)檢環(huán)節(jié)。通過(guò)人工在顯微鏡下目測(cè)芯片圖形線條的完好程度,間接地判斷芯片有無(wú)受損情況,從而達(dá)到對(duì)芯片進(jìn)行中間檢驗(yàn)和質(zhì)量把關(guān)的目的。另外,近年來(lái)在一些特殊的行業(yè),如航空航天,由于對(duì)IC芯片的封裝體積、散熱效率等因素非常敏感,因此不采用封裝好的IC芯片,而是直接使用未經(jīng)過(guò)封裝的芯片,即稱為裸芯片。在裸芯片使用前,必須對(duì)每顆裸芯片進(jìn)行檢測(cè),檢測(cè)的方法也是目視鏡檢。這一檢測(cè)環(huán)節(jié)對(duì)航空航天部件、裝備的可靠性保障來(lái)說(shuō)尤為重要。
本文主要研究了采用何種技術(shù)方法對(duì)IC芯片圖形缺陷進(jìn)行可靠、有效、快速地識(shí)別與檢測(cè)。論述的主要內(nèi)容包括介紹國(guó)際上先進(jìn)的幾種圖形圖像識(shí)別檢測(cè)技術(shù),分析比較了各自的技術(shù)特點(diǎn)。
在IC芯片的生產(chǎn)過(guò)程中,由于生產(chǎn)環(huán)境不理想、制造工藝不完善等問(wèn)題,IC芯片表面會(huì)出現(xiàn)如劃痕、外來(lái)物污染、短路、斷路等各種缺陷問(wèn)題。這些缺陷不僅影響元器件的外觀,甚至?xí)绊懺骷目煽啃?,?duì)元器件的工作壽命產(chǎn)生重大影響,因此芯片的表面質(zhì)量檢測(cè)是值得重視的質(zhì)檢過(guò)程。
目前在大多數(shù)集成電路生產(chǎn)線上,IC芯片測(cè)試是通過(guò)探針臺(tái)和測(cè)試儀兩種設(shè)備聯(lián)合來(lái)完成的。它僅限于對(duì)已經(jīng)具有完全的電路功能的成品芯片進(jìn)行電氣功能的實(shí)際加電測(cè)試。但這種方法不能對(duì)尚未具備完全功能的前工藝流片節(jié)點(diǎn)上的芯片進(jìn)行半成品芯片測(cè)試,因此具有一定的使用局限性。
基于卷積神經(jīng)網(wǎng)絡(luò)的IC芯片圖形缺陷檢測(cè)是通過(guò)對(duì)IC芯片經(jīng)光學(xué)系統(tǒng)成像后,進(jìn)行圖像采集,然后利用計(jì)算機(jī)算法對(duì)芯片的圖形圖像進(jìn)行識(shí)別、分析、歸類,以達(dá)到芯片缺陷檢測(cè)的目的。因此這種方法可檢測(cè)的芯片對(duì)象不再拘泥于已具有完全電路功能的成品芯片,而且能對(duì)IC生產(chǎn)線上各工藝節(jié)點(diǎn)的所有對(duì)半成品或成品芯片進(jìn)行檢測(cè),具有適用范圍寬,通用性好,測(cè)試項(xiàng)目組態(tài)靈活,運(yùn)行成本低等特點(diǎn)。它屬于一種間接的質(zhì)檢方法,對(duì)及早發(fā)現(xiàn)芯片缺陷,避免成本浪費(fèi)有極大的意義。
過(guò)去傳統(tǒng)芯片的缺陷檢測(cè)方法是通過(guò)人工使用高分辨率數(shù)字或光學(xué)顯微鏡進(jìn)行目測(cè)來(lái)完成的。該方法不足之處在于:人工操作容易疲勞,檢測(cè)精度低,進(jìn)而影響到芯片的目視質(zhì)檢結(jié)果。而且受到人眼空間和時(shí)間分辨率的限制,人工檢測(cè)具有主觀性強(qiáng)、不確定性大的缺點(diǎn),很難滿足現(xiàn)代工業(yè)高精度、高效率的檢測(cè)需求?,F(xiàn)代的檢測(cè)方法是用計(jì)算機(jī)圖形圖像自動(dòng)識(shí)別技術(shù),即機(jī)器視覺(jué)技術(shù),來(lái)代替人工目視鏡檢。
隨著現(xiàn)代圖像處理技術(shù)及相關(guān)信息技術(shù)的發(fā)展,基于光學(xué)圖像傳感的表面缺陷機(jī)器視覺(jué)已廣泛應(yīng)用于自動(dòng)光學(xué)檢查系統(tǒng)中,提高了缺陷檢測(cè)的準(zhǔn)確性。有許多專家學(xué)者對(duì)于集成電路缺陷檢測(cè)技術(shù)進(jìn)行了研究。目前,在計(jì)算機(jī)視覺(jué)技術(shù)領(lǐng)域,關(guān)于集成電路缺陷的檢測(cè)方法主要基于傳統(tǒng)圖像處理的檢測(cè)方法、傳統(tǒng)機(jī)器學(xué)習(xí)法以及深度卷積神經(jīng)網(wǎng)絡(luò)法。
基于傳統(tǒng)圖像處理的檢測(cè)方法主要是對(duì)目標(biāo)圖像進(jìn)行閾值分割、特征提取等操作實(shí)現(xiàn)缺陷的識(shí)別、分割與檢測(cè)[1];基于傳統(tǒng)機(jī)器學(xué)習(xí)的檢測(cè)方法則是通過(guò)淺層神經(jīng)網(wǎng)絡(luò)、SVM(Support Vector Machine)支持向量機(jī)[2],使計(jì)算機(jī)能夠自動(dòng)學(xué)習(xí)或發(fā)現(xiàn)目標(biāo)圖像中的缺陷特征,實(shí)現(xiàn)缺陷檢測(cè);基于深度卷積神經(jīng)網(wǎng)絡(luò)的檢測(cè)方法是利用CNN(Convolutional Neural Network)卷積神經(jīng)網(wǎng)絡(luò)構(gòu)建適合于缺陷圖形檢測(cè)的深度模型[3],實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)識(shí)別、缺陷分類及判別,進(jìn)而對(duì)產(chǎn)品質(zhì)量進(jìn)行評(píng)判。本文對(duì)目前在IC芯片圖形缺陷檢測(cè)領(lǐng)域所采用的幾種檢測(cè)方法進(jìn)行了分析比較。
基于傳統(tǒng)圖像處理的缺陷檢測(cè)方法一般可以通過(guò)圖像閾值分割,圖像邊緣檢測(cè)和連通域生長(zhǎng)等方法實(shí)現(xiàn)。集成電路缺陷檢測(cè)通??梢苑譃橐韵聨讉€(gè)步驟:第一步,是對(duì)圖像的獲取與預(yù)處理,就是對(duì)目標(biāo)圖像進(jìn)行圖像增強(qiáng)、去噪濾波、修復(fù)及直方圖分析等處理;第二步,是對(duì)目標(biāo)圖像進(jìn)行邊緣檢測(cè)根據(jù)圖像內(nèi)容進(jìn)行閾值分割,提取圖像的特征信息,邊緣檢測(cè)常用canny的邊緣檢測(cè)算法,閾值分割可以根據(jù)圖像的直方圖特征選擇自適應(yīng)閾值分割法[4]、OTSU[5]等閾值選擇算法;第三步,是通過(guò)目標(biāo)圖像中缺陷特征確定缺陷的位置和形態(tài),最終進(jìn)行缺陷分類識(shí)別。
傳統(tǒng)的機(jī)器學(xué)習(xí)缺陷檢測(cè)主要是通過(guò)從已有的大量圖像數(shù)據(jù)中通過(guò)學(xué)習(xí)找出數(shù)據(jù)中蘊(yùn)含的知識(shí)和規(guī)則,然后對(duì)新的目標(biāo)圖像做出預(yù)測(cè)。一般可以分為監(jiān)督學(xué)習(xí)和無(wú)監(jiān)督學(xué)習(xí)兩類。國(guó)內(nèi)外大部分關(guān)于缺陷檢測(cè)方法的研究都是基于監(jiān)督學(xué)習(xí),即通過(guò)已標(biāo)記的缺陷圖像集,學(xué)習(xí)得到一個(gè)參數(shù)模型,當(dāng)輸入一個(gè)新的目標(biāo)圖像可以根據(jù)得到的參數(shù)模型預(yù)測(cè)其結(jié)果。因?yàn)榧呻娐沸酒瑒澓邸⑽廴?、短路、斷路等缺陷特征、尺度多樣。缺陷檢測(cè)的重點(diǎn)集中在特征提取、特征選擇和分類器設(shè)計(jì)三個(gè)方面。常見(jiàn)的監(jiān)督學(xué)習(xí)方法主要包括SVM支持向量機(jī),ANN(Artificial Neural Network)人工神經(jīng)網(wǎng)絡(luò)[6],隨機(jī)森林[7]和決策樹(shù)[8]等。
深度學(xué)習(xí)DL(Deep Learning)是機(jī)器學(xué)習(xí)的一個(gè)分支,卷積神經(jīng)網(wǎng)絡(luò)作為深度學(xué)習(xí)的代表性算法之一,近些年來(lái)在圖像分割、識(shí)別、分類領(lǐng)域表現(xiàn)突出,無(wú)論從檢測(cè)率還是檢測(cè)精度方面都具有一定的優(yōu)勢(shì),因此本文對(duì)基于CNN的集成電路芯片缺陷檢測(cè)方法進(jìn)行了詳細(xì)地論述。
傳統(tǒng)的缺陷檢測(cè)方法是基于圖像處理,但這些方法只能在特定的檢測(cè)條件下(如:缺陷輪廓明顯,對(duì)比度強(qiáng),噪聲低,尺度固定,特定光照)檢測(cè)出缺陷,本文從實(shí)際工業(yè)環(huán)境中捕獲的輸入圖像,通過(guò)卷積神經(jīng)網(wǎng)絡(luò)(CNN)將芯片缺陷的輸入圖像通過(guò)機(jī)器學(xué)習(xí)的方法,經(jīng)過(guò)訓(xùn)練生成分類模型,將芯片缺陷劃為不同的特定分類;再通過(guò)測(cè)試集驗(yàn)證各種條件下的工業(yè)芯片缺陷檢測(cè)效果。
卷積神經(jīng)網(wǎng)絡(luò)(CNN)是一種專門用來(lái)處理類似網(wǎng)格結(jié)構(gòu)的數(shù)據(jù)神經(jīng)網(wǎng)絡(luò),圖像數(shù)據(jù)可以看作二維的像素網(wǎng)格?;A(chǔ)的卷積神經(jīng)網(wǎng)絡(luò)是由卷積層(convolution layer)、非線性激活層(Nonlinear activation layer)、池化層(pooling layer)、全連接層(FC layer)構(gòu)成,一般對(duì)于CNN來(lái)說(shuō)非線性激活層中的激活函數(shù)一般選擇修正線性單元Relu(Rectified Linear Unit),和單/多通道圖像卷積運(yùn)算一起統(tǒng)稱卷基層。CNN的基本架構(gòu)如圖1所示。
圖1 CNN基本架構(gòu)(缺陷檢測(cè))
Faster R-CNN[9]在CNN架構(gòu)基礎(chǔ)上進(jìn)行了優(yōu)化,將特征抽?。╢eature extraction)、候選區(qū)建議生成(proposal)、標(biāo)記矩形回歸(bounding box regression)、目標(biāo)分類(classification)整合在一個(gè)網(wǎng)絡(luò)中,使得綜合性能有較大提高,在檢測(cè)速度方面尤為明顯。因此本文選擇了Faster R-CNN架構(gòu)來(lái)實(shí)現(xiàn)集成電路缺陷檢測(cè),整體架構(gòu)如圖2所示。
圖2 Faster R-CNN整體架構(gòu)
Faster R-CNN主要分為4部分:
(1)數(shù)據(jù)Dataset:提供符合要求的數(shù)據(jù)格式(常見(jiàn)數(shù)據(jù)集數(shù)據(jù)集VOC、COCO);
(2)特征提取器Extractor:利用預(yù)訓(xùn)練的網(wǎng)絡(luò)提取圖片特征features(常見(jiàn)的特征提取卷積神經(jīng)網(wǎng)絡(luò),如ZF、VGG16[10],ResNet50、ResNet101[11]);
(3)區(qū)域建議網(wǎng)絡(luò)RPN(Region Proposal Network):負(fù)責(zé)提供候選區(qū)域rois(region of interests),利用提取的特征(feature)經(jīng)過(guò)RPN網(wǎng)絡(luò),找出一定數(shù)量的rois;
(4)候選區(qū)回歸RoIHead:分類與回歸,負(fù)責(zé)對(duì)候選區(qū)域rois進(jìn)行分類,與ground truth(真實(shí)標(biāo)簽)數(shù)據(jù)對(duì)比進(jìn)行微調(diào),針對(duì)RPN找出的rois,判斷它是否包含目標(biāo),并修正框的位置和坐標(biāo)。
集成電路缺陷分類的流程涉及兩個(gè)模塊:缺陷特征提取和缺陷分類。CNN模型與人類學(xué)習(xí)識(shí)別物體的過(guò)程是相似的。CNN模型通過(guò)大量已標(biāo)記的訓(xùn)練集圖像來(lái)捕獲缺陷特征,隨著深度學(xué)習(xí)層級(jí)的加深,它接觸學(xué)習(xí)到更多的缺陷特征,從而學(xué)會(huì)了分類缺陷,就像一個(gè)孩子通過(guò)感知周圍環(huán)境,隨著他的成長(zhǎng),他接觸更多的數(shù)據(jù),從而學(xué)會(huì)了識(shí)別物體。卷積神經(jīng)網(wǎng)絡(luò)就是通過(guò)識(shí)別圖像的特征來(lái)進(jìn)行提取并基于有標(biāo)簽數(shù)據(jù)進(jìn)行分類的。
理論上,隨著卷積神經(jīng)網(wǎng)絡(luò)深度增加,網(wǎng)絡(luò)的準(zhǔn)確度應(yīng)該同步增加。但是網(wǎng)絡(luò)深度增加會(huì)帶來(lái)兩個(gè)問(wèn)題:
(1)梯度消失/爆炸問(wèn)題:隱層的增加意味著更多的參數(shù)需要確定,根據(jù)逆向傳播原理,梯度是從后向前傳播,當(dāng)網(wǎng)絡(luò)深度比較大時(shí)比較靠前的層梯度會(huì)很小,學(xué)習(xí)基本就停止了。
(2)優(yōu)化問(wèn)題更困難:簡(jiǎn)單地去增加網(wǎng)絡(luò)深度與下文提到的殘差網(wǎng)絡(luò)ResNet相比反而會(huì)出現(xiàn)更高的訓(xùn)練誤差。殘差網(wǎng)絡(luò)設(shè)計(jì)一種殘差模塊讓我們可以訓(xùn)練更深的網(wǎng)絡(luò)。
在單純的前向傳播基礎(chǔ)上深度殘差網(wǎng)絡(luò)增加了躍層連接(如圖3所示)。實(shí)踐表明,深度殘差網(wǎng)路可以有效地改善“深度”網(wǎng)絡(luò)的性能。
圖3 躍層連接
圖4(A、B、C、D為4個(gè)不同的網(wǎng)絡(luò)塊,箭頭代表數(shù)據(jù)流)解釋了為什么看似簡(jiǎn)單的躍層連接操作能夠解決深度網(wǎng)絡(luò)中梯度消失的問(wèn)題。假設(shè)網(wǎng)絡(luò)輸入從A到D經(jīng)歷兩次前向傳播以及一次躍層連接,根據(jù)后向傳播的鏈?zhǔn)椒▌t:
圖4 躍層連接解決梯度消失問(wèn)題原理圖
即使在A-B-C的后向傳播中出現(xiàn)梯度衰減的情況,D處的梯度依然能夠直接傳遞到A,也就是實(shí)現(xiàn)了梯度的跨層傳播。
舉例:H(x)=F(x)+x
假設(shè)x=2.5,經(jīng)過(guò)n個(gè)conv層處理F(x)=0.1,因此H1(x)=2.6,
x=2.6,經(jīng)過(guò)n個(gè)conv層處理F(x)=0.2,因此H2(x)=2.7。
由圖5及以上實(shí)例可以看出由于殘差的引入去掉了主體部分,從而突出了微小的變化。因此從應(yīng)用場(chǎng)景來(lái)看,對(duì)于像集成電路缺陷這樣的微小的目標(biāo)ResNet比較適合,因此選擇了基于殘差的faster R-CNN架構(gòu)。
圖5 殘差網(wǎng)絡(luò)示意圖
同時(shí)殘差網(wǎng)絡(luò)ResNet是當(dāng)今應(yīng)用最為廣泛的特征提取網(wǎng)絡(luò),不同深度的殘差網(wǎng)絡(luò)卷積核也有所不同(如圖6所示),在基礎(chǔ)的CNN拓?fù)浣Y(jié)構(gòu)上引入了跨層連接和批量正則化(batch normalization),有效地抑制了梯度消失/爆炸現(xiàn)象。
圖6 不同深度的ResNet殘差網(wǎng)絡(luò)
實(shí)驗(yàn)在intel corei7-8550u CPU,4.00 GHz內(nèi)存8G,64位的操作系統(tǒng)的硬件環(huán)境下執(zhí)行,同時(shí)搭載了NVIDA GTX980顯卡進(jìn)行GPU加速,軟件實(shí)現(xiàn)平臺(tái)采用OpenCV4.0+PyTorch1.6+Python3.8搭建,由于本實(shí)驗(yàn)用于訓(xùn)練的樣本數(shù)量只有幾千張,通常目標(biāo)缺陷檢測(cè)的樣本需要上萬(wàn)張的量級(jí)。
本文通過(guò)OpenCV對(duì)原數(shù)據(jù)集進(jìn)行了缺陷尺度變化、位移等圖像處理,將原有圖像樣本總數(shù)從4 000張擴(kuò)充至10 000張。然后按4:1分配比例將數(shù)據(jù)集劃分為:訓(xùn)練集8 000個(gè)樣本,測(cè)試集2 000個(gè)樣本。然后將訓(xùn)練集進(jìn)一步劃分為訓(xùn)練集和驗(yàn)證集,比例為3∶1,最終訓(xùn)練集6 000個(gè)樣本,驗(yàn)證集2 000個(gè)樣本,測(cè)試集2 000個(gè)樣本。
考慮到模型訓(xùn)練時(shí)間及算力的要求(如表1所示),本試驗(yàn)的機(jī)器學(xué)習(xí)模型選擇了含有ResNet101殘差網(wǎng)絡(luò)的Faster R-CNN,本質(zhì)上還是屬于卷積神經(jīng)網(wǎng)絡(luò)。ResNet101殘差網(wǎng)絡(luò)作為圖像的特征提取器,一般情況下要求的訓(xùn)練圖像規(guī)格大小為224×224的分辨率。
表1 流行的深度學(xué)習(xí)模型的大小及算力要求
接下來(lái)進(jìn)行訓(xùn)練樣本的圖像預(yù)處理工作,通過(guò)PyTorch框架下的AdaptiveAvgPool2d(二元自適應(yīng)均值匯聚層)函數(shù),將集成電路的6 000個(gè)訓(xùn)練集輸入樣本圖像從分辨率為500×500轉(zhuǎn)化到ResNet101網(wǎng)絡(luò)需要的224×224的分辨率。然后對(duì)224×224的分辨率訓(xùn)練集圖像進(jìn)行歸一化操作,每個(gè)通道分別減去訓(xùn)練集該通道平均值。
ResNet101殘差網(wǎng)絡(luò)的結(jié)構(gòu)配置,如圖7所示。
圖7 ResNet101網(wǎng)絡(luò)結(jié)構(gòu)配置圖
模型應(yīng)用過(guò)程中,首先對(duì)訓(xùn)練集再ResNet101網(wǎng)絡(luò)中進(jìn)行微調(diào),訓(xùn)練出新的網(wǎng)絡(luò)層參數(shù)之后利用先用驗(yàn)證集進(jìn)行模型訓(xùn)練評(píng)價(jià),再通過(guò)測(cè)試集進(jìn)行驗(yàn)證。由于模型訓(xùn)練的時(shí)間比較長(zhǎng),在7~8個(gè)小時(shí),訓(xùn)練過(guò)程中的迭代次數(shù)本文選擇了10,每次梯度下降的樣本數(shù)(batch_size)設(shè)置為200,學(xué)習(xí)率設(shè)置為0.01。
為了對(duì)比卷積神經(jīng)網(wǎng)絡(luò)的在集成電路芯片缺陷探測(cè)的準(zhǔn)確率,另外選取了基于傳統(tǒng)圖像處理(圖像閾值分割+形態(tài)學(xué)+決策樹(shù))的方法,基于傳統(tǒng)機(jī)器學(xué)習(xí)的方法(圖像預(yù)處理+支持向量機(jī)SVM)的方法作為對(duì)比如表2所示。
表2 缺陷檢測(cè)方法性能對(duì)比
根據(jù)圖8的測(cè)試結(jié)果顯示:03缺陷劃痕出現(xiàn)的概率最大,為0.483,因此判定該測(cè)試芯片缺陷為劃痕。與人工判別的結(jié)果一致,而且缺陷的位置也通過(guò)bounding box標(biāo)記了出來(lái)。
圖8 測(cè)試結(jié)果
實(shí)驗(yàn)表明,基于卷積神經(jīng)網(wǎng)絡(luò)的方法對(duì)IC芯片圖形缺陷進(jìn)行識(shí)別是完全可行的,而且具有較高的識(shí)別準(zhǔn)確率。它對(duì)缺陷類型的識(shí)別和區(qū)分,是通過(guò)人工智能的機(jī)器自動(dòng)學(xué)習(xí)來(lái)實(shí)現(xiàn)的,符合當(dāng)前智能裝備技術(shù)發(fā)展應(yīng)用的潮流和方向,因此具有先進(jìn)的技術(shù)特征。該缺陷檢測(cè)技術(shù)可以應(yīng)用在實(shí)際的IC芯片缺陷識(shí)別的場(chǎng)景中,擁有較好的應(yīng)用前景。
研究表明,含有殘差網(wǎng)絡(luò)設(shè)計(jì)的卷積神經(jīng)網(wǎng)絡(luò)可以應(yīng)用到集成電路芯片缺陷檢測(cè)領(lǐng)域,而且取得了較好的效果,但由于復(fù)雜工業(yè)條件下影響檢測(cè)準(zhǔn)確率、召回率的因素還有很多,該算法還有繼續(xù)優(yōu)化的空間。卷積神經(jīng)網(wǎng)絡(luò)等深度學(xué)習(xí)的檢測(cè)方法正在逐步取代傳統(tǒng)的人工目測(cè)法,成為元器件表面缺陷檢測(cè)的重要方法,越來(lái)越受到產(chǎn)業(yè)界的重視。
通過(guò)卷積神經(jīng)網(wǎng)絡(luò)在集成電路芯片檢測(cè)領(lǐng)域的研究,有助于進(jìn)一步研發(fā)一種基于深度學(xué)習(xí)的裸芯片表面缺陷檢測(cè)設(shè)備及其分析系統(tǒng),對(duì)提升半導(dǎo)體芯片封裝測(cè)試設(shè)備自主研發(fā)能力具有非常重要的意義。