元記事:Manual-Compositing Nodes Mattes - BlenderWiki


Composite ノード:Matte



これらのノードは、ブルースクリーンやグリーンスクリーン映像などの、あとでマットペイントやバーチャル背景で置き換えるための、青や緑の背景をバックに撮影した実写映像で作業を行うのに必要不可欠なツールです。

一般的には、これらのノードを Viewer に連結し、UV/Image エディタをこの Viewer ノードを表示するよう設定し、適切な設定を見つけるため、実写映像から取得した画像を使用してスライダでリアルタイムに再生します。
いくつかのケースでは、細かい調整で不自然な部分を除去したり、前面画像の劣化を防ぐことができます。例えば、グリーンを多めに除去しすぎると、前面の俳優が「平坦に」見えたり、青や紫がかったりします。

これらのノードを集めて繋ぎ、それぞれのノードの力を使用して、ひとつ前のノードの出力を調整し、連続的に調整していきます。「なんでも屋」や「万能」なノードはありません。これらは組み合わせることで力を発揮します。

通常、グリーンスクリーンはすべてのショットで一貫したライティングを行った、一つの舞台で撮影されます。そのため、複数の元映像のショットを通じて同じ設定が利用できるでしょう。屋外でライティング状態が変化している(さらに後ろで風が吹いている)場合、状況は複雑になり、より低い Falloff 値が要求されます。

ガーベジマット:ガーベジマットはノードではなく、閉曲線(Bezier もしくは Nurbs)を使用して前面を縁取るテクニックです。曲線内のエリアのみがこれらの Matte ノードを使用して処理されます。その他すべてはゴミ(ガーベジ)として破棄されます。



Difference Key ノード



パネル:Node エディタ → Node Composition
メニュー:[Shift]+[A] → Mattes → Difference Key




Difference Key ノード

この Difference Key ノードは、選択された色空間で与えられたキーとそれぞれのチャネルとの差がどれだけ大きいかを判断します。もしその差がユーザが設定した閾値未満であれば、そのピクセルは透明とみなされます。Difference マットは特定の背景色に左右されませんが、前景の物体内に背景色が大量にある場合、最良の結果にはならないでしょう。

このノードには二つの Input があります。
一つめは、キーと比較される Image です。

二つめのキーカラーは、RGB 値を Input で入力、もしくはキーカラーボタンをクリックして ColorPicker で選択できます。Color ダイアログを出現させた後、スポイトツールをクリックし、色を選択します。
色空間は RGB(デフォルト)、HSV、YUV,YCbCr を選択できます。

透過できる赤の範囲もしくは青の範囲をもっと広くできるよう、色空間内のそれぞれの色の許容範囲は独立して設定できます。
私は背景が等しくライティングされている場合、約0.15(もしくは15%)で広い範囲をカバーできることを発見しました。これ以上不均一だと、前景の画像が削られる恐れがあります。

Falloff 値が高い場合、キーカラーに近いピクセルが、そうでないピクセル(ただし、キーとして十分近いと判断されるもの)に比べ、より透過度が高くなります。Falloff 値が低い時、そのピクセルカラー(画像)は、キーカラーにどれだけ近いかに関わらず透明となります。

このノードの Output は、キーによる選択部分で切り抜かれた Alpha チャネル付きの Image と、白黒のマット(例:Alpha マスク)です。



シンプルなサンプル





Difference Key ノードを使用

右のサンプル(クリックで拡大)には、非常に不規則にライティングされた緑のスクリーンの前に、黄色の大理石模様の紫の Cube があります。
この Image を Difference Key へつなぎ、ツリーの構築を始めましょう。そしてスポイトを使用し、Cube のフチの非常に近い場所からキーカラーを選びます。左側の隅にある Halo の周辺はかなり明るい緑です。
Output ソケットを二つの Viewer につなぎ、(もし何かあれば)そのノードの挙動を見ることができるようにします。

AlphaOver ノードを追加し、マットをその一番上のソケットにつなぎ、Image を一番下のソケットにつなぎます。演算順序は非常に重要です。
あなたは常にマスクを AlphaOver の一番上のソケットに行かせたいと思っています。完璧に緑を取り除くことができるよう、Premultiply をセットし、全てに乗算を施します。
このサンプルでは、その結果を比べることができるよう、AlphaOver の Output を SplitViwer ノードにつないでいます。オリジナルは SplitViewer の一番下の Input につないであるため左側に、処理結果は右側になります。

Variance を 0.15にしてみましょう。その結果(図なし)、Cube の周りをマスキングしているマットが得られましたが、右側とフチ周辺の暗いグリーンの部分にはありません。その陰はキーカラーからはかけ離れているからです。削除したいグリーンが変化していくため、グリーンの Variance を1.00(図なし)に増やしてみます。
なんと、すべてのグリーンが Cube の表面とともに消えたではありませんか(グリーンのキーカラーの Variance が100%の場合、中身はグリーン全体です)!
これではダメですので、55%にまでグリーンを減らしたらうまくいきました(図)。



連結サンプル




Difference Key ノードの連結
私たちの才能あふれる(さらに私が甘やかしてしまったかもしれない) Cube 氏のため、Wazoo をスタジオに呼び、いくつかのテイクを撮影することにしました。私たちは彼にグリーンのネクタイをしてくるなといったはずなのですが、その撮影映像を観たとき、驚いたことに、彼はグリーンのストライプのネクタイをしていました。
私たちのシンプルなノードでは、彼のネクタイ上のグリーンのストライプはα値となり、背景の砂浜が透けて見えてしまいます。彼に電話した時はすでに遅く、彼はずっと前にサンタモニカに行ったあとでした。このことは彼との契約にもなく、彼の失敗でもありません。結局、私たちはこの素晴らしいポスプロソフトウェアですべて何とかしなければなりませんし、彼も電話にでません。この俳優達には参ります。

というわけで、私たちは二つの Difference Key ノードを右のようにつなぎ、問題を解決しました。
私たちがしたことは、まず最初に Variance のパーセンテージを低くしてグリーンを少し取り除き、次に二つめの(低い)Difference Key につなげ、ここでもっと影側に向かうグリーンと、フチの外側のグリーンをサンプリングしました。両方の Variance を低く保つことにより、彼のネクタイ中のグリーンへの影響はなくなり、その陰影はキーの正負の variance の許容外になりました。



Chroma Key ノード



パネル:Node Editor → Node Composition
メニュー: [Shift]+[A] → Mattes → Chroma Key




Chroma Key ノード

Chroma Key ノードは、あるピクセルをその Chroma 値を元に前景か背景かを判定(し、その結果、透過)します。これはグリーンやブルースクリーンの前で撮影した画像の合成に便利です。

このノードには Input が一つあり、その Image がキー処理されます。

このノードで使用されるコントロール:

Green / Blue ボタン
どの色が背景と想定されているかの選択。

Cb Slope と Cr Slope (chroma チャネル)スライダ
ピクセル値を背景から前景にどれだけ早く処理するかを決めます。Falloff によく似ています。

Cb Pos と Cr Pos スライダ
各々のチャネル内の、前景と背景の処理が移り変わる場所を設定します。

Threshold
ピクセルが透過している場合、更にディテールを追加するかどうかを決定します。これは画像のグリーンスクリーンの領域からも影を抽出したい時に便利です。

Alpha threshold
処理後に透過しているとみなされるピクセルの許容量を決定します。低い値で完全に透過しているとみなされるピクセルのみを透過し、高い値でほとんどの半透明のピクセルを透過しているとみなします。

このノードの Output は、キーにより選択用に調整された αチャネル付きの Image と、白黒のマット(αマスクなど)です。



Luminance Key ノード



パネル:Node Editor → Node Composition
メニュー:[Shift]+[A] → Mattes → Luma Key



Luminance Key ノード

Luminance Key ノードは前景のオブジェクトから Luminance レベル(輝度)の差で背景オブジェクトを決定します。例えば、(非常に明るい)爆発のような、通常、無地で暗いバックを背景にした実写素材の合成などに便利です。

このノードにはキーで抽出される Image の Input がひとつあります。

このノードは以下の方法でコントロールできます。
-''High'': 前景とみなすもっとも低い値を設定します(比較的明るい値にして下さい。1.0からこの値までを対象とします)。
-''Low'': 背景とみなすもっとも高い値を設定します(比較的暗い値にして下さい。0.0からこの値までを対象とします)
ふたつの値の間を離し、前景から背景の物の間の透過度をなだらかに変化させることもできます。

このノードの Output は、キーにより選択用に調整された αチャネル付きの Image と、白黒のマット(αマスクなど)です。


サンプル



Luma キーを使用(Tip 付き)

このサンプルです。皆さんも実際に考えてみましょう。ここでは、モデルは白い背景で撮影されています。Luminance Key ノードを使用すると、背景を白いマット、モデルを黒いマットとして得られます…これは私たちのほしい物と正反対ですね。もしマットを使用したいなら、白と黒を反転する必要があります。どうすればいいのでしょう? そこで ColorRamp の出番です。
左側の色を白、Alpha を1.0にし、右側の色を黒、Alpha を0.0にします。こうすることで、この Colorramp に黒を食わせた時、白を吐き出します。逆も同様です。反転されたマスクを見てください。彼女の白いアウトラインがαマスクとして使用可能になりました。

さて合成ですが、実はこの Colorramp ノードは必要ありません。単にマットを Factor Input に使用するだけでいいのです。このような変わったケースでは、直接マットを使用できるのです。単に入力するノードを切り替えるだけです。

図にあるように、モデル画像を使用したくないところのマットは白(1.0)であるため、背景の写真を下のソケットに送り込みます(Mix ノードを呼び出し、要素が0.0の場所は上のソケットを、1.0の場所は下のソケットを使用します)。
オリジナルの写真を上のソケットに送り込むのは、Luminanc Key ノードが吐いた黒の部分で使用されるからです。というわけで、見事モデルがアトランタからクルーザーが停泊するマイアミにテレポートしました。



Color Spill ノード



パネル:Node Editor → Node Composition
メニュー:[Shift]+[A] → Mattes → Color Spill



Color Spill ノード

Color Spill ノードは、RGB チャネルの一つを、他のどれよりも大きくならないよう縮小します。これはグリーンやブルースクリーンの前で撮影された画像の合成時には一般的なことです。

いくつかのケースにおいて前景の物に何かが映りこむ場合、グリーンやブルーの色が表示され、その色は前景の物の上に「漏れて(Spill)」しまいます。
また、横や後ろに光源があり、前景の役者が白い衣類を着ている場合、背景から前景の物にグリーン(もしくはブルー)の光が「漏れて」、グリーンやブルーの色を帯びる可能性があります。そんなグリーン(やブルー)の光を除去するのに、この小粋なノードを使用して下さい。

このノードには処理する Image の Input がひとつあります。

Enhance スライダで、Input Image の選択されたチャネルを、通常の Color Spill アルゴリズムで可能な量より大きく縮小できます。これは異常に高い量の色漏れの処理に便利です。

このノードにはチャネルが修正された Image を出力する Output が1つあります。



Channel Key ノード


(訳注:これは2.44のノードです)
パネル:Node Editor → Node Composition
メニュー:[Shift]+[A] → Mattes → Channel Key




Channel Key ノード

Channel Key ノードは、選択したチャネルのレベルの差により、前景から背景の物体を選別します。たとえば、YUV 色空間内で、通常暗く平坦なバックを背景にして撮影される、(非常に明るい)爆発の実写映像素材の合成に便利です。

このノードはひとつのキー処理される Image の Input を持ちます。

このノードは以下でコントロールします。
-''色空間ボタン''(RGB、HSV、YUV、YCC)で、どの色空間のチャネルを表示するかを設定します。
-''チャネルボタン''で、マットと判定するのに使用するチャネルを選択します。
-''High'': 前景とみなすもっとも低い値を設定します(比較的高い値にして下さい。1.0からこの値までを対象とします)。
-''Low'': 背景とみなすもっとも高い値を設定します(比較的低い値にして下さい。0.0からこの値までを対象とします)
ふたつの値の間を離し、前景から背景の物の間の透過度をなだらかに変化させることもできます。

このノードの Output は、キーにより選択用に調整された αチャネル付きの Image と、白黒のマット(αマスクなど)です。




元記事:Manual-Compositing Nodes Mattes - BlenderWiki
このページは14:34, 18 March 2007版を元にしています。