摘 要: 本文采用質心法和最長弦距法來計算雙目視覺定位系統標定,用Matlab作為編程工具計算得出系統標定所要確定的像平面的點的坐標。并且對這兩種方法進行誤差分析a和穩定性分析表明,當靶平面與像平面所形成的θ角控制在0,區間內,其相對誤差小于0.017,且該方法在一定的取值范圍內具有較好的穩定性。
關鍵詞: 雙目定位系統 標定 質心法 最長弦距法
1.引言
機器視覺術的迅猛發展,要求開發一種有效的環境信息感知方法,實現機器與環境的互動,將機器智能提高到更高層次。數碼相機定位在交通監管(電子警察)等方面有廣泛的應用。所謂數碼相機定位是指用數碼相機攝制物體的相片確定物體表面某些特征點的位置。最常用的定位方法是雙目定位,即用兩部相機來定位。對物體上一個特征點,用兩部固定于不同位置的相機攝得物體的像,分別獲得該點在兩部相機像平面上的坐標。只要知道兩部相機精確的相對位置,就可用幾何的方法得到該特征點在固定一部相機的坐標系中的坐標,即確定特征點的位置。于是對雙目定位,精確地確定兩部相機的相對位置就是關鍵,這一過程稱為系統標定。在關于機器視覺的諸多研究領域中,物體成像的特征點定位技術是關鍵的技術之一,是機器自主識別的基礎[1]。其應用極為廣泛,在交通監管(電子警察)、智能跟蹤等方面有著廣泛的應用。在實際應用中,需要解決兩個關鍵的問題是:用雙目定位方法來測定物體表面的特征點和用系統標定的方法對數碼相機的相對位置進行定位。眾多環境感知方法中,計算系統標定是最具挑戰性和吸引力的一種。目前,對于系統標定的計算有很多方法,本文采用質心法和最長弦距法來計算雙目視覺定位系統標定[2],用Matla作為編程工具計算得出系統標定所要確定的像平面的點的坐標。并且對這兩種方法進行誤差分析和穩定性分析表明,當靶平面與像平面所形成的θ角控制在0,區間內,其相對誤差小于0.017,且該方法在一定的取值范圍內具有較好的穩定性。
2.雙目定位系統標定的求解方法
由靶標及其像,要計算靶標上圓的圓心在像平面上的像坐標,如圖1和圖2所示。
假定靶標上圓的成像大小就是圖2的實際大小。于是,我們可以采用計算機模式識別和圖形學的相關知識,按照計算機圖形顯示坐標的規定,把圖2的左上角定為顯示坐標原點,同時為了使計算機程序識別和計算變得方便,將圖2上的兩個圓的成像分別計算,每一個成像都單獨相對左上角原點計算出坐標。我們分別采用最大弦長法和定積分求解質心法求解。
(1)最大弦長法求中心。成像圓上的最大弦的中點坐標和圓的圓心坐標重合,借助Mat Lab將成像圖灰度化,提取出其靶標的像的邊界上各點的坐標,在其中找到最長的弦,則最長的弦的中點坐標就取作圓心的坐標,假設點M(x,y)和N(x,y)為所找到的最大弦距的兩點,則靶標的像坐標為(,)。
(2)定積分求解數碼相機拍照圓的像的質心坐標。我們取一個平面圖形由y=f(x),y=f(x)(y<=y,x在[a,b]內取值),x=a,x=b圍成,則質心坐標(X,Y)如下式計算:X=?蘩x(y-y)dx/?蘩(y-y)dx,Y=?蘩(y-y)dx/?蘩(y-y)dx。我們將兩種方法所求的結果進行比較,得出實驗結果,實現過程如下。
①首先將圖2上除A點的像以外的其他點用圖像工具擦除,得到如圖3所示的圖形。
②用MatLab的imread( )函數將圖6載入[3],調用程序如附錄(一)所示。
運行后得到如圖4所示的結果,其中用平均值法求的坐標值為(326,187),用最大距離法求的坐標值為(319,188)。
同理,可由同像的方法求得其他像點的坐標。如下圖所示。
通過兩種方法求得的圓心坐標如表1所示。
我們可以把上面確定的坐標轉化到以光學中心為坐標系原點,x-y平面平行于像平面的空間坐標系中。因為x-y平面平行于像平面,故只需要在我們確定的坐標后面加上一個Z坐標即可。而這個Z坐標就是相距(1577個像素單位≈417.20mm),并且坐標值皆為負。如表2所示。
3.質心法與最大弦距法的誤差分析與穩定性分析
定義:對于像平面上任意兩個點a=(x,y),b=(u,v)∈?鄣D,定義d=d(a,b)為平面圖形的特征直徑,其中d(a,b)=,?鄣D為平面圖形的邊界。
誤差分析:通過這樣定義了像平面中圖像的特征直徑后,我們利用Matlab編程計算得出了像平面中靶標上圓的圓心在像平面上的像坐標,即圖2中各個像圖在像平面上的坐標。
由于在實際的攝像中它們的像一般會變形,如上圖所示我們通過編程計算得出的坐標與實際是有誤差的,因此不管用什么方法來計算靶標上圓的圓心在像平面上的像坐標都會有誤差。所以我們需要對這樣的算法進行誤差分析。
(1)絕對誤差:d(θ)=×d(1-cosθ)①
其中θ是數碼相機的像平面與外界靶標所在平面的夾角,我們將θ角控制在0,區間內,即θ∈0,。這里我們結合實驗為了將誤差控制得得更小,我們取作為數碼相機的像平面與外界靶標所在平面的夾角的上界。所以由上述絕對誤差的公式①可以算得最大絕對誤差為:
d(θ)=×d(1-)
=×d(1-0.9659)
=×d0.0341。
(2)相對誤差:這里我們由絕對誤差可以定義相對誤差為最大絕對誤差與上述定義中所定義的平面圖形的特征直徑的比。(這里表示相對誤差)
通過相對誤差的計算我們可以看到我們上述所設計的用來計算靶標上圓的圓心在像平面上的像坐標的算法可以將由于像的變形所帶來的相對誤差控制在0.017的范圍內。下面我們對這種算法的穩定性進行分析。
穩定性分析:在設定相機的成像平面與外界靶標上圓所在的平面的夾角時我們給θ角一個微小的擾動(這里取微小擾動的值為△θ)則有:
d(θ+△θ)-d(θ)=×d×(1-cos(θ+△θ))-×d(1-cosθ),當△θ<δ時,有:
|d(θ+△θ)-d(θ)|=×d|cos(θ)-cos(θ+△θ)|②。
于是?坌ε>0,由于對給定的圖形的特征直徑d大于0的數,所以取δ=,則由②式有當△θ<δ時,有:
|d(θ+△θ)-d(θ)|=×d|cosθ-cos(θ+△θ)|
≤×d|cosθ(1-cos(△θ))+sinθsin(△θ)|
≤×d(△θ·cosθ+△θ·sinθ)
≤△θ·d
<ε。
所以通過上述對穩定性的分析和計算我們可以看出對于這樣定義的特征直徑來計算像圖在相素坐標系中的坐標具有很好的穩定性。
4.結語
本文采用質心法和最長弦距法來計算雙目視覺定位系統標定,用MatLab作為編程工具計算得出系統標定所要確定的像平面的點的坐標,并且對這兩種方法進行誤差分析和穩定性分析表明,當靶平面與像平面所形成的θ角控制在0,區間內,其相對誤差小于0.013,且該方法在一定的取值范圍內具有較好的穩定性,較好地計算出了數碼相機的定位問題。另外,該方法對于計算雙目視覺定位系統標定具有很好的可操作性,因此應用廣泛。
參考文獻:
[1]李瑞峰.機器人雙目視覺系統的標定與定位算法[J].哈爾濱工業大學學報,2007,39,(11).
[2]朱興龍.基于立體視角和激光標記的空間物體位姿的快速定位算法[J].機械工程學報,2004,40,(07):161-165.
[3]于萬波.基于MATLAB的圖象處理[M].北京:北京大學出版社,2008.
[4]肖樹鐵,姜啟源,張立平,何青,高立.數學實驗[M].北京:高等教育出版社,2007.