何 榮,金 濤
(上海理工大學(xué) 光電信息與計算機(jī)工程學(xué)院,上海 200093)
目前,在眼科光學(xué)中主要通過焦度計檢測鏡片的后頂焦度,在鏡片檢測系統(tǒng)中,鏡片的偏心與傾斜等情況對鏡片檢測結(jié)果造成了誤差[1,2]。Barbosa E A等[3]提出采用低相干斑點干涉的方法檢測鏡片,不用進(jìn)行鏡片對焦就能測量鏡片的全表面參數(shù),但檢測過程復(fù)雜,易用性低。李飛等[4]提出通過激光差動共焦技術(shù)可直接確定鏡片的后頂焦點位置,進(jìn)而計算出后頂焦度,但無法直接檢測負(fù)焦度鏡片,而常用鏡片主要為頂焦度為負(fù)的鏡片。Elsayed等[5]提出可以通過分析不同鏡片下圖像的模糊度反推出鏡片參數(shù),而不用進(jìn)行鏡片對焦,但測量時鏡片位置必須與分析圖像時保持一致,在環(huán)境適用性和精度方面存在問題。針對以上問題,本文提出將機(jī)器視覺應(yīng)用到鏡片測量中,上位機(jī)通過對哈特曼光闌所成的光斑圖像實時分析處理,感知出鏡片光學(xué)中心的具體位置,利用搭建的機(jī)械模塊自動對正鏡片,根據(jù)采集到的光斑坐標(biāo)信息,用哈特曼檢測法[6,7]推算出鏡片的光學(xué)參數(shù),從而實現(xiàn)了鏡片的全自動測量,有效地提高了檢測效率和精度。
圖1為系統(tǒng)光學(xué)原理圖,平行光經(jīng)過待測鏡片發(fā)生偏折,穿過哈特曼光闌后在相機(jī)顯示屏上成像。假設(shè)光闌與相機(jī)成像屏間的距離為L1,透鏡與光闌間的距離為L2,透鏡的后頂焦距為f。在放入透鏡前,平行光透過光闌在相機(jī)上成像于A點,A與中心點O的距離為h1,放入透鏡后,調(diào)整鏡片位置,使鏡片光學(xué)中心與系統(tǒng)光軸重合。平行光過透鏡后發(fā)生偏折在顯示屏上成像于A′,A′與O的距離為h2。在實際操作中,將透鏡緊貼光闌,則透鏡與光闌的距離L2忽略不計。根據(jù)幾何關(guān)系h2/h1=(f-L1)/f,以及球鏡度計算式φ=1/f,即可得透鏡的球鏡度φ=(h1-h2)/(L1-h1)。
圖1 光學(xué)系統(tǒng)原理圖Fig.1 Schematic diagram of optical sysytem
柱鏡片的求解計算比較復(fù)雜,需要將球面鏡和柱鏡片分開求解計算,然后兩者相加[8,9]。圖2為放置柱鏡片后光斑的變化圖。假設(shè)哈特曼光闌與相機(jī)表面的距離為u,光斑A,B,C,D與中心光斑O的距離相等為h。當(dāng)放入透鏡的柱鏡度FC正負(fù)不同時,光斑A、B、C、D的分布情況如圖2中A′、B′、C′、D′所示。設(shè)放入透鏡后A′坐標(biāo)為(x1,y1),D′坐標(biāo)為(x2,y2)。經(jīng)求解可得球鏡度FS、柱鏡度FC、柱鏡軸位θ的計算式[10]:
圖2 放入柱鏡片后光斑變化示意圖Fig.2 Light spot change after placing astigmatism lens
(1)
當(dāng)FC為正時,公式(1)“FS”中的“?”取負(fù)號,反之則取正;“θ”的“±”與FC相同。當(dāng)鏡片光學(xué)中心與光軸重合時,只需要得到此時光斑的坐標(biāo)x1,y1,x2,將其代入公式(1)即可求解出被測鏡片的FS,F(xiàn)C,θ。B′和C′坐標(biāo)也可代入公式(1)中得出鏡片參數(shù),進(jìn)行多點測量求平均值從而提高測量精度。
圖3為系統(tǒng)模塊示意圖。點光源在恒流源電路驅(qū)動下經(jīng)過準(zhǔn)直透鏡產(chǎn)生平行光,經(jīng)哈特曼光闌投映在工業(yè)相機(jī)顯示屏上。視覺處理模塊將相機(jī)采集的圖像信息進(jìn)行分析處理,經(jīng)過數(shù)據(jù)分析得到鏡片調(diào)整的位移信息并下傳至單片機(jī)中。單片機(jī)收到指令后根據(jù)編寫的通訊協(xié)議向電機(jī)驅(qū)動器發(fā)送脈沖信號,控制機(jī)械模塊運動,對鏡片進(jìn)行位置校正和焦度計算[11],從而實現(xiàn)鏡片的全自動測量。
圖3 系統(tǒng)模塊示意圖Fig.3 System module diagram
光學(xué)系統(tǒng)模塊由點光源,準(zhǔn)直透鏡,哈特曼光闌以及工業(yè)相機(jī)等構(gòu)成。點光源選擇波長λ=546.07 nm的LED光源,則測量鏡片時不需要考慮ABBE系數(shù)補(bǔ)償,避免人工ABBE數(shù)造成的誤差。平行光管物鏡焦距為30 mm,較小的尺寸能夠使整個結(jié)構(gòu)更加緊湊。整個系統(tǒng)的關(guān)鍵參數(shù)有光闌和相機(jī)成像面間的距離L1,透鏡和光闌距離L2,光闌的外圍半徑R,光闌中的通光孔半徑d,孔心距h1,以及相機(jī)成像面的寬度尺寸W。
不同鏡片的后表面彎曲度不同,導(dǎo)致不同鏡片與光闌間的距離L2不同。圖4為光闌與透鏡的位置示意圖,透鏡中心厚度近似為0,空氣折射率為n1,透鏡折射率為n2,設(shè)光闌半徑為R,透鏡的焦度為φ以及透鏡前表面彎度為T,通過式(2)可計算出不同鏡片對應(yīng)的L2。
圖4 光闌和透鏡位置示意圖Fig.4 Schematic diagram of the relationship between the diaphragm and the lens
根據(jù)式(2)可以發(fā)現(xiàn),L2的大小與光闌半徑R相關(guān),R越小L2也越小,在實際測量中因為L2?L1,對實驗測量結(jié)果幾乎沒有影響,所以在計算時L2通常忽略不計為0,為盡可能減小L2對測量結(jié)果的影響,所以R越小越好,考慮到加工工藝等因素,R值設(shè)定為4 mm。
(2)
在進(jìn)行光闌設(shè)計時,理論上只需要3個圓即可滿足焦度測量要求,但當(dāng)光路上出現(xiàn)灰塵或者光闌在長時間使用后出現(xiàn)磨損等情況時,部分光斑會成像不完全,造成鏡片測量時會出現(xiàn)較大的偏差,而多點測量能有效降低這種情況引起的誤差,在光闌中間設(shè)計等間距的5個大圓,周圍分布104個小圓將中間的5個大圓作為主要測量依據(jù),104個小圓作為輔助檢測,以大圓為例設(shè)通光孔半徑為d,孔心距為h1。
首先,必須滿足兩個條件:
(1)光線經(jīng)過正透鏡后會聚,此時工業(yè)相機(jī)采集的圖像中光斑間必須存在一定的間隙,確保圖像處理時能夠?qū)⒐獍邊^(qū)別開。如圖5所示,設(shè)透鏡和相機(jī)成像面間的距離為L1(此時透鏡至光闌的距離L2已忽略不計),光束1經(jīng)過透鏡在顯示屏上成像的最低點與光軸間的距離為h21,光束2在顯示屏上成像最高點與光軸間的距離為h22,則必須滿足h21>h22,根據(jù)h22/d=(f-L1)/f,h21/(h1-d)=(f-L1)/f,可以得到:h1>2d。
圖5 檢測正透鏡時光束示意圖Fig.5 Schematic diagram of the beam when detecting a positive lens
(2)光線經(jīng)過負(fù)透鏡后發(fā)散,工業(yè)相機(jī)采集到圖像中大光斑必須完整才能對鏡片進(jìn)行定位和測量。如圖6所示,設(shè)相機(jī)成像屏寬度尺寸W,入射光中心距光軸的距離為h1,經(jīng)過透鏡后在相機(jī)成像面上最高點與光軸的距離為h11,則需要相機(jī)靶面寬度W>2h11。由幾何關(guān)系(h1+d)/h11=f/(f+L1),h11=(f+L1)(h1+d)/f,經(jīng)化解可得需要滿足W>2(f+L1)(h1+d)/f且h1<(W×f)/[2×(f+L1)]-d。
圖6 檢測負(fù)透鏡時光束示意圖Fig.6 Schematic diagram of beam when detecting negative lens
其次,透鏡與相機(jī)顯示屏的距離也存在一定的取值范圍,L1值過大會導(dǎo)致所需相機(jī)的成像面尺寸過大,不易選擇合適的工業(yè)相機(jī),L1值過小會導(dǎo)致在進(jìn)行圖像識別時,光斑的變化過小不易檢測。參照國家焦度計檢定規(guī)程《JJG 580-2005 焦度計》中要求鏡片檢測時顯示增量不得大于0.125 m-1,即至少能夠檢測到0.125 m-1的焦度變化。如圖7所示,設(shè)光線經(jīng)過透鏡1后在相機(jī)成像面上的點與光軸的距離為h13,此時對應(yīng)透鏡的焦距為f′,光線經(jīng)過透鏡2在相機(jī)成像面上的點與光軸的距離為h14,此時對應(yīng)透鏡的焦距為f,相機(jī)的像元尺寸為u,根據(jù)h13/h1=(f′-L1)/f′,h14/h1=(f-L1)/f,以及|1/f′-1/f|≤0.125 m-1且|h14-h13|≥u,經(jīng)轉(zhuǎn)化得:L1≥u/(h1×0.125×10-3)。
圖7 平行光經(jīng)過不同透鏡后光線示意圖Fig.7 Schematic diagram of parallel light passing through different lenses
綜合分析,為檢測-15 m-1~+15 m-1的透鏡,搭建系統(tǒng)選用的工業(yè)相機(jī)為大恒MER-504-10,像元尺寸為3.45 μm×3.45 μm,分辨率為2 448×2 048,靶面尺寸寬度W為7.065 6 mm,幀率為10幀/s,較高幀率能確保實時顯示流暢。根據(jù)工藝加工的可能性,哈特曼光闌設(shè)計圖如圖8所示,其中大圓的通光孔半徑d為0.255 mm,孔心距h1為1.62 mm,光闌半徑R為4 mm,確定大圓尺寸后,小圓根據(jù)上述條件,直徑設(shè)為0.34 mm,相鄰孔間距為0.57 mm,光闌和相機(jī)成像面間的距離L1為18 mm,鏡片與光闌間的距離L2忽略不計。
圖8 哈特曼光闌設(shè)計圖Fig.8 Hartman plate design
位移模塊主要由:X、Y、Z三軸步進(jìn)電機(jī),電機(jī)驅(qū)動器,透鏡夾和單片機(jī)搭建而成。為了確保運行的穩(wěn)定性,整體結(jié)構(gòu)設(shè)計為龍門架型,選擇導(dǎo)程為 10 mm,有效行程為100 mm的滾珠絲杠,電機(jī)驅(qū)動器細(xì)分?jǐn)?shù)設(shè)為800,最小步進(jìn)為0.012 5 mm。
Labview編程和其他語言相比具有簡單易用的特點。圖像處理模塊主要由NI Vision Acquisition Software的相關(guān)函數(shù)構(gòu)成,控制相機(jī)實時采集并處理圖像[12]。放置不同鏡片時光斑向中心的聚合度不同,當(dāng)所放置鏡片的球鏡度較大時,光斑向中心的聚合度較高,所以在進(jìn)行圖像二值化處理時,如果采用固定閾值分割,則部分光斑可能在圖像進(jìn)行二值化處理后邊緣會形成“十”字粘合形,導(dǎo)致提取光斑時會將粘合在一起的多個光斑作為一個光斑處理,達(dá)不到理想的分割效果,采用otsu自適應(yīng)閾值分割進(jìn)行二值化處理時,針對不同的聚合度能有效選擇合適的閾值,從而解決不同聚合度導(dǎo)致的邊緣粘合問題[13,14]。
圖9為光斑的處理效果圖。用圖9(c)中深色方框框選出光斑,并在光斑旁邊以先橫向檢測再縱向檢測的算法用序號標(biāo)定出每一個光斑。再采用一階矩陣算法求解出的光斑質(zhì)心。設(shè)第i個光斑的質(zhì)心坐標(biāo)為(xi,yi.),采集圖像中像素點(m,n)的橫坐標(biāo)為xmn,縱坐標(biāo)為ymn,該點的灰度值為Imn,則光斑的質(zhì)心為可由式(3)得到[15,16],因為圖像經(jīng)過二值化處理,則式(3)中Imn取1。
圖9 圖像處理的效果圖.Fig.9 Spot extraction process
(3)
圖10 放置鏡片前后5個大光斑的變化示意圖Fig.10 Schematic diagram of 5 light spots before and after displacement
圖11 坐標(biāo)系轉(zhuǎn)換示意圖Fig.11 cordinate system conversion
(4)
(5)
圖12為系統(tǒng)整體實物圖。圖13為放置部分鏡片時工業(yè)相機(jī)采集的圖像,其中光斑圓潤且周圍無明顯毛刺,成像效果好,因為鏡片的定位以及參數(shù)計算都與采集的光斑信息直接相關(guān),較好的成像質(zhì)量保證了鏡片自動定位以及后期計算的準(zhǔn)確性且中間5個大光斑能始終完整成像,滿足測量要求。
圖12 系統(tǒng)實物圖Fig.12 System physical map
圖13 放置不同參數(shù)的鏡片相機(jī)采集的光斑圖Fig.13 Picture collected when placing differencent lense
使用定制的-15 m-1~+15 m-1標(biāo)準(zhǔn)鏡片分別進(jìn)行自動和手動測量實驗,實驗前采用NIDEK-LM-1800P焦度計對待測鏡片進(jìn)行校驗,鏡片的標(biāo)準(zhǔn)值準(zhǔn)確,符合檢測要求。
圖14為測量誤差示意圖,其中依照國家焦度計檢定規(guī)程JJG 580-2005 《焦度計》,測量結(jié)果表明,系統(tǒng)測量的誤差遠(yuǎn)遠(yuǎn)低于國家檢定規(guī)程中允許的誤差值,符合要求。當(dāng)鏡片球鏡度較大時,測量誤差較大,符合光學(xué)成像的特點。其中自動測量結(jié)果的穩(wěn)定性和精度與手動測量相比有較大提高,這是因為在自動檢測時,一旦滿足了鏡片光學(xué)中心與光軸重合的條件,系統(tǒng)就立刻記錄了此時的光斑信息,而手動調(diào)節(jié)是通過眼睛觀察顯示屏,大腦判斷是否已經(jīng)重合,人在判斷的過程中很難保證手持鏡片不產(chǎn)生晃動,測量結(jié)果并不具有固定性,一旦鏡片光學(xué)中心與光軸產(chǎn)生偏移,測量結(jié)果將會產(chǎn)生偏差對測量的精度產(chǎn)生影響,而自動測量能有效避免這種情況,與手動測量相比測量誤差減少了0.02 m-1。
圖14 測量-15 m-1~+15 m-1鏡片的誤差圖Fig.14 Measurement error of -15 m-1~+15 m-1lens
本文提出了一種結(jié)合哈特曼檢測法、機(jī)器視覺技術(shù)以及步進(jìn)電機(jī)控制系統(tǒng)來實現(xiàn)全自動測量眼鏡片的新技術(shù),利用機(jī)器視覺技術(shù)分析出鏡片的光學(xué)中心,機(jī)械模塊根據(jù)上位機(jī)的分析指令自動校準(zhǔn)鏡片位置,在鏡片光學(xué)中心與光軸重合時,系統(tǒng)將此時采集的光斑信息進(jìn)行運算得出鏡片的相關(guān)參數(shù),實現(xiàn)了鏡片的全自動檢測,與手動測量相比測量誤差減少了0.02 m-1,提高了鏡片檢測的精度和效率。