樊相奎,周紹軍,黎 明
(1.四川師范大學 計算機科學學院,四川 成都 610101;2.四川水利職業技術學院 信息工程系,四川 崇州 611231)
視圖優化技術是多學科交叉的一門綜合性學科,包括計算機、電子信息和仿真技術等[1]。立體顯示是利用雙目視差和運動視差來實現立體顯示,主要應用在工業、軍事、醫療、娛樂和商業等領域[2]。視圖按照一定方式運動的序列形成動畫,由視圖到動畫需要進行優化,使其立體動畫效果更加逼真和貼切[3]。因此,利用相關理論和方法,對多視點視圖的優化具有一定意義和價值的。
對視圖匹配與優化研究方面,國內外研究者們提出了很多視圖/視點的匹配與優化算法。文獻[4]提出了一種對大的非線性輻射畸變具有魯棒性的特征匹配算法,但該算法僅應用于輻射不敏感特征變換,對其它特征下未進行描述。文獻[5]將Hopfield網絡應用于視差空間上的立體匹配求解上,提出一種基于RBF(radial basis function)的邊界提取算法。文獻[6]提出一種基于交叉片的滾動標簽擴展的立體匹配算法,該算法在像素級和亞像素級都具有較高的匹配精度。文獻[7]為基于邊界的視差圖優化,通過實驗驗證與分析,將Canny檢測算法與SGBM(semi-global block matching,SGBM)算法相結合的方法剔除了大量不相關信息,提高視差圖的質量。文獻[8]提出一種基于置信度的大尺度密集多視點立體成像方法和一種基于深度控制的空間一致性預測方法。文獻[9]提出一種在立體視覺和多視點下校準立體圖像的表面法線估計的最優算法。文獻[10]對平面立體視覺圖像進行優化研究,提出一種帶約束的優化算法。文獻[11]提出一種空中多視點高質量三維重建和優化方法,并對提出的方法進行了量化評估。從現有研究成果來看,對局部立體視圖的匹配進行相應研究的主要體現在文獻[12];文獻[12]通過估計每個像素上的單獨三維平面而投射出支持區域以解決視差,借以提出了一種PatchMatch算法來求解無限數量的平面的最優三維平面。
綜上,利用局部立體視圖匹配PMS(PatchMatch ste-reo)算法,結合多點視圖法平面與視差空間,提出一種多視點法平面與視差空間及聚合成本最優化的改進PMS算法,來優化和處理多視點立體視圖匹配問題,并對算法進行仿真與實驗驗證。
要實現基于虛擬現實的多視點裸眼體視動畫優化,必須對優化框架進行設計,即完成改進局部立體匹配(improved patch match stereo,IPMS)框架設計。
利用多臺攝像機對單個客體進行拍攝,得到相應的圖像信息。依據得到的某一時刻的信息幀,進行虛擬仿真,而得到連續動態的動畫,并使得在裸眼體視下具有動畫效果。如圖1所示,3臺攝像機對N平面上的點P進行拍攝,第i個和第j個視圖間的投影點的相鄰像素通過局部仿射變換為Aij關聯,平面Πi的點Pi為投射點,Ci為仿射點,其中i=1,2,3,j=1,2,3。 因此,平面N的點P就得到3個投射點視圖和3個仿射視圖。

圖1 多視點拍攝

用三維坐標系對如圖1的3個攝像機和被拍攝對象進行坐標標定。搜索圖P3和對應的仿射點C3, 映射到xy平面,得到線段P′3C′3; 由于3臺攝像機處于同樣的高度,即與P點位于同一個平面內,因此,各拍攝點的z軸坐標值是固定的,其變化部分為x軸和y軸。假定P=(x,y)T、P1=(x1,y1)T∈Π1、P2=(x2,y2)T∈Π2和P3=(x3,y3)T∈Π3, 若P1和P3匹配,則在同一個坐標系里可使P1和P3具有相同的y坐標和視差量值d, 故在參考空間D和參考產生的視差空間D′, 有P1=(x1,y,d)T∈D和P3=(x3,y,d)T∈D′為點P的兩個不同投影變換,若令X′=x-d或X′=x+d, 則視差空間中P1和P3之間的關系為
(1)

d=ax+by+cz
(2)

δ=aξ+bη+cγ
(3)


(4)
(5)

(6)

(7)
式中:φ為預置參數, |Ip-Iq| 表示像素點p和q間的距離,可用式(2)或式(3)表示;函數similDh(p,q) 表示p和q待匹配像素點間的相似度,即

(8)
式中:q是通過p的視差值,由式(2)確定;α為像素點p和像素點q間的色彩與梯度平衡因子;tpc,tpg為匹配代價在對應區域內的魯棒性因子。
PMS算法性能直接取決于匹配跨視圖測量區域的相似性成本。因某些仿射變化或噪聲影響,使得匹配區的強度受到影響,而導致匹配成本函數必須對該影響具有魯棒性[9]。在此,基于前面的變換關系和改進PMS算法,使用像素自適應權重匹配的成本函數,來進行跨視圖匹配及其框架的設計。
對式(4)進行改進,以得到最小化聚合匹配成本平面

(9)
因此,點P的聚合成本為
(10)

(11)

(12)

(13)



圖2 優化框架流程
由圖2可知,優化框架流程分為3個步驟實現多視點裸眼體視優化。首先進行初始化,在最小允許視差值dmin和最大允視差值dmax之間均勻分配視差值,即視差值d服從 [dmin,dmax] 的均勻分布,表示為d~U(dmin,dmax); 在左右視差空間D、D′為平面N、 Πi的每個像素分配單位法線。然后進行傳播和細化后得到左右像素點πL和πR。 最后還需要進行后處理,其方法見文獻[12]。
依據前面提出的優化框架,按照式(10)的成本函數,對每個視覺獲取的視圖進行如圖所示的框架進行優化。還需要進一步進行優化算法研究,該優化算法在本節予以完成。
對n個視點的P點聚合成本,可描述為
(14)

因此,依據PMS算法和圖2流程框架,利用式(14)得到最低開銷的聚合成本,進而得到多視點的IPMS算法。設計多視點法平面與視差聚合成本最小化的改進PMS算法,來實現多視點裸眼體視動畫的優化[15]。其算法分為初始化、傳播、多視點法平面與視差聚合成本最小化迭代、視差圖后處理4個步驟。其中前3個步驟將多視點法平面與視差轉化為多視點法平面與視差及聚合成本的最優化求解過程,算法具體描述如算法1所示。
算法1:
輸入:各視點左右視圖、法平面、視差空間、視差與法平面的約束
輸出:法平面與視差和左右視點最優聚合成本

(2)計算各視點的相似度。依據建立的坐標系,計算各視點的偏移量di-d, 用偏移量代替視距而構成視差空間D′i, 設置各視點Pi相對于P點的相似度similDi(pi,p)。



(6)后處理。后處理首先是對左右視差圖執行左右一致性驗證,以使得小于給定閾值的視差點為無效點,其次進行填充處理。填充方法是搜索無效點左側最近鄰和右側最近鄰的有效像素點,若仍為無效像素點,則返回第(1)步,重新設置初始值,直到為有效像素點。
依據算法1,可對每個視點完成空間傳播、視角傳播及視差優化,同時能夠對視點進行隨機選取和處理。通過后處理完成對視點視圖的邊角、遮擋和噪聲等的處理[16]。
在本節中,主要完成對提出的算法進行實驗,同時完成對實驗結果的分析。
在仿真實驗時,為使得仿真拍攝視圖滿足仿真要求,采用如圖3所示的3種方式進行多視點視圖拍攝。每個視圖點位于距被拍點P半徑為R的球面上,將3D隨機定向點上拍攝視圖,多點拍攝形成多點視圖,如圖3最右邊所示。然后等式(1)出發,進行每個拍攝點的法平面局部仿射變換,將具有標準差σ的零均值高斯噪聲添加到點P和仿射參數中。仿真得到的結果為測試用例400次運算后的平均值。

圖3 仿真視圖拍攝樣式
將本文提出的算法與文獻[17-19]的方法進行對比,得到如圖4所示的對比曲線。在仿真時,分別仿真噪聲σ的函數的角度誤差(單位:度)和在5、10、15、20個視點時的比較曲線,從仿真得到的圖4可知,本文算法在相同噪聲σ函數的角度誤差下,優于其它參比算法。

圖4 不同視點數比較曲線
若σ一定,仿真得到在噪聲固定時視點數的函數的角度誤差曲線,如圖5的(a)所示;當σ=0.5時,本文算法與參比算法相比,若樣本數越多,則誤差總趨勢是越來越小。同樣,在相同噪聲下的執行各算法時間上進行比較,得到如圖5(b)所示的曲線圖,當樣本增加時,本文算法在執行時間上增加比較緩慢,優于參比算法。

圖5 不同視點錯誤率與執行時間比較曲線
利用實際圖片,進行對比實驗。采用相同圖片,分別用PMS算法和本文算法進行處理,得到如圖6所示的結果。圖6(a)按照經典PMS算法進行匹配得到的處理結果,圖6(b)是按照本文算法進行處理的結果。圖6中,實驗使用的原圖為相同的左右視圖,代表不同視點的視圖,圖6(a)最后得到的匹配圖對遮擋部分,效果欠佳;而圖6(b)按照本文算法得到的視差圖,上下兩行分別為左右視點視圖的視差圖,其效果是明顯優于PMS算法。
綜上,通過仿真與實驗結果可知,本文提出的算法在不同噪聲下的角度誤差、相同噪聲不同視點數的角度誤差和相同噪聲不同視點數的執行時間方面,均優于參比算法;在實物圖處理方面,與PMS算法進行比較,本文算法在處理效果方面具有優越性。
針對多視點視圖匹配存在的不足,對多視點視圖進行法平面與視差及聚合成本方面的算法研究,提出一種多視點法平面與視差空間及聚合成本最優化的改進PMS算法,以提高多視點視圖處理的效果。首先給出多視點視圖優化框架和單視點聚合成本函數;然后結合多視點聚合成本函數最優化方法,設計了法平面與視差及聚合成本最優化的改進PMS算法,給出了算法步驟;最后,對提出的算法進行仿真實驗和對比實驗,結果表明所提出的改進PMS算法相對于參比算法而言,具有一定的優越性。