張琦, 王慶
(西北工業大學 計算機學院, 陜西 西安 710072)
光場以空間光線為基本單元,通過對光線位置和角度信息的離散采樣,可實現重聚焦、變視點等新穎應用,是計算攝像學的理論創新點和技術突破口[1]。相較于傳統相機,光場相機[2]可通過單次拍攝實現對場景的多視點觀測,有助于提高計算機視覺領域諸多應用性能,例如姿態估計[3]、三維重建[4]、全景拼接[5]、視覺里程計[6]等。為了支撐上述應用,光場相機參數的精確標定至關重要,研究人員提出了多種光場相機標定方法,這些方法可根據標定板類型(角點、線、二次曲線)分為3類。
Dansereau等[7]構建了光場相機記錄光線與空間光線的映射關系,建立了基于點到光線距離的光線外投影誤差,并以此標定光場相機參數。Zhang等[8]提出了六參數的光場相機多投影中心模型,分析了光場相機光線采樣對場景結構的影響,推導了三維空間點投影變換矩陣,提出了光場相機標定方法。Zhang等[9]研究了光場相機的光線采樣和變換過程,提出了光場相機光線空間投影模型,并以此標定光場相機參數。與此不同,Bok等[10]利用從光場微透鏡圖像中提取的直線特征標定光場相機,推導了六參數的光場相機投影模型,繼而估計光場相機內參數。但是由于光場成像存在空間與角度分辨率折衷問題,導致角點和直線特征檢測不準確,影響了光場相機標定的精度。相較于點和直線,二次曲線由于其簡易的數學模型和豐富的邊緣點使得其特征提取更為穩定。二次曲線作為一種特殊的幾何目標,由于其特征提取的可靠性在光場相機標定中發揮了重要作用。Zhang等[11]研究了多投影中心模型對二次曲線和平面的映射,推導了共心二次曲線的共自配極三角形,分析其性質并在光場中重建共自配極三角形,以此標定光場相機。但是,該類標定方法由于要求二次曲線共心而不夠靈活。
本文旨在設計一種離心圓標定板,并研究基于離心圓共自配極三角形的光場相機標定方法。通過分析離心圓極點-極線關系,研究了離心圓共自配極三角形的性質,并重建離心圓共自配極三角形。根據光場相機多投影中心模型對平面及二次曲面的映射,本文提出基于離心圓的光場相機標定算法。仿真和真實數據上的實驗結果表明了該方法可精確標定光場相機。
在二維射影空間中,點x和二次曲線C可定義一條直線l=Cx,該直線l被稱為x關于C的極線,反之x為l關于C的極點[13]。給定一個三角形,如果它的3個頂點是對應3條邊關于二次曲線C的極點,則稱這種三角形為關于C的自配極三角形。圓的自配極三角形有一重要性質:圓有無窮多個自配極三角形,且其中一個頂點為無窮遠點,其所對應邊過圓心。若多個二次曲線所對應的自配極三角形相同,稱其為共自配極三角形[14]。
雙平行平面坐標[15]可用于光線參數化及描述光線變換。假設r=(s,t,x,y)T為光線雙平行平面坐標,其中(s,t)T是視點平面絕對坐標,即光線與視點平面的交點,表示光線的位置,(x,y)T是圖像平面相對坐標,即光線與圖像平面的交點相對于視點坐標(s,t)T的偏移量,表示光線方向。在光場相機多投影中心模型下,三維空間點X=(X,Y,Z)T被映射到投影中心為(s,t,0)T的子孔徑圖像點(x,y)T[8]

(1)
式中,f為雙平行平面間距。
K是光場相機內參矩陣,描述光場相機記錄光線(i,j,u,v)T與相機坐標系下光線(s,t,x,y)T的變換

(2)
式中,(ki,kj,ku,kv,u0,v0)T是光場相機內參數。此外,通過旋轉矩陣R=(r1,r2,r3)∈SO(3)和平移向量這t=(tx,ty,tz)T∈R3描述光場相機姿態變換
X=RXw+t
(3)
式中,X和Xw為空間點在相機標系和世界坐標系下坐標。根據(1)~(3)式,多投影中心模型對平面和二次曲線的映射為

(4)
(5)
式中:~表示相差一個縮放因子;Hij為場景平面與光場任意視點(i,j)T子孔徑圖像間平面單應。tst=(s,t,0)T指光場內任意2個子孔徑圖像的平移向量,(s,t)T=Kij(i,j)T。
相較于棋盤格角點和直線特征提取,離心圓由于其豐富的邊緣點和簡易數學模型,易于檢測和重建,本節將推導離心圓共自配極三角形的唯一性,并給出了其位置特點。
定理1離心圓共自配極三角形有且僅有一個,該三角形的一個頂點為無窮遠點,其對應邊過2個離心圓的圓心。
證明假設abc為C1的自配極三角形,其中頂點a和邊lbc為關于C1的極點-極線關系。若a在C1上,則lbc與C1相切于點a,則點a,b,c在同一條直線上,無法構成三角形。若a在C1內,則lbc在C1外,從而,點b,c在C1外。若a在C1外,lbc與C1相交,則出現3種情況:點b,c在C1外、點b,c在C1內或一個在內一個在外。①若點b,c均在C1外,則其對應的邊與C1必有交點,而該條件不成立。②若點b,c在C1內,其所對應的邊與C1無交點,而點a在C1外,該條件不成立。因此,abc的3個頂點的位置特點為2個在C1外,1個在C1內。
假設abc為離心圓C1和C2的共自配極三角形,則其3個頂點中的2個分別在C1和C2內,1個在離心圓外,如圖1所示。根據第1.1小節所述,C1與C2的自配極三角形有一頂點為無窮遠點,且其對邊過圓心,因此C1與C2的共自配極三角形有且僅有1個,其外頂點c落在無窮遠線上,其對邊lab過C1與C2的圓心。

圖1 離心圓共自配極三角形
接下來從代數角度推導離心圓共自配極三角形的幾何意義,給定離心圓C1和C2
(6)
(7)
式中,(x0,y0)T為C2的圓心,r為離心圓半徑。

λ1=1?l1=(-y0,x0,0)T
(8)

首先在平面標定板上繪制如圖1所示的離心圓并記錄圓心及半徑的參數。通常,離心圓標定板設為世界坐標系OXwYw平面,并設C1圓心為坐標系原點。微透鏡圖像、子孔徑圖像、對極平面圖為光場的降維表達方法,其中子孔徑圖像是光場固定視點坐標的二維圖像。子孔徑圖像由于其分辨率較高而易于提取標定特征,常被用于光場相機標定。根據1組離心圓和光場子孔徑圖像上離心圓的對應,本節提出了基于離心圓的光場相機標定方法,包括基于共自配極三角形的線性初始化和基于光場Sampson誤差的非線性優化。

(9)
(10)


在完成光場內外參的線性估計后,引入光場相機徑向畸變模型

(14)

在完成對光場相機徑向畸變建模后,為了能優化光場相機內參數p=(ki,kj,ku,kv,u0,v0)T,外參數Rp,tp和畸變參數d=(k1,k2,k3,k4)T,引入光場Sampson距離


(15)

利用Rodrigues公式[16]參數化旋轉矩陣R,并通過LM算法[17]非線性優化(15)式。算法1描述了基于離心圓的光場相機標定方法。
算法1 基于離心圓共自配極三角形的光場相機標定算法
輸入: 標定板離心圓Cn,n=1,..,N

輸出: 光場相機內參數P=(ki,kj,ku,kv,u0,v0)T
輸入: 光場相機外參數Rp,tp,p=1,2…,P
畸變系數d=(k1,k2,k3,k4)T
1) for 每個姿態p下的光場 do
2) for 每個子孔徑圖像 do
3) 根據定理1和(8)式重建離心圓共自配極三角形
4) 根據(10)式計算光場單應Hij
5) end for
6) end for
7) 利用旋轉向量正交性和Cholesky分解從Hij中計算光場相機內參數(ku,kv,u0,v0)T
8) for 每個姿態p下的光場do
9) 根據(11)~(13)式計算光場相機內參數(ki,kj)T和外參數Rp,tp
10) end for
11) 初始化光場相機畸變參數d=(0,0,0,0)T
12) 使用LM優化算法非線性優化(15)式
本節通過仿真數據與真實數據的實驗結果及分析,驗證本文提出的基于離心圓的光場相機標定算法的準確性。
本小節在仿真數據上驗證了本文所提標定算法,根據(3)~(5)式,利用Matlab生成仿真光場數據,相機內參數為ki=1.4×10-4,kj=1.5×10-4,ku=2.0×10-3,kv=1.9×10-3,u0=-0.59和v0=-0.52。在仿真實驗中,分別使用2種離心圓標定板,如圖2所示。此外,設置用于標定的光場數量為3,每個光場中共有7×7個視點,光場相機姿態分別是(6°,28°,-8°),(12°,-10°,15°)和(-5°,5°,-27°)。在每個子孔徑圖像的圖像點(u,v)T上加入均值為零標準差為σ的高斯噪聲,變化范圍是0.1至1.5像素,步進間隔為0.1像素。對于每組噪聲數據,分別重復150次實驗。

圖2 離心圓標定板類型
圖3展示了內參數估計值的相對誤差。其中,相對誤差隨著噪聲的增加而呈近線性增加。當噪聲固定時,相對誤差隨著離心圓數量的增加而降低。其中,高斯噪聲0.5像素是光場相機標定過程中所處噪聲上限。如圖3所示,當噪聲固定在0.5像素時,內參數(ki,kj)T的相對誤差小于0.23%,(ku,kv)T和(u0,v0)T的相對誤差小于0.12%。因此,這些結果都證明了本文所提標定方法的魯棒性。

圖3 噪聲實驗

表1列出了光場相機標定過程中離心圓投影點和離心圓光場子孔徑圖像間Sampson均方誤差,包括線性初始化、無畸變非線性優化和帶畸變非線性優化的結果。實驗結果表明,本文所提標定方法得到了較為準確的初值估計結果。在無畸變非線性優化中,各個數據集的Sampson誤差均有明顯的下降,這展示了所定義的投影點到二次曲線Sampson距離及其代價函數(見(15)式)的有效性。另外,隨著畸變模型的引入,本文所提標定方法的Sampson均方誤差有明顯下降,這證明了畸變模型(見(14)式)的作用。

表1 基于離心圓的光場相機標定方法的Sampson均方誤差
為了與基于角點和直線特征的光場相機標定基準算法對比,在離心圓中尋找其與重建共自配極三角形的交點,并計算光線外投影均方誤差和重投影均方誤差。表2展示了本文所提標定算法與基準算法在光線外投影和重投影誤差上對比結果。

表2 基于離心圓的光場相機標定算法對比結果
此外,表3列出了離心圓光場數據集的內參數估計結果。其中,數據集Circle-1和Circle-2的內參數估計結果相似的原因是因為二者使用了相同的光場相機參數配置,數據集Circle-3和Circle-4的相機參數配置也是相同的但與數據集Circle-1和Circle-2的不同,因此前2組內參數估計結果與后2組不同。圖4呈現了離心圓光場數據集的相機姿態估計結果。圖中的光場相機姿態均朝向離心圓標定板且分布在距標定板0.3~0.5 m范圍內,證明了相機姿態估計結果符合光場數據采集基本配置。根據表1和圖4所示的數據集Circle-1和Circle-2上的標定誤差和相機姿態分布可發現,光場相機均勻采集標定板數據有助于提高標定結果的準確性。從數據集Circle-3和Circle-4上的標定誤差和相機姿態分布可知,增加標定光場數據有助于提高標定結果的準確性。此外,根據標定算法所計算的內外參重建了任意2個光場中心視點圖像間平面單應,圖5為光場中心視點圖像單應校正結果。進一步,為了驗證光場中心視點單應校正結果的準確性,利用離心圓圖像點間重投影誤差對校正結果進行評價,如圖5所示。在圖5括號中列出了光場中心視點單應校正的重投影均方根誤差結果。上述結果均驗證了本文所提出標定算法的準確性。

圖4 光場相機姿態估計結果

圖5 光場中心視點圖像單位校正結果

表3 光場相機標定方法的內參數估計結果
根據離心圓共自配極三角形的性質,本文提出了基于離心圓共自配極三角形的光場相機標定方法。通過分析關于離心圓的極點-極線關系,文章推導了離心圓共自配極三角形的性質。此外,根據光場相機多投影中心模型對平面及二次曲面的映射,本文通過離心圓光場子孔徑圖像重建共自配極三角形并計算平面單應,繼而提出了基于離心圓的光場相機標定算法,包括光場相機內外參數的線性初始化和非線性優化方法。仿真和真實數據實驗結果表明,離心圓標定板可穩定提取特征并精確標定光場相機。