999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于迭代的虛擬視圖合成算法實現

2021-05-13 07:16:32劉偉民
現代計算機 2021年8期
關鍵詞:深度

劉偉民

(四川大學計算機學院,成都610065)

0 引言

近年來,隨著人們生活水平的不斷提高,對視頻播放系統的需求也在不斷增加。傳統的視頻播放系統僅能夠播放固定視點下單一視線方向捕獲的畫面,導致用戶觀看場景的自由度不高,體驗感下降。為了提升用戶的體驗,許多學者對此進行了大量研究。在虛擬現實領域,可以通過VR 眼鏡實現360°的場景觀看,并支持用戶移動等交互。但是由于硬件計算性能的限制,目前無法實時渲染高質量的畫面。NVDIA 推出了VR 視頻解碼框架,通過實時解碼全景高清視頻,能夠支持用戶360°的自由觀看場景。然而,該方案限制了用戶的移動,僅能夠在固定視點觀看周圍場景。為了允許用戶自由觀看場景并且達到實時渲染的目的,Fujii T 等人[1]提出了自由視點電視系統(Free Viewpoint Television,FTV)概念,使得這一需求成為可能。

FTV 系統主要采用基于深度圖像的渲染技術(Depth Image Based Render,DIBR)[2],將周圍已經捕獲的圖像信息映射到虛擬視點處,得到虛擬視點的圖像信息。DIBR 技術無需進行場景的幾何建模,也無需計算復雜的光照信息,能夠滿足實時渲染的需求[3]。

然而,基于深度的圖像渲染技術中存在很多問題,例如空洞、偽影、重疊等[4],影響合成圖像的質量??斩磫栴}主要分為兩類:采樣不足造成的細小空洞以及信息缺失導致的空洞。細小空洞又稱為裂紋,如圖1(a)所示。造成該現象的主要原因是映射過程中,像素映射到非整數像素上,需要進行取整操作,從而造成舍入誤差,采樣率不足[5]。較大的空洞如圖1(b)所示,主要由于虛擬視點視角發生變化,導致參考圖像中前景物體后的背景物體重新暴露在虛擬視點下,而參考圖像無法提供對應的背景信息。偽影現象如圖1(c)所示,背景物體上出現前景物體的部分信息,造成圖像失真。造成偽影的主要原因是物體輪廓處的深度值與顏色值不匹配造成的,通常采用深度圖邊緣預處理解決[6]。在進行視圖合成時,參考圖像的多個像素可能映射到虛擬視點的同一像素位置上,造成如圖1(d)所示的前景顏色被背景顏色覆蓋的情況,這種現象稱為重疊現象[7]。Fehn 等人[8]利用控制繪制順序的方式解決重疊問題,但是該方案不適用于GPU 并行框架,Greene 等人[9]提出Z-buffer 策略,利用深度過濾掉背景物體,可以很好地支持并行計算結構。

為了解決空洞問題,本文提出一種基于GPU 加速的逆向映射算法。該算法基于不動點迭代的思想,利用移動向量構建不動點迭代關系式,能夠很好地避免細小空洞的產生。同時利用兩幅參考圖像合成虛擬視圖,能夠有效地減少空洞的產生。最后針對存在的空洞,采用基于深度引導的空洞修復方式進行填充。本文使用OpenGL 的計算著色器實現并行計算,并驗證了算法的有效性。

圖1 DIBR技術中存在的問題

1 虛擬視圖合成算法概述

1.1 像素映射方式

在視圖合成算法中,根據像素映射方式不同,可以將DIBR 技術分為前向映射方式與逆向映射方式。前向映射方式如圖2(a)所示,使用3D-Warping 方程將參考圖像的每一個像素映射到虛擬視圖上。其中(x',y')可能存在浮點數情況,需要進行像素取整或者采用Splatting 算法[10]進行處理。像素取整會造成虛擬視圖中出現大量“裂紋”,而Splatting 算法需要對映射的點做加權計算,不利于并行計算。逆向映射方式如圖2(b)所示,利用逆向映射函數T-1( )x,y將虛擬視圖上的每一個像素映射到參考圖像上,通過雙線性插值或者三線性插值等方式采樣圖像,可以得到虛擬視點的圖像信息。相較于前向映射方式,逆向映射方式能夠更好地支持GPU 并行計算,而且可以避免“裂紋”現象的出現,但是需要找到對應的逆向映射關系。

1.2 基于原子的逆向DIBR算法

當多個參考圖像上的像素點同時投影到虛擬視圖的同一位置上時,會出現寫入數據競爭的問題,為了解決這個問題,可以采用原子寫入的思想?;谠拥哪嫦駾IBR 算法首先通過前向映射方式將像素點投影到虛擬視圖上,通過舍入取整得到要寫入的像素位置,然后利用深度信息進行原子最小寫入,即將深度最小的點寫入到GPU 內存中。此時會得到帶有裂紋的深度圖,對深度圖進行濾波處理能夠得到虛擬相機的粗略深度圖。之后根據虛擬相機的深度圖進行重投影,利用投影到參考相機的點進行采樣,最終能夠得到虛擬視圖的信息。

基于原子的DIBR 算法能夠適用并行計算框架,可以快速得到虛擬視點的圖像信息。但是,對帶有裂紋的深度圖進行濾波可能會造成圖像失真現象,影響合成的圖像質量。本文提出一種基于迭代的DIBR 算法,無需對深度圖進行濾波,可以得到高質量的虛擬視圖,接下來對基于迭代的DIBR 算法進行詳細的闡述。

圖2 前向映射與逆向映射示意圖

2 基于迭代的DIBR算法

2.1 不動點迭代思想

本文采用的基本思想是不動點迭代思想。不動點迭代是求解復雜方程f(x)=0 的重要方法。如圖3 所示,假設要求解方程f(x)=x-g(x),不動點迭代思想會將函數f(x)分解成兩個函數y=x與y=g(x)。其中兩個函數的交點x*就稱作不動點,也是函數f(x)的零點。任取一點x0,根據公式(1)進行迭代計算,若迭代序列收斂到g(x)的不動點,即,則不動點迭代收斂,否則不動點迭代發散。

2.2 二維圖像的不動點迭代

對于二維圖像而言,虛擬視圖上的點p與參考圖像上的點q存在如公式(2)所示的對應關系:

其中,V(q)表示q點移動到p點的移動向量。

在基于DIBR 的視圖合成算法中,移動向量可以根據深度快速計算得到。已知參考相機的內外參矩陣Mr以及虛擬相機的內外參矩陣Mv,可通過公式(3)計算得到參考圖像的點q投影到虛擬圖像上點p' 的對應位置:

然后利用公式(4)得到每個像素映射的移動向量,得到一張移動向量圖。

根據公式(2)的對應關系,我們可以構建不動點迭代關系式:

其中,在逆向映射過程中,p為已知信息,表示虛擬視圖的每個像素位置。V(qi)為qi位置處對應的移動向量。w(qi)表示一次迭代后的結果,將該結果賦值給qi+1進行進一步的迭代。

圖像迭代過程中,前一次迭代結果qi-1與當前迭代結果qi之間的距離小于一個像素大小時,迭代可看作收斂。當迭代收斂時,可通過得到的迭代結果采樣得到對應的顏色值。

圖3 不動點迭代示意圖

2.3 局部包圍盒策略

在進行虛擬視圖合成時,會出現重疊現象,即在本文算法中,公式(5)可能存在多個迭代收斂的結果。引起該問題的主要因素是初始點的選擇。針對此問題,本文采取選擇多個初始點進行迭代的策略:當多個初始點進行迭代時,若存在多個收斂結果,則對比每個迭代收斂結果的深度,選擇深度最小的點作為最終的采樣結果,從而避免重疊現象。

當增加選擇的初始點數目時,圖像質量提升,但是同時增加了計算開銷,導致性能降低。為了降低開銷,增加系統的運行效率,本文采用局部包圍盒策略對初始點的選擇范圍做了進一步縮小,能夠在保證收斂的情況下,減少初始點的選擇數目。

局部包圍盒策略采用的主要思想是利用移動向量在局部的最大值,構成矩形包圍盒,由于采用的是最大值,所以在該包圍盒中一定存在收斂的點,從而保證了迭代收斂。如圖4 所示,具體步驟如下:當計算移動向量時,同時計算該移動向量沿著圖像坐標系X-Y 的分量。若當前分量大于局部區域存儲的最大分量,則將其進行替換。最終劃分的每個區域都會存儲最大的局部包圍盒,在該包圍盒下進行初始點的選擇,能夠減少計算開銷。

圖4 局部包圍盒示意圖

3 算法流程

本文算法通過C++與OpenGL 進行計算與繪制。算法流程如圖5 所示,首先通過計算著色器將參考圖像的每個像素根據深度重投影到虛擬視圖上,計算像素的移動向量以及對應的局部包圍盒,并通過可寫入的Image2D 圖像紋理進行存儲。之后再利用計算著色器進行第二遍并行計算,讀取局部包圍盒的數據,隨機初始化N個點,進行迭代計算,當迭代次數大于規定次數時,迭代不收斂,舍棄結果。當迭代收斂時,將其存入到候選點集中,最后通過對投影的深度進行排序,選擇最小的深度作為最終的采樣坐標進行采樣。通過前兩遍的計算著色器已經能夠得到最終合成的圖像了,第三遍為繪制渲染,通過渲染屏幕大小的一張二維網格并對其著色,最終呈現出合成的圖像。由于本文采用的是兩個參考視點進行虛擬視點的合成,最終合成的圖像空洞信息較少,但是依然不能避免空洞的出現。本文在渲染繪制遍時對這些較少的空洞進行修復,主要利用已知的深度信息進行前景與背景物體的識別,利用背景物體的顏色進行填充能夠得到較好的結果。

圖5 算法流程圖

4 實驗結果

本節的實驗設備信息如表1 所示。

表1 實驗設備信息表

圖6 展示了本次算法輸入的兩張參考圖像以及對應的深度圖像。

圖6 輸入的左右參考圖像與深度圖像

圖7展示了基于原子的DIBR 算法、本文基于迭代的DIBR 算法以及Ground Truth 參照圖,其中基于原子的DIBR 算法出現了明顯的失真情況,造成該失真情況的主要原因是投影時取整造成的裂紋被背景物體填充。本文利用峰值信噪比PSNR 以及結構相似性SSIM進行測試,結果如表2 所示。

圖7 實驗結果對比

表2 實驗設備信息表

5 結語

本文給出了基于迭代的DIBR 算法的基本思想,并利用C++與OpenGL 實現并行計算架構。該算法比基于原子的DIBR 算法在PSNR 和SSIM 上有一定提升。但是本文算法需要進行額外的移動向量計算以及多個初始化迭代點的選擇,當迭代點數目增多時需要的時間代價十分昂貴。在后續的研究中,會針對初始點的選擇進行進一步優化,減少初始點的選擇數目以提升算法的運行效率。

猜你喜歡
深度
深度理解不等關系
四增四減 深度推進
深度理解一元一次方程
深度觀察
深度觀察
深度觀察
深度觀察
芻議深度報道的深度與“文”度
新聞傳播(2016年10期)2016-09-26 12:14:59
提升深度報道量與質
新聞傳播(2015年10期)2015-07-18 11:05:40
微小提議 深度思考
主站蜘蛛池模板: 久久香蕉国产线看观看精品蕉| 亚洲成人福利网站| 日本午夜精品一本在线观看| 亚洲日韩Av中文字幕无码| 欧美不卡视频在线观看| 国产精品人成在线播放| 人妖无码第一页| 亚洲欧美日韩另类在线一| 亚洲成人黄色网址| 91在线播放免费不卡无毒| 欧美日韩精品一区二区在线线| 国产尤物视频在线| 久久精品aⅴ无码中文字幕 | 久久男人资源站| 欧美天堂在线| 九九九国产| 国产精品熟女亚洲AV麻豆| 精品久久香蕉国产线看观看gif | 欧洲一区二区三区无码| 五月婷婷综合在线视频| 亚洲无码四虎黄色网站| 免费 国产 无码久久久| 欧美亚洲日韩不卡在线在线观看| 亚洲高清无码精品| 韩日午夜在线资源一区二区| 人妻中文久热无码丝袜| 日韩黄色大片免费看| 九九这里只有精品视频| 91在线一9|永久视频在线| 99精品伊人久久久大香线蕉| 香蕉综合在线视频91| 日韩在线影院| 欧美一级高清片久久99| 欧美国产视频| 666精品国产精品亚洲| 精品福利网| 女人18毛片一级毛片在线 | 国产三级毛片| www.91中文字幕| 99热在线只有精品| 国产成人高精品免费视频| 麻豆精品在线| 日韩视频免费| 亚洲人成网站在线播放2019| 久久国产拍爱| 黄色网站在线观看无码| 亚洲第一综合天堂另类专| 欧美精品v| 伊人久热这里只有精品视频99| 91蝌蚪视频在线观看| swag国产精品| 丰满人妻被猛烈进入无码| 国产h视频免费观看| 亚洲欧洲日产无码AV| www.精品国产| 亚洲视频免费在线| www.91在线播放| 亚洲综合婷婷激情| 少妇极品熟妇人妻专区视频| 91www在线观看| 91精品国产情侣高潮露脸| 欧美一区日韩一区中文字幕页| 波多野结衣亚洲一区| 熟女成人国产精品视频| 色综合天天娱乐综合网| 狠狠久久综合伊人不卡| 亚洲伦理一区二区| 天天爽免费视频| 国产微拍精品| 在线观看国产精品一区| 国产一级在线观看www色 | 国产成年无码AⅤ片在线| 老司国产精品视频91| 欧美日韩国产系列在线观看| 97久久精品人人| 波多野结衣AV无码久久一区| 亚洲欧美成人影院| 99伊人精品| 亚洲日本中文字幕乱码中文| 国产区免费| 72种姿势欧美久久久久大黄蕉| 99久久精品免费看国产电影|