Nuke 學習筆記 004 – IBKGizmo 、IBKColour 去背,用於綠幕較爛時
理論要點:當綠幕素材比較爛時,光靠 keylight 來去除綠光很難達到完美,會有很多殘影,而且顏色不等,此時必須換一些手法。
手法一,是拍一張參考用的空綠幕作為去除背景的參考,節點使用 IBKGizmo 節點
手法二,除了拍參考用的空綠幕以外,搭配 keylight 使用,兩者都會產生出一個 Alpha 來,用 ChannalMerge 把兩個 Alpha 合併起來使用,也可以達到效果。
手法三,以 IBKColour 直接把該素材的綠幕挖出來當成參考綠幕。
1. 使用 IBKGizmo 進行 Keying
(1) 匯入綠幕素材、參考用的綠幕一張、背景圖一張
圖一、綠幕素材以及空的綠幕,此圖片所有權屬於Digital-Tutours(IBK課程)
(2) 背景尺寸不同時,可用 reformat 自行調整,其中,依據每次要面對的不同變形需求, resize type 可能需要調整,看是要 fit(延展)或是 height(以高為準)
(3) 新增一個 IBKGizmo 節點,綠幕素材 拉到 fg 接口 、 參考綠幕拉到 c 接口、 背景拉到 bg (搭配 properties 內的 use bkg luminance 這類選項,可有修飾邊緣之效)
(4) IBKGizmo 的 Properties,找到 screen type,選擇 C-green,此時如果綠幕不太差的話,已可去掉不少
(5) 我們還需要用滴管吸取比較接近綠幕的綠色,先暫時性關閉IBKGizmo,並用 IBKGizmo 的滴管去吸綠幕的綠色
(6) 先把背景用 Merge 合併過去 ,綠幕素材接 A 背景接 B
(7) 可以先觀察一下 Alpha ,發現其實去的不乾淨,這時可以試著勾選 Properties 的 autolevels 選項,發現好像背景變很棒!新的問題是黃色會因此色偏,這時可以搭配下方的 yellow 選項,校正黃色。
2. 繼續上面的工作,照片中其實還有一些去不掉的非人雜物、膠帶等等…
1) 依情況,用 Roto 節點畫上遮罩來處理,可用 Bezier 或 Bspline 畫,根據教學經驗提及,Mask點越少越好
2) 圈畢,將 Roto 節點接到 IBKGizmo 節點與 Merge 節點之間
3) 在 Roto 的 Properties,找 Shape 那頁,有一欄位為 Color,所有曲線的 Color 調到零,注意要選取下方的曲線,然後再調 Color 欄位。
3. 雜物處理完畢,剩下膝蓋附近的一個破綻,這個就比較麻煩,因為如果跟其他的 Mask 一樣操作的話,那無法解決( 會變成膝蓋有洞),所以需要一些技巧。
(1) 方法之一,由於這個素材的品質其實還算可以,所以其實調整 IBKGizmo 節點的 blue/green weight 就可以,但是這不是徹底的治本方法,因為當素材品質再更差的話,就可能造成過度 Keying 色,無力回天。
(2) 所以還是幫破洞加 Mask 最好(可用 BSpline 繪製四個點即成圓洞),並在 Shpae 頁,先按下 Color 欄位的 4 按鈕,叫出四色,數值設定 R=0 B=0 G=0 A=1
注意!若繪製完曲線後發現形狀正確可是尺寸很奇怪的極大或極小,可嘗試檢查 Roto 節點本身以及專案的尺寸設定。
(3) 再把上方的 blending mode 欄位修改成 plus (其實如果你熟悉操作的話,下方的曲線管理列表,可以直接改參數)
(5) 此時看起來一切完美,但是你這時候可以轉動一下你螢幕,並仔細觀察破洞處,可以發現到,剛剛的破洞其時只是被純黑色補上,可能邊緣還帶那麼一點點深棕色
(6) 這時候說不上成功還是失敗,因為觀眾如果沒有好螢幕很難察覺這一塊。
(7) 但如果非要求不可,則可以把剛剛的 A 調成約 0.95 ~ 1.0 之間,這樣背後海的顏色會微微透出,跟深藍色的牛仔褲有一點點呼應,至於如果褲子剛好轉向又出現新破綻,就想辦法調一個新的 Mask 吧!
(8) 在預覽視窗的地方按下 a ,查看 Alpha,可以看到很雜亂,這時勾選 IBKGizmo 節點的 Properties 的 luminance match,並調整 screen range,但是小心別讓更多破綻出現!XDDD (本次範例大概可以到 0.25 ~ 0.3 的程度)
(9) 把綠幕拍攝時殘留的陰影消除後,剩下的斑駁雜訊可以用 Grade 的方式調整(即 Photoshop 的 Level 圖 ),使其更乾淨 (blackpoint =0.1 已經很棒)
4. 至此初步完成 IBKGizmo ,原理就是有一張參考的綠幕,該靜態綠幕跟影片素材的綠幕是一模一樣的, IBKGizmo 會參考此綠幕,生成 Keying 所需的 Alpha
5. 現在假設剛剛的IBKGizmo 節點的 luminance 也沒有用 ( 若會有用,說明綠幕品質還不錯 ) 現在我們討論別的手法
(1) 如有加上 Grade 則刪除,如果調過 luminance ,則回復原狀假裝什麼都沒發生過
(2) 加個 keylight 節點,其 source 接口也接上綠幕素材,bg 接背景
(3) 以滴管滴取綠色。
(4) 小技巧,按 a 檢查 Alpha ,並按住 Ctrl + Alt 不放,Click左鍵,此方式可吸取 source 影像在該座標的顏色 (若是 Ctrl + 左鍵則是直接吸取當時螢幕的顏色)
(5) 在 keylight 與 IBKGizmo 節點的下游,新增 Channelmerge 節點,並分別接上兩個節點,這是要把兩個節點所輸出的 Alpha 合併
(6) 在這裡,我們也可以把 ChannelMerge 的合併模式選 Multipy,可以發現 Alpha 黑的更黑、白的更白,如果白色的形狀很單純,則加個 Mask 遮住就可以在此收工,現在假設白色形狀很複雜且會變動,因此這樣治標處理不好。
(7) 在 Channelmerge 節點的下游,新增 Copy 節點,這是要把 Alpha 塞入本來沒有 Alpha 的綠幕素材。( Copy 的 A 是要新加入的 Channel, B 是原本的影像所含的 Channel)
(8) 在 Copy 節點的下游,新增 Grade 節點、在 Grade 節點的下游,新增 Premult 節點,最後再把 Premult 節點接回 Roto 節點。
(9) 此時在影像預覽視窗觀察,可以切換 RGB 與 Alpha ,然後到 Grade 的 Properties 調整參數,channels 欄位設定為 Alpha後,調整 blackpoint whitepoint gain 等參數
(10) 調到乾淨即可收工,播放看看,並注意膝蓋處的遮罩位置,視情況調整遮罩的關鍵影格
(11) 原理就是用keylight 與 IBKGizmo 生成的 alpha合併出一個新的 alpha 來用,並經由 Copy 塞入原本的素材,使其由 RGB 變成 RGBA,最後用 Premult 彰顯 alpha 效果
5. 關於 HueCorrect 節點
(1) 我們的範例素材最後仍無法去除人物腳掌旁的殘留綠,但是這沒有關係! 可以在 Premult 與 Roto間加個 HueCorrect 節點 ,將綠色色相的飽和度降低,這樣殘綠會變成殘灰,看起來像陰影可以騙人。
(2) 打開 HueCorrect 的 Properties ,可以看到色相圖跟一個黃色的水平線,線上有點,型態為 Bezier 點可以調,曲線越低就是該顏色的通量越低。
(3) 新增 Bezier 點可以在選取某一點後, Ctrl+c → Ctrl +v,會在原地複製出一個新點,拖曳走就可以用,不過這些點的 Bezier 特性很重,所以其把手太長時,旁邊的曲線也會大大彎繞。
(4) 在左邊欄位選 sat (飽和度) 後,就可以開始拉低綠色附近的曲線了。
6. 綠幕更爛時,使用 IBKColour
(1) 新增 IBKColour 節點並接至影片素材接了以後,發現畫面很怪,先把 screen type 改成 green (綠幕型態演算),此外可把 size 調小一些,例如 10,不要太小,綠幕會挖不完全,最後會產生一些綠色塊的殘留,無論如何也調不掉。
(2) 看到人物的地方被挖成黑色了,像是剪影效果。 (但總之綠幕被挖出來了,拿這綠幕來當Keying 的參考背景用)
(3) 在 IBKColour 節點下游新增 IBKGizmo 節點, IBKColour 接 c 接口,而原本的影片素材接到 fg
(4) 應該已經有初步的 Keying 效果。
(5) 然後再跟背景用 Merge 節點合併,此時可以發現該人物的褲子有很多破洞!XD
(6) 先在 IBKGizmo 節點下游新增 Grade 節點
(7) 回到 IBKColour 節點的 Properties,找到 light 與 dark 欄位,他們各自分別有 r g b 可以調,以 0.001 為單位,觀察畫面調整。
(8) light 欄位的 g 可以稍微調大一點點
(9) dark 欄位的 g 可以稍微調小一點點
(10) 還可以同時調 erode 與 patch black , erode 可以增加邊緣大小,patch black 可以收邊並予以柔化,所以先調大一點 erode 後,再用 patch black收回來,邊緣就會很棒! 而假如直接用patch black 收邊會很難看。 可以自己試試看,比方先增 1 ,再收1
(11) 搭配 Grade,調 alpha 的 blackpoint 與 whitepoint (blackpoint =0.1 whitepoint=0.9)
(12) 剩下的殘綠則一樣可用 HueCorrect,例如衣領部分的殘綠,但是若殘綠太明顯、太純色,而非淡淡殘綠,則需回頭到 IBKColour 去調 sizee 看看,可能會比較有幫助。
以上就是使用 IBKGizmo 、IBKColour 去背,但是綠幕這玩意的狀況千奇百怪,所以總之面對每個綠幕都要有心理準備,有可能得把會的方法都試過一下,才能徹底解決。
我的感想是,只有標準概念,但絕對沒有標準流程,上述的教學也只是提供一個過程,讓大家理解一下各個節點的一些基本操作,還有某些參數,詳細的參數則最好是自己調來玩玩,並參考其他說明或是書籍才是。
Leave a Reply