魏迎梅,康來
(1.國防科學(xué)技術(shù)大學(xué) 信息系統(tǒng)與管理學(xué)院,長沙 410073;2.國防科學(xué)技術(shù)大學(xué) 信息系統(tǒng)工程重點實驗室,長沙 410073)
基于圖像的三維重構(gòu)研究如何從二維(2D)圖像中恢復(fù)相機參數(shù)和三維場景幾何信息,該過程是二維成像的逆過程[1].基于圖像的三維重構(gòu)可分解為相機外參(相機相對姿態(tài))恢復(fù)和場景三維結(jié)構(gòu)估計兩個部分.假設(shè)相機的內(nèi)部參數(shù)已知(現(xiàn)代相機內(nèi)部參數(shù)易于查詢),則可以從圖像對應(yīng)(image correspondences)中獲得度量三維重構(gòu).基于圖像的三維重構(gòu)基本過程[1]為:首先利用圖像匹配技術(shù)獲取圖像對應(yīng),然后從圖像對應(yīng)中估計兩視圖間的本質(zhì)矩陣,再從本質(zhì)矩陣中恢復(fù)相機相對姿態(tài),最后利用三角化估計場景三維結(jié)構(gòu).為了進一步提高三維重建質(zhì)量,可采用梯度下降等非線性優(yōu)化技術(shù)對三維重構(gòu)結(jié)果求精[1].與傳統(tǒng)的手工三維建模方法相比,基于圖像的三維重構(gòu)僅需利用數(shù)碼相機等廉價設(shè)備獲取輸入數(shù)據(jù),而且易于實現(xiàn)自動化處理,具有成本低、操作簡單等優(yōu)勢,是計算機視覺中的熱門研究內(nèi)容.作為三維重構(gòu)的基礎(chǔ),關(guān)于相機成像過程及相機模型的研究已經(jīng)趨于成熟.其中,應(yīng)用最廣泛的是小孔成像模型(或單視點相機模型),該模型是一種典型的單視點相機模型,即成像過程中所有光線均交匯于一點——相機光心[1].
水下圖像是有別于傳統(tǒng)圖像的另一類重要圖像,由于傳統(tǒng)單視點相機模型不能正確描述其成像原理,水下圖像三維重構(gòu)的研究近幾年逐漸引起計算機視覺領(lǐng)域的高度關(guān)注[2-3].文獻[4]的研究表明,由于水下圖像成像過程中,光線傳播經(jīng)過多種折射率不相同的介質(zhì),因此水下圖像存在折射變形,而且這種變形從理論上來說無法使用徑向變形等常見圖像變形模型來刻畫.因此,傳統(tǒng)基于單視點的方法導(dǎo)致水下三維重構(gòu)結(jié)果產(chǎn)生嚴重的變形[4].為此,研究人員提出了新的折射相機模型對折射成像過程進行準(zhǔn)確的建模,并在此基礎(chǔ)上提出了相應(yīng)的水下圖像三維重構(gòu)方法[3].但總的來說,基于折射相機模型的基本矩陣計算、三角化及稠密匹配等核心三維重構(gòu)算法遠不及基于單視點相機模型的算法成熟,導(dǎo)致水下三維重構(gòu)仍然面臨較大挑戰(zhàn).現(xiàn)有基于折射相機模型的水下相機標(biāo)定及三維場景結(jié)構(gòu)計算的效率較低、實用性不夠.比如:為了計算兩個水下相機的相對姿態(tài),文獻[5]的方法耗時以小時計;文獻[4,6-8]的方法需要在水下安裝已知形狀和尺寸的棋盤格標(biāo)定板,無法實現(xiàn)自動化標(biāo)定;文獻[3]的方法則需要利用運動感應(yīng)設(shè)備獲取相機姿態(tài)的先驗信息.
針對上述問題,本文提出一種基于單視點調(diào)節(jié)相機模型的水下多視圖三維重構(gòu)方法.具體來說,本文深入分析研究單視點調(diào)節(jié)模型對水下圖像折射變形的補償能力,在此基礎(chǔ)上提出一種高效、自動而且無需標(biāo)定板的水下圖像三維重構(gòu)方法.此外,通過重構(gòu)有效性、重構(gòu)誤差等定量指標(biāo)對本文方法在水下多視圖三維重構(gòu)的性能進行了考察驗證.實驗結(jié)果表明,本文方法可以有效補償水下圖像折射變形,進而提高傳統(tǒng)基于單視點相機模型的水下多視圖三維重構(gòu)質(zhì)量.
一般的水下拍攝系統(tǒng)構(gòu)成如圖1所示.通常將普通相機放在密閉的防護罩內(nèi),然后將該裝置安裝在水下環(huán)境,相機透過平面玻璃窗口觀察水下場景.在小孔成像模型中(單視點相機模型),所有場景點對應(yīng)的光線交匯于一點,即光心.但在水下系統(tǒng)中,由于光線在空氣-玻璃以及玻璃-水兩個交界面發(fā)生折射,因此各場景點對應(yīng)的光線并不匯聚在相機的中心,水下相機是一種典型的多視點相機.
圖1 典型水下相機構(gòu)成Fig.1 Components of a typical underwater camera
不失一般性,本文分析考察二維情況,并假設(shè)折射界面與圖像成像平面平行.非平行界面情況下,只需要旋轉(zhuǎn)相機即可.圖1所示水下相機二維成像過程如圖2所示.相機的中心位于c(0,0).對于場景點xo水下相機模型下的圖像點為xa(ra,f),傳統(tǒng)單視點相機下的成像點為xp,下面推導(dǎo)分析xa與xp之間的關(guān)系.記光線空氣-玻璃折射界面交于xg(rg,zg)(如圖2所示),其坐標(biāo)分量為
式中:f為相機的焦距;da為相機中心到空氣-玻璃折射界面的距離.獲得xg后,光線與玻璃-水折射界面的交點 xw(rw,zw)可由 Snell折射定理確定[9]:
式中:na和ng分別為空氣和玻璃的折射率;θa和θg分別為xo對應(yīng)的光線在空氣中的部分和在玻璃中的部分與玻璃折射層法線的夾角.式(2)中的三角函數(shù)為
式中:dg為玻璃折射層的厚度.
圖2 水下相機成像過程二維示意圖Fig.2 2D illustration for imaging process of an underwater camera
聯(lián)立式(2)與式(3)可得xw的坐標(biāo):
記場景點距離水-玻璃折射界面的距離為dw,獲得rw之后進一步計算出場景點ro分量與rw的關(guān)系.該過程需要求解方程組:
式中:nw為水的折射率,θw為xo對應(yīng)的光線在水中的部分與玻璃折射層法線的夾角.由式(5)可知,xo的坐標(biāo)為
其中:
由于在單視點相機模型下,xo在圖像平面上的投影為
式中:p(xo)為xo的投影函數(shù).
因此,xp最終可以轉(zhuǎn)化為xa,參數(shù)向量Θs=[f dadgdwro]T,以及折射率向量 Θn=[nangnw]T的函數(shù).在第 1.2 節(jié)中,對于給定的圖像點xa,與單視點相機成像相比,二者的差異(即折射變形大小)為
為了補償折射變形,本文考察一種單視點調(diào)節(jié)相機模型,該模型通過同時調(diào)節(jié)相機的內(nèi)部參數(shù)和外部參數(shù)來對折射變形進行描述和補償.對于內(nèi)部參數(shù),本文考慮變焦圖像空間徑向模型.徑向變形模型是一種圖像空間變形模型,其基本假設(shè)[1]是:離圖像中心越遠的圖像點的變形程度越大,而且變形后的圖像點與原圖像點坐標(biāo)之間的關(guān)系可以采用多項式逼近.本文變焦圖像空間徑向模型假定水下圖像坐標(biāo)ra與原始未變形圖像坐標(biāo)r'p之間存在簡化對應(yīng)關(guān)系[1]:
其中,可調(diào)節(jié)變量包括相機焦距f,以及調(diào)節(jié)常系數(shù) k1與 k2,參數(shù)向量 Θ's=(f,k1,k2)T共同決定形變補償?shù)某潭?p'(r'p)表示原始未變形坐標(biāo)r'p的徑向變形大小.由式(10)可知.在變焦圖像空間徑向變形模型下,任意水下圖像坐標(biāo)ra對應(yīng)的未變形圖像點r'p通過求解關(guān)于r'p的一元五次方程式(11)來獲取.
該模型下的圖像變形記為
由于第2.1節(jié)變形為圖像空間變形,不涉及相機姿態(tài)信息的調(diào)節(jié).考慮到基于圖像的三維重構(gòu)僅恢復(fù)場景的度量信息,而不關(guān)注場景的絕對姿態(tài)和尺寸,因此本文通過調(diào)節(jié)相機外部參數(shù)來進一步對折射變形進行描述和補償.外部參數(shù)調(diào)節(jié)基于:對三維場景施加合適的相似變換后,結(jié)合鏡頭鏡像畸變矯正和焦距調(diào)節(jié),單視點相機模型可以更加準(zhǔn)確的近似折射變形,這是使用單視點相機模型獲取高精度水下三維重建的前提.實際應(yīng)用中,由于三維場景的優(yōu)化不受任何約束,這種近似可能導(dǎo)致三維重建變形,但是從本文后續(xù)實驗研究表明,這種變形在多視圖情形中并不明顯.
以二維情形為例,設(shè)T2為一個二維相似變換操作,相機姿態(tài)調(diào)整后,場景點xo的位置變換為
其中,相似變換T2由非零常數(shù)因子s、二維旋轉(zhuǎn)矩陣R2以及二維平移向量t2共同決定.在傳統(tǒng)單視點相機模型下,施加相似變換后ra對應(yīng)的未變形圖像坐標(biāo)為
因此,通過內(nèi)部、外部參數(shù)調(diào)節(jié)后,未能補償形變量為
為了驗證第2.1節(jié)折射變形補償方法的合理性,根據(jù)第1.2節(jié)水下相機成像過程計算了一個典型配置(f=800,da=100,dg=10,dw=400)下的折射變形及折射變形補償結(jié)果.圖3為不同相機模型的折射變形補償能力,基于單純變焦徑向圖像變形模型與本文單視點調(diào)節(jié)相機模型的補償結(jié)果分別如圖3(a)及圖3(b)所示.顯然,E″遠小于因此本文調(diào)節(jié)相機模型可以取得較好的補償效果.
圖3 不同相機模型的折射變形補償能力Fig.3 Ability of different cameramodels in compensating for refractive distortion
本節(jié)單視點調(diào)節(jié)相機模型的基礎(chǔ)上提出水下圖像三維重構(gòu)算法.由于單視點調(diào)節(jié)相機模型涉及相機內(nèi)、外多個參數(shù)的調(diào)節(jié)優(yōu)化.假定三維場景點的數(shù)據(jù)量為N,各水下圖像點記為ria(1≤i≤N),本文采用多步優(yōu)化重建框架:
1)在不考慮變形因素的情況下利用傳統(tǒng)三維重構(gòu)方法[10]獲取相機初始內(nèi)部參數(shù)以及場景的初始結(jié)構(gòu).
2)利用非線性優(yōu)化調(diào)節(jié)內(nèi)部參數(shù),優(yōu)化目標(biāo)函數(shù):
3)利用非線性優(yōu)化調(diào)節(jié)外部參數(shù),優(yōu)化目標(biāo)函數(shù):
5)考察均方根重投影誤差,若大于閾值(本文取0.5像素),則轉(zhuǎn)至步驟2);否則,輸出調(diào)解相機模型參數(shù)和三維場景結(jié)構(gòu),結(jié)束.
為了對本文方法進行評估,本文采用合成數(shù)據(jù)和真實圖像數(shù)據(jù)對其進行了定性和定量測試.算法編碼實現(xiàn)采用C++語言,非線性優(yōu)化方法基于開源集束優(yōu)化(bundle adjustment)實現(xiàn)[11].本節(jié)所有實驗均在Microsoft Windows XP操作系統(tǒng)下開展,測試用計算機的處理器為 Intel Core i7-3770 3.4GHz CPU,內(nèi)存容量為 2GB.
本文方法的性能與如下兩種重構(gòu)方法進行對比:①不采取任何變形補償方法,直接在傳統(tǒng)固定單視點模型下進行重構(gòu)(記為固定單視點);②利用徑向圖像變形模型補償折射變形(記為徑向變形).為了確保實驗對比的公平性,上述兩種對比方法以及本文方法均基于文獻[10]提供的框架編碼實現(xiàn),而且系統(tǒng)初始化均只需要指定初始焦距長度(3種方法均采用相同的初始焦距取值).定量實驗主要對比分析三維重構(gòu)結(jié)果的有效性和精度.其中,有效性指的是重構(gòu)的三維場景誤差低于某一閾值(本文取場景包圍盒最大邊長的1%)的三維點所占的比例;精度指的是有效三維場景點的均方根誤差.
在實驗數(shù)據(jù)方面,水下合成圖像采用光線跟蹤算法生成[12],真實圖像通過虛擬相機觀察放在水中的3個裝飾模型獲得.合成數(shù)據(jù)圖像分辨率為640像素 ×480像素,虛擬相機的焦距為600像素,虛擬場景的包圍盒長度為1個單位.圖4為水下圖像數(shù)據(jù)采集.其中,生成合成數(shù)據(jù)的裝置和合成數(shù)據(jù)樣張分別如圖4(a)和圖4(b)所示.真實數(shù)據(jù)圖像分辨率為1 032像素×776像素,相機的焦距為1 800像素,分別采用了海螺、古寺、拱門等3個模型(如圖4(c)所示).虛擬成像和真實數(shù)據(jù)采集中,相機排布均呈環(huán)狀,且相機指向被觀察物體.
圖4 水下圖像數(shù)據(jù)采集Fig.4 Underwater images data collection
本節(jié)首先定性對比重構(gòu)結(jié)果.圖5為不同方法在不同輸入圖像數(shù)量條件下的性能比較.其中,圖5(a)與圖5(b)分別為徑向變形方法及本文方法的重構(gòu)結(jié)果(黑色為標(biāo)準(zhǔn)模型,灰色為重構(gòu)模型).本實驗使用的視圖數(shù)量為16幅.從圖5的實驗結(jié)果可以看出,由于水下圖像包含折射變形,因此無法使用徑向變形方法來進行多視圖三維重構(gòu),而本文方法則可對折射進行有效補償,進而有效消除三維重構(gòu)結(jié)果的變形.注意,固定單視點方法的實驗結(jié)果與徑向變形方法相比,三維重構(gòu)結(jié)果的扭曲程度更加明顯,故此處予以省略.
圖6為基于合成數(shù)據(jù)的定量對比實驗結(jié)果,從有效性(見圖6(a))和重建誤差(見圖6(b))兩方面考查不同方法的三維重構(gòu)性能與輸入圖像數(shù)量之間的關(guān)系.實驗結(jié)果表明本文三維重構(gòu)方法的性能明顯優(yōu)于傳統(tǒng)固定單視點方法和徑向變形方法,且使用較多的水下圖像可以提升三維重構(gòu)的精度.
圖5 合成水下圖像三維重構(gòu)結(jié)果Fig.5 Results of 3D reconstruction using synthetic underwater images
圖6 不同方法在不同輸入圖像數(shù)量條件下的性能比較Fig.6 Performance comparison among different methods with varying number of input images
真實圖像的定量實驗結(jié)果如表1所示.本實驗使用的視圖數(shù)量為:海螺、古寺32幅,拱門8幅.由于真實模型的尺寸可以測量,因此重建誤差可以mm為單位進行度量.真實圖像的定量實驗結(jié)果如表1所示,表中最優(yōu)結(jié)果加粗顯示.表1的實驗結(jié)果表明,本文單視點調(diào)節(jié)模型與傳統(tǒng)方法相比,可提升三維重構(gòu)結(jié)果的有效性,并可顯著降低三維重構(gòu)誤差.上述結(jié)論與合成數(shù)據(jù)的實驗結(jié)果吻合.
表1 真實圖像實驗結(jié)果對比Table 1 Comparison of experimental results on real images
本文基于單視點調(diào)節(jié)模型的多視圖水下三維重構(gòu)方法可有效補償折射變形,進而顯著提升傳統(tǒng)基于單視點相機模型的多視圖水下三維重構(gòu)質(zhì)量,具有較好的實用性.其優(yōu)點為:
1)無需安裝標(biāo)定板或其他姿態(tài)感應(yīng)輔助設(shè)備,而且算法執(zhí)行過程可實現(xiàn)自動化.
2)本文所有實驗數(shù)據(jù)單個模型重構(gòu)過程耗時在10min以內(nèi).
本文方法的不足是本文未采用嚴格的折射相機模型而是采用一種近似相機模型,因此在圖像數(shù)量較少的情況下重構(gòu)效果不佳(見圖6).
顯然,高精度水下圖像三維重構(gòu)是計算機視覺領(lǐng)域的研究熱點,相關(guān)算法的靈活性和實用性遠未達到陸上圖像三維重構(gòu)方法的成熟程度.下一步工作中,擬從水下圖像增強、水下相機標(biāo)定、基于水下圖像三維重構(gòu)的定位與識別等多方面繼續(xù)開展深入研究.此外,擬采用更加高效的優(yōu)化方法進一步提升重建效率[13-16].
References)
[1] Hartley R,Zisserman A.Multiple view geometry in computer vision[M].2nd ed.New York:Cambridge University Press,2004:262-276.
[2] Chari V,Sturm P.Multiple-view geometry of the refractive plane[C]∥ Proceedings of British Machine Vision Conference(BMVC).London:BMVA,2009:1-11.
[3] Chang Y,Chen T.Multi-view 3D reconstruction for scenes under the refractive plane with known vertical direction[C]∥Proceedings of IEEE International Conference on Computer Vision(ICCV).Piscataway,NJ:IEEE Press,2011:351-358.
[4] Treibitz T,Schechner Y Y,Singh H.Flat refractive geometry[C]∥Proceedings of IEEE Conference on Computer Vision and Pattern Recognition(CVPR).Piscataway,NJ:IEEE Press,2008:1-8.
[5] Sedlazeck A,Koch R.Calibration of housing parameters for underwater stereo-camera rigs[C]∥ Proceedings of British Machine Vision Conference(BMVC).London:BMVA,2011:1-11.
[6] Agrawal A,Ramalingam S,Taguchi Y,et al.A theory of multilayer flat refractive geometry[C]∥Proceedings of IEEE Conference on Computer Vision and Pattern Recognition(CVPR).Piscataway,NJ:IEEE Press,2012:3346-3353.
[7] Kunz C,Singh H.Hemispherical refraction and camera calibration in underwater vision[C]∥Proceedings of OCEANS.Piscataway,NJ:IEEE Press,2008:1-7.
[8] Telem G,F(xiàn)ilin S.Photogrammetric modeling of underwater environments[J].ISPRS Journal of Photogrammetry and Remote Sensing,2010,65(5):433-444.
[9] Glaeser G,Schrocker H P.Reflections on refractions[J].Journal for Grometry and Graphics,2000,4(1):1-18.
[10] Snavely N,Seitz SM,Szeliski R.Modeling the world from internet photo collections[J].International Journal of Computer Vision,2008,80(2):189-210.
[11] Triggs B,Mclauchlan P,Hartley R,et al.Bundle adjustment:A modern synthesis[C]∥Vision Algorithms:Theory and Practice,LNCS,2000:298-372.
[12] NETPLEX.POVRay[EB/OL].Williamstown,Victoria:Persistence of Vision Raytracer Pty.Ltd.[2015-01-20].http:∥www.povray.org/.
[13] Lourakis M IA,Argyros A A.SBA:A software package for generic sparse bundle adjustment[J].ACM Transactions on Mathematical Software,2009,36(1):1-30.
[14] Konolige K.Sparse sparse bundle adjustment[C]∥Proceedings of British Machine Vision Conference(BMVC).London:BMVA,2010:1-11.
[15] Agarwal S,Snavely N,Seitz SM,et al.Bundle adjustment in the large[C]∥Proceedings of European conference on Computer vision(ECCV):Part II.London:Springer-Verlag,2010:29-42.
[16] Wu C,Agarwal S,Curless B,et al.Multicore bundle adjustment[C]∥Proceedings of IEEE Conference on Computer Vision and Pattern Recognition(CVPR).Piscataway,NJ:IEEE Press,2011:3057-3064.