唐 彬,金晅宏
(上海理工大學(xué) 光電信息與計(jì)算機(jī)工程學(xué)院,上海 200093)
?
三維重構(gòu)系統(tǒng)的極線矯正算法研究
唐彬,金晅宏
(上海理工大學(xué) 光電信息與計(jì)算機(jī)工程學(xué)院,上海 200093)
摘要在設(shè)計(jì)三維重構(gòu)系統(tǒng)的過程中發(fā)現(xiàn),極線矯正算法的優(yōu)劣將直接關(guān)系到三維重構(gòu)結(jié)果的準(zhǔn)確性和精確度。因此,文中采用了先進(jìn)行控制點(diǎn)變換再進(jìn)行灰度值插值的算法來達(dá)到極線矯正的目的。該方法通過控制點(diǎn)變換來定義空間變換本身,用其來描述每個像素如何從初始位置"移動"到終止位置,再利用灰度值插值算法產(chǎn)生一個光滑映射,并將像素點(diǎn)的灰度值改變,從而達(dá)到矯正的目的。文中不僅對矯正前后左右目攝像頭采集到的圖像進(jìn)行了對比,還對右圖矯正前后的灰度波形進(jìn)行了對比,矯正后的圖像整體向左平移了150個像素點(diǎn)。
關(guān)鍵詞極線矯正;控制點(diǎn)變換法;雙線性插值法
極線矯正是數(shù)字圖像處理中的重要技術(shù)之一[1]。如圖1所示,極線矯正的目的是將原像點(diǎn)投影到一個虛擬像面上,使得對應(yīng)極線共線且與圖像坐標(biāo)軸平行[2],從而簡化立體匹配過程,提高匹配速度和精度。由于極平面可以用向量T和向量P表示,根據(jù)向量的乘法運(yùn)算有[3]
(P-T)·(T×P)=0
(1)
目前較常用的圖像矯正方法有透視變換法和控制點(diǎn)變換法,透視變換法主要是依據(jù)攝像機(jī)成像原理,實(shí)現(xiàn)圖像矯正;而控制點(diǎn)變換方法的主要原理是依據(jù)控制點(diǎn)的對應(yīng)關(guān)系,用雙線性插值的方法實(shí)現(xiàn)圖像矯正[4]。
1極線矯正的前提條件
在進(jìn)行極線矯正之前,首先要對攝像機(jī)進(jìn)行標(biāo)定或者弱標(biāo)定[5]。已知空間某一點(diǎn)P在世界坐標(biāo)系和相機(jī)圖像坐標(biāo)系下的齊次坐標(biāo)分別是W=(XW,YW,ZW,1)T和m=(u,v,1)T,于是有
(2)
式中,s為比例系數(shù);A為相機(jī)內(nèi)部參數(shù)矩陣;P和T分別為世界坐標(biāo)系到相機(jī)坐標(biāo)系的旋轉(zhuǎn)和平移向量。
圖1 立體視圖極線幾何(實(shí)線)和矯正后的極線幾何(虛線)
2控制點(diǎn)變換矯正法的具體實(shí)現(xiàn)
2.1控制點(diǎn)變換法的實(shí)現(xiàn)原理
控制點(diǎn)變換對失真圖像中所選定的一系列控制點(diǎn)的位移值來描述空間變換,這種方法的幾何運(yùn)算需要兩個獨(dú)立的算法。首先,需要通過控制點(diǎn)變換來定義空間變換本身,用其來描述每個像素如何從初始位置“移動”到終止位置,即每個像素的“運(yùn)動”;同時,還需一個用于灰度級插值的算法,用來產(chǎn)生一個能保持連續(xù)性和連通性的光滑映射[6]。在文中的三維重構(gòu)系統(tǒng)中,采集到的圖像均先轉(zhuǎn)換為灰度圖進(jìn)行處理,因此采用雙線性插值法。這種方法的空間變換表達(dá)式為
u=Ax+By+Cxy+D
(3)
v=Ax+Bx+Cxy+D
(4)
圖2 控制點(diǎn)的空間映射
如圖2所示,四邊形頂點(diǎn)直接映射到相應(yīng)的矩形頂點(diǎn)上,而輸入四邊形內(nèi)部的點(diǎn)則被映射到對應(yīng)矩形內(nèi)部的點(diǎn)上。
給定輸入圖像和輸出圖像相對應(yīng)的 4 個控制點(diǎn),便可得到 8 個線性方程,只要其中所有任意3個點(diǎn)均不在一條直線上,就可解出8個變換參數(shù),其表達(dá)式如下
(5)
2.2控制點(diǎn)變換法的具體實(shí)現(xiàn)過程
2.2.1變換矩陣及變換系數(shù)的求取
假設(shè)輸入圖像為f(x,y),輸出圖像為g(u,v)。輸入圖像與輸出圖像的相應(yīng)4個控制點(diǎn)坐標(biāo)分別是,(x1,y1),(x2,y2),(x3,y3),(x4,y4)和(u1,v1),(u2,v2),(u3,v3),(u4,v4),則根據(jù)式(5),可得到輸入圖像與輸出圖像像素點(diǎn)之間的變換矩陣,如下所示
(6)
在式(6)中,控制點(diǎn)變換系數(shù)A~H和輸入圖像坐標(biāo)(x1,y1),(x2,y2),(x3y3),(x4,y4)和輸出圖像控制點(diǎn)坐標(biāo)(u1,v1),(u2,v2),(u3,v3),(u4,v4)的函數(shù),因此式(5)可寫成
u=u(x1,y1,x2,y2(x3,y3,x4,y4,u1,v1,u2,v2,
(u3,v3,u4,v4)))
(7)
v=v(x1,y1,x2,y2,(x3,y3,x4,y4,u1,v1,u2,v2
(u3,v3,u4,v4,x,y)))
(8)
2.2.2灰度插值算法的實(shí)現(xiàn)
實(shí)現(xiàn)賦值的方法有正向映射法和反向映射法,本文選擇較容易實(shí)現(xiàn)的反向映射法。該方法是指從旋轉(zhuǎn)圖像上像素點(diǎn)坐標(biāo)(x,y)出發(fā),求出原始圖像上對應(yīng)的像素點(diǎn)坐標(biāo)(x′,y′),然后將原始圖像上對應(yīng)像素點(diǎn)(x′,y′)的灰度值賦給旋轉(zhuǎn)圖像上對應(yīng)像素點(diǎn)(x,y)[8],如圖3所示。
圖3 反向映射示意圖
插值的方法有較多種,考慮到精度和運(yùn)算速度,本文采用雙線性插值法。雙線性插值,又稱為雙線性內(nèi)插,是有兩個變量的插值函數(shù)的線性插值擴(kuò)展,其核心思想是在兩個方向分別進(jìn)行一次線性插值,運(yùn)算表達(dá)式為
g(u,v)=[f(x+1,y)-f(x,y)]x
+[f(x,y+1)-f(x,y)]y+f[(x+1,y+1)
+f(x,y)-f(x,y+1)-f(x+1,y)]xy+f(x,y)
(9)
由式(9)可看出,任意一點(diǎn)的灰度值由對應(yīng)空間變換點(diǎn)相鄰的4個像素灰度值共同決定。
圖4 雙線性插值算法解析圖
如圖4所示,已知A,B,C,D與待插值得到的點(diǎn)(x′,y′),為得到點(diǎn)(x′,y′),首先需要在x方向進(jìn)行線性插值,得到E和F,然后再在y方向進(jìn)行線性插值,即可得到點(diǎn)(x′,y′)。
假設(shè)(x′,y′)點(diǎn)的4個鄰近像素A,B,C,D的坐標(biāo)分別是(i,j),(i+1,j),(i,j+1),(i+1,j+1)。其灰度值分別為g(A),g(B),g(C),g(D)。首先計(jì)算E和F的灰度值g(E)和g(F)
g(E)=(x′-i)[g(B)-g(A)]+g(A)=
(i+1-x′)g(A)+(x′-i)g(B)
(10)
G(F)=(x′-i)[g(D)-g(C)]+g(C)=
(i+1-x′)g(C)+(x′-i)g(D)
(11)
再計(jì)算(x′,y′)點(diǎn)的灰度值,為
g(x′,y′)=(y′-j)[g(F)-g(E)]+g(E)=
(j+1-y′)g(E)+(y′-j)g(F)
(12)
線性插值的結(jié)果與插值的順序無關(guān)。首先進(jìn)行y方向的插值,然后進(jìn)行x方向的插值,所得到的結(jié)果一致。但雙線性插值插值方法并不是線性的,首先進(jìn)行y方向的插值,然后進(jìn)行x方向的插值,與首先進(jìn)行x方向的插值,再進(jìn)行y方向的插值,所得到的E與F是不同的。
3實(shí)驗(yàn)結(jié)論及分析
圖5 三維重構(gòu)系統(tǒng)中左右目圖像極線矯正前與矯正后對比圖
在三維重構(gòu)系統(tǒng)中,采取雙目攝像頭外加輔助光柵的結(jié)構(gòu)光圖像采集模型。左右目相機(jī)在采集圖像之后的原始圖像如圖5(a)和圖5(b)所示,結(jié)合輔助線可看出,左右目攝像頭拍攝到的圖片明顯不在同一水平線上,右邊攝像頭拍攝到的大象模型明顯比左邊高出較多。而經(jīng)過極線矯正處理后,兩個圖像就被調(diào)整到了同一水平線上了,這樣對后續(xù)匹配有較大幫助。
圖6 右目圖像極線矯正前后對比灰度圖
以右圖拍攝的圖像為例,假設(shè)對其某一條水平線上,如圖6所示的灰度值進(jìn)行采樣并將其用波形圖顯示,可得到如圖7所示的波形圖。
圖7 右目圖像極線矯正前后對比灰度值波形圖
從灰度波形對比圖來分析,矯正前和矯正后的波形大致相同,但明顯可看出,矯正后的圖像整體向左平移了150個像素點(diǎn)。此外,矯正前后的波形形狀也有明顯的差別,這是由于畸變造成的,因此矯正后與矯正前的大象模型在形狀上也有差別。
4結(jié)束語
矯正后的波形較矯正前噪聲略大,這是由于當(dāng)對相鄰4個像素點(diǎn)采用雙線性插值時,所得表面在鄰域處是吻合的,但斜率不吻合,且雙線性灰度插值的平滑作用可能使得圖像的細(xì)節(jié)產(chǎn)生退化,這種現(xiàn)象在進(jìn)行圖像放大時尤為明顯??傮w而言,文中的控制點(diǎn)變換法的極線矯正效果仍較為明顯,這在后續(xù)的匹配中也得到了證實(shí)。
參考文獻(xiàn)
[1]Andrea Fusiello,Emanuele Trucco,Alessandro Verri.A compact algorithm for rectification of stereo pairs[J].Machine Vision and Applications,2000(12):16-22.
[2]賴小波.機(jī)器人雙目立體視覺若干關(guān)鍵理論問題及其技術(shù)實(shí)現(xiàn)研究[D].杭州:浙江大學(xué),2010.
[3]蔡虹,葉水生,張永.一種基于模糊聚類的組合BP網(wǎng)絡(luò)挖掘方法[J].計(jì)算機(jī)工程與應(yīng)用,2005,41(36):83-85.
[4]王道累,楊峰.基于幾何法立體圖像校正的研究[J].圖學(xué)學(xué)報,2014,35(6):883-888.
[5]李秀智,張廣軍.三目視覺圖像的極線校正方法[J].光電工程,2007,34(10):50-54.
[6]關(guān)芳芳,程筱勝.基于極線校正的相移結(jié)構(gòu)光三維測量[J].南京工程學(xué)院學(xué)報:自然科學(xué)版,2014,12(2):9-13.
[7]胡東紅,汪浩,艾君,等.兩種圖像校正算法在實(shí)際應(yīng)用中的比較[J].計(jì)算機(jī)工程與應(yīng)用,2009,45(13):191-193.
[8]曹佃國,陳浩杰,李鵬.基于Matlab的雙線性插值算法在圖像旋轉(zhuǎn)中的應(yīng)用[J].中國印刷與包裝研究,2010(4):74-78.
Algorithm for Rectification in 3-D Reconstruction System
TANG Bin, JIN Xuanhong
(School of Optical-Electrical and Computer Engineering, University of Shanghai for Science and Technology,
Shanghai 200093, China)
AbstractIn designing the 3-D reconstruction system, it is found that the accuracy and precision of 3D reconstruction results is subject directly to the accuracy of the rectification algorithm. The control point transformation is combined with the gray value interpolation algorithm to rectify the plume. This method defines the space transform itself by a control point transformation, which is used to describe how each pixel "mobile" from the initial position to the end position. Then, a smooth mapping is produced by grey value interpolation algorithm and the gray levels of pixels are changed to achieve rectification. Finally, the images before and after the rectification and their gray values are compared, showing that the whole image has a 150px left shift.
Keywordsrectification; control point transformation; bilinear interpolation
收稿日期:2015- 11- 10
作者簡介:唐彬(1992-),女,碩士研究生。研究方向:測試計(jì)量技術(shù)及儀器。金晅宏(1978-),女,副教授,碩士生導(dǎo)師。研究方向:軟件及機(jī)器視覺。
doi:10.16180/j.cnki.issn1007-7820.2016.07.004
中圖分類號TP391.41
文獻(xiàn)標(biāo)識碼A
文章編號1007-7820(2016)07-012-04