對于數碼相機定位問題的分析報告_第1頁
對于數碼相機定位問題的分析報告_第2頁
對于數碼相機定位問題的分析報告_第3頁
對于數碼相機定位問題的分析報告_第4頁
對于數碼相機定位問題的分析報告_第5頁
已閱讀5頁,還剩27頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 . . . 高教社杯全國大學生數學建模競賽承 諾 書我們仔細閱讀了中國大學生數學建模競賽的競賽規則.我們完全明白,在競賽開始后參賽隊員不能以任何方式(包括、電子、網上咨詢等)與隊外的任何人(包括指導教師)研究、討論與賽題有關的問題。我們知道,抄襲別人的成果是違反競賽規則的, 如果引用別人的成果或其他公開的資料(包括網上查到的資料),必須按照規定的參考文獻的表述方式在正文引用處和參考文獻中明確列出。我們重承諾,嚴格遵守競賽規則,以保證競賽的公正、公平性。如有違反競賽規則的行為,我們將受到嚴肅處理。我們參賽選擇的題號是(從A/B/C/D中選擇一項填寫):我們的參賽報名號為(如果賽區設置報名號的話

2、):所屬學校(請填寫完整的全名):參賽隊員 (打印并簽名) :1. 2. 3.指導教師或指導教師組負責人 (打印并簽名): 日期:年月日賽區評閱編號(由賽區組委會評閱前進行編號):高教社杯全國大學生數學建模競賽編 號 專 用 頁賽區評閱編號(由賽區組委會評閱前進行編號):賽區評閱記錄(可供賽區評閱時使用):評閱人評分備注全國統一編號(由賽區組委會送交全國前編號):全國評閱編號(由全國組委會評閱前進行編號):對于數碼相機定位問題的分析摘要:本文針對雙目定位的數碼相機相對位置的標定問題進行了深入研究。對于問題一,建立了世界坐標系和相機成像坐標系之間的轉換矩陣,可以根據相機與靶面任意的相對位置關系求

3、得靶標圓心的像坐標;對于問題二,針對所給靶標的特征提出了質心模型、切線模型、解析法模型三種求靶標圓心在像坐標投影點的模型,并就所給的靶標相片求出了圓心投影的像坐標。對于問題三,應用了問題一中轉換矩陣,建立了判定問題二中模型優劣的仿真算法,對問題二中提出的三種模型進行了優劣分析。對于問題四,應用Roger Y. Tsai的單部相機部和外部參數的標定算法,不用求解多元非線性方程組,直接用最小二乘法求解超定線性方程組,即可求得相機坐標系的變換矩陣和像距,從而能夠確定兩相機的相對方位和位置關系。本文得到的主要結論如下:問題一:求解靶標圓心像坐標的算法為世界坐標系和相機成像坐標系之間的坐標變換;問題二:

4、利用三種模型得出問題所給靶標相片中靶標圓心投影位置的像坐標,如下表所示;質心模型切線模型解析法模型XYXYXYA322.8948189.4935323.2771189.9167323.0474189.6938B422.9960196.9423423.2943197.3401423.0209197.0611C639.8994213.1522640.1433213.3946640.1127213.2289D582.7329502.9824583.0062503.2098582.8821503.1650E284.6657501.7731284.9940502.0426284.8034502.0957

5、問題三:在像平面和物平面夾角不是很大的情況下,三種模型的精度相差不大;像平面和物平面夾角比較大時,切線模型的精度大于解析法模型,質心模型的精度最差。問題四:運用相機外參數的標定算法和問題二得到的靶標圓心和切點坐標,得題圖三對應相機的相機坐標系的旋轉矩陣與平移向量分別為,。關鍵詞:機器視覺、坐標變換、透視投影、相機標定對于數碼相機定位問題的分析一、 問題重述雙目視覺定位系統是機器視覺學科的主要研究容,系統通過處理放在兩個不同位置的攝像機捕捉到的圖像,對空間中的某點或某物體進行定位。這種技術在交通、醫療、工業、軍事等領域都有廣泛的應用。要使定位系統進行準確的定位,必須知道兩臺相機精確的相對位置關系

6、,可以使用如下方法對兩臺相機進行標定以獲得相機的相對位置:在一塊平板上畫若干個點, 同時用這兩部相機照相,分別得到這些點在它們像平面上的像點,利用這兩組像點的幾何關系就可以得到這兩部相機的相對位置。然而,無論在物平面或像平面上我們都無法直接得到沒有幾何尺寸的“點”。實際的做法是在物平面上畫若干個圓(稱為靶標),它們的圓心就是幾何的點了。而它們的像一般會變形,所以必須從靶標上的這些圓的像中把圓心的像精確地找到,標定就可實現。本課題要求完成下列任務:(1) 建立數學模型和算法以確定靶標上圓的圓心在該相機像平面的像坐標, 這里坐標系原點取在該相機的焦點,x-y平面平行于像平面;(2) 由靶標與其像,

7、計算靶標上圓的圓心在像平面上的像坐標(3) 設計一種方法檢驗你們的模型,并對方法的精度和穩定性進行討論;(4) 建立用此靶標給出兩部固定相機相對位置的數學模型和方法。二、 問題分析該問題實際上是求解不同坐標系中的點的對應關系的問題。對于第一個問題,首先需要解決的是空間圓成像的映射問題。由于實際情況中維度的差距,可以考慮將成像的模型設置為小孔成像的模型,從而省略了成像的畸變對定位造成的影響對問題進行簡化,對于由此造成的誤差在后面的模型分析中進行討論。空間圓小孔成像中有一些基本的原則和理論需要進行分析,然后以此進行建模,考慮空間中各個參考系之間的坐標變換關系,通過旋轉、平移等方式達到點的映射的目的

8、。對于問題二,即考慮上述過程的反向過程:已知像的信息和原象的信息,要求得出原象的圓心在像上的位置。一個樸素的想法就是考慮質心的對應關系,如果能找到像和原象的質心的對應關系,就求出了圓心在像平面上的坐標。但是此種做法缺乏理論依據,只是根據生活經驗得出,但不失為一種參考的方法,可以將其與其他方法進行對比,選出更優的方法。再者,還可以通過切線的垂線的交點來確定圓心。首先對給出的像的信息進行處理,擬合出像中的曲線方程,接著在物的由物平面中的切點求出它們在相平面中的坐標(用問題一的方法),之后就可以由切點求出切線的方程從而得出圓心的坐標。另一個想法是解析的方法。通過空間解析幾何和平面上線、角的關系計算出

9、圓心相對于空間坐標系的坐標,并由第一問中各坐標系的坐標變換關系就可以得出圓心在像平面上的坐標。以上方法都在理論推導的過程中進行了一些近似從而會導致系統誤差,所以在由上述一些方法對問題進行分析過后還需要對它們的精確程度和穩定性進行分析。此即問題三的要求。而對于不同的方法,應采用不同的誤差分析方法以得出他們的精度和穩定性。對于質心的方法,由于其缺乏理論根據,所以只能將其結果與其他的方法的結果進行比較以考慮其精度;對于切線的方法,由于計算機擬合的過程很精確(點足夠多的情況下),且在之后的處理過程中沒有進行近似處理,其精度的討論應該也著重與其他方法的比較;對于解析的方法,由于其通過公式的推導,經過適當

10、的近似得到結果,因此應著重討論其近似時產生的誤差。而對于穩定性的討論,應朝著考慮靶標的移動、標定形狀、噪聲對方法精度的影響。最后一問要求通過靶標的世界坐標系坐標和靶標在兩部相機的成像坐標系中的像點坐標來確定兩部相機的相對位置。具體來說,即已知靶標上若干物點的世界坐標和成像坐標,尋找標定兩個相機坐標系相對世界坐標系的旋轉矩陣 和平移向量 以與相機的部參數的算法。由這四個矩陣能夠自然地求得兩相機的相對位置。三、 模型假設1本題中不考慮鏡頭畸變;2本題中相機模型為小孔模型;3各空間坐標軸均為右手系。四、 符號與術語說明透射投影:坐標變換中的旋轉矩陣。:坐標變換中的平移向量。:像距,光心到像平面的距離

11、。世界坐標系:,被拍攝物體所在坐標系。相機坐標系:,以相機光軸為,光軸平行于相機像平面。成像坐標系:,像平面坐標系。五、 模型的建立與求解問題一該問要求靶標上圓的圓心在相機像平面上的坐標,即世界坐標系()、相機坐標系()和成像坐標系()三個坐標系之間的點坐標的轉換。1 世界坐標系和相機坐標系之間的轉換該轉換用旋轉矩陣和平移向量來描述,世界坐標和相機坐標間滿足下式:其中(具體確定見下文),即世界坐標先旋轉矩陣,再將坐標原點平移向量成為相機坐標。為方便表達,上式亦可表示為,其中,而旋轉矩陣的確定有多種方法,如繞坐標軸的旋轉變換,歐拉角旋轉變換等,考慮到直觀易用性,本文選取繞坐標軸的旋轉變換來確定矩

12、陣,分別為坐標系旋轉變換時繞固定的世界坐標系坐標軸的旋轉夾角,此時為,圖1 坐標系的旋轉又應用z-x-y旋轉順序,即先繞世界坐標系的z軸旋轉,再繞其x軸旋轉,最后繞其y軸旋轉,但每次旋轉都是以固定的世界坐標系坐標軸為轉軸的。圖2 相機坐標系和成像坐標系2 相機坐標系和成像坐標系之間的轉換對于該問題,用小孔模型代表相機工作原理,相機坐標系以小孔(光心)為坐標原點,以光軸為軸正方向,而成像平面坐標系則平行于相機坐標系的平面,如圖2所示。原理上說,成像平面應當在物點P 和光心O連線的延長線上,完成小孔成像,但由于成倒像,為處理和討論方便,將成像平面放置在光心和物點之間,距光心的位置上,此處為像距。由

13、小孔成像原理和相似三角形知識,得到相機坐標系和成像坐標系之間的關系為:,其中,為P點的成像坐標,為P點在相機坐標系中的空間坐標。矩陣形式表示為:。綜上所述,可得世界坐標系和成像坐標系之間的變換關系為: (1)在相機部參數都確定的情況下,M為一常矩陣,為隨著世界坐標系中點坐標變化的量,為列向量的第三項元素。因而得到了世界坐標系和成像坐標系之間的變換關系。對于本小問,輸入為世界坐標系中靶標的5個圓心位置以與數碼相機的6個位置參數(旋轉矩陣中的3個旋轉角度和平移向量的3個變量),要求輸出靶標圓心在像平面上的坐標。對于靶標,定義如圖3的世界坐標系,5個圓心放置在xoy平面上,其坐標如表1所示;相機的位

14、置參數則由外部設定6個參數。用Matlab編寫程序(代碼見附錄),可得到應用上述坐標變換式所得圓心對應的像坐標的和。由于題中要求坐標系的原點定在光心,因而最終像坐標為。圖3 世界坐標系表1世界坐標系中靶標圓心的坐標圓編號圓心x坐標圓心y坐標圓心z坐標A-50500B-20500C50500D50-500E-50-500問題二問題二要求根據靶標圖像和靶標的像,靶標上圓的圓心在像平面上的像坐標。1 圖像的預處理由于題中靶標圖像的照片給出的是灰度圖像,并且實際攝像頭拍攝的照片也是灰度圖像,所以提取圓心工作以前,必須對圖像進行預處理工作。圖像預處理流程如圖4所示,讀入圖像利用軟件提取圖形文件中像素的顏

15、色信息,由于圓心投影只與邊緣有關,所以用軟件算法實現邊緣的提取,本文利用了Sobel邊界探測器,由于原圖像灰度與閾值設定的原因,完成邊界探測后會有許多與邊界不連續的點,我們稱之為噪聲,這里我們手工去除這些噪聲點,然后將邊界點坐標存入數組。同時我們將圖像做二值化處理,作為求質心的原始數據。圖5顯示了圖像預處理的效果,A為初始讀入圖像數據,是灰度圖像,B為經過Sobel邊界探測后的結果,有噪點存在,C為手工去除噪聲點后的圖像,D為原始圖像做二值化處理后的圖像。圖4 圖像預處理流程 A B C D圖5 圖像預處理階段示意2 圓空間透視投影的分析本小節介紹推導模型必須證實的幾個定理定理1:空間圓的投射

16、投影為橢圓證明:如圖6所示以為圓心的圓經過小孔投影到像平面上,以透鏡的光心為坐標原點建立空間三位坐標系,Z軸垂直于像平面向下,O到像平面的距離為,O到圓所在的平面的距離為。圖6 空間圓的透視投影設圓以為軸旋轉角度,再像平面形成一個封閉曲線,下面證明該封閉曲線為橢圓。圓的參數方程為:根據相似三角形比例原則,圓上一點與象平面中該點的坐標有如下關系整理得:此方程為一橢圓的標準方程,由此可知圓通過照相機在像平面上成的像為橢圓(在時為圓)。定理2:透射投影中,物圓的圓心的像不是所成橢圓像的中心。證明:圖7 XOZ平面AB剖面圖過圖6的的面作圓錐的剖面如圖7所示: 其中,為圓在像平面上所成的像,過作的平行

17、線分別交的反向延長線為,交于。假設圓心的像為橢圓的中心,則有由相似三角形邊的關系有:將上式代入下式有。分別從、向作垂線垂足分別為、,由于為的中點,所以有,由圖易知:。與上述矛盾,故假設不成立,即:物圓的圓心的像不是所成橢圓像的中心定理3:空間圓圓心的投影在投影橢圓的短軸上證明:首先說明圓的圓心的像、橢圓中心都在。由于是直徑,易知圓的圓心的像上。圖8平行于轉軸的剖面圖如圖8所示,由于圓以為軸旋轉角度,而軸過圓心,所以橢圓的中心在圓上的原象一定在垂直于軸的直徑上,在圖8中的表述即為橢圓的中心在的中點,其原象在上,所以為過橢圓中心的一條軸。下面證明該軸是橢圓的最短軸:設、的坐標分別為、由相似三角形邊

18、的關系與1中坐標的關系有:由上兩式可得,在上為單調遞減,又由于過橢圓中心,所以轉角最大的直徑所對應的像即為橢圓的最短軸。即物圓的圓心的像在其像橢圓的最短軸上。3 模型一像素質心模型31模型建立一般情況下,平面上一薄片的質心計算公式如下,為薄片的圍,為薄片在(x,y)的面密度,為質心坐標。本模型因為是基于像素的模型,像素是一個個離散的點,又由于圖形做了二值化處理,這里為二值量。定義:則在像素意義下的中心坐標定義式如下所示:其中(x1,y1),(x2,y2)為包含此橢圓而不包含其他橢圓的一個矩形的兩個對角頂點的坐標。經過2的分析,雖然空間圓圓心的投射投影一般不在投影圖形的幾何中心,而且利用像素所作

19、的離散計算存在著一定的誤差,但是作為一種近似的方法,也是可行的,后文將對這種模型造成的誤差做定量的分析。32模型求解按上述模型求得的圓心坐標如表2所示,表2 切線模型求點坐標圓XYA322.8948189.4935B422.9960196.9423C639.8994213.1522D582.7329502.9824E284.6657501.77314 模型二切線模型在上述的質心模型中,僅利用了一個橢圓自己的性質就給出了該橢圓圓心的投影,而本問題給出了五個相等大小并且相對位置已知的圓,所以如果利用圓之間相互關系求解各圓圓心的投影坐標將更為精確。41 切點位置不變的性質空間的投射投影有如下的性質,

20、如圖9所示,如果空間存在圓A,B,這兩個圓有公切線,切點a,b,c,d。如果將這兩個圓做某透視投影如圖所示,此時在做投影橢圓A,B的公切線,則得到的四個切點a,b,c,d分別是原來a,b,c,d的投影。圖9切點位置不變的性質示意圖投射投影變換屬于仿射變換,點在線上的位置關系不會改變,在本問題的靶標圖形中,有四個相等大小的圓(A,C,D,E)正好在正方形的四個定點上,兩兩做這四個圓的外公切錢,如圖,可得相對的切點的連線經過圓心,兩條連線的交點就是圓的圓心。所以在投射的象的圖形中,只需找到這些切線與切點,連接各個切點形成交線就可以求得圓心。對于問題中的圓B,由于不存在相互垂直的切線,所以只能夠確定

21、一條直徑的位置,另外根據2的敘述,圓心的投影肯定在投影橢圓的短軸上,這樣用已知直徑的投影和橢圓的短軸相交,就可以求得B圓圓心投影的坐標。42 橢圓方程的擬合本模型要求作橢圓的曲線,由于所給圖像分辨率不高,僅為1024*768像素,所以如果直接用圖像中圖形邊界做切線,精度將會變得非常低,會造成很大的誤差,所以在本模型中,先要利用所給圖像中圖形的邊界(在1中提取)擬合出橢圓的方程。平面中,二次曲線的一般方程是:其中將空間中任意一點帶入F,被稱為空間點到圓錐曲線的“代數距離”。擬合一條圓錐曲線可以看作是求所有被擬合點代數距離平方和的最小值。如下式所示:設用N個點擬合一個橢圓,又根據文獻2中描述如果限

22、制可行解的向量肯定是橢圓的參數向量。由此可以把橢圓擬合的問題轉換為一個帶二次限制條件的最小二乘問題,如下:其中圖中五個橢圓方程擬合的結果如表3所示。表3橢圓方程參數圓abcdefA0.49083680.045627320.5103946-325.6590-208.190271450.98B0.50054520.071117930.5019815-437.4560-227.8848114165.5C0.52528670.13234670.4842668-700.4724-291.0644254440.3D0.47898800.18026210.5388937-648.9240-647.14833

23、51269.2E0.45211530.10417250.5589569-309.6662-590.5596191540.0圖10為實際過程中橢圓擬合的效果圖,從圖中可以看出,方程對于橢圓做了很好的擬合,圖10 橢圓擬合效果圖表4顯示了擬合過程中代數距離平方和的最小值,可看出大約在數量級,由于每個橢圓用大約200個點進行擬合,所以應該在20左右,x,y坐標平均的誤差應該在幾個像素以。表4 代數距離平方和圓ABCDE平方和52242.5745703.2339525.2030956.1140892.5243 公切線的求取圖11靶標的公切線圖設兩橢圓方程分別為A橢圓在處的切線斜率為:B橢圓在處的切線斜

24、率為:如果,連線是切線,那么聯立上述五式可求得,和的解,其中,關于,是四次方程,既可以求得四組解,這和切線的物理意義(兩組切,兩組外切)是一致的。實際求解過程當中,由于計算規模過大,不宜求解,所以這里我們采用了將最后一個條件改為的優化條件,然后限定,的圍,用LINGO軟件解優化(程序見附錄)問題,經試驗,效果良好,不僅求解速度很快,而且每次優化目標都等于0,說明求得了正確解。44 模型求解按上述模型求得的圓心坐標如表5所示,表5 切線模型求點坐標圓XyA323.2771189.9167B423.2943197.3401C640.1433213.3946D583.0062503.2098E284

25、.9940502.04265 模型三 解析法模型51 模型建立在圖12所示在照相機坐標系中圓的半徑是,設該圓繞 y軸旋轉角,圖中坐標系原點設在焦距中心,圓心,距坐標系原點的距離為,攝像機焦距為,圓的參數方程為根據相似三角形比例原則,圓上一點與圖像 中該點的坐標有如下關系整理化成橢圓的標準方程(在像平面上)為:圖12空間圓的透視投影圖過圖12中的面作圓錐的剖面如圖7所示:,(設圓的半徑為),易知AB在像平面上的像為所形成橢圓的短軸。而過圓心且與AB垂直的半徑CD在像平面上的像為一條平行于圓在像平面上的像(橢圓)的長軸的直線,設其長度為,設其像橢圓的長軸長為,短軸長為。如圖8所示,設圓心到原點的距

26、離為,圓心到像平面的距離為。則由相似三角形的關系有:(2)又由小孔成像的原理,對應的直線在成像后大小變化的比例是相等的,反映在上左圖中即: (3)由上面的橢圓標準方程可知圓所成的像的中心并不是圓的圓心在像平面上的對應點,圓心的坐標為與上面(*)(*)式聯立可以得出如下關系:(4)為了確定圓心的位置,由于的紙無法直接得出,所以取橢圓的半長軸代替,可以得出圓心的近似位置。52 參數求解對于式(*),像距f已知,需要解得橢圓的半長軸和半短軸,對于任意橢圓的一般式,總可以將其化成如下形式:根據系數相等可得:解得由此可得橢圓的圓心為,橢圓的半長軸為,半短軸為橢圓旋轉角度為53 模型求解通過5.2求得擬合

27、的各橢圓的長軸和短軸,轉角,中心,然后通過5.1中的(2)-(4)式求得空間圓圓心在象平面投影的坐標。表6 空間圓圓心在象平面投影的坐標圓XYA323.0474189.6938B423.0209197.0611C640.1127213.2289D582.8821502.0957E284.8034502.0426問題三1模型的檢驗方法該方法的核心是基于問題一的結論,在問題一中,已經獲得靶標上的點和像平面上像坐標的對應關系,因此可以按以下步驟完成基于仿真的檢驗:步驟1 固定靶標,確定相機相對于靶標的姿態,包括旋轉矩陣和位移矢量。步驟2通過問題一結論中的變換公式,求出靶標上所有點映射到相機像平面的坐

28、標,這里必須使用離散化算法。(離散化算法解釋)這一步實際上就仿真求出了在此相機姿態下,靶標在相機像平面所成的像,同時,可以準確的知道靶標上圓的圓心在相機像平面投影的坐標。步驟3 用問題二中的多種方法對步驟2中求出的靶標的像求圓心步驟4 用所求得圓心和映射在相機像平面的準確的圓心的像做比較,兩者相差越小說明方法越準確。2檢驗結論(a) (b)圖13 成像檢驗圖表7 圖13(a)檢驗結果標準圓心質心模型切線模型解析法模型XyXYxyxy519.9263309.5831519.9351310.3686519.9333310.4732520.1446309.9762589.1007311.027158

29、9.0412311.8446589.1136312.0014588.9056311.4932747.6679314.3308747.5765315.1844747.5763315.4256747.7089315.1042722.0924518.4924505.9950518.2396723.0138518.3788721.8761518.3584506.1380517.4491722.1016519.3891504.1380517.7691503.8780517.4360誤差平方和3.4754167.9130146.229838表8 圖13(b)檢驗結果標準圓心質心模型切線模型解析法模型Xyx

30、yxyxy484.6105361.5820486.8028361.5050485.7325361.5549485.6051361.5320616.7665348.9821616.7102349.1967616.7449349.0115616.7233349.1549914.1542320.6321914.3273320.8787914.2246320.6122914.2781320.6257813.8254506.6421813.8603507.2887813.8434506.6281813.8398506.6377466.4812544.9864466.3966545.6107466.457

31、2545.1974466.4355545.4902誤差平方和5.7683241.3119191.294977表7-8顯示了用上述方法檢驗問題二中方法的結果,生成的虛擬照片如圖13所示。其中圖13(a)為像平面與物平面近似平行的情況,從結果中可以看出,在這種情況下,利用質心模型求解投影模型的誤差是十分小的,在某些情況下,質心模型求解的誤差小于用理論上更精確的切線模型和解析法模型。經過分析,我們認為,這是因為由于有限分辨率造成的量化誤差其實可以等效為均值在質心的二維高斯噪聲,而求質心相當于對噪聲作了平均,一次可以抵消一部分噪聲的影響,而切線模型和解析法模型是基于二次曲線最小二乘擬合的,這不能消除高

32、斯噪聲的影響。但圖13(b)中,像平面與物平面有較大的角度,這時,質心模型有較大的誤差,而切線模型和解析法模型的誤差較小。問題四此小問即要求通過靶標的世界坐標系坐標和靶標在兩部相機的成像坐標系中的像點坐標來確定兩部相機的相對位置。具體來說,即已知靶標上若干物點的世界坐標和成像坐標,標定兩個相機坐標系相對世界坐標系的旋轉矩陣和平移向量以與相機的部參數。由這四個矩陣能夠自然地求得兩相機的相對位置。由問題一可以看到,本小問是問題一的反向求解,即已知兩種坐標系下點的坐標,求轉移矩陣的過程。但直接通過式(1)來求解是非常困難的。原因有二:第一,是3*4的矩陣,有12個未知數, 需要解12個方程,即使借助

33、計算機軟件也很難完成任務,Matlab的Solve函數求解能力不足以解決12個方程,Lingo也應變量過多無法在有限時間給出結果;第二,通過消去,每個靶標上的物點與其對應成像點可提供2個方程,因而共需6個點才能解出未知數,但本題每個靶標上只有5個圓,直接提供5個圓心,提供信息不足。因此,需要更直接的標定相機位置的方法,在參考了文獻14后,我們發現了不用解多元或非線形方程的標定方法。該算法依然基于問題一的式(1),同時充分利用了靶標的自由設定來減少未知量。現描述標定一部相機的算法。、1標定單部相機部和外部參數的算法步驟1:令靶標上個物點的世界坐標為,物點在成像坐標上的坐標為,矩陣和的定義同問題一

34、,則當時即可用最小二乘法由上式解得;步驟2:令當矩陣沒有任何一行或一列為全0時(有一行或一列為全0的情況見文獻1),其中,。由此可得的大小;步驟3:假設的符號為正,在個物點中選擇一個成像坐標遠離坐標原點的物點,計算如果與同號并且與同號,則的符號為正,否則為負;步驟4:由于旋轉矩陣為單位正交陣,因此由四個量即可確定出, 而可由與叉乘得到,的符號的具體確定請請參閱文獻1;步驟5:構造矩陣,其行為,再構造向量,然后解線性方程,即得相機像距和轉移矩陣中的。至此成功標定了相機的部參數和全部外部參數。算法MATLAB代碼見附錄。2標定兩臺照相機相對位置的方法使用此算法可以得到兩部相機各自的和,即得到如下方

35、程組:消去后得到:即得兩相機坐標系之間的相對位置關系:3針對本題的算法實例使用問題二得到的成像坐標系中五個圓的圓心坐標,再結合問題一中的世界坐標系的假設,使用上述算法,編制Matlab程序得到了拍攝題目中圖三的相機的旋轉矩陣和平移向量:再用問題一的算法,使用世界坐標系中的靶標圓心坐標和矩陣、,運用Matlab反推出其在成像坐標系中的像(重塑值),與其與問題二中得到的圓心像坐標(理論值)對比如圖14。可見兩者基本重合,1中所述算法可認為有效。圖14靶標圓心點的理論值和重塑值的像坐標對比盡管五個圓心可以標定出相機的位置,但上述算法的特點是參與標定的物點越多,得到的變換矩陣越精確。因而,我們將第二問

36、中得到的四個圓的十六個切點的兩套坐標也代入算法中,此時得到的和為:可以發現此時的變換矩陣和只用5個圓心得到的矩陣近似相等,但顯然和更為精確,因此將其作為題中拍攝出圖3的相機的標定位置。圖15是圓心和切點的理論值和重塑值對比圖。由圖中兩者的近似重合亦可驗證算法的有效性。圖15靶標圓心點和切點的理論值和重塑值的像坐標對比六、 模型評價和模型改進1關于問題一,完全按照坐標變換和幾何關系進行推導,若不考慮相機鏡頭的畸變,則模型是精確的,因而改進方法為盡量研究抗量化噪聲的算法。但對于問題一的坐標變換模型,世界坐標系到相機坐標系的變換為先旋轉后平移,不如先平移后旋轉直觀。因為旋轉后的平移相對于新坐標軸,這

37、個平移量比基于原始坐標軸,即未旋轉的坐標軸,要來得復雜和抽象。因此,先平移后旋轉的坐標變換方法能使得用戶或研究人員更容易地確定相機坐標系方位。2關于問題二提出的三種計算圓心投影的方法中,都遇到了相片分辨率有限存在量化誤差的問題,這會造成圓心投影計算的誤差。其中質心法和解析法均已做了近似處理,而切線法的精度僅取決于二次曲線擬合的精確與否。一般情況下,精度切線模型 > 解析法模型 > 質心模型,運算復雜性也是切線模型 > 解析法模型 > 質心模型,所以在精度要求不高,并且物像平面基本平行的情況下,質心模型也不失為一種好的選擇。3對于問題四的相機參數標定算法,參量符號的確定方

38、法不夠嚴謹而比較隨意,特別是轉移矩陣中的和的符號有兩種組合方式,要根據后面算出的的符號來確定,不具有優秀算法所必須的確定性。參考文獻:1Roger Y. Tsai,A Versatile Camera Calibration Technique forHigh-Accuracy 3D MachineVision MetrologyUsing Off-the-shelf TV Cameras and Lenses,IEEE JOURNAL OF ROBOTICS AND AUTOMATION, VOL. RA-3, NO. 4, AUGUST 19872 Andrew Fitzgibbon, M

39、aurizio Pilu, and Robert B. Fisher. Direct Least Square Fitting of Ellipses, PATTERN ANALYSIS AND MACHINE INTELLIGENCE, VOL. 21, NO. 5, MAY 19993紅寧,基于雙目立體視覺擬人機器人定位關鍵技術的研究,工業大學碩士學位論文,p7-28,2006.124方超,雙目CCO成像目標器識別算法研究,理工大學碩士學位論文,p4-28,2007.65Zhang, Z,A Flexible New Technique for CameraCalibration,Patt

40、ern Analysis and Machine Intelligence,Volume 22, Issue 11,p2-8,Nov. 20006慶瑤 萬書亭,機器視覺中空間圓透視投影特性研究,華北電力大學學報,第25卷第1期,p79-83,1998.1附錄:1.問題一Matlab程序代碼clcclear%ques1 using coordinates trans.f=1577/3.78; %mmtrans1=f 0 0 0;0 f 0 0;0 0 1 0;a=0; %rotate angle inputb=pi/2;c=-pi/2;%rotation matrixR= cos(b)*cos(

41、c)+sin(a)*sin(b)*sin(c), cos(a)*sin(c), -cos(c)*sin(b)+sin(a)*sin(c)*cos(b); -cos(b)*sin(c)+sin(a)*sin(b)*cos(c), cos(a)*cos(c), sin(c)*sin(b)+sin(a)*cos(c)*cos(b); cos(a)*sin(b), -sin(a), cos(a)*cos(b);t=0 0 -400' %displacementtrans2=R t;0 0 0 1;targ1=0 -50 50 1'targ2=0 -20 50 1'targ3=0

42、 50 50 1'targ4=0 -50 -50 1'targ5=0 50 -50 1'targ=targ1 targ2 targ3 targ4 targ5;img=zeros(5,2); %image points's coordi.for i=1:5 mytemp=trans2*targ(:,i); zc=mytemp(3); w=trans1*trans2*targ(:,i)./zc; img(i,1)=w(1); img(i,2)=w(2);endplot(img(:,1)',img(:,2)','.');grid on;

43、axis(-520 520 -520 520);% px=-50 -20 50 -50 50;% py=50 50 50 -50 -50;% plot(px,py,'.');2LINGO擬合橢圓方程的代碼MODEL:SETS:POINT/R1.R184/:X,Y;ENDSETSDATA:X=OLE('a5','X');Y=OLE('a5','Y');ENDDATAMIN=SUM(POINT:(A*X*X+B*X*Y+C*Y*Y+D*X+E*Y+F)2); B2-4*A*C=-1;FREE(A);FREE(B);FR

44、EE(C);FREE(D);FREE(E);FREE(F);END3問題四算法的MATLAB代碼clcclear%ques1 using coordinates trans.f=1577/3.78; %mmtrans1=f 0 0 0;0 f 0 0;0 0 1 0;targ1=-50 50 0 1'targ2=-20 50 0 1'targ3=50 50 0 1'targ4=50 -50 0 1'targ5=-50 -50 0 1'targ=targ1 targ2 targ3 targ4 targ5;img=zeros(10,5,2); %image

45、points's coordi.%for k=1:10 %rotate angle input a=rand*pi; b=rand*pi; c=rand*pi; TT(:,k)=rand(3,1)*300; %displacement %rotation matrix% R= cos(b)*cos(c)+sin(a)*sin(b)*sin(c), cos(a)*sin(c), -cos(c)*sin(b)+sin(a)*sin(c)*cos(b);% -cos(b)*sin(c)+sin(a)*sin(b)*cos(c), cos(a)*cos(c), sin(c)*sin(b)+sin(a)*cos(c)*cos(b);% cos(a)*sin(b), -sin(a), cos(a)*cos(b); R = cos(b)*cos(c) cos(b)*sin(c) -sin(b); sin(a)*sin(b)*cos(c)-cos(a)*sin(c) sin(a)*sin(b)*sin(c)+cos(a)*cos(c)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論