全景視頻的跟蹤與合成方法?

此問題已過期。

某解決方案會在近期到來,Autopano、video stitch + After Effect僅僅只是玩具流程了。


看見其他幾位的答案都惜字如金,我就斗膽在這裡班門弄斧一下,對自己所知的解決方案稍稍做個展開。

兩方面回答:(1)合成,(2)跟蹤。
多圖,流量黨慎入。

  • 合成

  1.拼合全景視頻
  當今全景視頻的拍攝方案是採用多台同型號、同鏡頭配置的攝像機(如若干台GoPro Hero 4)安裝在全景視頻拍攝的支架上進行拍攝的,最先面臨合成的問題是如何將多台攝像機的拍攝素材拼合併投影在一個球面上。

Δ 由特定支架綁定若干GoPro攝影機,可拍攝全景視頻。(圖片來源於網路,侵刪)

  目前業內有若干主流軟體可供拼合全景畫面使用:
  (1)只能用於圖片:PTGui、APG。
  (2)合成視頻文件:AfterEffects、Nuke、AVP。
推薦流程:
  (1)簡單鏡頭使用Autopano處理。
  (2)複雜的鏡頭用PTGui生成鏡頭配置,結合Autopano或Nuke拼合。
  (3)Nuke或Ae結合插件Skybox處理。
  (4)利用近期The Foundry公司在NAB發布的CARA VR for Nuke工具鏈作為解決方案,該方案在一定程度上超越了上述工具鏈,尤其是在處理立體(stereo)合成時具有一定優勢。
拼合測試結果展示(尺寸:4K LatLong)

Δ 由7台GoPro拍攝的全景視頻展開圖。

Δ 由於鏡頭7缺少特徵且天花板特徵十分接近,Autopano等自動軟體無法完成,必須使用PTGui手動對齊。

Δ 二號鏡頭拍攝的視頻的制式有問題,autopano無法使用,使用PTGui及Nuke拼合。

Δ 在Nuke中投影的攝像機組合結構。

  2.在全景視頻中的合成製作
  在電影視覺特效(VFX)的工業流程中,數字繪景師(Digital Matte Painter)與合成師(Compositor)對於處理球面投影的虛擬環境的工作可謂是駕輕就熟,因為這實在是太尋常了,幾乎每個項目都會涉及。
  美國矽谷虛擬現實初創公司Jaunt(官網:https://www.jauntvr.com/)請的VFX Supervisor——Nathalie Mathe就是做DMP出身的(個人Demo Reel:https://vimeo.com/66620381,懂得科學上網手段的知友可見),應該算是最合適的人選了。

Δ Nathalie Mathe的個人CV截圖。

  DMP處理全景視頻的手段無異於傳統VFX流程中利用球面投影繪製環境的方法,對此,答主不花過多時間討論。重點談談合成師如何處理全景視頻畫面的合成工作。
  傳統VFX工作流程中,CMP的基本工作包括合成2D/3D元素進入畫面、調色與匹配、遮罩與摳像、畫面修補、跟蹤與穩定、特殊效果等
(未完待續)

合成測試結果展示(尺寸:4K LatLong)

Δ 原圖。

Δ 進行了天空替換和調色。

  • 跟蹤

  跟蹤的部分分為2D Track與3D Track,前文已提及,它們均屬於合成師的職能。
(未完待續)
答主需要先忙手頭上的工作,點贊解鎖更多回答內容。:)

  • 附錄

  答主錄製的免費全景視頻合成教程,不斷更新中。希望能對相關從業者和業餘愛好者有幫助,同時歡迎批評指正!待The Foundry CARA VR工具鏈正式發布後,計劃推出基於此流程的教程。(新浪微博@羅謝海_Rochelle,需要微信請知乎私信)
vrl_class01_VR全景視頻合成教程01—在線播放—優酷網,視頻高清在線觀看 http://v.youku.com/v_show/id_XMTUzODU3MjY4OA==.html?from=y1.7-1.2 vrl_class02_VR全景視頻合成教程02—在線播放—優酷網,視頻高清在線觀看 http://v.youku.com/v_show/id_XMTU1MjUxNjEzMg==.html?from=y1.7-1.2


關注AMD的小夥伴都知道Radeon Loom這個項目,這是AMD的開源360度實時視頻拼接方案,今天就請跟隨銳VR來了解一下關於Loom的更多細節。

首先,關於Radeon Loom的命名:從新石器時代的洞穴壁畫到當代的IMAX及VR/AR體驗,都可以看出來人們非常享受360度環境下的藝術體驗,包括文藝復興時期的壁畫和內部繪製畫作,19世紀的大風景畫幕和環場影像以及最新興起的沉浸式視覺體驗。Loom這個單詞的中文釋義為「織布機」,織布機已經擁有數千年的歷史,並且對藝術和史詩講述類織錦畫的創作至關重要,如闡述了11世紀諾曼征服的長達70米的貝葉掛毯。Radeon Loom的命名保留了這一意象,希望能夠幫助數字時代的故事陳述者去編織和拼接下一部永恆的史詩。

關於Radeon Loom

正如現代機械織布機能夠在無數的線軸上製作出美麗的圖像一樣,AMD的Radeon GPU同樣可以處理成千上萬的多線程任務,渲染出令人驚嘆的數碼畫面。

1801年,法國人賈卡革新的提花織機引進了自動穿孔裝置,使得現有的工廠織布機可生產更為複雜的圖案,極大地提高了生產力,這對今天的時尚行業都影響巨大。Radeon Loom的目標本質上是與之一致的:為影視級VR視頻體驗提供創造性的動力,使高質量360度視頻的創作過程更加簡化和現代化,使內容創作者釋放更多的精力在獨特的內容革新上面。

我們的第一個目標,是使用戶在使用高質量的360相機陣列拍攝影片的過程中,就能夠通過Oculus Rift或HTCVive預覽360度視頻。反覆設計後,我們想出了一些解決方案,其中一個如下圖所示:

https://pic4.zhimg.com/v2-a81b746a0e2ab94354156e22de1879c7_b.png" dw="1280" dh="720" w="1280" data-original="https://pic4.zhimg.com/v2-a81b746a0e2ab94354156e22de1879c7_r.png">

有些重要的細節不得不提。首先,我們使用了快速的工作站顯卡,AMD FirePro? W9100或Radeon?Pro WX系列,因為顯卡速度越快,支持的鏡頭越多,解析度也更高。其次,我們通過SDI影像擷取卡和DirectGMA軟體從鏡頭中獲取數據流,所以這些數據可以被直接傳遞到GPU存儲緩衝區。最後,我們使用BlackMagic相機,通過HDMI輸出同步鎖相,並通過變流器將每一個信號轉換成轉播級SDI(串列數字介面)。

一旦這些數據通過DirectGMA進入GPU存儲器,一組複雜的演算法會將所有的圖片縫合成為360度球形視頻。當視頻被縫合完成,就會通過SDI被輸出到一台或多台PC,可通過頭顯直接觀看並/或上傳到互聯網。

在為一套實時360視頻裝備設定位置時會產生一些問題,這一定要引起重視。360度拍攝中不可能有一位攝影助理幫你手持並操控相機,否則他也會出現在視頻中。因此,你可能會想要定位拼接縫並/或在一定距離外通過PC查看拍攝的畫面,比如在一堵牆或一塊綠幕後。

為什麼拼接很難

如果你看過一些高質量的360度視頻,你可能會認為360度拼接已經是一個基本上被解決了的問題。然而,並不是的。但過去這幾十年的演算法先驅們所做出的成績值得被肯定,因為他們的努力已經解決了很多關於全景和360度VR拼接的問題。

然而,諸如視差、相機和拼接縫的數量、感測器之間的曝光差異等問題必須要被解決。先來解釋一下視差。簡單來說,就是兩個不同位置的鏡頭從不同角度拍攝同一個物體,就像你把一根指頭豎起靠近鼻樑中央,分別遮住一隻眼睛,用另一隻眼睛去觀看這根手指和其背景畫面,你會發現不同眼睛看到的畫面角度是不同的。

第二個問題是鏡頭數量越多越好,因為解析度和光學性能會因此而提高(因為畸變會減少)。然而,這意味著需要更多的縫合處理。此外,當人和物體多次在縫合處穿行,視差問題會因為微小的角度差而反覆出現。

第三個涉及的問題是每個鏡頭感測器都有不同的照明條件。比如,拍日落的時候會有一個面向西邊落日的鏡頭,此時朝東的鏡頭拍攝區域的光線就相對比較暗。現有的成熟演算法可以調節和協調圖像之間的曝光變化,但要以損失光照、顏色精準度和整體的動態範圍為代價。這一問題在弱光條件和有限的藝術表現形式下會更加突出。

拼接優化

我們在設計過程中遵循了一些簡單優化指導,如「儘可能少的觸碰每個像素」。以及,一旦「觸碰」或讀一個像素,儘可能多的在其之上進行操作。這說起來很容易,實際操作起來很難,因為數據量之龐大。通過使用DirectGMA(只適用於AMD FirePro? and Radeon? Pro顯卡)我們不必在CPU和GPU存儲器中複製數據,再循環往複。

另一個重要的優化是準備工作負載使GPU保持繁忙狀態。我們能做到的是在像素組被處理時提前準備好流水線。

為了達到多鏡頭實時拼接的目標,我們嘗試了多種實驗。最終,我們選擇並開發計算周期最少,品質最高的演算法,然後優化演算法的執行。當然,我們還選擇了最有效的演算法去優化了我們的大規模並行處理器和可擴展的FirePro?and Radeon? GPU。

Radeon Loom Beta版本現已可獲取

360度視頻創作已經爆發,僅僅在2016年就有近百萬的360度視頻被上傳至Facebook,YouTube等社交媒體網站上,並且有望在2025年形成115億美金規模的產業。如上所述,鏡頭越多,最終的360度體驗解析度和品質越高。然而,拼接工作著實是一個巨大的挑戰。

Radeon Loom通過GPU大量的並行處理革新了實時及線下360度視頻拼接的過程。Radeon Loom使用AMDKhronos? OpenVX? 開源計算視覺架構,可實時拼接多至24個4k x2k鏡頭、離線拼接多至31個8K x4K鏡頭拍攝到的畫面。如果你恰巧已經是一位360視頻開發者,可點擊Radeon Loom StitchingLibrary on http://GPUOpen.com 下載Radeon Loom的beta版本。

目前AMD中國團隊正在和本地攝像機開發商合作,提供端到端的解決方案,屆時會面向VR全景用戶發布!


視維的全景相機還是可以的 而且操作也簡單


發一個自已做的測試

VR全景視頻後期修復效果對比測試---唯而全景科技

增穩,和移除地面人物,用到了跟蹤

大致方法,跟蹤多個局部遠景實現畫面穩定,

移除地面人物,是跟蹤地面4個白色小點實現的:)(第一次做,小點所組成的矩形有點小了應當在大些,不過基本上實現要達到的效果)


全景視頻的合成與全景圖片的合成在方法上並無大的差別,只是在合成前多了一個視頻幀同步的步驟而已。在難度上,因為拍攝方法的不同,全景視頻合成要比全景圖片合成難度要大些。

1. 方法: 不同於全景圖片使用同一個相機拍攝,全景視頻一般是採用多個相機拍攝的,比如GOPRO的推出的OMNI方案採用的是6個相機同時拍攝。由於6個相機的時鐘都有微小的差別,即便同時開始錄製,幾分鐘後各個視頻幀就失去同步了。所有要在後期製作全景時,首先做一個視頻幀同步的步驟,保證合成全景的視頻幀是在同一時間拍攝的。
2. 難度: 全景視頻(或圖片)的合成其實是個數學問題:已知幾張拍攝好的照片,推算出相機的內部參數(如焦距,光圈大小與感光晶元大小關係等)和拍攝位置。如果是同一台相機在同一位置拍攝,只是拍攝角度不同而已,那麼這是最簡單的情況,算出來的結果也是最精確的,所有一般全景攝影師,包括我自己都在採用這種方法。而全景視頻採用了多台相機,就有多個未知的相機內部參數和拍攝位置,這個數學問題也更複雜,得到的結果誤差也會更大。


全景視頻+跟蹤:坑比較多,要做好的話,大概需要4個方面專業,此外還需要天時地利,要做好確實不易


題主的問題也是我的問題,一同關注這個方向


這個東西我會做,而且做了好多年了,AE後期就可以合成,但是技巧屬於商業機密,二屬於個人核心競爭力,任何人都不會透露給你的


嗯 我就看看誰回答 這東西做起來坑這麼多屬於重大商業機密 哪個創業者敢說投資人也是要瘋


推薦閱讀:

360度全景視頻(Stereo3D)的現狀以及發展趨勢?
如何看待第一人稱影片《硬核》(Hardcore)?
VR全景是什麼?

TAG:視覺特效 | 虛擬現實VR | 影視特效 | 全景拍攝 |