尹 鑫,周金宇,程錦翔
(1.江蘇理工學院 機械工程學院,江蘇 常州 213001;2金陵科技學院 機電工程學院,江蘇 南京 211169)
近年來,機器視覺憑借其測量精度高、適應能力強、效率高等優(yōu)勢得到了廣泛的應用,許多學者對此進行了研究。其中,大量的研究集中在相機的標定[1-4]、像素級邊緣檢測算法、亞像素邊緣檢測算法[5-7]和角點檢測算法等方面;但是,對機器視覺測量誤差的定量研究較少。
影響機器視覺測量誤差的因素有光照、隨機噪聲、測量距離、觀測角度、相機畸變和邊緣檢測算法等。外界光照的變化會導致到達每一個像素的光子數(shù)的變化,最終引起像素灰度值的改變,從而產(chǎn)生測量誤差。噪聲會影響圖像邊緣檢測的質(zhì)量,圖像的噪聲類型比較多,常見的噪聲[8]主要有高斯噪聲、泊松噪聲和椒鹽噪聲。采用濾波的方式可以降低噪聲對圖像的影響;但是,噪聲和邊緣都屬于圖像中的高頻部分,所以濾波同時也會導致邊緣出現(xiàn)模糊。如何在降低噪聲影響的同時保留高質(zhì)量的邊緣是一個難點。測量距離的變化會導致像素當量的改變,進而改變最終的測量結(jié)果。觀測角度的波動也會導致測量結(jié)果的改變。相機畸變[9-10]分為徑向畸變、偏心畸變和薄透鏡畸變,和切向畸變相比,薄透鏡畸變與徑向畸變相對較小,可以不予考慮。目前,主要通過相機標定與畸變校正來減小畸變對圖像的影響;但是,畸變校正后仍存在誤差[11]。邊緣檢測算法主要分為傳統(tǒng)邊緣檢測算子、新型邊緣檢測算子以及亞像素邊緣檢測算子。傳統(tǒng)邊緣檢測算子有Roberts算子、Sobel算子、Kirsch算子、Laplacian算子、LOG[12]算子與Canny[13]算子等。新型邊緣檢測算子有小波變換方法、基于數(shù)學形態(tài)學的邊緣檢測方法等。亞像素邊緣檢測算子主要分為基于擬合的亞像素邊緣檢測算法、基于矩的亞像素邊緣檢測算法和基于插值的亞像素邊緣檢測算法。
本文綜合考慮正常工作時間內(nèi)外界光照變化、隨機噪聲和觀測角度變化等因素,并針對現(xiàn)有典型的單目機器視覺測量技術(shù),建立機器視覺測量誤差概率模型。
在采用機器視覺測量技術(shù)進行高精度測量之前,首先要進行相機標定,得到相機的內(nèi)參和外參。攝像機在成像變換過程中涉及到世界坐標系(Xw,Yw,Zw)、相機坐標系(Xc,Yc,Zc)、成像坐標系(x,y)以及像素坐標系(u,v)。為了確定相機在空間的位置,通過旋轉(zhuǎn)矩陣R和平移矩陣T將坐標位置由世界坐標系轉(zhuǎn)化成相機坐標系,兩坐標系之間的變換式為:
式中:R為3×3正交單位矩陣;T為3×1平移矩陣。
成像變換過程中涉及到四個坐標系,物體實際點與成像點之間的投影關(guān)系如圖1所示。
圖1 成像線性模型
圖像物理坐標系下圖像坐標的單位為mm,圖像像素坐標系下圖像坐標的單位為pixel。圖像物理坐標系和圖像像素坐標系在同一平面中,兩個坐標系之間的關(guān)系如圖2所示。
圖2 圖像像素坐標系
若空間中一點P在世界坐標系中的齊次坐標為(Xw,Yw,Zw,1),在攝像機坐標系中的齊次坐標為(Xc,Yc,Zc,1),根據(jù)圖像像素坐標系、成像坐標系、相機坐標系和世界坐標系之間的轉(zhuǎn)換關(guān)系[14-15],像素坐標系和世界坐標系之間的變換式為:
式中:α=f/dx,β=f/dy代表等效焦距;f為焦距;dx和dy分別為每個像素在成像坐標系x軸和y軸方向上的物理尺寸;(u0,v0)為光學中心坐標;O為3×1零矩陣。
大多數(shù)光學系統(tǒng)的成像是不完善的,導致拍攝的圖片存在畸變,當考慮圖像的徑向畸變和離心畸變時,現(xiàn)實坐標和理想坐標之間的關(guān)系可以表示為:
式中:
其中:r2=x2+y2表示圖像中任一點到畸變中心點距離的平方;x=u-u0;y=v-v0;(u,v)為理想圖像位置;(u1,v1)為實際圖像位置;k1、k2、k3為徑向畸變系數(shù);p1、p2為切向畸變系數(shù)。
在采用單目機器視覺技術(shù)測量待測零件尺寸時,噪聲是不可避免的:首先,在將光子轉(zhuǎn)化為電荷的過程中,光子被光電二極管收集時會產(chǎn)生噪聲,發(fā)熱和半導體制造工藝的缺陷會產(chǎn)生暗電流噪聲;其次,在將電荷轉(zhuǎn)化為電壓的過程中,真實傳感器中電荷到電壓轉(zhuǎn)換的不完美會造成源跟蹤噪聲、傳感節(jié)點復位噪聲和偏移固定模式噪聲;此外,在將電壓轉(zhuǎn)化為數(shù)字信號的過程中,模數(shù)轉(zhuǎn)換器將電壓轉(zhuǎn)換成離散編碼時也會帶來非線性噪聲。采用濾波的方式可以降低噪聲對圖像的影響,常用的濾波方式是高斯函數(shù)低通濾波,其表達式為:
式中:σ為高斯空間系數(shù);x2+y2表示高斯濾波的濾波核中任一元素到濾波核中心元素距離的平方。
圖像的邊緣展現(xiàn)了其基本信息,沿著邊緣方向像素的灰度值變化緩慢,而垂直于邊緣方向像素的灰度值變化劇烈。采用LOG(高斯拉普拉斯)算子對圖像進行處理,邊緣點位置為卷積圖像二階導數(shù)產(chǎn)生過零點的位置。由于圖像沿梯度方向的二階導數(shù)是非線性的,計算量較大,Marr提出用拉普拉斯算子替代,采用高斯濾波處理后的平滑圖像g(x,y)的二階方向?qū)?shù)圖像
的過零點作為圖像的邊緣點。LOG算子的表達式為:
邊緣檢測后得到所有滿足LOG算子的邊緣像素點。對邊緣上的像素點分別采用最小二乘法擬合,以邊緣上每一個像素到邊緣直線的誤差平方和最小為目標,得到最佳邊緣。已知邊緣上的n個像素點(x1,y1),(x2,y2),…,(xn,yn),采用最小二乘法擬合出邊緣直線。
考慮邊緣厚度和邊緣連續(xù)的因素,將超出厚度范圍的像素點和與邊緣不連續(xù)的像素點去除,從已知的n個像素點中剔除異常點,得到m個剩余像素點。將剩余的m個像素點(x1,y1),(x2,y2),…,(xm,ym)再次采用最小二乘法擬合,得到最終的邊緣。
像素當量表示為:
式中:L1為待測零件某位置的像素長度;l1為采用三坐標測量儀檢測相應位置所得到的長度,單位為mm。
測量誤差函數(shù)定義為:
式中:L2為機械零件待測位置的像素長度;l2為采用三坐標測量儀檢測相應位置所得到的長度,單位為mm。
影響單目機器視覺測量誤差的因素有很多,如:外界光照變化、隨機噪聲、觀測角度變化、測量距離變化、相機畸變、邊緣檢測算法,等等。一般在采用機器視覺技術(shù)測量機械零件尺寸時,測量距離保持不變,并且測量的精度較高。目前,對相機標定和畸變校正的研究較多,本文不再闡述。LOG算子屬于優(yōu)秀的邊緣檢測算子,其檢測精度較高,引入的誤差較小。本文主要研究光照變化、隨機噪聲和觀測角度變化這三個因素對測量誤差的影響,并且這三個因素會造成測量結(jié)果的分散性。
采用泊松噪聲[16]模擬外界光照變化對圖像產(chǎn)生的擾動,泊松分布的概率函數(shù)為:
采用高斯噪聲[16]模擬圖像中的隨機噪聲,高斯噪聲服從正態(tài)分布,正態(tài)分布的概率密度分布函數(shù)為:
假設觀測角度服從均勻分布,均勻分布的概率密度函數(shù)為:
假設這三個隨機變量相互獨立,采用蒙特卡洛法[17]計算單目機器視覺尺寸測量誤差分布,具體步驟如下:
(1)根據(jù)式(3)并結(jié)合相機標定得到的內(nèi)參和畸變參數(shù),在理想圖像中加入畸變;
(2)根據(jù)式(9)對畸變圖像加入泊松噪聲,根據(jù)式(10)對畸變圖像加入高斯噪聲,令觀測角度服從區(qū)間(0°,1°)上的均勻分布;
(3)根據(jù)式(4)對圖像進行高斯低通濾波,并輸出濾波后的平滑圖像;
陽性一方接受HAART且病毒載量達到持續(xù)抑制是HIV單陽家庭備孕的關(guān)鍵,另外,為了提高受孕成功率,準確計算排卵期非常重要,可以尋求婦產(chǎn)科醫(yī)生的幫助。
(4)根據(jù)式(6)對平滑圖像進行邊緣檢測;
(5)采用最小二乘法擬合邊緣,將超出厚度范圍的像素點和與邊緣不連續(xù)的像素點去除后,再次采用最小二乘法擬合;
(6)根據(jù)式(7)和式(8)計算出測量誤差;
(7)判斷運算次數(shù)是否達到M次,若達到,執(zhí)行下一步,否則,執(zhí)行步驟2至7;
(8)運算結(jié)束后,根據(jù)所得數(shù)據(jù)計算誤差的均值、標準差和變異系數(shù)。
采用蒙特卡洛法模擬計算單目機器視覺尺寸測量誤差,其整體流程如圖3所示。
圖3 蒙特卡洛模擬流程
如圖4所示,取20.00 mm×34.92 mm的矩形塊為檢測對象,采用三坐標測量儀檢測尺寸。
圖4 三坐標測量儀檢測過程
采用OSR500-20GM相機并結(jié)合實驗平臺進行實驗,相機的分辨率為2 592×1 944,像素深度為8 bit,鏡頭焦距為16 mm。
為了在理想圖像中體現(xiàn)畸變,拍攝標定板的圖片并采用Matlab工具箱對相機進行標定。所采用的標定板中每一個正方形的邊長都為3 mm,標定板右下角的標記是為了確保拍攝得到的標定板圖片原點保持一致。最終選取12張標定板圖片進行處理,并且這12張標定板圖片的重投影誤差都在0.3 pixel以下。處理后得到相機的內(nèi)參矩陣、外參矩陣和畸變參數(shù)。如圖5所示,為采用的標定板。
圖5 標定板
在不同光照條件和不同觀測角度下拍攝390組矩形塊照片,采用高斯濾波和LOG邊緣檢測算子處理圖像,兩次采用最小二乘法擬合邊緣并計算測量誤差。390組測量誤差數(shù)據(jù)的均值為20.10 μm,標準差為0.703 2 μm。如圖6所示,為測量誤差的概率分布。
圖6 實驗誤差分布
在對實驗圖像處理的過程中,可以得到圖像中矩形塊長與寬的像素長度,根據(jù)標定得到的相機內(nèi)參、徑向畸變參數(shù)和切向畸變參數(shù),在理想圖像中加入畸變,并加入高斯噪聲和泊松噪聲,依據(jù)圖3所示的流程并采用蒙特卡洛法計算出測量誤差。
由于外界光照變化、隨機噪聲以及待測物體與觀測臺所夾角度變化在實際中較為復雜;因此,這三個不確定性因素的分布形式也是不確定的。根據(jù)參考文獻和實驗角度的調(diào)節(jié),簡化采用正態(tài)分布、泊松分布和均勻分布表示。在蒙特卡洛模擬的圖像中加入泊松噪聲的值與該像素的灰度值相關(guān)。圖像中加入的高斯噪聲均值為0,方差為0.01。觀測角度服從區(qū)間(0°,1°)上的均勻分布。泊松分布、高斯分布和均勻分布所選擇的參數(shù)是最常見的,并且測量結(jié)果達到預期要求。參數(shù)選取只是作為范例,如果采用其他參數(shù)也具有相似的可行性。分布函數(shù)的假設值會對誤差分析產(chǎn)生影響,目前選取的參數(shù)其測量結(jié)果較為合理,如果噪聲參數(shù)過大會導致算法不穩(wěn)定,過小則無法體現(xiàn)噪聲對測量的影響。
蒙特卡洛法的抽樣次數(shù)M設置為10 000次,抽樣得到的平均測量誤差為20.32 μm,標準差為3.495 μm。如圖7所示,為采用蒙特卡洛法抽樣得到的測量誤差概率分布圖。
圖7 數(shù)值模擬誤差分布
取待測物體與觀測臺所夾角度為0.5°,當僅考慮高斯噪聲時,測量誤差均值為20.39 μm,標準差為1.886 μm,變異系數(shù)為0.092 50;當僅考慮泊松噪聲時,測量誤差均值為19.02 μm,標準差為0.414 1 μm,變異系數(shù)為0.021 77;當僅考慮待測物體與觀測臺所夾角度變化時,測量誤差均值為14.46 μm,標準差為6.359 μm,變異系數(shù)為0.439 8。
本文提出了一種單目機器視覺測量誤差概率建模與分析方法,該模型能夠綜合考慮相機畸變和邊緣檢測算法固定的情況下,外界光照擾動、隨機噪聲和觀測角度變化對測量誤差的影響,進而采用蒙特卡洛法模擬計算并結(jié)合實驗進行驗證。
(1)隨機噪聲對測量結(jié)果的均值影響最大,外界光照擾動次之,觀測角度的變化對測量結(jié)果的均值影響最小。
(2)觀測角度的變化引起試驗數(shù)據(jù)的分散性最大,隨機噪聲次之,外界光照擾動引起測量結(jié)果的分散性最小。
(3)外界光照擾動、隨機噪聲和觀測角度的變化在經(jīng)過一系列圖像處理算法運算后,最終所得到的測量誤差分布服從偏態(tài)分布。針對偏態(tài)分布的概率分析問題,將有待于后續(xù)的研究。