楊 利,陳柳松,謝永超
(1.湖南鐵道職業(yè)技術學院,湖南 株洲 412000;2.中車株洲所電氣技術與材料工程研究院,湖南 株洲 412000)
集成電路芯片在封裝完成后,需要經過檢測環(huán)節(jié)來確保芯片的品質[1]。檢測環(huán)節(jié)包括電性能檢測和芯片外觀缺陷檢測。芯片外觀缺陷是指對根據(jù)芯片外觀判斷芯片是否存在缺陷,外觀無缺陷的芯片才能進入電性能測試。因此,芯片外觀缺陷檢測在集成電路芯片制造業(yè)中是非常重要的環(huán)節(jié)[2]。傳統(tǒng)的缺陷檢測方法是指人工檢驗芯片外殼是否完整,引腳是否有缺失、引腳間距是否一致等問題[3-5]。由于芯片種類繁雜、引腳較多、間距小等工藝特性,人工檢測存在效率低、誤判率高、不易量化等問題,已經無法適應日趨發(fā)展的工業(yè)領域。
機器視覺是通過機器來代替人眼進行一系列的判斷,可以克服人工檢測存在的效率和準確率低的缺點?;跈C器視覺的芯片缺陷檢測技術是指通過工業(yè)相機實時獲取芯片外形圖像,利用圖像處理算法對圖像進行處理,根據(jù)預設判據(jù)判斷芯片是否存在缺陷。雙球貼片紅外接收頭是一種新型的紅外傳感器芯片,常用于電子遙控器等產品中,生產過程中需要對芯片進行缺陷檢測。其中芯片反面為4個引腳,需要檢測引腳是否均勻、長短是否一致、是否彎曲等。但芯片尺寸非常小(約7*3*3 mm),使得人工檢測難度大,因此用機器視覺檢測技術對該芯片進行引腳缺陷檢測具有很大的實際意義。
機器視覺檢測系統(tǒng)一般由硬件及軟件兩部分組成[6]。硬件部分由光源、工業(yè)相機、鏡頭、計算機等組成,完成圖像的采集功能;軟件部分由圖像處理軟件組成,軟件中的機器視覺算法完成對目標工件的降噪、預處理、特征提取、定位識別以及尺寸檢測等功能[7-8]。工業(yè)相機分普通工業(yè)相機和智能工業(yè)相機,普通工業(yè)相機只負責圖像采集,圖像處理軟件運行在計算機中;智能工業(yè)相機負責圖像采集和圖像處理,采用智能工業(yè)相機的系統(tǒng)不需要額外配置計算機。本系統(tǒng)采用智能工業(yè)相機完成圖像采集和圖像處理。
如圖1所示為系統(tǒng)總體框圖。系統(tǒng)運行時,輸送鏈將待檢測芯片傳輸至相機正下方的光照條件下,芯片反射光源發(fā)出的光后透過鏡頭在工業(yè)相機中成像[9-10];工業(yè)相機采集圖像后自動觸發(fā)圖像檢測算法,實現(xiàn)對芯片的缺陷檢測;識別完成后通過socket通訊協(xié)議發(fā)送給工業(yè)機器人;工業(yè)機器人準確地吸取芯片,把瑕疵品和合格品分類放置到不同區(qū)域。
圖1 系統(tǒng)框圖
工業(yè)相機采用??低暪镜腦86智能相機,分辨率為4 096*2 160,像素為890萬,F(xiàn)PS(幀率)為80 fps,滿足本設計的要求。由于芯片體積僅7*3*3 mm,需采用高倍鏡頭才能放大得到清晰的圖像。另外光源采用圓頂光源,因為圓頂光源將LED環(huán)形光源安裝在碗狀表面內且向圓頂內照射,使得芯片的各個角度得到均勻的照明,不會出現(xiàn)反光不均勻的地方,從而獲得芯片的無影圖像。
工業(yè)機器人采用ABBIRB 360蜘蛛手工業(yè)機器人,拾料范圍達1 130 mm,具備出眾的跟蹤性能,便于與集成視覺軟件實現(xiàn)同步控制,滿足本設計的要求。
芯片的4個引腳位于芯片反面,合格品引腳個數(shù)完整、間距均勻、長短一致。在圖像采集完成后,先進行圖像濾波、二值化等預處理得到對比度強的清晰圖像;然后對圖像進行邊緣檢測得到ROI(感興趣)區(qū)域,并對圖像特征進行提?。蛔詈蟾鶕?jù)引腳個數(shù)判斷引腳是否缺失,根據(jù)引腳間距判斷引腳是否偏移。視覺檢測流程如圖2所示。
圖2 視覺檢測流程圖
2.1.1 濾波
根據(jù)濾除信號頻率的不同,濾波器主要分為高頻濾波器、低頻率濾波器。其中高頻濾波器的主要作用是突出圖像的邊界,低頻濾波器的主要作用是濾除圖像上的噪聲。中值濾波器是一種典型的低頻濾波器,其原理是取圖像中某點的一個鄰域,把該點的值用鄰域中各點值的中值代替,這使得該點值更加接近真實的值,可以消除孤立的椒鹽噪聲點。和均值濾波器相比,在濾除圖像噪聲的同時不會造成圖像細節(jié)模糊,符合本設計的要求。
標準中值濾波器公式為:
g(i,j)=med[f(i)-k,j-1]
(1)
式中,f(i,j)為原始圖像、g(i,j)為濾波后的圖像,(k,l)為鄰域大小,也稱為濾波器的核。核越大濾波效果越好,但圖像的模糊化也會更嚴重。
本文中利用VisionPro軟件中的IPOneImage工具對圖像進行中值濾波處理,在工具中先添加一個N*M的中值濾波器,再將濾波核的大小設為7*7。
2.1.2 灰度化處理
由于本系統(tǒng)相機為彩色相機,當拍攝環(huán)境有顏色時會輸出彩色圖像,這會干擾引腳缺陷檢測效果,因此需先將圖像進行灰度化處理,即將彩色圖像轉換為灰度圖像。
本文中利用VisionPro軟件中的ImageConvert工具進行彩色圖像到灰色圖像的處理。ImageConvert工具的“運行模式”參數(shù):表示圖像顏色空間的轉換算法。本文選擇亮度算法,亮度算法表示從RGB(紅綠藍色彩分量)分量變?yōu)榛叶葓D像時,算法公式是:
Brightnes=0.3*R+0.6*G+0.1*B
(2)
式中,R為彩色圖像的紅色分量,G為綠色分量,B為藍色分量。Brightnes為灰度值。
引腳個數(shù)檢測的基本原理為:找到合格品芯片中的合格引腳,并以此為訓練模板,當待測引腳圖像和訓練模板圖像特征匹配度高時,判斷引腳合格。
VisionPro軟件中的PMAlign工具能根據(jù)訓練模板的特性對目標圖像進行識別和定位。使用該工具時,先在一個選定的搜索區(qū)域內訓練一個模板,然后在連續(xù)的輸入圖像中搜索該模板。PMAlign工具中選擇PatMax圖像定位集成算法。PatMax基于圖像特征而非像素特征,因此可以識別不同角度、不同尺寸的目標。
通過對合格引腳圖片的訓練,可快速搜索到圖像中的引腳,從而分辨出引腳個數(shù)。關鍵參數(shù)設置如圖3所示。其中,由于圖像方向的不確定性,“角度”參數(shù)設置為最大:-180~180°;由于拍攝視角的不同,圖像大小會有所差異,“縮放”參數(shù)設置為:0.8~1.2。由于引腳個數(shù)最大為4,“查找概數(shù)”參數(shù)設置為:4。
圖3 PMAlign工具參數(shù)設置
利用PMAlign工具進行訓練后,能夠準確地找出引腳缺失的瑕疵品,但是實際生產過程中存在引腳完整但引腳彎曲或偏移的瑕疵品,因此需要進一步進行缺陷檢測判斷。
針對引腳個數(shù)為4的芯片需要進一步計算引腳間距,以判斷引腳是否彎曲。假設4個引腳的中心點分別為p0、p1、p2、p3。引腳彎曲時其中心點可能偏移很小,且PMAlign識別時不是按照圖像中引腳的順序進行搜索,因此不能把引腳中心點的距離作為判據(jù)。
如圖4所示,取垂直方向為基準線,設p0和p1兩點連接與基準線之間的角度為a1,p0和p2兩點連接與基準線之間的角度為a2,p0和p3兩點連接與基準線之間的角度為a3。當角度為負值時,先要將角度加上180°轉為正值。
圖4 引腳彎曲判斷原理
(3)
當(3)式成立時,引腳分布均勻且不彎曲,產品為合格品,否則為瑕疵品。
本文利用VisionPro軟件的AnglePonitPonit工具計算兩點形成線與基準線之間的角度,將兩引腳間中心點的角度差作為判據(jù)。
綜上所示,VisionPro的程序如圖5所示:導入圖像;利用ImageConvert工具將圖像轉為灰度圖像;利用IPOneImage工具對圖像進行中值濾波濾除孤立噪聲;利用PMAlign工具實現(xiàn)對引腳的定位和搜索,計算出引腳個數(shù);如果引腳個數(shù)小于4,則判斷芯片為引腳缺失的瑕疵品;如果引腳個數(shù)為4,進一步利用AnglePointPonit工具對引腳中心點的角度進行計算,如果角度偏差大于1°,判斷芯片引腳彎曲或偏移。
圖5 VisionPro程序
相機成功識別芯片后,通過socket協(xié)議發(fā)送數(shù)據(jù)給機器人。機器人與相機通訊步驟為:socket通訊建立及數(shù)據(jù)收發(fā)、數(shù)據(jù)解析、坐標系轉換。
建立機器人與相機的socket通訊,并接收相機數(shù)據(jù)。建立socket通訊時,先要調用socket關閉函數(shù),確保之前的socket通訊關閉,防止數(shù)據(jù)沖突出錯。具體代碼如下所示:
SocketClose socket1;//關閉之前的socket通訊
SocketCreate socket1;//新建一個socket通訊
SocketConnect socket1,"192.168.100.101",1400;//IP尋址
SocketSend socket1Str:="M";
SocketReceive socket1Str:=string1;//接收相機數(shù)據(jù)
WaitTime 0.5;
SocketClose socket1;
數(shù)據(jù)解析目的是提取芯片的位置信息及識別結果。通訊數(shù)據(jù)格式為“x,y,theta,resultOD”,其中x為x坐標;y為y坐標;theta為旋轉角度,result為識別結果(1:合格品;0:瑕疵品)。如“1.23,4.56,7.89,1 武陟县| 新乐市| 招远市| 信阳市| 徐汇区| 历史| 华容县| 太仆寺旗| 睢宁县| 沙田区| 海口市| 泽库县| 阜平县| 东莞市| 岳普湖县| 河北省| 喀喇沁旗| 耒阳市| 平江县| 云安县| 遂平县| 兴宁市| 临澧县| 大丰市| 台北县| 富宁县| 嘉禾县| 甘南县| 贵定县| 苍山县| 左权县| 竹溪县| 临夏市| 张家界市| 通辽市| 漯河市| 蒙自县| 高雄县| 晋城| 泽普县| 五峰|