于正林,夏 揚,胡 靜
(1.長春理工大學機電工程學院,長春 130022;2.長春理工大學重慶研究院,重慶 401122)
汽車油封是一種重要的精密零件,生產時極易形成尺寸誤差而造成漏油的現象[1-2]。傳統的檢測方法為人工檢測,由于人工檢測的主觀性強且效率低,使得檢測誤差及不確定性較大[3-4]。為了提高零件的檢測效率和精度,眾多專家學者開始以機器視覺技術為基礎,應用于零件的高精度尺寸檢測[5]。基于機器視覺的零件檢測過程中,采集的原始圖像品質決定了零件檢測的效率與精度,恰當的光照強度使采集到的油封圖像邊緣更具有真實性,因此合理的光照強度是系統圖像檢測的關鍵。
朱華慶[6]為了提高零件尺寸檢測的精度,增強待測部位及零件圖像特征邊緣的對比度,提高了圖像處理后續工作的效率,但并未系統的探究光強變化對待測零件圖像灰度值和邊緣的影響。羅子明等[7]通過探究邊緣位置與光強及閾值的關系,提出了自適應光強變化的動態閾值邊緣檢測方法,但未對邊緣檢測中使用的像素梯度進行研究。為了方便快捷地采集出高品質的油封圖像并提取出更具有真實性的油封邊緣,本文將以光強變化和圖像灰度的理論分析為基礎,對圖像的梯度變化與邊緣位置進行推導,通過實驗探究光照強度的變化對汽車油封圖像灰度和邊緣的影響規律,并對由光強變化造成的汽車油封尺寸檢測系統測量誤差進行有效補償,以獲取完整且高質量的油封圖像。
CCD相機內有光線敏感的元器件,當入射光射向像元時,不斷吸收并轉化為一定量的電荷,最終存儲在光電探測器內[8]。隨著平均照度和光照時間的乘積的增加,累積的電荷數也隨之增大,因此認為像元的電荷量正比于光照強度在時間下的積分。則根據以上理論,可推出理想情況下像元(j,k)的電荷量為:
式中:Qin(j,k)為像元(j,k)的電荷量;η(j,k)為光電轉換效率;δ為電子的帶電荷量;S(j,k)為像元的面積;h為普朗克常數;v為光線照射頻率;t為光照時間;Ee為像元(j,k)吸收的光照強度。
實際工況下,曝光時間t很小,這里認為像元(j,k)所吸收的光照強度Ee在t下的積分是一個固定值,所以由上式可看出Qin(j,k)與曝光時間t之間呈線性關系。令轉換系數k0=η(j,k)δS( )j,khν,即像元(j,k)的電荷量可表示為:
由CCD的工作原理可知,光生電荷最終轉化成數字信號輸出,則理想條件下圖像灰度值I為:
式中:k1為電荷輸出的系數;k2為k1和k0的乘積。
由于CCD傳感器在輸出灰度值前將電荷信號放大,將放大增益設為ka,則定義式(3)中k2=kakb,kb為AD轉換時模擬電路增益乘以光電轉換系數的值,根據系統不同kb值不同,成像系統一旦確定則kb值為固定值。用Er表示定義物理量相對的照度,則:
實際情況下的灰度值I1為:
針對本油封視覺檢測系統而言,時間t和增益ka不變,則灰度值I1=k Er,即在一定范圍內,灰度值隨著光照強度的增加而增大。
汽車油封高精度尺寸檢測的核心問題是對油封邊緣的位置有效特征的提取,特征提取質量的高低直接影響最后的檢測精度。本文對邊緣位置的提取方法是采用相應軟件算法對圖像計算像素點和灰度值,然后采用插值法求取亞像素邊緣坐標。
像素級邊緣點的確定是首要任務。首先利用Sobel算子模板與圖像P進行卷積運算,分別求出x方向梯度G x、y方向梯度G y:
將G x和G y合成為該像素點梯度G:
將T1、T2設為上下臨界值,規定選擇邊緣點標準為:當G<T1時,忽略該像素點;當T1<G<T2且與大于臨界值的像素點相連,保留該點;當G>T2時,認為該點為邊緣點。
設求出的邊緣點坐標為(j,k),則梯度值為G(j,k)。在梯度圖像矩陣中,以G(j,k)為中心,分別向左右方向取點G(j+1,k)和G(j-1,k),對點求梯度值。令j-1、j、j+1為x i,梯度圖像梯度值為y i,將x i、y i代入二次插值多項式φ(x)中,為:
為探究本系統在不同光強條件下對采集的油封圖像灰度的影響,本文通過調節背光燈源亮度,即在不同光強下油封同一局部位置圖像,大小為75×80,共采集10幅圖像。不同光強下的油封局部圖像如圖1所示。由圖可知,在光強為5 lux、8 lux和10 lux的條件下,由于油封圖像與背景之間的對比度差異較小,導致油封邊緣輪廓特征不清晰,所獲取圖像背景明顯存在陰影;在增大光源的亮度后圖像灰度值增大,隨之對比度增高,可直觀清晰地分辨出邊緣輪廓,如圖中12 lux、16 lux、21 lux和28 lux光強下圖像;隨著光強的逐步增加,油封邊緣位置明顯曝光,如圖中36 lux、42 lux和51 lux光強下油封局部圖像所示。
圖1 不同光強下汽車油封局部圖像Fig.1 Local image of automobile oil seal under different light intensity
為了研究光強變化如何影響圖像灰度值,首先將圖1中獲取的油封局部圖像進行像素劃分,定義左側第一列像素為第一列;然后對其每一列像素灰度值進行取平均計算。繪制在不同光照強度條件下油封局部圖像的灰度值變化曲線時,圖像每列像素的總體灰度值水平可以用圖像灰度值均值所代表,如圖2所示。由圖可知,圖像在同像素點位置灰度值隨著光強的增加而增大,而且增加的趨勢大體相同。隨著光強的不斷增加,最終使得灰度值為255的像素點所占比例增大,由此可知油封的邊緣位置漸漸向圖像中心靠攏,最終可以達到邊緣失真的地步。通過觀察曲線的變化,同時結合邊緣與像素灰度值變化的關系,可以推斷出油封邊緣位置大致在10~20、60~70列區域內。
圖2 不同光強下油封局部圖像灰度值變化曲線Fig.2 Gray value change Curve of oil seal local image under different light intensity
本文通過亞像素插值的方法提取邊緣位置后發現,邊緣位置與像素點的梯度變化有直接的聯系,且檢測到的邊緣位置與設定的上下臨界值有很大的關系[9]。即研究的光強變化對亞像素邊緣位置的影響,可以視為像素點梯度幅值在不同光強下的變化情況。同理,將圖1中所獲取的油封局部圖像進行像素劃分,分別計算每幅圖像中每列像素點的梯度幅值平均值。繪制在不同光強下油封局部圖像中每列像素的梯度幅值變化曲線時,每列像素的梯度大小用圖像的梯度幅值的均值來代表,如圖3所示。由圖可知,光強為5 lux、8 lux和10 lux的條件下采集的圖像梯度幅值的峰值較小;隨著光強的逐步增加,圖像梯度幅值的峰值也逐漸增大,當光強增加到16 lux和21 lux時,圖像梯度幅值峰值的距離相對減少。當光強處于36 lux、42 lux和51 lux時,圖像梯度幅值有所減小。
圖3 不同光強下油封局部圖像梯度幅值變化曲線Fig.3 Gradient amplitude change curve of oil seal local image under different light intensity
通過觀察在不同光強條件下,油封局部圖像、像素點的灰度值和梯度幅值變化曲線,發現當光強過亮或過暗都不利于油封的尺寸測量,并且在12 lux、16 lux、21 lux和28 lux光強條件下的灰度變化幾乎相同,梯度幅值的峰值也在同一區域,其中光強16 lux的梯度幅值峰值最大,故認為光強16 lux為油封邊緣測量的最佳光照。由圖4所示,隨著光強的逐漸增加,油封外徑亞像素級邊緣位置逐漸向內部收縮,油封內徑亞像素級邊緣位置逐漸外擴張,且圖3中梯度幅值最值位置與亞像素級邊緣位置基本相同,故可以驗證像素點的梯度幅值與亞像素級邊緣位置的關系。
圖4 不同光強下的亞像素級邊緣位置Fig.4 Position of sub-pixel edge under different light intensity
為了探究光強變化與亞像素級邊緣位置的關系,分別對油封外內徑進行擬合,得到擬合函數:
式中:X為光強照度數;Y為邊緣位置。
為了減小在一定范圍內由光強變化對汽車油封測量結果產生的影響,即光強變化對邊緣位置的影響,以光強16 lux時的亞像素級邊緣位置Y0為基準位置,采用自適應光強變化的動態邊緣位置提取方法進行補償[10]。
針對油封外徑的自適應光強變化的動態邊緣位置提方法如圖5(a)所示,補償量為:|14.99X-0.758 9|,其步驟如下所述。
(1)在肉眼不能清晰分辨背景亮暗的情況下提取某一光強下Sobel亞像素邊緣,獲取邊緣點坐標(j i,k i)。
(2)各邊緣點法線方向的計算使用中心差分的計算方法。當k i-1≠k i+1時,,α1=( -π/2,π/2);當k i-1=k i+1時,α1=±π/2。其中第1個邊緣點采用向后差分,最后1個邊緣點采用向前差分。
(3)沿法線方向兩側補償Δh1,得到補償后的邊緣點坐標。
同理,針對油封內徑如圖5(b)所示,補償量為:Δh2== |0.584 9-26.84X|,其 中,α2=,α2=( -π/2,π/2);當k j-1=k j+1時,α2=±π/2,補償后的邊緣點坐標(j j′,k j′)和。
圖5 自適應光強變化的動態邊緣提取方法Fig.5 Dynamic edge extraction method based on adaptive light intensity change
經實驗標定,測量系統的像素當量為每像素16.6μm。為驗證上述方法能否有效補償由光強變化引起的邊緣位置變化,隨機選取5個規格為38 mm×52 mm×7 mm的汽車油封進行尺寸檢測實驗驗證,結果如表1~2所示。在光強為12 lux、16 lux、21 lux和28 lux的條件下,首先分別測量5個油封的內外徑尺寸像素值10次,并取平均值作為補償前測量值;然后利用文中所敘述的自適應光強變化邊緣位置提取方法分別測量5個油封的內外徑尺寸像素值10次,并取平均值作為補償后測量值。由表中可以看出,隨著背光源強度的增加,5個汽車油封的外徑測量值逐漸減小,內徑的測量值逐漸增加,且以光照強度16 lux為基準,內外徑測量誤差向兩側逐漸增大,誤差變化規律基本不變。
表1 油封外徑測量結果Tab.1 Measurement result of oil seal outside diameter
表2 油封內徑測量結果Tab.2 Measurement result of oil seal inside diameter
根據實驗結果,所使用的自適應光強變化的動態邊緣提取方法對隨機選取的5個汽車油封進行測量,從補償結果來看,該方法可以證明在一定范圍內夠有效減小和補償由光源強度變化造成的邊緣位置移動,即可以降低由于光照強度對汽車油封尺寸檢測系統測量精度的影響。
(1)本文對CCD電荷量與光強的關系進行研究,并以光強變化和圖像灰度的理論分析為基礎,通過理論推導和實驗驗證的方法研究油封圖像的梯度變化與邊緣位置。確定了光強變化對油封內外徑邊緣位置的影響規律,并且確定了最佳光強為16 lux。
(2)根據圖像梯度幅值及邊緣位置的變化規律,使用自適應光強變化的動態邊緣位置提取方法,在光強12 lux、16 lux、21 lux和28 lux條件下,對隨機選取的的汽車油封進行測量,然后分別再進行補償測量。從補償結果來看,該方法可以降低在適當范圍內光照強度對汽車油封尺寸檢測的影響。
(3)由于本文所使用的照度計精度不夠,對確定光強產生一定的影響,進而影響實驗結果。通過本文研究發現,光強的精度是實驗的準確性的一個重要指標,如果能夠實現進一步細分,將大大提高其準確性。