<label id="jgr5k"></label>
    <legend id="jgr5k"><track id="jgr5k"></track></legend>

    <sub id="jgr5k"></sub>
  1. <u id="jgr5k"></u>
      久草国产视频,91资源总站,在线免费看AV,丁香婷婷社区,久久精品99久久久久久久久,色天使av,无码探花,香蕉av在线
      您正在使用IE低版瀏覽器,為了您的雷峰網賬號安全和更好的產品體驗,強烈建議使用更快更安全的瀏覽器
      此為臨時鏈接,僅用于文章預覽,將在時失效
      專欄 正文
      發私信給王銳
      發送

      1

      如何用極客范兒打造一個HTC Vive虛擬演播室?(下)

      本文作者: 王銳 2016-07-01 09:57
      導語:如何動手打造HTC Vive虛擬演播?

      雷鋒網按:作者王銳,VR行業資深從業者,寫過不少廣受歡迎的VR好文,有興趣可移步其專欄。本文是《如何用極客范兒打造一個HTC Vive虛擬演播室?(上)》的下篇,文章將繼續講述,如何動手打造HTC Vive虛擬演播?

      | 實時綠幕場景的搭建

      購買和搭建摳像拍攝的環境并不是多么復雜的事情,選擇質量較好,不易起皺的綠色(藍色)背景布,用背景架支起后應當有良好的下垂感。而延伸到地面的部分要處理起來可能更為麻煩一些,因為演員的運動很難保證不會把地上的幕布弄皺,尤其是美麗的女主角可能穿了高跟鞋,或者需要在場景里來一段即興街舞的時候。這種時候也可以考慮使用摳像地膠,它更適用于直接在平整地面上進行鋪設,并且可以穩定放置一些摳像網格定位用的標記點。

      如何用極客范兒打造一個HTC Vive虛擬演播室?(下)

      更為專業的布置就需要摳像攝影棚,用柔光箱來做整體的立體布光,并且盡可能避免演員身上出現明顯的投影,以及因為服飾和道具的高亮材質而產生反射光點。這些都可能對未來的實際拍攝和疊加工作產生影響。

      當然筆者的工作環境并不會那么理想,或者說因為受到場地條件,資金,非專業性,以及自己屌絲的背影等因素所限,最后能夠為這個標題搭建出的拍攝場景只是區區如下圖而已。沒錯,連美麗的女演員都請不起,只好用一只熊貓玩偶來充數了……

      如何用極客范兒打造一個HTC Vive虛擬演播室?(下)

      如何用極客范兒打造一個HTC Vive虛擬演播室?(下)

      不過這并不妨礙我們對實時摳像方法的實驗。也就是說,我們期望將正在拍攝的視頻內容即時轉換為扣去了背景色的畫面(只剩下孤零零的小熊貓自己),然后傳輸到一個簡單的類似三維游戲的場景當中,進行疊加,從而呈現出現實角色身處虛擬世界的情景——如果把這里的小熊貓替換成一位頭戴HTC VIVE頭盔進行虛擬游戲的朋友,而這個游戲場景又恰恰就是他正在體驗的場景的話,那么就如本文開頭所述的那樣,可以做到一種理想的VR游戲第三人稱視角直播的效果了。

      把當前拍攝的畫面輸出到用于摳像和疊加的PC電腦也許并不是什么難事,至少我們有多種途徑可以選擇:手機拍攝可以通過App轉換到Live Stream的視頻流,單反和攝像機的話可以直接通過視頻采集卡輸入,更專業一點還可以用到Decklink的專業采集和轉換設備。當然了,如果手頭有專業控臺的話,大可不必考慮筆者后面要描述的復雜摳像過程,直接啟用控臺的Chroma Keying功能即可。不過這種硬件直接摳像的實現方案往往可供調節的參數繁多,操作復雜,并且價格極為昂貴,并非筆者之流所能及了。

      如果拍攝的內容并不需要實時傳輸的話,整套流程也不需要如此復雜。比如我們可以把視頻文件直接導入到After Effects或者NUKE這樣的后期軟件,然后直接做摳像參數的精細調節和輸出即可。不過這顯然不適用于直播的場合,因此也不在我們的考慮之列。

      | 實時摳像算法的實現

      實時摳像的一個重要的中間產物,叫做Matte。它通常是一幅黑白圖像,其中黑色區域表示完全被扣去,而白色區域表示完全被保留,中間色(灰色)的區域則會在疊加之后呈現出半透明的效果。

      如何用極客范兒打造一個HTC Vive虛擬演播室?(下)

      上圖就是剛才的小熊貓經過處理后得到的Matte圖結果,雖然因為環境本身的影響以及算法的不完善性,這張圖看起來還有明顯的邊緣瑕疵,并不能盡如人意。但是如果我們將它與虛擬場景的畫面疊加的話,應當已經可以得到一個正確混合的效果了。當然了,這是下一步要考慮的問題,我們首先要知道的是,如何得到這樣一幅Matte圖。這里業界通常的做法有兩種,其一名為Luma Keying(亮度摳像)

      Luma Keying的基本原理是通過圖像的亮度(luminance,明暗)來區分和構建Matte。而對于某一個RGB像素點的亮度,我們可以簡單地通過下面的公式來表達:

      Lum = 0.29 * R + 0.59 * G + 0.12 * B

      之后我們可以根據一個固定的閾值來劃分黑色和白色,低于這個閾值的顏色為黑色(扣去顏色),而高于這個閾值的顏色為白色。這樣的分類方法顯然是粗暴的,一個更為合理一些的方案是設定一個閾值的[min, max]區間,小于最小值min的亮度值輸出黑色,大于最大值max的亮度值輸出白色,而中間值輸出0-1區間的灰色值。實際過程中這個閾值范圍是要根據輸入畫面來做調整的,而這種方案本身也并非針對綠幕或者藍幕場景,而是更適用于較暗的背景顏色與較亮的前景人物,因此并不在我們計劃采用之列。

      另一種做法名為Chroma Keying(色度摳像)。我們假設RGB顏色是一個三維空間的坐標系統的話,那么每一個像素點都可以被認為是這個坐標系中的一個向量。因此,我們可以認為兩個相近的顏色在這個顏色空間(color space)中距離更近——那么對于綠幕摳像的需求而言,就可以轉化成“計算RGB像素點與綠色像素的距離,并且扣去更接近綠色的顏色”這樣一個更有邏輯性的要求了。至于如何判斷這個摳像的閾值,我們也完全可以借鑒之前的做法,采用一個手動調節的[min, max]區間來完成Matte(黑色,白色和中間色)的輸出。

      如何用極客范兒打造一個HTC Vive虛擬演播室?(下)

      (Via wikipedia.org

      這種方法理論上適合任何色鍵(也就是綠色或者藍色,當然也可以是其它顏色)的摳像處理,是否一定是基于RGB顏色空間,則要多少商榷一番。有些算法會選擇HSV顏色空間(即Hue-Saturation-Value,色調-飽和度-明度)來進行當前像素向量與目標向量之間距離的計算,這種方式對于顏色的直觀特性也許會有更為清晰的表達。

      筆者通過GPU編程的方法實現了上述的Chroma Keying方案,并且使用簡單的UI界面來做快速的參數調節。當然了,為了確保更好的輸出效果和穩定性,我們多少還要在摳像算法的基礎上做一些功能的增補,比如輸出圖像的飽和度和對比度調節,以及Matte邊緣的模糊處理等等。基本的實現效果如下:

      如何用極客范兒打造一個HTC Vive虛擬演播室?(下)

      實際上現在的Matte圖已經可以和任何一個背景視頻直接進行疊加了,即使它們的內容之間并沒有什么直接的聯系;而如果這個背景視頻恰恰就是我們需要的虛擬場景畫面,并且虛擬攝像機的姿態設置已經與真實相機做到了一致,那么我們幾乎就可以認為這一艱巨的任務已經接近完成了!在此之前,一個簡單疊加輸出的效果如下:

      如何用極客范兒打造一個HTC Vive虛擬演播室?(下)

      現在,我們下一步的目標就是星辰大海,哦不,應該說是混合現實(Mixed Reality)輸出方法的實現。

      | 混合現實,就在眼前

      顯然,因為有了Matte作為遮罩圖存在,我們已經可以將外部輸入的實際攝像機畫面與虛擬場景進行疊加,扣去綠色背景并保留前景的角色。而因為虛擬攝像機與實際的VIVE手柄之間實現了姿態的聯動,我們也可以保證攝像機視場角和姿態的一致性。看起來萬事俱備,但是有一個問題卻依然值得我們考慮,那就是景物之間的互相遮擋。

      如何用極客范兒打造一個HTC Vive虛擬演播室?(下)

      一個最簡單的應用如下圖所示,我們的角色要放置到這個小街道的中心位置,當虛擬攝像機與角色之間不存在任何遮擋的時候,這看起來毫無問題。但是一旦有虛擬的房屋出現在視野中,擋在了角色的前面,事情恐怕就會變得棘手起來。

      如何用極客范兒打造一個HTC Vive虛擬演播室?(下)

      沒錯,因為我們只是用Matte遮罩圖將實際畫面與虛擬場景的輸出結果做了2D的疊加,并不會考慮到虛擬場景本身的深度遮擋問題,因此小熊貓會永遠處于畫面的最上層,就仿佛它是粘在觀看者的眼鏡片上,而非真的和街道房屋處于同一個場景當中。

      這當然不是我們想要的結果,不過想針對這個問題實現一個通用的解決方案也不是一件容易的事情。因為我們并不能獲得實際相機拍攝畫面的深度信息,也就無法預知它與虛擬場景之間的深度關系。如果使用帶有深度信息的攝像設備,例如雙目立體攝像機,或者Kinect之類的RGBD相機,那么前者的問題是價格昂貴;后者的問題是分辨率粗糙,深度信息在物體邊緣的可信度很低,因而造成圖像疊加的結果產生很不穩定的毛邊。如果是制作一般的體感游戲,那么這無傷大雅;如果是要輸出虛擬演播室的視頻圖像的話,那么這樣的畫質顯然是無法接受的。

      如何用極客范兒打造一個HTC Vive虛擬演播室?(下)

      (Via codeproject.com

      聽起來讓人沮喪,不過在實際工程中,我們總有更為簡單的方法來解決問題。

      最直接有效的做法莫過于:對真人角色在直播時的走位做出提示,比如放一臺小型的輸出畫面監視器在他能夠看到的地方,讓他盡可能避開所有影響到遮擋關系的虛擬物體。

      當然有的時候我們就是希望虛擬場景的某些物體遮擋住真人主角們,比如虛擬世界的花瓶,石柱,虛構生物,或者一些特效效果。這個時候我們就需要手動設置這些虛擬物體為“前景”物體,也就是說,它們的渲染總是會在真實角色之前。而其它的虛擬場景,例如地面和遠處的建筑,則總是處于“背景”上。這樣就構成了一個前景-中景-背景組成的畫面層次,如圖所示:

      如何用極客范兒打造一個HTC Vive虛擬演播室?(下)

      當然了,隨著真實攝像機和虛擬攝像機的運動,原本處于前景的虛擬物體可能會變化到主角身后,變成了背景;原本是背景的物體也可能轉到主角身前,將他遮擋在后面。如果有這種復雜的需求,那么就需要在直播進行過程中手動切換每個虛擬物體的“前景/背景”標簽,并且切換動作一定要及時和準確,以免發生穿幫。當然了,所謂的“前景-中景-背景”這三個深度層次還可以進一步擴展,衍生出更多層次和更為復雜的遮擋關系。不過那樣負責切換的工作人員估計也是要罵娘的節奏就是了。

      那么是否存在某種自動切換虛擬物體遮擋層次的方法呢?

      回答是肯定的。如果我們能夠知道真實角色在虛擬場景中的詳細XYZ位置的話,也就可以知道他在虛擬場景中對應的位置,進而知道渲染輸出的結果中,我們的角色應當處于什么樣的深度層次上,從而自動計算虛擬物體與角色之間的遮擋關系。對于傳統的虛擬演播室應用來說,可能的方法包括:在頭頂陣列布置紅外攝像機矩陣,識別主角身上的紅外放射源并進而判斷他在空間的位置;或者在綠幕環境中使用同樣色鍵,但是明暗不同的膠帶粘貼出大小不一的網格,然后判斷角色與網格之間的位置關系來完成跟蹤和深度的識別。

      不過對于HTC VIVE的使用者來說,這卻成了一個天然的福音。因為VIVE頭盔本來就可以記錄自身在空間的位置和姿態,這樣玩家和場景之間的遮擋關系問題,也就迎刃而解了。

      不過,對于更為復雜的畫面疊加要求,目前的技術手段往往還是無能為力的——比如多個角色在虛擬場景里進行復雜的互動,或者讓真實角色準確地陷入到虛擬的席夢思床里,或者環抱一個虛擬布娃娃——這種時候再復雜的層次關系,或者再準確的獨立深度信息跟蹤,都無法妥善解決這類問題。如果這是一部制作精良的大商業電影,那么后期制作的工作人員只好熬夜加班逐幀修圖,哭著把任務完成;如果這是實時直播中的需求,那么還是保持清醒,實事求是吧……

      如何用極客范兒打造一個HTC Vive虛擬演播室?(下)

      幸好,無論是基于HTC VIVE的真正演播室搭建,還是在本文的簡陋示例中,我們都不需要考慮上述的復雜情況。既然已經解決了如此多的問題,那就讓我們炫耀一下,然后休息,休息就好。

      如何用極客范兒打造一個HTC Vive虛擬演播室?(下)

      雷鋒網注:作者王銳,雷鋒網獨家約稿文章,轉載請聯系授權,不得刪減內容。

      相關VR課程力薦:

      1、如何用極客范兒打造一個HTC Vive虛擬演播室?(上)

      2、如何用極客范兒做一款VR頭盔?不是插個手機的那種

      3、開發一款像Hololens這樣的產品需要學習哪些技術?

      雷峰網原創文章,未經授權禁止轉載。詳情見轉載須知

      如何用極客范兒打造一個HTC Vive虛擬演播室?(下)

      分享:
      相關文章

      專欄作者

      全棧工程師,虛擬現實行業從業者,開源圖形引擎OpenSceneGraph的核心貢獻者。致力于探索虛擬現實與人機交互的各種可行性。
      當月熱門文章
      最新文章
      請填寫申請人資料
      姓名
      電話
      郵箱
      微信號
      作品鏈接
      個人簡介
      為了您的賬戶安全,請驗證郵箱
      您的郵箱還未驗證,完成可獲20積分喲!
      請驗證您的郵箱
      立即驗證
      完善賬號信息
      您的賬號已經綁定,現在您可以設置密碼以方便用郵箱登錄
      立即設置 以后再說
      主站蜘蛛池模板: 日本免费有码中文字幕| 综合色天天久久| 中文字幕无码A片| 久久国产乱子伦免费精品无码| 久久综合九色综合网站| 国产精品热久久无码av| 波多野结衣一区二区三区高清| 亚洲1234区| 国产精品久久这里只有精品| 国产一区二区三区内射高清| 中文字幕人妻系列人妻有码 | 亚洲国产日韩视频观看| 国产成人无码网站| 色中色AV| 婷婷99狠狠躁天天躁| 亚洲天堂中文| 久久婷婷五月综合色一区二区| 国模粉嫩小泬视频在线观看 | 国产手机在线αⅴ片无码观看| 中文无码日| 无码三级中文字幕在线观看| 亚洲第一国产综合| 女人的天堂av免费看| 亚洲人成网站18禁止| 3p在线| 秋霞人妻无码中文字幕 | 国产精品久久久久aaaa| 国产精欧美一区二区三区 | 美女秘密91| 人妻系列一区| 青青草大香焦在线综合视频| 欧美777| 日韩午夜高清福利片在线观看 | 麻豆果冻传媒精品| 欧美性大战久久久久久久| 性欧美老人牲交xxxxx视频 | 久久精品国产99久久无毒不卡| 亚洲人成网线在线播放不卡 | 日韩内射美女人妻一区二区三区| 天天做天天爱夜夜爽女人爽| 亚洲性爱在线|