VR網之前曾經為大家報導,Jaunt在2016年9月發布了《The Cinematic VR Field Guide: A Guide to Best Practices for Shooting in 360°》,為VR電影製作人們提供了VR電影拍攝的指導說明。
VR網將會以連載的形式發布該VR電影拍攝指南的中文版翻譯,供各位參考。這次為大家帶來的是該指南的第二章前半部分,主要講述了VR相機的類型和幾種常見的拼接方法等等。
在這部分中,我們來討論你將會遇到的各種各樣的VR相機,在VR電影拍攝過程中的一些陷阱是你必須要知道的,並且要了解如何避免這些陷阱。比如說安裝和組合方法、clean plates的重要性,水下拍攝的問題和VR航拍的問題等等。
2.1、VR相機的類型
目前我們有很多類型的相機系統可以用來拍攝VR內容,並且這一領域也在逐漸擴張。每一款相機都有自己的優勢和不足,下文中我們將介紹其中主要的幾個種類。除這些之外還有其他很多種全景相機設備,但我們並沒有提到它們,因為此類設備無法用於視頻拍攝,比如柵縫掃描攝像機。如果可能的話,能夠根據自己的需求去嘗試每一種相機將會是極好的。
2.1.1、全景相機
這類相機系統通常是受到飛行昆蟲的啟發,其中包含多個單獨的攝像頭模塊,並且被組裝成一個球形、屋頂形或者其他形狀。「Panoptic」這個單詞來源於希臘神話中的百眼巨人阿耳戈斯,即「Panoptes」。他是一個有著一百隻眼睛的巨人。Jaunt的相機系統,包括Jaunt ONE,就屬於這一類。
圖片:Jaunt ONE相機
這是到目前為止最流行的VR相機類型,許多公司都湧進這一領域,設計出輕量級的相機支架,來支持多個現成可用的相機模塊--通常是GoPro。由於GoPro足夠輕便,並且相對來說不是那麼貴,已經被證明是行之有效的組裝VR相機設備的相機模塊。實際上,Jaunt的首個相機產品,即GP16,就包含16臺GoPro,組合安裝在一個定製的3D外殼裡。
然而,使用基於GoPro的相機系統會出現很多問題,包括圖像質量問題、散熱問題、最重要的是,缺乏同步機制。在拍攝VR內容時,保證你所有的相機模塊能夠同步是極為重要的。只有這樣,重疊部分的圖像才能夠精確匹配,並且在後期製作中可以很容易地進行拼接。雖然使用簡單,但是GoPro相機並沒有內建的同步能力,即使在後期處理過程中根據聲音和視覺的線索做好了同步,也會隨著時間的推移而出現偏差。
圖片:Jaunt GP16相機
當然這並不是說要摒棄GoPro相機。僅僅是它能夠組成很多不同類型的VR拍攝設備這一事實,就足以稱之為一個壯舉。但是它最初並不是為了為了這一任務而設計的,而且其缺陷也逐漸暴露了出來。
Jaunt接下來繼續努力開發了內建26個定製相機模塊的Jaunt ONE,可以提供四倍大的傳感器尺寸,在弱光環境下的表現也更好,可調十一個檔位的更高的動態對比度,更好的色彩還原,可以防止快速移動物體導致的畫面撕裂的全局快門,當然還有最重要的可同步的相機模塊。
現有的任何相機系統的多相機模式就是為了提供圖像的重疊。你需要足夠多的相機來提供圖像間有效的重疊,重疊部分大概要佔到15-20%,這是為了把臨近的幀適當地拼接起來--如果你想要提供立體拼接的話,你還需要更多的相機。你的系統中有更多的相機,圖像之間就會有更緊密的聯繫,這樣在拼接過程中就能提供更小的物距,可以讓物體更加接近。在下文的「拼接步驟」和「物距」部分可以獲得更多信息。
2.1.2、Mirror Rigs
另一個比較常見的全景360°相機是mirror rig。這種設備基本上是多臺相機放置在一個原型框架裡,鏡頭向上拍攝那些以一定角度安放的朝向外側的鏡子中的影像。此類產品有一個很好的例子,便是Fraunhofer OmniCam。
圖片:Fraunhofer OmniCam
這些設備可能是單視場的,也可能是立體的,由於其中包含了鏡子,通常比其他種類的全景拍攝設備要更大更重。但是此類設備還有一個很大的優點,就是這些鏡子可以讓相機拍攝到鏡子中的虛擬節點,這會造成最小限度的視差,甚至還可能沒有視差。這會讓拼接變得非常簡單,而且基本上不會產生偽影。
由於這個原因,許多此類相機設備支持實時拼接和實時的360°圖像傳輸。使用兩個相機拍攝每個鏡子中的影像,你可以進行無縫的立體拼接。此類設備主要的缺陷還是尺寸和重量的問題,並且在進行實時拼接時,必須要連接到相當強大的電腦上。
2.1.3、魚眼
許多消費級的全景相機都是此種產品。因為他們相對來說很便宜,小巧,輕便,並且通常在相機內部就可以很容易地拼接。有的產品使用了一個鏡頭,比如柯達的360度運動相機。還有每個鏡頭可以拍攝180度的雙鏡頭方案,比如理光的Theta,通過將兩個鏡頭拍攝的內容拼接在一起,可以捕獲完整的360度場景。
圖片:柯達PIXPRO SP360-4K & 理光THETA CAMERAS
雖然它們使用起來很方便,並且很容易進行拼接,但是此類相機的拍攝質量相對要低。許多此類產品還可以串流到iPhone或者安卓設備上,使其很適合用作遠程監控用途,如果你的VR相機不提供此功能的話,可以考慮使用此類設備。在下文的「在線預覽」部分可以獲得更多信息。
當然,還有針對專業消費者的此類相機,它們通常具有更大的鏡頭和傳感器。不幸的是,所有此類設備只能生產出單視場圖像,並不是立體3D圖像,降低了用於VR時的沉浸感。
2.1.4、光場相機
光場相機是最近才來到全景拍攝市場上的新技術。雖然它代表著虛擬實境電影拍攝的未來,但其實際使用還是有些遙不可及。這類設備並不是通過鏡頭收集光線,並且投射在傳感器上。而是包含了數百個極小的微型鏡頭,可以捕捉到每個可能的方向傳來的光線。
圖片:LYTRO的光場微鏡頭陣列
這種設備可以在後期製作時做出一些非常驚豔的事情,包括在佩戴頭顯的時候通過擺動頭部來切換視差,重新聚焦圖像,生成景深數據和立體3D數據,以及在不使用綠幕的情況下進行摳像。
光場相機首次被消費市場熟知是由於Lytro Illum靜態相機。最近,Lytro進入了專業視頻領域,推出了用於VR的Lytro Cinema和Lytro Immerge兩款產品,你可以在Lytro官網上查看更多信息。
大部分用於拍攝視頻的光場相機並沒有像靜態光場相機那樣使用微型鏡頭陣列,而是使用了非常多的相機模塊,並且安裝在網格或球形結構中。通過一些奇特的處理方法,這些多重視頻串流信號可以被打包成一個經過壓縮的光場格式,你可以在視頻播放的時候在其中走動--雖然會有些受限。
圖片:LYTRO IMMERGE VR 光場相機概念渲染圖
你的運動範圍會限制在與圓形場地直徑相當的範圍內,或者是布置這些相機的網格的寬度範圍內,也就是取決於其拍攝場地的大小。雖然你不能在屋裡隨意走動,但是你可以移動頭部,並且看到不斷變化的視差,這可以幫助你最小化VR中會遇到的暈動症。
不幸的是,這些相機在實際拍攝中的使用是受限的,因為它們需要一個很大的計算機陣列與相機系統連結,來進行數據的捕捉和處理。另外,光場電影串流雖然是被壓縮過的,但對於處理、下載來說還是太大了。以今天的帶寬水平,串流將會是極為困難的。
雖然目前拍攝光場影像是很困難的,但是可以使用oToy的技術來以CG的形式對其進行渲染。你可以在oToy的官方網站上找到描述全息或光場視頻渲染的演示視頻。
2.1.5、攝影測量法
為了能夠全面了解VR內容的拍攝,你需要徹底改變你的想法,從目前的「由內而外」的方法論轉變為「由外而內」的視角。也就是說,並不是用一個所有相機都向外拍攝場景的陣列來進行拍攝,而是用一個全部向內的相機陣列來環繞整個場景。
微軟曾經為其增強現實頭顯HoloLens開發了一種基於視頻的攝影測量法,主要是為了創作全息視頻。該技術名為「自由視點視頻」。一組相機陣列環繞在綠幕舞臺周圍,從不同的角度捕捉視頻,接下來使用先進的攝影測量法來創作出全3D的網格,其中還包含場景中所有物體的投影映射紋理信息。微軟的這項技術使用了先進的網格鑲嵌、平滑的網格還原以及壓縮技術,來創作出你真正可以在其中走動的VR或AR場景。
更多關於該技術的信息可以在微軟官網查詢。
另一家探索該領域的公司是8i。他們使用了類似的相機陣列,來捕捉他們所說的容積視頻,並存儲為一個擁有專利技術的光場格式。這項技術並不會創作出完整的CG網格(當然這也是一個選項),但同樣允許你在場景中隨意走動,或者從任何角度進行觀察。更多關於該技術的信息可以在8i官網查詢。
無論採用了何種技術或方法,先進的實時攝影測量技術將會在不遠的將來成為一項重要的視頻捕捉技術,使用該技術,可以讓你完全沉浸在任何場景中。隨著技術的進步和成本的降低,消費者們可以以前所未有的方式連接全息視頻和真實環境。
想要了解現有的拍攝設備,可以參考VR網的設備大全欄目。
2.2、拼接方法
當你使用360°相機拍攝完場景之後,你需要將所有這些相機拍攝的單獨的畫面進行拼接,以創作出一個單獨的、無縫的360°球形圖像。要想創作出沒有視覺可見的縫隙或偽影的圖像是VR內容拍攝過程中最難的工作之一,並且也是最浪費時間的工作之一,特別是在創作3D圖像時更是如此。
Jaunt的雲服務JCS已經將這一過程簡化成了近乎自動的過程,目前已經支持Jaunt ONE和諾基亞OZO相機。下面我們列舉了多種拼接方法,Jaunt在此之前已經嘗試過其中一些方法,但就目前而言,光流是能夠提供最佳的無縫3D拼接效果,並且人工幹預最少的方法。
2.2.1、幾何方式
幾何方式的拼接是目前大多數現成的拼接工具所使用的方法,比如Kolor Autopano,並且是在Jaunt的GP16相機上首次使用的拼接方法。使用這種方法,在拍攝時由鏡頭產生的每張圖像中的桶形失真都會被修正,圖像會根據其中的相似點來排列,然後被平滑地融合在一起。這種方法可以創作出完整的360°*180°展開狀圓柱投影球形圖像。
圖片:幾何方式拼接
在立體3D中進行拼接要更加困難,並且需要在環境中先創作一對虛擬的立體相機,以此來使用圖像中的每一個切片提供左眼和右眼的觀看效果,才能進行拼接。
正如上文所提到的那樣,這種拼接方法並不總是完美的,並且可能會導致可見的縫隙或3D偽影,因為部分場景的景深數據並不正確。考慮到這一點,Jaunt才轉向了接下來要說的光流拼接法。
2.2.2、光流
Jaunt目前就在使用並優化光流算法,作為Jaunt雲服務的在線拼接平臺的基礎,支持Jaunt ONE和諾基亞OZO相機。
光流是一項已經應用於電腦圖形領域有一段時間的技術。它有很多的應用領域,包括運動的估算、跟蹤、相機的創建、蒙版的創建,以及立體視差的生成。作為核心,光流算法會計算場景中每個像素的移動,並且通常是一幀一幀地對拍攝的內容作出基於時間的分析。
圖片:光流場矢量
比如,在拼接一個立體全景圖像時,流圖會被用來跟蹤那些相鄰的相機所拍攝到的獨特的像素,比如場景中出現的視覺元素。通過將此技術與現有的相機所拍攝的幾何結構和鏡頭特徵相結合,就會讓判斷相鄰相機所拍攝的每個像素的距離變為可能。同時也能生成一個整個場景的差異(景深)分布圖。
圖片:差異景深分布圖
這個差異分布圖可以用來在拍攝360°的立體3D內容時,插入分別針對左眼和右眼的虛擬相機。這種技術能夠提供更好的景深感知,同時產生更少的偽影,並且縫隙可以忽略不計。然而,這種方法並不是完美的,一些錯誤也會出現在流圖的生成過程中,或者可能會在一個或多個相機被物體擋住時,產生盲點。在這種情況下,需要對被擋住的部分進行估計,並且這些物體周圍會產生名為「光暈」的偽影。
雖然下面這張圖片不會動,看不太明顯,但你還是可以看到這位男士鼻子周圍的扭曲和畸變。如果放在視頻中,這個位置就會很明顯,並且會隨著人物的輪廓而晃來晃去。
圖片:物體周邊的「光暈」偽影
通常,物體離相機越近,相鄰的相機就越難以看到相似點,這就會導致更加繁雜的估算和更大的光暈偽影。想要了解更多信息可查看下方的「避免偽影」和「物距」部分。
不幸的是,目前的算法想要完全估算出所有的錯誤基本上是不可能的,所以就需要後期製作來修正這些問題。想要了解更多信息可查看下方的「後期製作」部分。
2.2.3、實時拼接
實時拼接使用了類似上面的方法,但很明顯的是,這些處理過程必須實時進行,這樣才能實時傳輸360°圖像。目前僅有極少數產品能夠做到實時拼接,或者說能夠做好實時拼接。大部分此類設備要麼不是真正的360°,而是180°,要麼是單視場而非立體3D畫面。
目前可用的一個方案是VideoStitch,可以讓你通過該公司的Vahana VR產品做到單視場實時拼接,並且他們的立體3D實時拼接技術也即將到來。作為一款軟體解決方案,它可以支持很多類型的相機設備。在VideoStitch官網可以獲得更多信息。
許多的實時拼接解決方案都是對應上述的mirror rig類相機,因為此類相機的設備可以允許更加簡單快速的拼接。Fraunhofer OmniCam就是這樣一款產品,目前已經有兩個型號,一個型號支持單視場拍攝,另一款可以支持3D 360°串流的實時傳輸。可以在上面的mirror rigs部分了解更多信息。
2.2.4、避免偽影
上面介紹的這些相機方案和算法都有各自的特性,但在拼接時都會或多或少地產生偽影。幾乎所有的算法都會產生不同種類的讓人生厭的偽影。如果場景拍攝正確的話,這個問題出現的概率是可以降低的。所以,你的確值得在調查和測試上花費一些時間,來檢測相機和算法的關聯是否合適。
這裡我們以Jaunt ONE相機及其使用的基於光流的拼接算法為例,我們有時會在移動的物體或離相機太近的物體周圍看到惱人的光暈。這種問題通常由於進行拼接時,光流算法在尋找相鄰相機拍攝的相似像素時比較費力所造成的。如果一個人站在室外非常明亮的物體面前,算法就很難分辨不同的像素,因為所有這些像素的值都與物體的像素基本相似,而且在這個場景中沒有細節信息。
同樣的,如果有很多看起來完全一樣的點,你也會遇到這樣的問題。如果一個人站在有著規則的縱向直線的報紙面前,光流算法就很難分辨出很多看起來完全一樣的點該如何匹配。
解決辦法是,將你要拍攝的物體與背景區分開,以保證沒有像上文所說的報紙那樣,出現相似的重複細節。或者調低相機的曝光來降低亮度,以獲取更多的圖像信息,利於算法識別圖像。
如果要拍攝的物體離相機太近的話,也會出現這樣的問題。如果物體離得太近,一臺相機可能會看到場景中的細節,但這些細節或許在相鄰的相機所拍攝的場景中被這一物體被擋住。這樣一來,算法是沒有辦法「繞著觀看」這個物體,來完成像素的比對。圍繞著這個物體的周邊區域就會出現光暈,而且由於一幀一幀地進行拼接,這個讓人頭大的問題又會不斷出現。
解決這個問題的辦法很簡單,把要拍攝的物體往後移動。對於Jaunt ONE相機來說,要拍攝物體的最近的安全距離在4-6英尺(約1.2-1.8米)。
算法正在變得越來越智能,如果沒有被淘汰的話,我們期待著偽影在不久的將來能夠越來越少。就目前而言,雖然你可能無法徹底消除偽影,但你可以通過花時間思考算法的拼接過程,同時適當控制拍攝的曝光來大幅減少偽影問題。
2.2.5、解析度
我們來談談解析度問題。VR相機中所使用的大多獨立的相機模塊都是GoPro、計算機視覺相機或者像Jaunt ONE所採用的定製模塊。通常其解析度都是HD(1920*1080)或2K(2048*1556)級別的。當這些圖像被拼接在一起之後,很明顯,會組成一個解析度更高的全景圖。
以Jaunt ONE相機為例,它可以創作出高達12K解析度的圖像。使用今天的技術來處理這樣尺寸的圖像完全是不切實際的。就在幾年前,整個行業還在忙於應對HDTV或2K級的圖像。很快,這個行業迎來了立體3D,超高清UHD和4K、高動態對比度HDR、廣色域、高幀率HFR等等圖像技術,每種技術都有成倍提升數據量的潛力。
在以前,這些技術都曾遇到過瓶頸,現在我們又迎來了VR,而VR需要把上面這些技術都結合起來,並且我們現在就需要使用這些技術。但是使用現有的技術,要在後期製作中處理如此大的文件幾乎是不可能的。即使是最強悍的CPU和GPU也無法做到。考慮到這一點,Jaunt目前將輸出的解析度限制在3840*3840,並且提供左/右格式的立體3D畫面,幀率為60fps。
即使是這種體量的文件,在後期處理時也很費力,並且需要足夠強悍的設備來進行如此高解析度和幀率的畫面合成、編輯、色彩較準和CGI工作。並且,雖然我們可以壓縮下最終文件以分發給消費者,世界各地的帶寬又各有差異,也是一個問題。
最後,最大的瓶頸在於最終播放設備。雖然你一直想對於這種全新的媒體保持前瞻性,但你必須要知道,目前所有的主流頭顯,比如Oculus Rift、HTC Vive和PSVR目前的解析度僅有單眼1K。這種情況當然會逐步改進,但是,你需要平衡下人們對更高解析度的渴求和實際情況。技術會隨著時間逐步提升,我們也將可以提升圖像的解析度和保真度。