Image-Based Material Editing

画像のリライティングに興味があり,Image-Based Material Editingを読みました.

この論文の内容自体は,特にNPRということではないのですが,後にそれをNPRに応用したStylized depiction of images based on depth perceptionが発表されましたこともあり,NPRのタグをつけています.

概要

一枚の写真画像(HDR画像)を入力として,法線画像を復元し,リライティングや簡単な質感変更を行うことができます.法線の復元処理自体はあまり精度の良いものではないですが,人間の視覚特性を考えると,リライティングや質感変更を行う程度であれば問題ないとのことです.以下では,法線の復元に注目して,計算過程を少し詳しく紹介します.

法線の復元処理

まず,RGB画像をLabの色空間に変換します.ここで,Labの$L$値を明るさとして取り出し,さらに,$d(x,y) = L(x,y)$として深さ$d$を明るさ$L$で近似してしまいます.これは,光源が正面に近ければ,明るさを深さに変えて処理を進めて行っても人の目をごまかせるという仮定から来ています.

次に,深さ$d(x,y)$に対して,Bilateralフィルタをかけます.これは,画像に含まれるノイズを軽減し,法線復元に影響が出ないようにするためです.実際には,明るさ画像と深さ画像は変化の仕方が異なるので,gradient reshaping function ($f(x) = (3 + ( - 6 + 4x) x ) x )$等)で調整が行われます.そうして修正された深さを$d’(x,y)$とすると法線は以下の勾配ベクトルから得られます.

$\mathbf{g}_x = [ 1, 0, \nabla_x d’ ]$
$\mathbf{g}_y = [ 0, 1, \nabla_y d’ ]$

最終的な法線は,$ \mathbf{N} = \mathbf{g}_x \times \mathbf{g}_y$で計算できます.法線データが求まると,ライトによる明るさの変化を適用して,正確ではありませんがリライティングすることが可能になります.

この法線復元処理が上手くいくのは,光源が正面に近い時,隣り合うピクセルで明るさの差を計算できる時($\mathbf{g}_x, \mathbf{g}_y$を計算するため)に限定されます.HDR画像を入力としているのは,白飛びしたり,黒つぶれしないようにして$\mathbf{g}_x, \mathbf{g}_y$の計算を安定にするためだと思われます.

NPRへの応用

Stylized depiction of images based on depth perceptionでは,写真画像をモノトーンにしたりアニメ風に加工してリライティングする応用が紹介されています.Image-Based Material Editingの手法では,入力画像が写真に限定されますので,入力自体がNPR画像の場合の法線復元処理は考える必要がありそうです.

参考文献

[1] Image-Based Material Editing: http://dl.acm.org/citation.cfm?id=1141937
[2] Stylized depiction of images based on depth perception: http://dl.acm.org/citation.cfm?id=1809952