深度圖 (Depth Map)
目前堪稱最有效率,可以從一般2D影像製作成高品質3D立體影像的一種技術。其基本工作原理是:將一般2D影像依照其影像的遠近,由灰階(Gray Level)影像的值從 000(最遠)255(最近)來表示,並建立一個與其對應2D影像尺寸完全一樣的「深度圖」;然後,由DIBR(Depth Image Based Rendering)軟體再根據這個「深度圖」將對應的2D影像,處理成所需要的「多視角3D立體影像」。

因此,要使用「深度圖」來製作3D立體影像,我們必須先具備兩個條件:
 

1.           製作出所要的「深度圖」。
2.           處理「深度圖」的DIBR軟體。


現在,我們就來介紹如何製作這個「深度圖」。就我所知,目前世界上尚沒有一套完全自動而且又可以製作出高品質「深度圖」的軟體或硬體工具,絕大多數還是需要靠手動或電腦軟體半自動來輔助完成。一般我們最常用來製作「深度圖」的工具軟體有「Photoshop」與3D動畫軟體如3DS MaxMaya、…等。接下來,我就以「Photoshop」與「3DS Max」來說明如何製作「深度圖」。
 

Photoshop
這裡我所要介紹製作「深度圖」的方法,並非是唯一的,也沒有標準的製作程序;完全要看2D平面影像的內容而定。以下我就來舉例說明如何以Photoshop的工具來製作「深度圖」。

  1. 建立「視點」(Eye Point)
    必須要有一個「視點」來模擬我們的眼睛觀看3D物件。這個「視點」通常是設定在3D物件的最前方或是在灰階(Gray Level)值為255的地方。
    如下圖,新增一個圖層「Eye Point」,然後在這個圖層使用「直線工具」畫一個紅色十字當成我們所要的「視點」位置。
     


     
  2. 分析要分割出多少3D物件
    首先,根據這個3D場景內的2D影像,分析要分割出多少3D物件,3D物件分割得愈多(或愈細),則3D立體效果與品質可以製作得愈佳。
    現在,我們根據實際需要,將下圖的2D影像分析出4個部位要割出來的3D物件。

     

  3. 定義灰階值(Gray Level)
    任何我們要製作的「深度圖」都是由可以反應出物件距離的灰階值來組成的。所以,當我們要製作一個2D影像的「深度圖」時,在我們的腦海裡必須要建立一個灰階表(Gray Scale),這樣我們才可以找到這個2D影像各部位所對應的灰階值。這個「灰階表」我們可以視為3D物件灰階值的對照表。
    下圖我們可以看到一個標有灰階值000(最遠)255(最近)的「灰階表」,延著這個2D影像的透視方向(約傾斜45)展現出來。

     

  4. 框選(或分割)3D物件
    使用Photoshop裡的「多邊形套索工具」,我們可以非常精確地框選(或分割)出所需要的3D物件,以便將來要套用灰階值。
     
    1. 選擇「多邊形套索工具」來框選3D物件。同時,為了避免在「深度圖」的邊緣因為「消除鋸齒」與「羽化」所造成漸層陰影的柔邊效果而影響「深度圖」處理後的3D影像品質,請勿勾選「Anti-alias(消除鋸齒)並保持「Feather(羽化) 為「0 pixel」。

       

    2. 使用「多邊形套索工具」來框選第13D物件。
       

    3. 根據這個3D物件最遠位置約位於「灰階表」128的地方,所以新一個圖層並命名為Object 1 (Gray Level 128)」。
       

    4. 使用「漸層工具」(Gradient Tool),來製作第13D物件的灰階圖。

      [步驟一]
      在使用「漸層工具」(Gradient Tool)之前,如下圖先將「前景」(Foreground)的顏色設定為128;再將「背景」(Background)的顏色設定為255


       

       





      [步驟二]
      選擇「漸層工具」(Gradient Tool)裡的「線性漸層」(Linear Gradient)並選擇「由前景到背景」(Foreground to Background)為漸層的方向。
       

       

      [步驟三]
      使用「線性漸層」,將第1物件由其最遠位置到「視點」填滿。
       


       
    5. 同樣地,我們可以參照上面的執行步驟使用「多邊形套索工具」與「線性漸層」來製作其他3D物件的灰階圖。

      [步驟一]
      使用「多邊形套索工具」來框選第23D物件(如下圖)


       

      [步驟二]
      根據這個3D物件最遠位置約位於「灰階表」128的地方,所以新一個圖層並命名為Object 2(Gray Level 128)」。


       


      [步驟三]
      設定「前景」與「背景」灰階值,再以「漸層工具」按住按住滑鼠左鍵,由物件之最遠位置拖至「視點」。


       


      [步驟四]
      接下來,我們將繼續另二個3D物件灰階值(Gray Level)的建立。


       

      根據這個3D物件最遠位置約位於「灰階表」64的地方,所以新一個圖層並命名為Object 3(Gray Level 64)」。

       


      設定「前景」與「背景」灰階值,再以「漸層工具」按住按住滑鼠左鍵,由物件之最遠位置拖至「視點」。

       




      最後,我們就要來框選第43D物件與建立它的灰階值。

       


      根據這個3D物件最遠位置約位於「灰階表」64的地方,所以新一個圖層並命名為Object 4(Gray Level 64)」。

       



      設定「前景」與「背景」灰階值,再以「漸層工具」按住按住滑鼠左鍵,由物件之最遠位置拖至「視點」。

       

       
    6. 當每個3D物件的灰階值都建立完成後,接著我們需要一個灰階值為000的圖層(Background (Level 000)」來作為這些3D物件的背景。

       


       
       
    7. 終於我們將得到如下的「深度圖」,並請將它儲存成無壓縮的BMP影像格式。

       



       
  5. 其它漸層工具
    有時候在許多場合,我們不能只用一種「線性漸層」工具,去建立所有3D物件的「深度圖」;而是要使用不同的漸層工具如「反射性漸層」、「放射性漸層」、「角度漸層」、…等。
     

     

 

另外,依據2D影像圖的特質,還有以下不同的製作深度圖的方法:

分離色版成深度圖
這是一種簡單又快速可以製作深度圖的方法。將一般2D影像的RGB三個色版分離出來,再選擇一個較符合使用的色版來處理即可。

[步驟一] 分離色版 (Split Channels)
開啟2D影像,然後選擇「色版」(Channels)頁面去處理「分離色版」(Split Channels)

 

 


這時,我們可以得到RGB三個分離的灰階影像如下。

 

 

[步驟二] 選擇最適合的色版
我們所需要的深度圖必須是有很好的漸層灰階與黑色的背景。接下來,我們將要把剛剛分離出來的RGB三個灰階影像調整為「負片效果」(Invert),以便取得黑色的背景。然後再從中選出最適合的色版。很明顯地,從下圖中Channel R是我們的首選。

 

 

 

[步驟三] 修圖
最後,我們要使用「加亮工具」(Dodge Tool)、「加深工具」(Burn Tool)與「海綿工具」(Sponge Tool)來修圖,將Channel R修整到最符合我們需要為止。

 

 
 

 

 

明暗漸層效果佳的2D影像圖
有時候,我們會碰到明暗漸層效果佳的2D影像圖(如下圖),此時只要將它直接轉變為「灰階」模式,再調整為「負片效果」即可。



 

 

[步驟一]
使用「影像(Image)/模式(Mode)/灰階(Grayscale)」功能,我們可以將此彩色影像圖轉變為灰階圖。

 

 

 

[步驟二]
使用「影像(Image)/調整(Adjustments)/負片效果(Invert)」功能,我們可以將此灰階圖直接調整為我們所要的深度圖。

 

 

 

火燄的處理方式
要從火燄裡去分割出3D物件是一件相當困難的事;但是我們卻可以將此火燄影像的RGB色版分離出來,再選擇其中一個最符合我們需要的即可。
 

[步驟一]
開啟一個火燄影像。

 

 

[步驟二]
選擇「色版」(Channels)頁面去處理「分離色版」(Split Channels),然後選擇Channel G作為我們的深度圖。


 

 


 

[步驟三]
如有需要,可以使用「加亮工具」(Dodge Tool)、「加深工具」(Burn Tool)與「海綿工具」(Sponge Tool)來修整其明暗度。

 

樹枝的處理
這是高難度的處理方式之一,因為樹枝不僅多而且細,我們不可能為一根根樹枝各別分割成3D物件,這需要用「去蕪存菁」的技巧來處理。

[步驟一]
開啟影像。

 

[步驟二]
選擇「色版」(Channels)頁面去處理「分離色版」(Split Channels),然後選擇Channel B作為進一步處理。


 

 

[步驟三]
使用「影像(Image)/調整(Adjustments)/負片效果(Invert)」功能,我們可以將Channel B處理成負片效果以便取得黑色的背景。如有需要,可以使用「加亮工具」(Dodge Tool)、「加深工具」(Burn Tool)來加強不同樹枝的明暗度。
 

 

 

 

[步驟四]
使用「濾鏡(Filter)/模糊(Blur)/高斯模糊(Gaussian Blur)」功能,我們可以非常有效地消除遠方細小的樹枝而達到「去蕪存菁」的效果,並將前方的樹枝凸顯出來。


 

 


 

煙火的處理
煙火係由許多細微的火線所構成,但我們並無法一一為它們分割成3D物件,所幸它本身就有明暗的層次,我們只要參考前面樹枝的處理方式即可。


[步驟一]
開啟影像。



 

 

[步驟二]
選擇「色版」(Channels)頁面去處理「分離色版」(Split Channels),然後選擇Channel G作為進一步處理。

 

 

[步驟三]
我們可以將河的區域圈選以後,再使用「漸層工具」(Gradient Tool)以灰階000 ~ 255由遠到近將它填滿。


 

 

[步驟四]
使用「加深工具」(Burn Tool),我們可將煙火處理暗一些。


 

 

[步驟五]
使用「濾鏡(Filter)/模糊(Blur)/高斯模糊(Gaussian Blur)」功能,我們可以非常有效地消除遠方細小的煙火而達到「去蕪存菁」的效果,並將前方的煙火凸顯出來。


 



 

後記:
由於每張2D影像的構圖與3D場景,皆不盡相同,所以其製作「深度圖」的方法也五花八門,並沒有一套標準的快速製作程序;其實只要參考前面的例子說明,並用心親手製作過十張以上,大概就可以抓到竅門,也會愈做愈順手,所以製作靜態「深度圖」一點也不難。

【補記】2017/11/26
近年來由於「裸眼3D顯示」的硬體技術與環境已非常成熟,價格也大幅地滑落,而且在中國大陸有國家「十三五計劃」的政策支持,所以在大陸已有相當多的廠商相繼投入發展;但是,普遍缺乏製作優質「多視點3D內容」的技術與經驗。所以,我應許多大陸廠商朋友的需求,錄製了一套「2D轉3D」的培訓教程。 這是一個以深度圖 (Depth Map)的製作為核心,「知識」與「經驗」並重的培訓教程,使用市面上容易取得的專業軟體(AEVegas Pro),一般美術人員就可以在最短的時間內,開始進行高品質「2D3D」的內容製作。以下是這個「2D轉3D」培訓教程的簡介,如果您有興趣,歡迎與我聯繫: jgwang@i-art.com.tw,謝謝!

創作者介紹
創作者 JG 的頭像
JG

.

JG 發表在 痞客邦 留言(0) 人氣()