尹婉婉,張靜,王寧,趙文輝
(沈陽工業(yè)大學機械工程學院,遼寧 沈陽 110870)
現(xiàn)代電子信息行業(yè)的快速發(fā)展,使得電子元件產(chǎn)品在逐漸向微型化、集成化和高可靠性的方向發(fā)展[1].晶片作為當今電子設(shè)備不可缺少的關(guān)鍵器件,市場需求量日益增加,為了實現(xiàn)高效率的檢測可以采用流水線自動化檢測的方式,為了讓機械手準確的抓住晶片,需要對生產(chǎn)線上的晶片進行精確定位.吳曉[2]提出一種LED 芯片橢圓定位方法,該方法通過徑向幅射線的梯度變化閾值求出特征點,根據(jù)特征點擬合出橢圓,求出LED 芯片的定位中心和旋轉(zhuǎn)角,但有時橢圓定位會比較困難,因為物體在視覺系統(tǒng)中的顯示方式會受到多種變量的影響.蔡競[3]提出的基于矩形擬合的貼片定位算法,得到貼片的中心偏移量和偏轉(zhuǎn)角度,該算法簡單準確,但得到的坐標是整像素級.Chen 等[4]提出一種基于波束突破法的晶片中心位置定位方法,該方法利用兩個光學傳感器的時間序列信號計算晶圓中心,但在測量過程中,缺口通過傳感器對定位精度有輕微影響.
基于以上晶片中心位置檢測存在的問題, 本文提出一種基于膨脹和Facet 亞像素算法的機器視覺精密測量方法, 主要利用數(shù)字圖像處理技術(shù)對采集的定位盤圖像和晶片圖像進行自適應(yīng)閾值分割、Canny 像素級邊緣檢測、膨脹、Facet 亞像素邊緣提取等處理,完成對晶片定位盤和晶片中心的定位,確定晶片定位盤的中心位置和位置偏差、晶片的中心位置及偏轉(zhuǎn)角度,方便機械手的抓取.
檢測定位盤中心位置和位置偏差的原理圖如圖1 所示.
圖1 檢測定位盤中心位置和位置偏差原理Fig.1 Schematic diagram of detecting the center positionand position deviation of the locating disk
檢測晶片中心位置和偏轉(zhuǎn)角度的原理圖如圖2 所示.
圖2 檢測晶片中心位置和偏轉(zhuǎn)角度原理Fig.2 Schematic diagram of detecting wafer center positionand deflection angle
閾值分割是根據(jù)灰度值的分布特性設(shè)定某一閾值來進行圖像分割的一類方法.通過比較灰度圖像中的各像素值與閾值的大小關(guān)系,把灰度圖像中的各像素值分成大于閾值和小于閾值兩部分,轉(zhuǎn)化為只有0 和1 兩個灰度級的圖像,即黑與白[5].閾值的選擇直接決定了分割效果的好壞,所以,閾值分割方法的重點在于閾值的選擇.閾值選擇的原則是既要保存圖像信息,又要盡可能減少背景的干擾.
本文采用模式分類的思路來尋找合適的閾值,即類內(nèi)數(shù)據(jù)盡量密集,類間盡量分離[6].按照這個思路,把所有的像素分為兩類,屬于“同一類別”的對象具有較大一致性,屬于“不同類別”的對象具有較大的差異性.本文遵循類間方差最大的原則,運用最大類間方差法[7-8](OTSU)來對進行自適應(yīng)閾值分割.
Canny 邊緣檢測算子具有3 個優(yōu)異的性能[9-11]:
(1)高信噪比.意味著當檢測到邊緣時,將非邊緣點確定為邊緣點的概率最低.
(2)定位性能更好.提取邊緣時,提取的邊緣線應(yīng)位于實際邊緣線的中心.
(3)對單個邊緣的獨特響應(yīng),最大限度地抑制假邊緣.
Canny 邊緣檢測的基本原理是先利用二維高斯函數(shù)任意方向上的一階導數(shù)對圖像f(x,y)進行卷積濾波,然后對濾波后的圖像尋找圖像梯度的局部極大值作為邊緣.邊緣檢測的具體步驟如下:
步驟1:采用二維高斯函數(shù)對圖像進行高斯平滑;
步驟2:計算濾波后圖像的幅值和方向;
步驟3:對梯度幅值進行最大值抑制,找出梯度圖像中局部極值點,非局部極大值點置為零;
步驟4:采用雙閾值法檢測連接邊緣.
由于獲取的定位盤圓邊緣是不連續(xù)的,因此對其進行圖像膨脹處理,使其圓形邊緣數(shù)據(jù)連續(xù).膨脹是一種基于數(shù)學形態(tài)的邊緣信息提取方法[12],通過定義的結(jié)構(gòu)元素,與原圖二值圖像進行邏輯運算,輸出運算結(jié)果,實現(xiàn)圖像的膨脹,使其連續(xù).
本文采用基于Facet 曲面擬合的亞像素邊緣檢測算法提取亞像素邊緣,該算法抗噪能力強、定位精度高[13-14].
本文采用的Facet 模型為2D Facet 模型,如式(1)所示
式(1)中:x,y是像素的坐標,是未知系數(shù).
為了保證算法的位置是不變的,以粗邊緣點為原點,建立一個局部坐標系,則亞像素點在粗邊緣像素中的位置如圖3 所示.
圖3 亞像素邊緣點在粗邊緣像素中的位置Fig.3 Position of sub-pixel edge points in coarse edge pixels
則有
式(2)中:ρ是亞像素邊緣點到坐標原點的距離,α是梯度方向.將式(2)帶入式(1),可得
多項式的一階、二階導數(shù)分別為式(4)和式(5)
梯度模值為式(7)
將式(6)、式(8)代入式(9),可求得邊緣點的亞像素坐標.
搭建視覺測量系統(tǒng)所采用的主要硬件為:Basler PiA2400-17 全幀型面陣CCD 黑白相機,其分辨率為2448 像素×2050 像素;TC-2348 雙遠心鏡頭,視野范圍為48 mm×36 mm,景深為20 mm,畸變率<0.1%;LED 平行光源,照明方向為背向照明,光源控制器采用脈沖寬度調(diào)制方法,分1000 級調(diào)節(jié),對應(yīng)光源電源電壓為0~24 V.
晶片定位盤作為放置晶片的基準平臺,在檢測晶片前,需要對其位置進行定位.晶片定位盤主要分為單圓晶片定位盤和多圓晶片定位盤兩種情況,如圖4 所示.
圖4 晶片定位盤Fig.4 Wafer positioning disk
具體步驟如下:
步驟1 對定位盤圖像進行自適應(yīng)閾值分割,并通過Canny 算法提取晶片圖像中的所有像素級邊緣數(shù)據(jù);
步驟2 由于獲取的定位盤圓邊緣是不連續(xù)的,因此對其進行圖像膨脹處理,使其圓形邊緣數(shù)據(jù)連續(xù);
步驟3 利用Facet 曲面模型對圖像進行亞像素邊緣提取;
步驟4 由于獲取的定位盤圖像可能存在多個同心圓,從內(nèi)向外逐步搜索各層圓數(shù)據(jù),并對各同心圓邊緣分別進行擬合,確定其中心位置,最終以內(nèi)環(huán)權(quán)重為主,得到定位盤中心位置;
步驟5 將定位盤在圖像中的中心位置與圖像中心進行比較,得到定位盤的位置偏差.
定位盤閾值分割的圖像如圖5 所示.
圖5 晶片定位盤閾值分割圖像Fig.5 Wafer location disk threshold segmentation image
利用Canny 算法提取的定位盤邊緣如圖6 所示.
圖6 Canny 算法提取的定位盤像素級邊緣Fig.6 Pixel-level edgesofwafer positioning disk extracted by Canny algorithm
定位盤的Facet 亞像素邊緣如圖7 所示.
圖7 定位盤的Facet 亞像素邊緣Fig.7 Facet sub-pixel edgesofwafer positioning disk
由圖5、圖6、圖7可以看出,采用本文提出的方法對晶片定位盤進行處理后,可以準確得到定位盤的圓邊緣,保證圓邊緣的連續(xù)性,同時可以得到Facet 亞像素邊緣中同一圓上數(shù)據(jù),即圖像中的紅色標記點,將這些數(shù)據(jù)進行最小二乘圓擬合[15],最終確定晶片定位盤的中心位置,將其和圖像中心作比較,如表1所示.
表1 定位盤中心位置和圖像中心Tab.1 Locating disk center positionand image center
從表1可以看出,檢測出了單圓定位盤的位置偏差為1.5470 像素,多圓定位盤的中心位置為1.1563像素;整個圖像處理時間約為140 ms.
不同系列晶片的大小及樣式均不相同,且可能出現(xiàn)晶片沒有鋪滿定位盤的情況,為了準確檢測晶片的位置,需要對獲取的晶片圖像進行處理,區(qū)分出視野范圍內(nèi)的晶片個數(shù),并確定距離圖像中心最近的晶片坐標及偏轉(zhuǎn)角度.具體步驟如下:
步驟1 對于獲取的晶片圖像進行自適應(yīng)閾值分割,并通過Canny 算法提取晶片圖像中的所有像素級邊緣數(shù)據(jù);
步驟2 由于獲取的晶片邊緣是不連續(xù)的,因此對其進行圖像膨脹處理,使晶片邊緣數(shù)據(jù)連續(xù);
步驟3 利用Facet 曲面模型對圖像進行亞像素邊緣提取;
步驟4 對圖像中的連通域進行標記[16],并根據(jù)已知的晶片尺寸找出晶片所在的連通域,確定圖像中的晶片個數(shù),求出各晶片連通域的質(zhì)心所在位置,即晶片的中心位置;
步驟5 計算所有晶片中心位置與圖像中心位置的偏差值,從而確定距離圖像中心最近的晶片;
步驟6 根據(jù)距離圖像中心最近的晶片中心位置向外搜尋晶片的邊緣,確定晶片的橫向邊緣和縱向邊緣,從而求出晶片的偏轉(zhuǎn)角度.
檢測的晶片分布情況主要分為以下3 種情況,如圖8 所示,即視野范圍內(nèi)只有一個晶片、視野范圍內(nèi)有多個晶片、視野范圍內(nèi)有多個晶片且有空余位置.
圖8 晶片分布情況Fig.8 Wafer distribution
對視野內(nèi)單個晶片、視野內(nèi)多個晶片、視野內(nèi)多個晶片且有空余進行自適應(yīng)閾值分割如圖9 所示.
圖9 晶片閾值分割圖像Fig.9 Wafer threshold segmentation image
對視野內(nèi)單個晶片、視野內(nèi)多個晶片、視野內(nèi)多個晶片且有空余利用Canny 算法提取像素級邊緣如圖10 所示.
圖10 Canny 算法提取的晶片像素級邊緣Fig.10 Pixel-level edges ofwaferextracted by Canny algorithm
對視野內(nèi)單個晶片、視野內(nèi)多個晶片、視野內(nèi)多個晶片且有空余利用Facet 曲面模型提取亞像素邊緣,如圖11 所示.
圖11 晶片的Facet 亞像素邊緣Fig.11 Facet sub-pixel edgesofwafer
圖11 中的紅色標記為距離中心最近的晶片邊緣,黑色標記和綠色標記分別為晶片的橫向邊緣和縱向邊緣,位于晶片內(nèi)部的紅色標記點為所求的晶片中心位置.
由圖9、圖10、圖11 看出,采用本文提出的方法能夠準確提取出不同情況下視野范圍內(nèi)的晶片邊緣,得到各晶片的中心位置,求出各中心位置與圖像中心位置的偏差,從而確定距離圖像中心最近的晶片位置,并由該晶片的橫向邊緣和縱向邊緣得到晶片的偏轉(zhuǎn)角度.結(jié)果如表2 所示.
表2 晶片中心位置及偏轉(zhuǎn)角度Tab.2 Wafer center position and deflection Angle
從上述結(jié)果可以看出,采用本文提出的方法能夠?qū)崿F(xiàn)各種晶片的檢測,得到視野范圍內(nèi)距離圖像中心最近的晶片中心位置及偏轉(zhuǎn)角度,其中單個晶片的中心位置為(680.85,518.46),偏轉(zhuǎn)角度為0.0632°;多個晶片中距離圖像最近的晶片中心位置為(693.98,514.56),偏轉(zhuǎn)角度為0.4768°;多個晶片且有空余中距離圖像最近的晶片中心位置為(689.24,811.17),偏轉(zhuǎn)角度為0.2288°;此外圖像處理時間約200 ms,可滿足生產(chǎn)線上對于機械手抓取晶片的要求.
本文提出一種基于膨脹和Facet 算法的機器視覺精密測量方法. 首先對定位盤圖像進行自適應(yīng)閾值分割、Canny 粗邊緣檢測和Facet 亞像素邊緣提取、最小二乘圓擬合等處理后得出中心位置,其中單圓定位盤的中心位置為(687.6732,518.2045),多圓定位盤的中心位置為(691.0811,507.8465).
在此基礎(chǔ)上分別檢測視野內(nèi)單個晶片、多個晶片以及多個晶片且有空余的情況的中心位置,對于視野內(nèi)多個晶片和多個晶片且有空余的情況運用連通域標記的方法來求出晶片個數(shù)和距離圖像中心最近的晶片,求出它的中心位置和偏轉(zhuǎn)角度.整個圖像處理時間約200 ms,可滿足生產(chǎn)線上對機械手抓取晶片的要求.