多重スケール解析によるNPRフィルタ


フィルタ概要


サイズの異なるGaussianフィルタを複数組み合わせることによって、周波数分解を行い、 各周波数帯域別に重み付けをしたものを再合成することにより、帯域ごとの系統的な詳細度の制御を可能 としている。
  1. スケールの異なる平滑化画像列を生成する。
  2. 隣接するスケールの平滑化画像の差分から帯域通過画像を所得。
  3. 帯域通過画像に適当な重みを乗じて再合成。
  4. 適切なバイアス地を加算。

画像生成例

(1)車の画像(Windowsize = 7)

元画像

(1)ぼかし画像(σ=4.0)

(2)帯域通過画像(i=0)

(3)線画画像(高域強調画像)

(4)陰影画像(低域強調画像)

(5)線画画像と陰影画像の減法混色合成

(6)面の塗りの画像

(7)上の減法混色合成の画像と左の画像の減法混色合成



(2)果物屋の画像(Windowsize = 7)

元画像

(1)ぼかし画像(σ=4.0)

(2)帯域通過画像(i=0)

(3)線画画像(高域強調画像)

(4)陰影画像(低域強調画像)

(5)線画画像と陰影画像の減法混色合成

(6)面の塗りの画像

(7)上の減法混色合成の画像と左の画像の減法混色合成


(3)雪景色と町の景色の画像

元画像

結果画像(windowsize=5)

元画像

結果画像(windowsize=5)

フィルタのアルゴリズム



 f(x,y)を入力画像、Gi(x,y)をガウス関数列、Fi(x,y)を平滑化画像列、 Di(x,y)を帯域通過画像列とすると以下の式になる。

Fi(x, y) = Gi(x, y) * f (x, y)  ・・・(1)
Di(x, y) = Fi + 1(x, y) - Fi(x, y) ・・・(2)
ΣiwiDi(x, y) + Fn(x, y) + b ・・・(3)

(1)は平滑化画像列、(2)は帯域通過画像列、(3)は結果画像である。
またガウス関数のサイズ:σi = 2(i - 3) / 2
帯域数:n = 14
重み付け系数列:wi = a σpi + 1
(aは定数、σi + 1 は隣接帯域間の上限でのσの値)
p=0:現画像のまま
P<0:高域強調画像
p>0:低域強調画像

線画画像はパラメタを以下のように固定して、原画像から線画画像を得る。
a =211 / 2, p = - 1, b = 1. 0, wi = 0(i <= 2)
同様に陰影画像はパラメタを以下のように固定する。
a =161 / 2, p = 1 , b = 0. 5, wi = 0(i >= 13)
減法混色合成の画像は、線画画像から得られる輝度と、陰影画像から得られる輝度を掛け合わせたものである。

(1)の画像のフィルタのソースFilterGaussian.java
(2)の画像のフィルタのソースFilterMultiplexscale0.java
(3)の画像のフィルタのソースFilterMultiplexscale1.java
(4)の画像のフィルタのソースFilterMultiplexscale2.java
(5)の画像のフィルタのソースFilterMultiplexscale3.java
(7)の画像のフィルタのソースFilterMultiplexscale4.java

参考文献

岡部めぐみ、瀬川大勝 宮村(中村)浩子 斉藤隆文:実写画像に基づく非写実的顔画像生成手法、 情報処理学会研究報告2004-CG-116。