龐瑞,朱琳,張旺
(四川大學計算機學院,成都610065)
隨著計算機技術的高速發展和應用,計算機真實感圖形在計算機藝術、計算機制片、計算機娛樂和廣告等領域有著越來越廣泛的應用,真實感圖形的質量也顯得尤為重要,真實感圖形學也成為了計算機圖像學中一個十分重要的研究課題,而影響三維物體的真實感的因素有很多,其主要因素來源于對物體表面的模擬,而物體表面的模擬最重要便是表面的細節信息的提取與模擬,即紋理[3],所以,紋理映射技術的研究對于獲得真實感圖形是至關重要的,它可以模擬物體表面不規則且較精致的細節信息,從而顯著地增加場景的細節和真實感。如果要活得較為滿意的紋理信息,需要將物體表面進行數學化,但是復雜物體表面數學化十分困難,因此,為了實現紋理映射,我們通常使用兩步紋理映射[1]。
兩步紋理映射技術是由Bier 和Sloan 提出的方法[1],該方法主要是分為兩步,首先,將紋理空間映射到選取的中介面,即S 型映射,再實現從中介面到三維物體空間的映射,即O 型映射。對于中介面的選擇,可以根據不同的物體選擇不同的曲面,較為常見的曲面有平面、球面、圓柱面、立方體表面等,其中球面是使用最為廣泛的中介面,球面映射又分為整球面映射和半球面映射,但由于在紋理坐標系中相鄰的點映射到整球面后不可避免出現重疊的現象,較容易產生紋理變形,導致紋理走樣的嚴重后果,為了解決該問題,可以對同一個球面的兩個半球面分別進行映射,但仍然會出現球面的赤道不連續的情況。由于在兩步紋理映射中,中介面的形狀越接近物體表面形狀,映射過程中產生的紋理變形越小,因此,可以選擇半球面紋理映射算法解決此問題[4]。
當一副紋理圖像映射到中介曲面的過程中,往往需要對紋理圖像的某些局部位置進行壓縮或者拉伸從而適應中介曲面的形態,在圖像壓縮或者拉伸過程中,由于采樣頻率達不到原始頻率的兩倍,會增加紋理圖的高頻成分,在圖像空間不可避免出現圖像混疊的問題[5,7],基于此問題,本文使用映射適應卷積理論[2],探討該理論在半球面紋理映射技術中的抗混疊效果。
球面映射是紋理平面坐標與球面坐標之間的映射關系,而半球面映射是圓形的紋理圖映射到半球面上,其原理是采用經緯坐標表示[6]:

其中,R 是球體半徑,α 是經度坐標,β 是緯度坐標。
利用立體投影的思想,構造半球面紋理映射原理如圖1,其中Pc(0,0,1)為投影中心,它是球面的負極點,O 是三維坐標系的原點,半球面的赤道面與XOY 平面一致,紋理平面中坐標系的u 軸與x 軸平行,v 軸與y軸平行,即u//x,v//y,該平面與XOY 平面平行[1]。

圖1 立體投影原理圖
首先,Pc 作為投影中心,位于z 坐標軸上,物體半球面使用經緯坐標,紋理平面使用極坐標表示,點Q(1,α, β)位于半球面上,通過映射后,對應于紋理平面的點P(1,α),該半球面映射公式是[4]:

其中,p=tan α cos β,q=tan α sin β。
根據圖1 所示的立體投影原理及上述假設可得:

代入后可得到從物體的半球面表面到紋理平面的映射關系:


其 中,定 義 域 為 x ∈[- 1,1],y ∈[- 1,1] ,值 域為u ∈[- 2,2],v ∈[- 2,2] 。
將一副紋理圓形圖案映射到半球面的過程中,為了適應半球面的形狀,需要對紋理圓形圖案進行圖像壓縮,增加了紋理圖案的高頻成分,造成了圖像的頻域成分混疊,導致圖像混疊,對紋理映射效果產生了較大影響,為了更好地得到原始圖像的信息,處理好圖像的抗混疊問題十分必要[5,7]。
為了解決抗混疊的問題,介紹一種新的卷積方法——映射適應卷積理論,它可以更好地適應平面映射變化中的缺陷。在半球面紋理映射的過程中,主要是以基于立體投影的半球面紋理映射為例,探討映射適應卷積理論在半球面紋理映射中的抗混疊效果。
卷積是一種數學算子,根據定義可得,一般的卷積算子公式如下:其中,f(x)和g(x)都是可積函數。

當函數f(x)通過映射h 到另外一個函數f(h(x)),為了適應映射h 的變換,使得f(h(x))與映射前的原始函數f(x)及g(x)進行積分運算后,得到一樣的結果。文獻[2]中給出了相應的數學推導,得到以下數學公式:

根據映射適應卷積理論,我們需要構建一個微分同胚的單應映射,即前面提到的基于立體投影的半球面紋理映射。接下來我們需要證明基于立體投影的半球面紋理映射是微分同胚的,根據定義,通過計算求出該映射的雅可比是存在的,并且不為零。
根據上文中的映射公式,可以求出u(x,y)與v(x,y)分別對x 和y 的偏導,對應公式如下:

根據u(x,y)與v(x,y)分別對x 和y 的偏導,可以計算出該半球面紋理映射的雅可比,對應公式如下:

通過計算,可以得到該半球面紋理映射的雅可比不為零,可以證明基于立體投影的半球面紋理映射是微分同胚的。
接下來證明該半球面紋理映射的逆映射是微分同胚的。
利用求解反函數的方法,計算出其逆映射,對應公式如下:

采用同樣的方法,可以求出該逆映射u(x,y) 與v(x,y)分別對x 和y 的偏導,對應公式如下:


根據u(x,y)與v(x,y)分別對x 和y 的偏導,可以計算出該半球面紋理映射對應逆映射的雅可比,對應公式如下:

根據計算,同樣可以計算出其逆映射也是微分同胚的。
通過上述數學證明,可以得出該半球面紋理映射符合映射適應卷積理論的條件,可以使用該新型卷積運算來解決混疊問題。
為了方便討論,假設紋理平面為原始圖像u(x),映射到半球面后的圖為模擬平面v(x)[8]。基于映射適應卷積理論的半球面紋理映射具體流程如下[2]:
(1)對模擬平面即半球面進行標準柵格化,然后對每一個柵格化上的每個點x0使用半球面映射對應的逆映射h-1(x),找出重采樣的位置h-1(x0),如果這個點在原始平面中,則繼續執行下一步,否則將模擬平面中的點v(x0)設置為零。
(2)計算紋理平面點h-1(x0)的形變高斯核的范圍:設定半球面內計算的卷積的平均范圍是8c*8c 的正方形區域,然后將該正方形區域的中心移動到模擬平面v(x)的坐標系的原點x0處,經過逆映射得到形變四邊形區域,計算以h-1(x0)為中心的最小外接正方形,該正方形就是獲得的高斯平均權重的范圍。
(3)利用半球面紋理映射的雅可比來矯正形變高斯核區域。在最小外接正方形內,以該正方形的中心構造標準柵格,設該中心為S-1(x0),對于半球面上任意采樣點通過映射x^’=x0-S-1(^)后,使用采樣函數為高斯核Gc(x)進行采樣獲得采樣值,并用該采樣值除以雅可比的絕對值后得到離散形變核,若x^’不在半球面對應的投影面上,則該點的高斯核為零。
(4)在原始圖像u(x)上使用映射適應性卷積進行插值。對每個重采樣位置S-1(x0)進行插值,插值的領域范圍為a*a 的正方形,對于該區域中的每個點平移到形變核的中心,并在以h-1(x0)為中心的最小外接正方形內計算平均的高斯形變核,得到該點的映射適應卷積結果。
(5)最后,對于每個映射卷積結果,選擇合適的插值方法對S-1(x0)進行重采樣,將插值結果填充到模擬平面中。
在驗證映射適應卷積理論時,我們利用點陣圖,將單位圓到半球面紋理映射的映射適應卷積抗混疊算法與該映射的標準卷積抗混疊算法的效果進行對比。
首先,生成半徑為256 的圓形紋理點陣圖,然后根據上文提到的基于立體投影的半球面紋理映射公式,進行半球面紋理映射得到對應的半球面紋理圖,再將該紋理圖作為原始平面,通過半球面紋理映射的逆映射得到圓形紋理圖,最后,將該圓形紋理圖分別進行映射適應卷積和標準卷積,對比反混疊效果。

圖2 標準卷積實驗結果
對圓形紋理先進行半球面映射,再做高斯標準卷積,出現了明顯的圖像混疊問題,實驗結果如圖2。
對圓形紋理先進行半球面映射,再做映射適應卷積,圖像反混疊效果較好,實驗結果如圖3。
通過實驗結果可以看出:使用標準卷積不可避免產生圖像混淆,但如果使用映射適應性卷積可以較好地解決圖像混疊問題。
本文根據立體投影原理,詳細地介紹了基于該原理的半球面紋理映射,分析了映射過程中產生的圖像混淆問題,并針對該問題,將映射適應卷積理論應用到半球面紋理映射中,從而達到圖像抗混疊的目的。

圖3 映射適應卷積實驗結果