靳衛(wèi)國,周 莉
(中國電子科技集團公司第四十五研究所,北京101601)
“MATLAB是 Matrix Laboratory的簡稱,是美國MathWorks公司出品的商業(yè)數(shù)學軟件,是一種用于算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計算的高級技術(shù)計算語言和交互式環(huán)境?!薄灾形木S基百科。
MATLAB也是國際公認的優(yōu)秀的科學計算與數(shù)學應用軟件。它適合多學科,多領域的科技應用。它的繪圖能力和數(shù)字圖像處理能力,已成為目前分析數(shù)字圖像的得力工具。
數(shù)字圖像是二維數(shù)組A[M,N],數(shù)組的每個元素與光電傳感器的成像單元一一對應,M為光電傳感器的x方向成像單元的個數(shù),N為y方向成像單元的個數(shù)。
每個成像單元的電荷q'近似等于光強i在時間[0,T]范圍內(nèi)的積分,即:
電荷q'經(jīng)過數(shù)字采樣后,離散為數(shù)值q=f(q')。如果數(shù)字圖像的格式是灰度圖,則圖像上點(m,n)的像素值 A[m,n)]為:
其中,m∈[0,M),n∈[0,N],imn為光電傳感器點(m,n)處的光強。
對于一幅數(shù)字灰度圖像,其離散為函數(shù)f(x,y),即:
其中,x∈[0,M),y∈[0,N]。在不考慮時間積分的因素(即當所有電荷在時間積分為常量)時,上式可簡化為:
式(4)表示了一幅數(shù)字灰度圖的物理意義,即數(shù)字灰度圖是光強在光電傳感器表面的二維積分或二維分布。
半導體專用設備的機器視覺中,一般都采用人工光源。光源種類很多,根據(jù)供電方式可分交流光源和直流光源;其照射方式可分為直射和背光光源;還有同軸光源及側(cè)光源,點光源、面光源及積分光源等等。每種光源因其特性而僅適合特定應用場合。如背光源可以在成像時,使物體輪廓的對比度最佳,卻無法產(chǎn)生物體表面信息;交流光源可以產(chǎn)生較大光強,但光強會有周期性變化;同軸光源可以生成清晰的表面信息,但輪廓對比度較差。因此,要想得到一幅滿意的數(shù)字圖像,首先得設計好光源系統(tǒng)。由式(3)可以看出,評判光源系統(tǒng)就是研究在單位時間內(nèi),光強的分布情況。時間因素是相機快門或曝光時間決定的,這里不做研究,下面主要對式(4)描述的光強二維分布進行研究。
數(shù)字圖像在進行處理時,均要求圖像有較好的對比度及光照均勻度。
圖像對比度C(Contrast)一般指光強最大值與最小值之比,如下式:
對比度較小,說明圖像內(nèi)容(物體輪廓)較模糊,反之,物體輪廓較清晰。清晰的物體輪廓有利于在圖像處理時進行物體辨識及物體形狀檢測。
[注]這里的對比度都是假定鏡頭已經(jīng)聚焦的情況下,不同波長的光所影響的對比度。
光照均勻度U(Uniformity Of Illumination)一般指在單位面積內(nèi),在均勻表面上,任意處光強與中心處光強之比,也可定義為最小光強與光強均值之比,如式(6)所示。理想光源在均勻表面的光照均勻度為1,否則會小于1,且大于0。
另外,在實際應用中,隨著時間的推移,光電傳感器接收到的光強是不恒定的,同時會導致圖像灰度值發(fā)生不恒定,進而導致圖像分割后,其尺寸或形狀發(fā)生變化,影響檢測精度。導致不恒定的原因有三方面:
(1)光源自身。如發(fā)光器件的衰減或交流電源的干擾;
(2)外界光干擾。如日光燈,自然光等;
(3)多個被檢測物體表面反光率不一致。因此,光源系統(tǒng)在其生命周期內(nèi)的魯棒性R(Robustness)也成為設備在流水作業(yè)時,衡量設備可靠性的關鍵特性。這里,光源魯棒性的衡量可用能形成物體有效分割圖像(有效分割指不產(chǎn)生尺寸或形狀變化的分割)的最大灰度值與最小灰度值的差值來表示。這個差值越大,則說明光源抗干擾能力越強。反之,則影響越大。
光強二維分布研究的流程如圖1。首先由機器視覺系統(tǒng)的拍圖功能得到一幅數(shù)字圖像,若拍得的是RGB格式,則須轉(zhuǎn)化為灰度圖,然后用MATLAB對灰度圖進行三維化處理,并繪制三維曲面圖,然后利用MATLAB的視角、鏤空、剪裁、等高線等功能,判斷光源的均勻度、對比度及魯棒性等特性。
圖1 光強分布分析流程
數(shù)字圖像是一個二維平面,如果進行三維繪圖,需要在原有的二維平面創(chuàng)建一個垂直于該平面的軸,記為z軸,并將數(shù)字圖像的像素灰度值映射到z軸。對于灰度圖像,z軸的范圍在[0,255]內(nèi),在三維坐標系中,灰度圖沿z軸順序有256個平面,每個平面里包含著該灰度下,光強的二維分布。
腳本1實現(xiàn)了二維圖像轉(zhuǎn)化為三維圖像的功能,并以三維表面的方式顯示。啟動MATLAB,打開M文件編輯器,編寫如下命令:
其中,數(shù)字圖像Image1.bmp如圖2。該圖像中包含了20個正方形LED芯片,芯片中心的圓形是金屬電極(黑點為污點),背景是晶圓專用藍膜。這三者的反光效果各不相同。圖3是該圖像的成像系統(tǒng),光源類型為同軸光源。
圖2 LED芯片圖像
圖3 成像系統(tǒng)
在M文件編輯器下,按下F5,M文件編輯器編譯并執(zhí)行上面的腳本。執(zhí)行結(jié)果如圖4。
圖4 LED芯片的三維曲面圖、直方圖
圖4(a)是三維曲面圖,觀察視角為:方位角=45°,仰視角=12°。其中,較粗的柱狀體代表LED芯片的光強分布,其上較細的柱狀體代表電極的光強分布。最下面的小方塊代表每個LED芯片的等高曲線;圖4b是該圖像的直方圖,其中三個波峰從左至右分別代表背景藍膜、LED芯片、電極三者的灰度統(tǒng)計值。圖4c是三維曲面圖,觀察視角為:方位角=0°,仰視角=0°??梢灾庇^的看到,LED芯片的光強主要處于灰度區(qū)間[40,140],灰度差有100個灰度級,魯棒性較好,而電極的光強主要處于灰度區(qū)間[150,200],灰度差有50,魯棒性交LED芯片弱。背景藍膜的光強處于灰度區(qū)間[30,40],其10級的灰度差有利于LED芯片的處理。
將腳本1做如下改動:
執(zhí)行結(jié)果如圖5。
其中,圖5(a)是三維鏤空圖,可以從鏤空處進入芯片內(nèi)部觀察芯片各個表面的光強分布;圖5(c)是三維剪裁圖,用于觀察切面的光強分布。圖5(b)和圖 5(d)中可以看到,背景藍膜的光強處于灰度區(qū)間[30,40],LED芯片的光強主要處于灰度區(qū)間[40,140]之間,電極的光強主要處于灰度區(qū)間[150,200]。
圖5 LED晶圓三維鏤空圖、三維剪裁圖
在圖2中,需要分別檢測LED芯片和電極。則它們的對比度分別為:
在MATLAB命令窗口中輸入求矩陣最小值min(min(A))指令,得到整幅圖像最小灰度值imin=23,再輸入求矩陣均值mean2(A)指令,得到整幅圖像的灰度均值iavg=56.6929。
由式(6)可得,光強分布均勻度
因為要分別檢測LED芯片和電極,則魯棒性分別為:
●芯片光強所表現(xiàn)的魯棒性:分割芯片所用的灰度區(qū)域為[40,140],則差值為100,魯棒性較好。
●電極光強所表現(xiàn)的魯棒性:分割電極所用的灰度區(qū)域為[150,200],則差值為50,魯棒性能滿足要求。
前面的LED芯片尺寸一般在1 mm左右,光照均勻度的影響都非常小,但對于較大器件,如太陽能電池片(其尺寸為156 mm),在其表面的光強分布均勻度一般較差,如圖6、圖7所示。
圖6 太陽能電池片圖像
圖7 太陽能電池片圖像的反色圖像
圖6是太陽能電池片的正常圖像。因為電池片背景的光強會大于電池片表面,所以電池片的三維圖形會凹下,不便觀察。這時可以將圖像反色,如圖7。然后繪制太陽能電池片的三維圖形,可以明顯看出,電池片圖像的表面彎曲凹下。這表明,在156mm×156 mm的視場內(nèi),光強分布明顯不均勻。
電池片與背景的對比度,其中imax=255,imin=110。
在MATLAB命令窗口中輸入min(min(min(A)))指令,得到 imax=85,再輸入 mean2(A)指令,得到iavg=135.0328。
從圖8、圖9中可以看出,光源分布不均勻。但有效分割電池片所用的灰度區(qū)域(大致在[110,160])的差值為 50,魯棒性較好。
圖8 太陽能電池片三維圖形
圖9 太陽能電池片反色三維圖形
本文的引言部分從數(shù)學角度討論了機器視覺系統(tǒng)中,光源系統(tǒng)與數(shù)字圖像關系,隨后結(jié)合數(shù)字圖像處理需求和實際應用中的常見問題,定性地分析了光源系統(tǒng)中的幾個典型特性。針對這些特性,在兩個不同的機器視覺系統(tǒng)實例中,使用MATLAB軟件的三維繪圖、鏤空、剪裁、調(diào)整觀察角度等三維技術(shù)形象地觀察了光源成像的效果,并利用MATLAB軟件的數(shù)值統(tǒng)計及圖像處理能力,定量地分析了光源系統(tǒng)的特性。
通過以上兩個實例可以看出,MATLAB軟件可以直觀、便捷、有效的實現(xiàn)成像系統(tǒng)的光源特性分析。因此,應用MATLAB軟件進行光源特性分析的方法有較強實用性,可用于大多數(shù)光源系統(tǒng)的研究。另外,實現(xiàn)這種方法步驟簡單,成本低廉,結(jié)果直觀、便捷,有較高的推廣價值。
[1](美)Wesley E.Snyder Hairong Qi著.林學訚,崔錦實,趙清杰等譯.機器視覺教程[M].北京:機械工業(yè)出版社,2005.
[2]張兆林.MATLAB6.x圖像處理[M].北京:清華大學出版社,2002.
[3]陳 杰.MATLAB寶典[M].北京:電子工業(yè)出版社,2007.
[4]胡小鋒,趙輝著.Visual C++/MATLAB圖像處理與識別使用案例精選[M].北京:人民郵電出版社,2004.