機器之心報道
編輯:陳萍、杜偉
這個神奇的「聊天室」,讓你和遠在天邊的他們近距離碰面,互相問候、眼神交流,就像真的互相見到一樣。
今年 5 月舉行的谷歌 I/O 大會上,在谷歌園區戶外進行的開場 Keynote 上,這家公司釋出了一系列引人矚目的全新產品。
在會上,谷歌公佈了一個秘密開發多年的黑科技:全息影片聊天技術 Project Starline。Project Starline 本質上是一個 3D 影片聊天室,旨在取代一對一的 2D 影片電話會議,讓使用者感覺就像坐在真人面前一樣。
透過 Starline,相互影片的人,不需要佩戴任何眼鏡或者頭盔,真實的就像坐在對面聊天一樣,人物細節飽滿。我們先來感受一下它的效果:
實際上,這是由高解析度感測器、數十個景深掃描感測器以及 65 英寸「光場顯示器」重新生成的實時 3D 模型。谷歌表示這一專案已開發了數年之久,其背後是大量計算機視覺、機器學習、空間音訊和資料壓縮技術。谷歌還為此開發出了一套突破性的光場系統,讓人無需佩戴眼鏡或耳機即可感受到逼真的體積和深度感。
我們可以想象實現這一技術有多難,首先你需要讓大腦認為有一個真人坐在離你不遠的地方;其次影象需要高解析度並且沒有偽影;此外是音訊問題,因為系統需要讓聲音聽起來是從對面人的嘴裡發出來的,還有諸如眼神交流等的小問題。
這項前沿黑科技背後的技術是怎麼實現的呢?想必很多人都想了解,近日,谷歌在一篇論文中公佈了 Project Starline 演示背後的技術。
論文地址:https://storage.googleapis.com/pub-tools-public-publication-data/pdf/424ee26722e5863f1ce17890d9499ba9a964d84f.pdf
硬體部分,Project Starline 系統圍繞一個以 60Hz 執行的大型 65 英寸 8K 面板構建。圍繞它,谷歌的工程師佈置了三個用於捕獲彩色影象和深度資料的「捕獲 pod」。該系統還包括四個額外的追蹤攝像頭、四個麥克風、兩個揚聲器和一個紅外投影儀。整體來看,系統需要捕獲來自四個視角的彩色影象以及三個深度圖,共計七個影片流。系統還需要捕獲 44.1 kHz 的音訊,並以 256 Kbps 編碼。
顯然,所有這些硬體都會產生大量需要傳輸的資料,谷歌表示,傳輸頻寬從 30Mbps 到 100Mbps 不等,具體取決於使用者衣服的紋理細節和手勢的大小。因此,這遠遠超過標準的 Zoom 通話。Project Starline 配備了四塊高階 Nvidia 顯示卡(兩塊 Quadro RTX 6000 卡和兩塊 Titan RTX)來對所有這些資料進行編碼和解碼。端到端延遲平均為 105.8 毫秒。
系統實現
如下圖 4 所示,谷歌的系統主要有兩個元件:一個包含顯示器、攝像頭、揚聲器、麥克風、照明器和計算機的顯示單元,另一個是包含紅外背光並用作 bench seat 的背光單元。兩個單元都包含向牆壁和天花板傾斜的白色 LED 燈條,用於產生柔和的反射照明。
捕獲子系統由三個同步立體的 RGBD 捕獲 pod 組成:兩個在顯示器上方,一個在顯示器下方的「中牆」(middle wall)中。更下方的 pod 包括一個額外的彩色相機,用於放大拍攝物件的臉部。另外,四個單色追蹤攝像頭中的兩個在顯示器上方,其餘兩個一側一個,用於捕捉眼睛、耳朵和嘴巴的高速廣角影象。
下圖 5 展示了捕獲和顯示元件的排列。
更詳細的系統元件資訊如下:
下圖 6 為系統中的資料流,展示了 Starline 主要的處理元件如何對映到 GPU 和 CPU。系統中的所有影片處理都在 60 Hz 下進行,除了 120 Hz 的面部跟蹤和 180 Hz 的紅外立體模式捕獲。
照明
谷歌使用間接「反彈」(bounce)光源創造了一個柔和的照明環境。在顯示和背光單元的側面和背面,白色 LED 燈帶照亮了周圍的牆壁,產生舒適的漫射源,最大限度地減少銳利高光。與明亮的 LED 直接照明相比,這種散射的光對使用者來說也更舒適。
同時,光亮保持一定的不均勻分佈也很重要。谷歌發現,完全均勻的入射光使人臉和其他 3D 形狀看起來扁平且不真實,阻礙了系統中其他 3D 效果的發揮。攝影師尤其是電影攝影師將拍攝物件完全照亮和陰影兩側之間的對比度稱為「照明比」。為了保持物件的立體感,谷歌在鄰近牆壁的顯示單元一側使用更強的強度,產生大約 2:1 的照明比。
展示效果如下圖 7 所示:
色彩校準
谷歌透過調整每個相機的增益、色彩校正 (3×3) 矩陣和 gamma 對系統的 RGB 相機進行色彩校準,以使標準色彩目標 [McCamy et al. 1976] 匹配 D65 光源下的參考色彩值,抵消了室內照明的影響。經過色彩校準的顯示器在 D65 光源下拍攝的影象看起來像是在當地房間的照明條件(強度和色彩)下拍攝的。這種色彩校準方案可確保系統自動校正兩個使用者位置之間的細微照明差異。
物件捕獲
谷歌的目標是渲染每個使用者的新影象,這是因為它們應該出現在其他使用者的左眼和右眼。顯然,如果可以將相機精確地放置在這些眼睛位置,那麼捕捉就變得微不足道了。
遺憾的是,這是不可行的。一方面,這些位置位於顯示器的中心附近,因而會被遮擋;另一方面,使用者將會在所有 3 個維度上自由運動。新興的透視顯示技術或許能夠部分解決這個問題,但透明的自動立體顯示器還不存在,並且無論如何都無法解決觀看者的運動問題。
因此,谷歌將捕獲感測器放置在顯示器的外圍。由於顯示器對著本地使用者的角度很大,因此捕獲視角與需要渲染的眼睛位置相距甚遠。為了解決這種大視差,谷歌使用可見光和近紅外(NIR)全域性快門影象感測器的組合來重建使用者的幾何近似值。
如上圖 5 所示,感測器分佈在三個捕獲 pod 中,兩個在顯示器上方,一個位於其下方的中牆。上方的 pod 可以很好地觀察手勢以及頭部和軀幹的側面,同時下方的 pod 又能很好地觀察頸部、面部和下巴。pod 的體積足夠大,寬 1.4 m、高 1.0 m 和深 0.9 m,用於捕捉坐著自然談話和打手勢的使用者的頭部、軀幹、手臂和手。
3D 臉部追蹤
谷歌採用了四個同步的 1280×1024 單色相機,它們以 120Hz 執行並配有過濾器來阻擋 NIR 光。對於每個捕獲的影象,谷歌檢測面部並定位 34 個面部標誌 [FaceDetector 2019]。此外,他們還將眼睛、嘴巴和耳朵的 2D 位置確定為鄰近標誌的加權組合。為了讓四個追蹤相機中至少有兩個找出這些物件,谷歌使用三角測距法(triangulation)來獲取它們的 3D 位置。
影片壓縮以及傳輸
來自 RGBD 捕獲 pod 的四種顏色和三種深度流在 GPU 上進行壓縮,並使用 WebRTC 與追蹤的 3D 面部點一起傳輸。
透過使用影片壓縮技術,該研究能夠利用現代 GPU 中高度最佳化的影片編碼器和解碼器。具體來說,他們使用四個 NVIDIA GPU 的 NVENC/NVDEC 單元。這樣一來會有足夠的吞吐量處理四種顏色和三種深度流在全解析度和 60Hz 的幀率。顏色和深度流都使用帶有 YUV420 chroma 子取樣的 H.265 編解碼器進行編碼。顏色流每通道使用 8 位, 深度流每通道使用 10 位,深度資料儲存在 Y 亮度(luminance)通道中,而 UV chroma 通道設定為 512(灰色)。該研究透過省略雙向編碼 (B) 幀來減少編碼和解碼延遲。
渲染
在接收客戶端上解壓好 3 個深度圖和 4 個彩色影象後,該研究從本地使用者的眼睛位置渲染虛擬遠端使用者左右透檢視。它由三個步驟組成:
對於每個 4 色相機,透過為每條射線找到與輸入深度圖融合的表面的第一個交點,使用光線投射計算陰影圖;
對於 2 使用者檢視 (左和眼) 中的每一個,使用相同的光線投射演算法計算輸出深度圖;
對於每個輸出深度對映點(output depth map point),計算由第 1 步得出的陰影對映圖加權顏色混合。
對於左檢視和右檢視,該研究透過將彩色影象投射到融合幾何體上來獲得每個畫素的顏色(圖 10):
圖 11 顯示了沒有邊緣融合的不規則畫素化輪廓。該圖還顯示,基於影象的融合提供了比輪廓附近體積融合(volumetric fusion)更完整的重建:
聲音傳輸
該研究使用的音訊傳輸技術是將一系列先進技術進行組合:talker-tracked 波束成形、混響消減、WebRTC 傳輸、talker/listener-tracked 虛擬音訊合成、雙耳串擾消除分頻組合以及振幅平移。與傳統的視訊會議系統相比,對談話者和傾聽者精確的追蹤是共享空間達到真實性的關鍵因素(圖 12)。據瞭解,這是首次在視訊會議中無需耳機、頭部追蹤的音訊技術。