趙健, 戴子堯, 丁義權(quán), 夏軍
(1.南京工程學(xué)院 計算機工程學(xué)院, 江蘇 南京 211167;2.東南大學(xué) 信息顯示與可視化國際聯(lián)合實驗室, 電子科學(xué)與工程學(xué)院, 江蘇 南京 210096)
近年來,隨著新型顯示技術(shù)的發(fā)展,三維顯示技術(shù)開始走進普通大眾的視野,已經(jīng)廣泛應(yīng)用于醫(yī)療、軍事、教育、廣告、游戲等領(lǐng)域[1-4]。例如,在醫(yī)療立體顯示領(lǐng)域,醫(yī)療專業(yè)人員可以依靠三維顯示器輕松完成內(nèi)科手術(shù)[5];在汽車導(dǎo)航領(lǐng)域[6],自由立體顯示系統(tǒng)可以為駕駛員提供基于現(xiàn)實場景的沉浸式導(dǎo)航體驗;在中小學(xué)教育方面[7],學(xué)生可以直觀地體驗3D模型的外觀和結(jié)構(gòu)。這些應(yīng)用涉及到的三維顯示技術(shù)包括近眼顯示[8]、全息顯示[9]、超顯微成像[10]、自由立體顯示[11]等。
人之所以能感知三維空間,是因為雙目的輻輳與調(diào)節(jié)機制使得人眼采集到的空間信息具有一定的水平視差。大腦通過生理立體視覺和心理立體視覺共同決策,進而獲取立體視覺感知。因此,現(xiàn)有的三維顯示技術(shù)普遍利用雙目視差原理進行三維重建。然而,長時間觀看會出現(xiàn)眼干、眼澀、眩暈等問題。這種問題產(chǎn)生的根本原因在于人眼的輻輳調(diào)節(jié)機制被阻斷。傳統(tǒng)的近眼顯示技術(shù)或者裸眼立體顯示技術(shù),由于其重建的虛擬場景一般處于一個固定深度,且該深度往往會區(qū)別于物理顯示器所在位置,會引起人眼的輻輳深度和調(diào)節(jié)深度不一致的問題,進而產(chǎn)生沖突。研究表明,基于多視點的光場顯示技術(shù),通過向單目投射多角度信息,可以有效緩解輻輳調(diào)節(jié)沖突,提升視覺舒適度。
基于多視點的光場顯示技術(shù)通過特質(zhì)光學(xué)器件精確控制每個像素的光線傳播方向,雙目可以在特定位置接收預(yù)先設(shè)計好的視點信息。根據(jù)視點數(shù)量的多少,光場顯示技術(shù)可以分為雙視點顯示技術(shù)、多視點顯示技術(shù)和超多視點顯示技術(shù)。同時,為了滿足多視點光場顯示技術(shù)的發(fā)展,虛擬視點生成技術(shù)也是必不可少的。
從人眼立體視覺原理出發(fā),本文對多種三維顯示技術(shù)典型案例進行分類總結(jié),并對重要性能參數(shù)進行對比分析,如視場角和視點數(shù)量?,F(xiàn)有三維顯示技術(shù)朝著更多視點、更快渲染速度方向發(fā)展,因此,本文對虛擬視點生成算法進行整理歸類,并對虛擬視點圖像的生成質(zhì)量和渲染速度進行比較。
自然狀態(tài)時,雙眼利用雙目視差原理可以將空間一點在視網(wǎng)膜上清晰成像,并產(chǎn)生深度立體感知[12]。目前,雙視點顯示技術(shù)均是利用特殊光學(xué)器件向雙眼投射具有一定視差的雙視點內(nèi)容,典型方案包括抬頭顯示技術(shù)(HUD)[6]、3D眼鏡顯示技術(shù)[13]和基于眼跟蹤的裸眼3D顯示技術(shù),如圖1所示。
由Sony推出的27 in(1 in=2.54 cm)4K裸眼3D顯示器[7]如圖2所示。屏幕集成眼球跟蹤功能,可以快速跟蹤用戶眼球移動,在各個角度都能帶來舒適自然的3D立體畫面,已廣泛應(yīng)用于教育[14]、設(shè)計、醫(yī)療[15]等領(lǐng)域。
圖2 基于人眼跟蹤的裸眼3D顯示器Fig.2 Naked-eye 3D display based on eye tracking
正常情況下,人眼的輻輳匯聚深度和調(diào)節(jié)深度是一致的,如圖3(a)所示。當(dāng)人眼聚焦在非明視距離內(nèi)的近眼顯示器而輻輳距離仍為真實世界的某點時,就會產(chǎn)生輻輳調(diào)節(jié)深度不一致的問題,即輻輳調(diào)節(jié)沖突(VAC)[16]。這個問題是造成視疲勞的主要因素之一,如圖3(b)所示。同理,在裸眼3D顯示中,也會存在這個問題,如圖3(c)所示。
圖3 人眼輻輳調(diào)節(jié)原理圖。(a)正常狀態(tài);(b)近眼顯示;(c)裸眼3D顯示。Fig.3 Schematic diagram of vergence-accommodation.(a) Natural state;(b) Near-eye display;(c) Naked eye 3D display.
在保證足夠高空間分辨率的基礎(chǔ)上,盡可能地提高角度分辨率,被認為是解決或緩解VAC的有效途徑之一[17]。以近眼顯示為例,放置在非明視范圍的近眼顯示器通過特殊光學(xué)器件向視網(wǎng)膜投影,進而在大腦中被動產(chǎn)生一個位于正前方的虛擬像,如圖4所示??臻g分辨率取決于虛擬顯示器能夠提供的最小虛擬像素尺寸,而角度分辨率取決于相鄰抽樣光線的最小角間距。如果空間某深度虛擬點可以形成單目聚焦,那么定向射線束的角間距需要在約0.2°~0.4°[18]以允許每只眼睛有兩個以上的視圖樣本,才能誘發(fā)單目調(diào)節(jié)反應(yīng)。另外,出瞳范圍、視場角、眼盒大小也是評價近眼顯示性能的核心指標(biāo)。
圖4 近眼光場顯示系統(tǒng)原理圖Fig.4 Schematic diagram of near-eye light field display system
北京理工大學(xué)王涌天團隊提出的基于光場和麥克斯韋的近眼顯示方案[19]可以提供接近準(zhǔn)確的深度線索。該方案對背景區(qū)域(31.5°)和視網(wǎng)膜凹窩區(qū)域(10.1°)分別進行獨立渲染,在實現(xiàn)大視場角的同時,對凹窩區(qū)域進行高角度分辨率光場成像,如圖5所示。
圖5 基于麥克斯韋和光場顯示的近眼顯示[19]Fig.5 Near-eye display combining Maxwellian-view and light-field methods[19]
Byoungho Lee[20]團隊提出基于雙層液晶的近眼光場顯示模型[21],將三維場景的光場分解成兩層,通過改變雙層液晶的透過率來實現(xiàn)光線精確調(diào)控,如圖6所示。該方案可以成功誘發(fā)單目調(diào)節(jié)效應(yīng),且空間分辨率更高。但是,該方案面臨著景深受限和通道串?dāng)_嚴(yán)重的問題。斯坦福大學(xué)的Gordon Wetzstein[22]團隊提出的基于疊加圖方法的全息近眼顯示方案可以對密集視點圖像進行壓縮計算,解決了傳統(tǒng)全息顯示在空間和角度分辨率之間需艱難權(quán)衡的問題,如圖7所示。多視點視網(wǎng)膜投影法[23]和可變焦透鏡法[24]可以將多視點信息按照視點陣列的方式在視網(wǎng)膜上聚焦成像。但是,上述方案都面臨著重建光場景深范圍受限的難題。針對這個問題,東南大學(xué)夏軍團隊提出基于集成成像原理的復(fù)合光場景深拓展方案[25-26],相比于傳統(tǒng)的單光場重建,有效拓展復(fù)合光場景深范圍150%以上,光路圖見圖8。
圖6 基于多層液晶的近眼顯示Fig.6 Near-eye display based on multilayer liquid crystal
圖7 基于圖像疊加的全息近眼顯示Fig.7 Holographic near-eye displays based on overlap-add stereograms
圖8 基于復(fù)合光的近眼顯示Fig.8 Near-eye display based on composite light field
多視點技術(shù)不僅應(yīng)用在近眼顯示領(lǐng)域,在裸眼3D領(lǐng)域也有廣泛應(yīng)用。集成成像技術(shù)可以提供高角度分辨率的多視點顯示技術(shù),具有景深連續(xù)、視覺舒適度高等特點。但是分辨率損失嚴(yán)重是這項技術(shù)的主要挑戰(zhàn)之一。近些年,集成成像與散射膜結(jié)合的研究取得了很大進展。如圖9所示,基于光學(xué)低通衍射膜的集成成像技術(shù)[27]可以極大地減少重建三維場景的顆粒感,視點數(shù)量達到31×31時,理論分辨率提升2.12倍。
圖9 基于投射鏡的集成成像技術(shù)。(a)系統(tǒng)結(jié)構(gòu)圖;(b)子圖排布。Fig.9 Integral imaging 3D display by using a transmissive mirror device. (a) System structure diagram; (b)Elemental image array.
由于視點數(shù)量有限,多視點方案僅能通過提供近似準(zhǔn)確的深度線索來緩解輻輳調(diào)節(jié)沖突,但不能完全消除?;诔嘁朁c的方案,不僅可以在超大視場角內(nèi)提供連續(xù)的視差成像,并且有望徹底解決視疲勞的問題。
北京郵電大學(xué)的桑新柱團隊[28]發(fā)明的基于新型柱透鏡陣列的光場顯示器由柱透鏡陣列、微透鏡陣列和全息功能屏組成。該顯示器具有水平70°、垂直30°的可視角,并且具有高達11 000個視點,是目前為止視點數(shù)量最多的裸眼3D顯示器,如圖10所示。2022年,Joonku Hahn團隊[9]基于不對稱擴散全息光學(xué)元件的體三維顯示系統(tǒng),通過時序的方法投射512個視點,最終實現(xiàn)了360°范圍內(nèi)連續(xù)視差成像,如圖11所示。但是該方案需要強大的投影系統(tǒng),成本高昂和體積龐大是它面臨的最大問題。北京航空航天大學(xué)的王瓊?cè)A團隊提出的基于集成成像的桌面3D顯示系統(tǒng)通過觀看區(qū)疊加的形式,實現(xiàn)了在360°環(huán)形觀看區(qū)內(nèi)連續(xù)視差分布,如圖12所示。
圖10 基于新型柱透鏡陣列的光場顯示器Fig.10 Light field display based on a new lenticular lens array
圖11 體三維顯示技術(shù)Fig.11 Volumetric display
圖12 桌面集成成像顯示技術(shù)Fig.12 Tabletop integral imaging 3D display
表1列出了雙視點顯示、多視點顯示和超多視點顯示中幾種典型顯示方案,并對視場角和視點數(shù)做了對比。從表1可知,視場角更大、視點數(shù)量更多是目前新型立體顯示的主流發(fā)展方向。
表1 典型的光場顯示器參數(shù)比較Tab.1 Parameter comparison of typical light-field displays
虛擬視點生成方法有多種,包括單信源虛擬視點生成和多信源虛擬視點生成。其中,單信源虛擬視點生成是基于2D圖像或者2D視頻完成3D虛擬視點生成;而多信源虛擬視點生成法是指基于多視點信息、深度信息或者點云等多輔助信息,實現(xiàn)任意視角虛擬視點生成。
3.1.1 卷積神經(jīng)網(wǎng)絡(luò)虛擬視點生成法
2016年,Jure Zbontar[30]團隊首次將卷積神經(jīng)網(wǎng)絡(luò)(CNN)引入到立體顯示虛擬視點生成中并取得成功。CNN通過卷積層進行特征提取,反卷積層進行重構(gòu),將代表不同視角下的空間特征重建為新的圖像,生成目標(biāo)場景的新視角圖。本部分僅討論基于單信源的CNN虛擬視點生成算法。
Richard Tucker團隊[31]提出一種基于尺度不變的虛擬視點合成神經(jīng)網(wǎng)絡(luò),實現(xiàn)了從單一2D圖片預(yù)測并渲染密集虛擬視點。該神經(jīng)網(wǎng)絡(luò)可以對在線視頻數(shù)據(jù)進行訓(xùn)練,實現(xiàn)前景邊緣缺失信息有效填充,提升合成圖像質(zhì)量,如圖13所示。虛擬視點的峰值信噪比(PSNR)最高為19.3 dB,結(jié)構(gòu)相似性(SSIM)最高為0.696。Evain[32]提出的基于單張圖片的虛擬視角合成方法,采用了MobileNet編碼器,可以在少量參數(shù)下獲得較好的視差預(yù)測結(jié)果。在出現(xiàn)偽影的區(qū)域、被遮擋的區(qū)域和誤判的區(qū)域中,使用Refiner進行進一步的優(yōu)化。該方法能夠估計自身視差預(yù)測的置信度,并能夠識別其不能正確預(yù)測的結(jié)構(gòu)。該方法在KITTI數(shù)據(jù)集中優(yōu)于現(xiàn)有技術(shù)(Deep3D),并且適用于不同分辨率的圖像。合成虛擬視點的PSNR和SSIM最高可達19.24 dB和0.74。
圖13 基于單視點的虛擬視點合成技術(shù)Fig.13 Virtual viewpoint synthesis technology based on single viewpoint
為了進一步提升虛擬視點圖像質(zhì)量,來自牛津大學(xué)的Olivia Wiles 提出SynSin模型[33]。這是一種端到端的神經(jīng)網(wǎng)絡(luò)模型,與現(xiàn)有方法不同的是,該模型在測試時無需任何基準(zhǔn)3D信息。該模型利用可微分的點云渲染器將潛在的3D點云特征轉(zhuǎn)換為目標(biāo)視角,并通過修飾網(wǎng)絡(luò)解碼出所需的3D細節(jié),從而為缺失的區(qū)域進行精確填充,生成虛擬視點。此外,還可以生成高分辨率虛擬視點,對輸入圖像的分辨率要求很低。該模型在Matterport、Replica和RealEstate10K數(shù)據(jù)集上均優(yōu)于基準(zhǔn)方法,PSNR和SSIM最高可達22.21 dB和0.74。
3.1.2 神經(jīng)輻射場虛擬視點生成法
神經(jīng)輻射場(Neural Radiance Fields,NeRF)[34-35]根據(jù)相機光線采樣提取出靜態(tài)場景圖片的5D函數(shù),即空間位置(x,y,z)和視角方向(θ,?),將其轉(zhuǎn)化為對應(yīng)的輻射亮度和密度,通過圖像投影渲染技術(shù),實現(xiàn)虛擬視點合成,原理圖如圖14所示。因其具有高質(zhì)量的3D場景渲染能力,已成為研究熱點。目前,該領(lǐng)域研究主要集中在提升虛擬視點圖像質(zhì)量和渲染速度兩個方面。
在提升圖像質(zhì)量方面,基于預(yù)訓(xùn)練的MVSNeRF[36]方法通過將預(yù)先提取輸入視圖的圖像特征映射到3D體繪制中,可以大幅提升圖像質(zhì)量。NeRF in the wild(NeRF-W)[34]基于稀疏視圖集合,將圖像序列中的NeRF參數(shù)進行共享分析,進而提升虛擬視點質(zhì)量。但這些方法都嚴(yán)重依賴大量外部數(shù)據(jù),不適用于單信源虛擬視點生成的場景。另外,傳統(tǒng)的NeRF是像素級光線渲染,因此,對不同分辨率的圖像進行訓(xùn)練或者測試時,就會出現(xiàn)過度模糊或者混疊現(xiàn)象。Mip-NeRF[37-38]模型通過抗鋸齒錐形截錐體(Anti-aliased conical frustums)渲染,成功減少了虛擬視點的鋸齒偽影,并顯著提高了NeRF表示精細細節(jié)的能力,如圖15(a)所示。相對于NeRF,錯誤率最高降低了60%,同時速度提升了7%。雖然,這種方法可以很好地提升虛擬視點的圖像質(zhì)量,但是對于具有鏡面反射的場景渲染效果不佳。Ref-NeRF[39]方法通過在物體表面的法向量上引入正則化矩陣,以定向MLP作為圖像差值核心,周邊鏡面區(qū)域渲染共享該矩陣,如圖15(b)所示。該方法可以顯著提升虛擬視點圖像質(zhì)量,渲染結(jié)果的PSNR達到33.99 dB,相對于傳統(tǒng)方法至少提升了6 dB。
圖15 虛擬視點圖像質(zhì)量提升算法Fig.15 Algorithm for enhancing virtual view image quality
上述方法雖然都顯著提升了虛擬視點的圖像質(zhì)量,但是在渲染過程中,NeRF需要查詢深度多層感知器(MLP)數(shù)百萬次,導(dǎo)致圖像處理時間過長。這是NeRF面臨的另外一個挑戰(zhàn)。Lingjie Liu[40]嘗試通過引入神經(jīng)稀疏體素場(NSVF)定義了一組以稀疏體素八叉樹組織的體素邊界隱式字段,以模擬每個元格中的局部屬性。相對于Mildenhall[35]方法,該方法的渲染速度提升了10倍以上。Tao Hu[41]設(shè)計了一種新穎的數(shù)據(jù)結(jié)構(gòu),在測試過程中緩存整個場景以加快渲染速度。該方法減少了超過88%的訓(xùn)練時間,渲染速度達到200 FPS以上,同時生成了具有競爭力的高質(zhì)量圖像。KiloNeRF[42]方法通過將復(fù)雜的空間場景分解為規(guī)則網(wǎng)格并為每個網(wǎng)格單元分配小容量網(wǎng)絡(luò)的方式,實現(xiàn)了NeRF實時渲染。該方法沿坐標(biāo)軸均勻分解場景,把場景最多分為4 096個小場景。同時對數(shù)千個獨立的MLP進行并行處理,相對于傳統(tǒng)的NeRF,速度提升3個數(shù)量級。Instant NeRF[43]引入了一種新的編碼方法,該方法可以在不犧牲圖像質(zhì)量的情況下使用更小的神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練,這種架構(gòu)可以很輕松地在全融合CUDA內(nèi)核上完成并行加速運算,如圖16所示。在同等的渲染圖像質(zhì)量(PSNR)的情況下,渲染速度提升20~60倍,可以在數(shù)十毫秒內(nèi)完成1 920×1 080分辨率的圖像渲染。
圖16 Instant NeRF原理圖Fig.16 Schematic diagram of Instant NeRF
為了評估上述算法的性能,根據(jù)公開的論文資料,基于相同數(shù)據(jù)集Synthetic-NeRF Database,對幾種典型NeRF模型的虛擬視點圖像質(zhì)量和合成速度做定量比較,結(jié)果見表2和表3。
表2 典型的NeRF模型性能比較Tab.2 Performance comparison of typical NeRF mode
表3 典型的NeRF模型源碼鏈接Tab.3 Source link of typical NeRF mode
相對于單信源虛擬視點生成,多信源虛擬視點生成需要依賴更多的目標(biāo)場景特征信息作為輔助。目前,多信源虛擬視點生成算法已較為成熟,并廣泛應(yīng)用于科研和商用領(lǐng)域[46]。對于采用相機陣列[47]和光場相機[48-49]等多視點直采方式,這里不做討論。幾種典型的生成算法如下。
基于深度信息的虛擬視點生成算法(Depthimage-based rendering,DIBR)[50-52]利用深度信息,將2D圖像的像素進行三維空間拓展,并按照需要的角度進行二維投影即可得到相對應(yīng)的虛擬視點。但遮擋區(qū)域的空洞填充是該方法所面臨的挑戰(zhàn)之一。東南大學(xué)的趙健團隊提出基于傅里葉切片理論的圖像修復(fù)算法[53],可以快速、自然地修復(fù)空洞區(qū)域,如圖17所示。但對于較大的空洞區(qū)域,一般需要參考其他視點內(nèi)容進行填充[54-56]。
基于建模的虛擬視點生成算法(Model-based Rendering,MBR)[57-58],根據(jù)自然場景中物體的構(gòu)造特征對目標(biāo)場景進行幾何建模(圖18)。按照光場設(shè)備的光學(xué)參數(shù),通過虛擬相機陣列對三維模型進行視差圖像序列采集[57,59]。該方法可以獲得任意角度的高質(zhì)量虛擬視點,但是三維場景建模的難度高、周期長,不能滿足光場顯示對復(fù)雜、多變場景的生成需求,但在游戲、教育等場景相對固定的應(yīng)用領(lǐng)域具有巨大潛力[60-61]。
圖18 MBR原理圖Fig.18 Schematic diagram of model-based rendering
基于稀疏視點的密集虛擬視點生成算法(Sparse viewpoint-based Rendering, SVBR)[62]利用已有的稀疏視點,通過幾何信息編碼獲得虛擬視點插值(圖19)。該方法可以獲得高質(zhì)量的合成視點[63-64]且理論視點密度無限大,但該方法存在計算資源消耗大、渲染速度慢、相機基線有限等問題。來自北京郵電大學(xué)的Binbin Yan[65]團隊提出基于cutoff-NeRF的虛擬視點合成算法,實現(xiàn)了8K分辨率的虛擬視點實時渲染。虛擬視點的PSNR約為29.75 dB,SSIM約為0.88,合成8K 3D圖像時間約為14.41 s。
圖19 SVBR原理圖Fig.19 Schematic diagram of sparse viewpoint-based rendering
光場顯示技術(shù)具有沉浸感好、視覺舒適度高等特點,已成為新型顯示技術(shù)的研究熱點。目前,光場顯示技術(shù)向著視點數(shù)量越來越多、視場角越來越大、光場渲染速度越來越快的方向發(fā)展。但現(xiàn)有顯示技術(shù)仍不能完全消除輻輳調(diào)節(jié)沖突,更符合人眼立體視覺的光學(xué)設(shè)計和更加密集的虛擬視點被認為是解決該問題的關(guān)鍵。另外,相對于多信源虛擬視點生成技術(shù),單一信源虛擬視點生成技術(shù)還不成熟,圖像質(zhì)量和渲染速度均有待提高。但是,單一信源虛擬視點生成技術(shù)具有廣泛的市場前景和發(fā)展?jié)摿?,有望徹底解決光場成像技術(shù)內(nèi)容缺少的難題。