秦志強(qiáng),張文閣,文 軍,蔣曉瑜
集成成像(Integral Imaging,II)和全息術(shù)相比不需要設(shè)置相干光源、結(jié)構(gòu)簡(jiǎn)單緊湊,能夠再現(xiàn)動(dòng)態(tài)場(chǎng)景,可用于文物展示、生活?yuàn)蕵?lè)、遠(yuǎn)程會(huì)議、重要內(nèi)容的增強(qiáng)交互顯示等場(chǎng)合,具有較大的應(yīng)用前景。
集成成像來(lái)源于1908年法國(guó)G.Lippmann 首次提出[1]的集成攝像術(shù)(Integral Photography,IP),包括記錄和再現(xiàn)兩個(gè)部分,其記錄部分與攝像術(shù)(Photography)聯(lián)系緊密。早期集成成像記錄過(guò)程使用全光學(xué)的方式完成,記錄透鏡陣列和再現(xiàn)透鏡陣列的參數(shù)相同,三維物體通過(guò)透鏡陣列的成像信息被感光介質(zhì)記錄并用于顯示,普遍存在記錄單元圖像質(zhì)量不高、贗像(深度反轉(zhuǎn))和采集端和再現(xiàn)端參數(shù)必須一致(簡(jiǎn)稱為參數(shù)一致)等問(wèn)題[2]。隨著計(jì)算機(jī)的出現(xiàn)與發(fā)展,1978年日本Igarashi 提出使用計(jì)算機(jī)生成集成圖像(Integral Photograph),使實(shí)際并不存在的物體得到三維顯示。隨著光學(xué)元件、顯示器和攝影術(shù)的發(fā)展,學(xué)者們不斷使用新的技術(shù)和軟硬件設(shè)備來(lái)解決集成攝像術(shù)中的問(wèn)題,集成攝像術(shù)逐漸發(fā)展成為集成成像。根據(jù)是否使用計(jì)算機(jī)生成單元圖像陣列(Elemental Image Array,EIA),集成成像分為全光學(xué)集成成像和計(jì)算生成集成成像(Computer-Generated Integral Imaging,CGII)。
圖1 (a)視點(diǎn)光場(chǎng)模型 (b)視向光場(chǎng)模型 (c)集成成像光場(chǎng)模型
隨著計(jì)算攝影技術(shù)和計(jì)算機(jī)圖形學(xué)的發(fā)展,計(jì)算生成集成成像備受關(guān)注。為了實(shí)現(xiàn)參數(shù)靈活、高效實(shí)時(shí)、應(yīng)用廣泛的計(jì)算生成集成成像記錄系統(tǒng),學(xué)者們提出了豐富多樣的光場(chǎng)計(jì)算方法,簡(jiǎn)化了光學(xué)采集方式,擴(kuò)展了集成成像顯示內(nèi)容,能夠生成高質(zhì)量的EIA。本文根據(jù)所用算法和技術(shù)的不同,對(duì)這些方法進(jìn)行梳理歸類,分析其中存在的關(guān)鍵問(wèn)題,并討論不同類型光場(chǎng)計(jì)算方法的發(fā)展趨勢(shì)。
集成成像是一種光場(chǎng)顯示技術(shù),其原理遵守光場(chǎng)理論。計(jì)算生成集成成像記錄系統(tǒng)分為光場(chǎng)采集和光場(chǎng)計(jì)算兩個(gè)部分,如圖1所示,光線由起點(diǎn)O(xo,yo,zo)和單位方向向量dij表達(dá),光場(chǎng)采集一般使用視點(diǎn)光場(chǎng)(單點(diǎn)透視模型),或者視向光場(chǎng)(特殊相機(jī)或者虛擬相機(jī)采集),或者光線采集(虛擬相機(jī)采集)。EIA 可以看作是多個(gè)視點(diǎn)光場(chǎng)、視向光場(chǎng)(由某方向的平行光線組成)或光線的積分。
不同的采集方式需要不同的光場(chǎng)計(jì)算方法,才能生成EIA,完成整個(gè)光場(chǎng)記錄過(guò)程。集成成像在實(shí)際應(yīng)用中主要有采集、數(shù)據(jù)預(yù)處理、生成EIA 和顯示等四個(gè)過(guò)程,過(guò)程之間默認(rèn)為數(shù)據(jù)傳輸,如圖2所示。
圖2 集成成像的基本過(guò)程
光場(chǎng)計(jì)算包含數(shù)據(jù)預(yù)處理和生成EIA 兩個(gè)過(guò)程,生成EIA 過(guò)程的輸入信息不僅可以是采集到真實(shí)物體的可視光場(chǎng)信息,還可以是根據(jù)采集信息重建出的或直接制作出來(lái)的三維模型數(shù)據(jù),輸出是EIA。根據(jù)生成EIA 過(guò)程中光場(chǎng)信息處理方式的不同,光場(chǎng)計(jì)算方法可以分為基于像素映射和基于像素渲染兩種方法。
像素映射方法是比較傳統(tǒng)的集成成像記錄方法,常用于采集真實(shí)場(chǎng)景并用于集成成像顯示。視點(diǎn)采集是常見(jiàn)的光學(xué)采集方式,像素映射方法對(duì)獲取的視點(diǎn)光場(chǎng)信息(元素圖像集)進(jìn)行映射重組或近似采樣映射生成EIA。這些可視光場(chǎng)信息一般由光場(chǎng)相機(jī)、微透鏡陣列采集得到,也可以由相機(jī)陣列或時(shí)空復(fù)用相機(jī)(陣列)采集得到。
像素映射方法將采集到的像素信息直接映射到EIA 上,或者從EIA 像素出發(fā)尋找對(duì)應(yīng)的已知像素,如果某些光線對(duì)應(yīng)的像素未被采集到,則會(huì)近似映射到鄰近像素,可以解決早期全光學(xué)集成成像中出現(xiàn)的問(wèn)題。從適用范圍來(lái)看,基于光場(chǎng)相機(jī)和透鏡陣列的實(shí)時(shí)采集系統(tǒng)適用于小場(chǎng)景,基于相機(jī)時(shí)空復(fù)用則不能實(shí)現(xiàn)實(shí)時(shí)采集和顯示;如果使用足夠大的相機(jī)陣列采集足夠的光場(chǎng)信息可以解決這些問(wèn)題,但是面臨著相機(jī)需求數(shù)量多且昂貴、相機(jī)標(biāo)定與校正難度大、數(shù)據(jù)處理量大等現(xiàn)實(shí)問(wèn)題。隨著圖形渲染技術(shù)的發(fā)展,基于像素渲染的光場(chǎng)計(jì)算方法逐漸成為新的關(guān)注點(diǎn)。
如果EIA 中某些像素信息未被采集到,基于像素映射的光場(chǎng)計(jì)算方法采用近似映射算法解決,存在一定程度的映射誤差,如SPOC 算法;而基于像素渲染的光場(chǎng)計(jì)算方法將根據(jù)已有像素的視覺(jué)信息、三維空間信息或三維場(chǎng)景語(yǔ)義信息渲染生成這些未被采集到的像素,消除映射誤差,并且能夠完全解決參數(shù)一致的問(wèn)題。根據(jù)所使用的計(jì)算機(jī)圖像學(xué)原理的不同,基于像素渲染的光場(chǎng)計(jì)算方法可以分為基于模型渲染和基于圖像繪制的光場(chǎng)計(jì)算方法。
三維模型可以對(duì)真實(shí)世界進(jìn)行精細(xì)描述或者藝術(shù)化描述?;谀P弯秩镜墓鈭?chǎng)計(jì)算方法可以在虛擬空間精確地計(jì)算出集成成像及其他光場(chǎng)顯示技術(shù)的顯示光場(chǎng)。
從模型數(shù)據(jù)計(jì)算生成EIA 的算法出現(xiàn)得比較早,很多學(xué)者通過(guò)虛擬相機(jī)陣列采集(對(duì)三維物體渲染著色)三維模型在虛擬場(chǎng)景中足夠多的視覺(jué)光場(chǎng)信息,然后通過(guò)相應(yīng)的像素映射算法重組像素生成EIA。隨著基于OpenGL(Open Graphics Library)的光柵化渲染技術(shù)和其他商業(yè)三維渲染軟件的發(fā)展,學(xué)者們結(jié)合虛擬相機(jī)的獨(dú)有特性,不斷研究更加高效、精確的采集模型和計(jì)算算法,突破了光學(xué)相機(jī)采集的限制,通過(guò)虛擬相機(jī)得到足夠多的視點(diǎn)(視向)光場(chǎng)信息,通過(guò)像素映射算法解決深度反轉(zhuǎn)問(wèn)題,不存在映射誤差和空洞問(wèn)題;但存在依賴于商業(yè)三維渲染軟件、采集信息冗余度高、二次采樣耗時(shí)、顯示模式單一、無(wú)法實(shí)時(shí)計(jì)算等問(wèn)題?;诠鈻呕秩炯夹g(shù)和串行計(jì)算技術(shù)的方法通過(guò)減少視點(diǎn)(視向)渲染的次數(shù)(渲染次數(shù)與透鏡數(shù)或單元圖像的像素?cái)?shù)有關(guān))、減少采集信息冗余度來(lái)提升計(jì)算效率,常用于仿真驗(yàn)證基于像素映射或基于圖像繪制的光場(chǎng)計(jì)算方法。
隨著圖形處理器(Graphics Processing Unit,GPU)、基 于OpenCL(Open Computing Language)的異構(gòu)并行編程技術(shù)和其他GPU 編程技術(shù)的發(fā)展,有很多學(xué)者編寫更加靈活的自定義虛擬相機(jī),使用并行渲染技術(shù)實(shí)時(shí)渲染EIA,降低了采集信息冗余度,擺脫了對(duì)商業(yè)三維渲染軟件的依賴,去掉了二次采樣的環(huán)節(jié)?;诠鈻呕秩炯夹g(shù)和并行計(jì)算技術(shù)的方法實(shí)現(xiàn)了實(shí)時(shí)交互顯示,但很難渲染出具有真實(shí)感的場(chǎng)景,并且使用像素映射算法解決深度反轉(zhuǎn)問(wèn)題增加了算法復(fù)雜度。
隨著真實(shí)感渲染技術(shù)(Physically-Based Rendering,PBR),尤其是實(shí)時(shí)光線追蹤技術(shù)的發(fā)展,有些學(xué)者將光線追蹤技術(shù)應(yīng)用于集成成像EIA 的渲染。比如2017年北京郵電大學(xué)桑新柱團(tuán)隊(duì)提出基于逆向光線追蹤技術(shù)的BRTCGII 方法[3-4],通過(guò)逆向追蹤光線的原理克服贗像,如圖3(a)所示,逆向追蹤顯示光場(chǎng)的光線,將最近碰撞點(diǎn)的顏色值作為對(duì)應(yīng)像素的顏色值,采集和顯示像素的空間位置相同;根據(jù)輸入的顯示系統(tǒng)參數(shù)在某一深度平面上建立虛擬相機(jī)陣列,為每個(gè)單元圖像建立虛擬相機(jī)陣列,一個(gè)像素對(duì)應(yīng)一個(gè)虛擬相機(jī),如圖3(b)所示,虛擬相機(jī)的位置需要經(jīng)過(guò)計(jì)算得到,使用逆向光線追蹤技術(shù)通過(guò)虛擬相機(jī)渲染像素生成EIA,能夠?qū)崟r(shí)顯示多種格式三維模型,并在此基礎(chǔ)上解決[5]了交互過(guò)程中出現(xiàn)的模糊串?dāng)_等現(xiàn)象,優(yōu)化了顯示性能,并在2018年將采集微生物標(biāo)本得到的切片數(shù)據(jù)輸入系統(tǒng)進(jìn)行實(shí)時(shí)交互顯示。
圖3 BRTCGII方法[3-4]中像素與光線、虛擬相機(jī)的關(guān)系
使用光線追蹤實(shí)時(shí)渲染EIA 是基于模型渲染的光場(chǎng)計(jì)算方法的大趨勢(shì)。從光線的層次來(lái)計(jì)算光場(chǎng)是最本源的做法,將每個(gè)像素的著色看作是一條光線的渲染,相比于通過(guò)視點(diǎn)光場(chǎng)(虛擬相機(jī))計(jì)算生成EIA 的方法,更加靈活且容易克服贗像;光線追蹤在虛擬空間模擬真實(shí)物理世界光線的幾何性質(zhì),按照光度量學(xué)的近似公式實(shí)施光線渲染,為像素著色,可以還原世界的真實(shí)景觀,并且支持管線并行處理機(jī)制和基于顯卡的硬件實(shí)現(xiàn)方式,能夠渲染真實(shí)感或非真實(shí)感的效果,能夠渲染幾乎所有格式的三維模型數(shù)據(jù),被稱為圖形處理的未來(lái)技術(shù);隨著并行計(jì)算硬件的發(fā)展,尤其是2018年英偉達(dá)(NVIDIA)公司推出含有RT 計(jì)算核心的圖靈(Turing)架構(gòu)GPU,光線追蹤渲染越來(lái)越實(shí)時(shí)。
基于模型渲染的光場(chǎng)計(jì)算方法使得現(xiàn)有的豐富三維模型可以轉(zhuǎn)換為EIA,擴(kuò)展了集成成像顯示內(nèi)容,能夠進(jìn)一步促進(jìn)集成成像的實(shí)際應(yīng)用。三維模型數(shù)據(jù)的格式眾多,使用的描述基元不同,比如網(wǎng)格模型主要以面為模型基元、點(diǎn)云模型以離散點(diǎn)為基元、體素模型以體元為基元、數(shù)字高程模型以含有高度值的規(guī)則矩形格網(wǎng)或者不規(guī)則三角網(wǎng)為基元等,主要來(lái)源于三維模型處理軟件(如3DsMax、Maya、AutoCAD、Blender、MagicaVoxel)制作或基于實(shí)景采集的三維重建。點(diǎn)云模型多存在于逆向工程,是三維重建中常見(jiàn)的數(shù)據(jù)模型,也可以用于生成其他格式的模型?;谀P弯秩镜姆椒ú粌H可以面向三維模型數(shù)據(jù),而且可以通過(guò)三維重建面向真實(shí)場(chǎng)景采集到的信息,但實(shí)時(shí)性受模型或場(chǎng)景復(fù)雜度影響,在真實(shí)場(chǎng)景采集與顯示的應(yīng)用中需要以進(jìn)行精確模型重建為前提,目前并不適合用于大型復(fù)雜場(chǎng)景。
基于圖像的繪制技術(shù)(Image Based Rendering,IBR)不需要進(jìn)行精確建模,可以從已有的多個(gè)視點(diǎn)圖像或全景圖快速生成新的虛擬視點(diǎn)圖。IBR 技術(shù)分支較多,其中基于深度圖像的繪制技術(shù)(Depth Image Based Rendering,DIBR)比較熱門。因此,為了實(shí)時(shí)采集和顯示比較復(fù)雜的真實(shí)場(chǎng)景,使用DIBR 計(jì)算生成EIA 的方法得到了關(guān)注。視點(diǎn)圖像素的深度信息組成了深度圖像,深度信息獲取是DIBR 的基礎(chǔ)環(huán)節(jié),主要有兩種途徑:通過(guò)多視點(diǎn)圖獲取深度信息和通過(guò)深度相機(jī)(RGBD相機(jī))獲取深度信息。通過(guò)多視點(diǎn)圖獲取深度信息的基本過(guò)程是對(duì)多個(gè)視點(diǎn)圖進(jìn)行立體匹配(點(diǎn)、邊緣、區(qū)域等等),然后利用雙目立體視覺(jué)原理恢復(fù)某些物點(diǎn)或者區(qū)域的深度信息。深度相機(jī)利用結(jié)構(gòu)光、雙目立體視覺(jué)原理、時(shí)間飛行法(TOF)或其他三維深度傳感技術(shù)可以在拍攝過(guò)程中實(shí)時(shí)計(jì)算深度信息生成深度圖像,常與RGB 視點(diǎn)圖配對(duì)使用,隨著深度相機(jī)的發(fā)展,深度圖像獲取將更加精確和便捷。因此,目前基于圖像繪制的光場(chǎng)計(jì)算方法主要有兩種:基于稀疏視點(diǎn)圖的光場(chǎng)計(jì)算方法和基于深度相機(jī)的光場(chǎng)計(jì)算方法。
3.2.1 基于稀疏視點(diǎn)圖的光場(chǎng)計(jì)算方法
稀疏視點(diǎn)圖是稀疏視點(diǎn)采集的結(jié)果,可以由光場(chǎng)相機(jī)、透鏡陣列、相機(jī)陣列或相機(jī)(陣列)時(shí)空復(fù)用拍攝得到。使用稀疏視點(diǎn)圖合成虛擬視點(diǎn)圖可以用于在多視點(diǎn)立體顯示技術(shù)和自由視點(diǎn)視頻(Free-viewpoint Video,F(xiàn)VV),其核心原理是三維圖像變換方程(3D Image Warping)。比如2014年美國(guó)Jones 團(tuán)隊(duì)使用視圖插值算法實(shí)現(xiàn)人體模型的自由密集視點(diǎn)的實(shí)時(shí)顯示。
基于稀疏視點(diǎn)圖的光場(chǎng)計(jì)算方法根據(jù)已有視點(diǎn)圖計(jì)算足夠的虛擬視點(diǎn)圖之后,然后通過(guò)光場(chǎng)轉(zhuǎn)換(像素映射)生成EIA[6],主要包括采集相機(jī)標(biāo)定與校正、圖像預(yù)處理、基于雙目視差的深度獲取、虛擬視點(diǎn)圖生成和匹配顯示端參數(shù)的集成成像光場(chǎng)轉(zhuǎn)換生成等五個(gè)部分。所得EIA 的質(zhì)量與采集視點(diǎn)圖質(zhì)量、深度計(jì)算準(zhǔn)確度、虛擬視點(diǎn)單元圖像質(zhì)量和光場(chǎng)轉(zhuǎn)換算法有直接聯(lián)系。采集標(biāo)定和圖像預(yù)處理是基礎(chǔ)工作并且比較成熟,比如張氏標(biāo)定法[7]。圖像預(yù)處理通常包括遮擋檢測(cè)、中值濾波和一致性檢測(cè)等過(guò)程[8]。虛擬視點(diǎn)圖像的生成和光場(chǎng)轉(zhuǎn)換算法是研究的主要方向,目前的計(jì)算效果并不滿足應(yīng)用需求,空洞填補(bǔ)算法計(jì)算量大且效果有待提升。很多學(xué)者將神經(jīng)網(wǎng)絡(luò)和模糊集等新技術(shù)應(yīng)用到視點(diǎn)圖集處理和虛擬視點(diǎn)生成上,雖然數(shù)據(jù)訓(xùn)練成本大,但是效果較好,具有較大潛力。
3.2.2 基于深度圖像的光場(chǎng)計(jì)算方法
深度圖像在虛擬視點(diǎn)合成中應(yīng)用廣泛,也可以用來(lái)生成EIA。通過(guò)深度相機(jī)獲取場(chǎng)景深度信息而后生成EIA 的方法沒(méi)有進(jìn)行虛擬視點(diǎn)生成的過(guò)程,具有較高的實(shí)時(shí)性,但是也沒(méi)有進(jìn)行空洞填補(bǔ),顯示結(jié)果出現(xiàn)很多空洞和邊緣問(wèn)題。同樣,基于稀疏視點(diǎn)圖的方法中也可以不進(jìn)行空洞填補(bǔ)等優(yōu)化過(guò)程,達(dá)到實(shí)時(shí)顯示,比如2004年韓國(guó)Park J H 提出利用通過(guò)透鏡陣列采集到的元素圖像集或者通過(guò)相機(jī)陣列采集到的視點(diǎn)圖集,通過(guò)匹配算法生成代表場(chǎng)景物體表面的具有深度信息的點(diǎn)集數(shù)據(jù),計(jì)算每個(gè)點(diǎn)在EIA 上的映射生成EIA,輕松解決深度反轉(zhuǎn)問(wèn)題和參數(shù)一致的問(wèn)題。
在基于圖像繪制的光場(chǎng)計(jì)算方法中,普遍存在著邊緣縫隙問(wèn)題和空洞問(wèn)題,對(duì)于空洞問(wèn)題目前卻沒(méi)有出現(xiàn)普遍適用的有效的實(shí)時(shí)的解決方法,一個(gè)比較通用的解決方法方式建立多視點(diǎn)的圖像或深度圖像,通過(guò)圖像融合方法填補(bǔ)主要的空洞,但是融合過(guò)程中還需要解決視點(diǎn)位置變化導(dǎo)致的顏色校正問(wèn)題以及圖像融合權(quán)值問(wèn)題。視點(diǎn)圖的融合也可以通過(guò)神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化[9]。相信隨著基于圖像繪制技術(shù)的發(fā)展,使用其他圖像繪制技術(shù)生成EIA 的方法也會(huì)陸續(xù)出現(xiàn)。
在集成成像應(yīng)用中,不同的采集方式會(huì)得到不同格式的光場(chǎng)數(shù)據(jù),然后使用不同的光場(chǎng)計(jì)算方法生成EIA,當(dāng)然同樣的采集方式也可以使用不同的光場(chǎng)計(jì)算方法生成EIA,實(shí)際應(yīng)用中需要根據(jù)需求選擇適當(dāng)?shù)姆椒ā1热?012年西安電子科技大學(xué)楊釘釘根據(jù)采集的視點(diǎn)圖像集重建物體的三維模型,然后渲染生成EIA;2014年韓國(guó)Seokmin Hong使用RGBD 相機(jī)(Kinect)采集獲得RGB 圖和深度圖,計(jì)算得到點(diǎn)云數(shù)據(jù),使用OpenGL 通過(guò)針孔陣列渲染點(diǎn)云數(shù)據(jù)得到初步的單元圖像集,然后中心旋轉(zhuǎn)180°每個(gè)單元圖像得到EIA。這些應(yīng)用的最初輸入數(shù)據(jù)是圖像,卻采用三維重建和基于模型渲染的光場(chǎng)計(jì)算方法,因?yàn)榭梢暂p松解決深度反轉(zhuǎn)問(wèn)題,靈活生成任意顯示參數(shù)的EIA,且沒(méi)有映射誤差。
集成成像是一種具有發(fā)展?jié)摿Φ穆阊廴S顯示技術(shù),顯示內(nèi)容匱乏且制作實(shí)時(shí)性差、三維再現(xiàn)深度反轉(zhuǎn)、采集端與顯示端參數(shù)必須一致等問(wèn)題限制了。
集成成像的應(yīng)用發(fā)展。為了解決這些問(wèn)題,不同的光場(chǎng)計(jì)算方法不斷被提出?;谙袼赜成涞墓鈭?chǎng)計(jì)算方法計(jì)算簡(jiǎn)單,但是映射誤差的問(wèn)題幾乎無(wú)法解決,可以用于要求不高的集成成像顯示;基于模型渲染的光場(chǎng)計(jì)算方法中計(jì)算實(shí)時(shí)性與場(chǎng)景復(fù)雜程度有關(guān),并且以三維模型數(shù)據(jù)或三維重建為前提,隨著計(jì)算硬件和真實(shí)感、非真實(shí)感渲染技術(shù)的發(fā)展,未來(lái)基于光線追蹤渲染的方法將是基于模型渲染的光場(chǎng)計(jì)算方法的主流;基于圖像繪制的光場(chǎng)計(jì)算方法可以較高真實(shí)度的還原采集的真實(shí)場(chǎng)景,但是圖像信息冗余度高,算法復(fù)雜度高,空洞問(wèn)題難解決,使用機(jī)器學(xué)習(xí)或人工智能進(jìn)行立體匹配和圖像融合、解決空洞問(wèn)題的方法將具有較大的發(fā)展?jié)摿Α_@3種方法各有優(yōu)缺點(diǎn),實(shí)際應(yīng)用中可以根據(jù)應(yīng)用場(chǎng)景和需求的特點(diǎn)選取適合的集成成像光場(chǎng)計(jì)算方法。