劉國華
(黑龍江大學(xué) 機電工程學(xué)院,哈爾濱 150080)
許多虛擬現(xiàn)實應(yīng)用系統(tǒng)中,為了增強虛擬環(huán)境的沉浸感,通常采用曲面顯示屏,如圓柱形、球形屏等。計算機產(chǎn)生的圖像都是針對平面顯示,當(dāng)投影到曲面上時,會產(chǎn)生幾何失真。為使觀察者能夠看到正常圖像,需對計算機產(chǎn)生的圖像進行預(yù)變形處理,以抵消曲面顯示屏造成的幾何失真。目前主要是通過在圖形工作站與投影設(shè)備間增加額外校正單元[1],或是專業(yè)投影設(shè)備本身內(nèi)部集成校正單元[2],這些方法成本高,且靈活性較差。
曲面顯示屏較常見的有球面、圓柱面等二次曲面形狀,本文針對此種類型顯示屏的投影顯示,利用計算機視覺研究中的相關(guān)內(nèi)容,推導(dǎo)了基于二次變換的圖像校正關(guān)系式,研究了其求解過程,并通過實例對變換效果進行了驗證。這種方法通過編程對投影圖像預(yù)處理,不需增加額外設(shè)備,具有方便、靈活的特點。
計算機視覺研究中通常利用相機模型來模擬人的視覺系統(tǒng),并通過相機獲取的物體的圖像信息,計算對應(yīng)三維物體的位置、形狀等幾何信息。線性相機模型是應(yīng)用最為廣泛的一種模型,表達了空間點與對應(yīng)圖像點之間的關(guān)系。
在投影系統(tǒng)中,投影儀將圖像點投影在空間顯示屏上,而該點在觀察者觀察系統(tǒng)所成的像即為觀察圖像點,因此可以通過顯示屏曲面上的空間點求解投影儀圖像與觀察圖像之間的關(guān)系。若將一相機置于觀察者位置來代表觀察者視點,且投影儀、相機均采用線性模型表示,則求解圖像校正關(guān)系式就轉(zhuǎn)化為求解顯示屏曲面上的空間點在不同模型視圖中的對應(yīng)投影點之間的參數(shù)關(guān)系[3]。由于相機、投影儀模型都采用線性相機模型表示,因此在以下說明及推導(dǎo)過程中,不再從名稱上區(qū)分二者,而以相機1、相機2進行描述。
在計算機視覺研究中,三維重建主要研究在歐氏幾何意義下的重建,使用直角坐標系,坐標系之間變換為平移或正交變換。近年來研究表明,歐氏幾何意義下的重建要求條件過多。從上世紀80年代開始,許多學(xué)者開展了射影幾何意義下的三維重建研究,簡稱射影重建。相對于歐氏變換,采用射影變換有很多好處,通常不需求出投影矩陣,而僅通過不同視圖間的圖像點得到識別物體的射影變換不變量,從而實現(xiàn)更一般意義的三維重建[4]。
在射影重建過程中,一定意義下的相機間的相對位置關(guān)系通過對極幾何關(guān)系和基本矩陣描述[5]。
由計算機視覺相關(guān)原理可知,從兩個不同視點獲得的同一場景兩幅圖像間存在著對極幾何關(guān)系。如圖1所示,空間點M在兩個投影圖像I1、I2的投影分別為m、m′;兩個相機光心分別為O、O′,連接光心O、O′的直線為基線,基線與左右圖像的交點e、e′為極點。根據(jù)成像幾何關(guān)系可知,m、m′、O、O′、M 在同一平面π上,并且m、m′分別位于π與兩個圖像I1、I2的交線l、l′上,則直線l=<e,m>為m′在I1圖像上的對應(yīng)極線,直線l′=<e′,m′>為m在I2圖像上的對應(yīng)極線,并且每幅圖像上的極線都交于該圖像上的極點。
圖1 對極幾何關(guān)系Fig.1 Epipolar geometry of two projections
對極幾何關(guān)系提供了極線約束條件,即:一幅圖像上的點在另一幅圖像上的匹配點位于該點在另一幅圖像的對應(yīng)極線上。對極幾何的約束關(guān)系在代數(shù)上可以通過一個3×3的基本矩陣F表示,基本矩陣F將一幅圖像上的點m映射到該點在另一幅圖像的極線l′上,即有以下關(guān)系:
式中m、m′為空間點在不同投影視圖上的對應(yīng)點。
基本矩陣F可以通過兩幅圖像中的一組匹配點,由式(1)建立線性方程組求解獲得?;揪仃嚲哂邢率龌拘再|(zhì):
1)極點e滿足Fe=0,極點e′滿足FTe′=0;
2)F在相差一個非零常數(shù)因子下是唯一的;
3)若M1與M2分別為兩個相機的投影矩陣,F(xiàn)為其基本矩陣,則基本矩陣為F的相機的投影矩陣均可表達為M1H與M2H,其中H為任意滿秩4×4矩陣。這表明給定相機的基本矩陣后,投影矩陣并不唯一。
由以上內(nèi)容,可得射影重建的一個重要方法:即在射影重建中,首先通過不同圖像間的匹配點計算基本矩陣F;然后,對于兩幅圖像分解出兩個形式相對簡單的投影矩陣M1、M2,進而實現(xiàn)射影幾何意義下物體的三維重建[6]。
二次變換關(guān)系式表達了二次曲面投影圖像校正中的投影儀圖像與正常圖像之間的參數(shù)關(guān)系,其推導(dǎo)過程實質(zhì),即求解二次曲面上空間點在不同投影視圖上的投影點之間的參數(shù)關(guān)系式。
日常生活中常見的球面、圓柱面等,都可以采用三元二次代數(shù)方程表示,通常稱作空間二次曲面,可以表示為:
式中Q為二次曲面方程的系數(shù)矩陣,為4×4對稱矩陣;X為二次曲面上點的齊次坐標,X=(x,y,z,1)T。
當(dāng)二次曲面不過原點時,有Q(4,4)≠0,即常數(shù)項不為0,此時可令Q(4,4)=1,Q寫成如下形式:
式中Q33為3×3對稱矩陣;q為3×1向量。
二次方程系數(shù)矩陣未知量為9個,對應(yīng)空間二次曲面的自由度為9,研究證明二次曲面可以由它在兩幅投影視圖上的9對匹配點實現(xiàn)三維重建[7-8]。
對于已知基本矩陣F,對應(yīng)相機投影矩陣并不唯一,在射影重建研究中,通常取兩個較簡單矩陣作為相機投影矩陣[9]:
式中M1、M2為相機投影矩陣;I為3×3單位矩陣;A為3×3矩陣,且A=e′×F;e′為極點。
如圖2所示,對于空間二次曲面Q上一點P,令其空間坐標為XP;P點在兩個投影視圖ψ、ψ′上的投影點分別為p和p′,令其坐標分別為(x,y,1)、(x′,y′,1),兩個視圖的投影矩陣 M1、M2分別由式(4)、式(5)給出。
根據(jù)線性相機模型關(guān)系式,則有:
其中?表示在相差一個非零常數(shù)因子意義下的相等。
由投影矩陣式(4)、相機模型式(6)可知,視圖ψ上的圖像點p對應(yīng)的空間點P可以表示為(x,y,1,k),記為(p,k),其中k為與空間位置相關(guān)的量。則P點在視圖ψ′上投影p′的坐標:
圖2 空間二次曲面成像幾何關(guān)系Fig.2 Projection of a point on quadric surface
式(8)即為二次曲面上的一點P在不同投影視圖上的投影點p和p′之間的參數(shù)關(guān)系式,式中的A、e′可以在求出基本矩陣以后得到,其求解關(guān)鍵在于求出k值,而k與二次曲面上的點位置相關(guān)。
由于P為空間二次曲面上一點,將P點坐標(p,k)代入二次曲面式(2)得:
式(12)即為二次曲面上一點在不同投影視圖的投影點之間的參數(shù)關(guān)系式,即所求的圖像校正二次變換關(guān)系式。由式(12)可見,二次變換關(guān)系式與投影視圖參數(shù)A、e′以及二次曲面Q相關(guān)。由于直線與二次曲面通常會有兩個交點,所以出現(xiàn)±號,可以通過一對匹配圖像點坐標確定。
二次曲面的三維重建研究表明,空間二次曲面可以通過兩個投影視圖中的9對匹配點實現(xiàn)重建,而射影重建中的基本矩陣可以通過8對匹配點求出。因此,二次變換關(guān)系式可以通過兩個視圖中的9對匹配點進行求解。
2.3.1 二次變換關(guān)系式求解算法
二次變換關(guān)系式的求解主要包括兩部分內(nèi)容:①求解基本矩陣F以獲取式中的A、e′;②求解二次曲面的方程Q。根據(jù)空間二次曲面三維重建的相關(guān)內(nèi)容,以上參數(shù)可以通過兩幅圖像中的9對匹配點求出,具體求解過程如下:
1)求解基本矩陣F和極點e、e′。這3個參數(shù)可以通過基本矩陣關(guān)系式(13)、極點方程式(14)和式(15),建立線性方程組進行求解。首先,利用8對圖像匹配點通過式(13)建立線性方程組求解基本矩陣F;然后,將F 代入式(14)、式(15)建立線性方程組求解e、e′。
2)求解矩陣A。3×3矩陣A可以通過4對匹配圖像點求出,通常取上一步求出的一對極點e、e′和另外3對匹配點,通過式(16)建立線性方程組進行求解,即可得出矩陣A[10]:
3)求解其余匹配點對應(yīng)的kj(j=4,5,…,8)值。根據(jù)匹配點的坐標,利用上述所求得的A、e′,并通過式p′j?Apj+kje′即可以求解kj。通常采用最小二乘法,由式(17)求解kj值:
4)求解二次曲面方程Q。將9對匹配圖像點和對應(yīng)的kj值代入式(18),建立線性方程組,即可得到二次曲面方程Q的各項系數(shù):
通過以上步驟可以得出二次變換關(guān)系式(12)中所需的全部參數(shù)A、e′和Q,二次變換參數(shù)關(guān)系式即確定。
2.3.2 利用OpenCV求解二次變換關(guān)系式
為了求取二次變換關(guān)系式,需要對投影儀、相機圖像進行處理(主要是特征點檢測),并通過匹配點計算基本矩陣F,這主要借助OpenCV完成。
OpenCV是由Intel公司推出的一套可免費獲得的由C函數(shù)和C++類所組成的庫,主要用于實現(xiàn)一些常用的圖像處理及計算機視覺算法,如特征檢測與跟蹤、運動分析、目標分割與識別以及三維重建等。OpenCV的源代碼完全開放,源代碼的編寫簡潔、高效,并且大部分函數(shù)都已經(jīng)過匯編最優(yōu)化,因此代碼執(zhí)行效率較高,近年來在國內(nèi)外的圖像處理及相關(guān)領(lǐng)域得到廣泛應(yīng)用?;揪仃嘑在計算機視覺研究中占有重要地位,因此學(xué)者們也提出了多種求解算法。對于已知8對或以上匹配點的情況,經(jīng)常采用8點算法和改進8點算法,它們都是易于實現(xiàn)的線性算法;另外還可以采用魯棒算法,如RANSAC法。OpenCV中提供了專門的函數(shù)cvFindFundamentalMat()求解基本矩陣。對于二次變換關(guān)系式求解過程中的其它數(shù)學(xué)運算過程,主要借助Matlab所提供的函數(shù)庫實現(xiàn)。
二次變換圖像校正的實現(xiàn)主要包括二次變換預(yù)處理和實時校正兩個階段。
在預(yù)處理階段,首先通過投影儀投影特征圖片到顯示屏,并在觀察者所處位置利用相機拍攝投影圖片;利用OpenCV獲取兩幅圖片中對應(yīng)的特征圖像點坐標,并根據(jù)前述算法求解二次變換關(guān)系式的各項參數(shù)。在實時處理過程階段,計算機首先將圖像存儲到紋理緩存,然后利用二次變換關(guān)系式對紋理圖片進行變換處理。在紋理緩存中的二次變換采用OpenGL編程實現(xiàn),首先將理想圖像作為紋理貼在由四邊形或三角形組成的網(wǎng)格上;然后利用求出的二次變換關(guān)系式,對貼圖網(wǎng)格的頂點進行位置變換,從而實現(xiàn)對理想圖像的變形處理。
為了對二次變換圖像校正法進行驗證,采用圓柱面投影實驗。特征點變換圖片見圖3,通過兩幅圖片中的對應(yīng)特征點,即可求出二次變換關(guān)系式。根據(jù)獲得的二次變換關(guān)系式,圖4、圖5分別為校正前、后的結(jié)果,可以看出,經(jīng)過二次變換校正后的投影圖像可以獲得較好的顯示效果。
本文主要研究了曲面投影圖像的校正技術(shù),利用計算機視覺研究中射影重建的相關(guān)內(nèi)容,推導(dǎo)了用于二次曲面投影圖像校正的參數(shù)關(guān)系式——二次變換關(guān)系式,闡述了二次變換參數(shù)關(guān)系式的求解方法和過程。通過編程,探討了二次變換參數(shù)關(guān)系式用于二次曲面投影圖像校正的實現(xiàn)過程,并通過實際投影對校正效果進行了驗證。
[1]華利創(chuàng)通公司.華力公司推出全新SuperSonic視景仿真投 影 系 統(tǒng) [EB/OL].http://www.hwacreate.com. cn/chinese/product/jjfan/SuperSonic. html,2004-03-15/2006-08-12.
[2]巴克公司.巴可公司協(xié)助SIGGRAPH 3D協(xié)同可視化應(yīng)用大放異彩 [EB/OL].http://www.projectorwindow. com/projector/barco/barco-060809. htm,2006-08-09/2006-08-12.
[3]Rajeev J.Surati.Scalable self-calibrating technology for seamless large-scale displays [D].Ph.D.Thesis,Massachusetts Institute of Technology,1999:15-20.
[4]梅向明.高等幾何 [M].北京:高等教育出版社,1983:88-90.
[5]龍熙華,梁 棟,李占利.基于L-M算法的射影重建技術(shù)研究 [J].西安科技大學(xué)學(xué)報,2005,25(1):81-84.
[6]馬頌德,張正友.計算機視覺——計算理論與算法基礎(chǔ)[M].北京:科學(xué)出版社,2003:90-92.
[7]汪令江.二次曲面的三維重建和輪廓線投影 [J].工程圖學(xué)學(xué)報,1989,(11):38-52.
[8]A.Shashua,S.Toelg.The quadric reference surface:Applications in registering views of complex 3Dobjects[A].In Proc.European Conf.On Computer Vision[C].Stockholm.1994:569-581.
[9]R.Hartley.Projective reconstruction and invariants from multiple images[J].IEEE Trans.PAMI,1994,16(10):1036-1040.
[10]Amnmon Shashua.The quadric reference surface:Theory and applications [J].International Journal of Computer Vision,1997,23(2):185-198.