...

2.4 画像生成技術としての計算フォトグラフィ

by user

on
Category: Documents
11

views

Report

Comments

Transcript

2.4 画像生成技術としての計算フォトグラフィ
0
21
カラー反射率
slope
aspect
図 2.9: 復元結果例
2.4 画像生成技術としての計算フォトグラフィ
3 次元情報を復元することにより,画像生成(レンダリング)に応用することが可能であ
る.近年,コンピュータにより,カメラで直接得られない画像を生成する技術分野が生ま
れ,コンピューテーショナルフォトグラフィ(計算フォトグラフィ)と呼ばれている.3 次
元画像認識技術の計算フォトグラフィへの応用として,ここでは NN を用いた画像生成手
法である NN ベースレンダリングによる手法を紹介する.
2.4.1 仮想画像生成の原理
先に述べた NN ベース照度差ステレオは物体の拡散反射係数および表面法線ベクトルを
推定する手法であるが,物体の見えを生成する目的にも NN を使用することで,リアルな
画像生成を行うことが可能となる.これを NN ベースレンダリングと呼ぶ.
NN ベースレンダリングは Phongモデルや Torrance-Sparrowモデルのようなパラメトリッ
ク反射特性関数を使用することなく,任意の光源方向および任意の視線方向における物体
の仮想画像をリアルに生成する手法である.
ある面素の明るさは光源方向ベクトル s,表面法線ベクトル n および視線方向ベクトル
v =(0,0,1)のなす角で決定される.入射角 i,反射角 e,位相角 g はそれぞれ次式のように
n , s, v の関数となる.
i  cos 1 (n  s)
e  cos 1 (n  v )
(2.11)
g  cos 1 ( v  s)
反射特性 R は図 2.10 に示す i , e , g および拡散反射係数
る.
の関数として表すことができ
36
x 軸および y 軸の周りにそれぞれ回転させて与えられるマーカ点の座標(𝑥, 𝑦)は方位角𝑎
と天頂角𝑏により以下のように与えられる.
(𝑥, 𝑦) = (𝑟 cos 𝑏 sin 𝑎, 𝑟 sin 𝑏)
(3.13)
2 軸の周りにマーカの回転後の位置において,対応する傾きからその明るさを計測する
ことで仮想球の状態を生成することができる.仮想球ができれば NN 学習を行うことがで
きるため,形状既知物体なしで形状復元が可能となる.NN の出力は仮想球上の座標を与
えることができる.前述の方法と同様に 4 光源(各姿勢につき画像 4 枚ずつ)で観測するも
のとしが,うち 1 光源はマーカ点のキャリブレーションのため,視点と同じく真正面から
の照明配置とする.反射率の影響は除去してから NN 学習するものとする.
𝑒1 (𝑥, 𝑦) =
𝑒2 (𝑥, 𝑦) =
𝑒3 (𝑥, 𝑦) =
𝐸1
𝐸1 +𝐸2 +𝐸3 +𝐸4
𝐸2
𝐸1 +𝐸2 +𝐸3 +𝐸4
𝐸3
(3.14)
𝐸1 +𝐸2 +𝐸3 +𝐸4
𝐸4
{ 𝑒4 (𝑥, 𝑦) = 𝐸1+𝐸2+𝐸3 +𝐸4
マーカ点は真正面からの照明のもとで法線ベクトルが視線方向と一致する点で輝度最
大となる条件を用いる.すなわち,局所的に真正面からの照明のもとで明るさ最大の点は,
n = s(s= v でもあるため n = v)となる点となる.
マーカの各位置において明るさを観測しながら,NN 学習の入力に用いるが,このとき,
キャストシャドウなどの状態になるデータ(明るさと位置(𝑥 , y)の情報)は除外する必要が
ある.
観測した状態から仮想球を生成する際に,ノイズを除去することを目的として,補間お
よび滑らかな明るさ𝐸𝑗 (𝑥, 𝑦)の分布を得ることが望ましい.そのために NN 学習のマッピン
グを(𝑥, 𝑦)から𝐸𝑗 (𝑥, 𝑦)として学習を行う.このようにして仮想球は以下のように構成する
ことができる.
図 3.12: 生成された 4 光源分の仮想球(例)
50
(a) 初期化
(b) 近傍 4 点の決定
known {0} , far{∞} ,
trial {}
known {0} , far{∞} ,
trial {A , B , C , D}
(b) ABCD の中で最小値を選択
(b) 近傍4点の仮値を決定
known {0 , A} , far{∞} ,
trial {B , C , D }
known {0 , A} , far{∞} ,
trial {B , C , D , E , F , G}
図 3.31: FMM の処理手順
FMMのアルゴリズムは以下のようになる.まず,
1
√𝑝2 + 𝑞 2 = √𝐸2 − 1
(3.40)
を以下の差分式に置き換える.
√
(
2
−
) +
ただし
=
=
−
=
1
=
=
−
1
1
−
1
−
(
2
) =
(3.41)
60
0
先の 3.2.5 の方法では,反射率が一様な物体を対象とした方法であるが,以下では,3.2.5
の方法との相違として,複数のカラー反射率をもつ物体を対象に,その相違を考慮した処
理[45][46]を紹介する.
まず図3.39(a)の入力画像に対して,RBG 空間での色の相違をもとにした RGB 軸で各点
の値をプロットし,その結果からクラスタリング処理によりカラークラスタリングを行う.
クラスタリングの結果から,図3.39(b)のように色の領域分割(セグメンテーション)を行う.
(a) カラー物体画像
(b) カラークラスタリング
図 3.39: カラー物体画像とカラークラスタリング
ここでカラークラスタリングを行う際には,RGB の範囲を[0,1]の範囲で正規化し,正規
化 RGB 空間でクラスタリングし,領域に分割する方法を採用する.図 3.39 の対象物体に
対して RGB 空間でのプロットは図3.40(a)のようになり,正規化 RGB 空間でのプロットは
図3.40(b)のようになる.
領域分割したそれぞれの領域について,反射率の相対的な比率とともに,RGB の組み合
わせからモノクログレイスケールの輝度 Y を得るために変換式(3.49)を用いた.
84
式(3.101)において絶対値記号を用いているが,変動幅
は が正から負に変
わる境界においても微分可能であるゆえ
における面の連続性は保たれる.この式を用
いて新たな
を求めるときに,係数 a は固定し係数 b のみを変化させる.なお,画像に
は投影される物体の
に対応して明るさ E が構成されているが,ある反復段階での
の値から f=0 を満たす解
が必ず存在するように反復を行う必要がある.
つまり図
3.52 のように必ず f の最小値
となるように,次の段階で得られる
の取り得る
範囲を反復係数 b を変化させることによって制約する.これは以下の理由による.
ある面素の傾きが光源方向に対して大きくなっていくと,
となり,ある点で
となり f=0 の解が存在しなくなる.対象物体が単一凸物体という仮定を用いると
画素の位置が不動点よりも遠くなるほど
の値は小さくなるので,輪郭線上で
であればその内側でも同様に成り立つていると考えられる.式(3.101)において b の値が小
|が大きくなり,面素の傾きも急激に変化するため輪郭線
さいときには変動幅|
上で
となる点が出てくることがある.そこで b の値を徐々に大きくしていき輪郭
線上の全ての面素で
となった時点でそのときの b の値を反復の係数として採用す
ることにする.この b の値は反復ごとに設定し直す.
の値は
が 2 次方程式となっており,必ず 2 つの実根をもつため,2 次方程式を解
いて解 Z を定めてそれを f に代入することにより求められる.
(
の実根が 2 つ存在する理由)
を固定した場合には独立変数は Z のみになり,
は
(3.102)
(υ は面素からレンズ中心方向への単位ベクトル)
とすれば
と等価になり,
{
( )
{
は式(3.103)の の 2 次方程式として表される.
( )
{( )
( )
{ ( )
}
( )
{( )
{( )
( )
}
{( )
}
}
( )
( )
}
}
{( )
( )
}
}
(3.103)
式(3.103)で の値を変化させるとき, は画素の傾きであるから不変,υ も各面素固有の値
であるため不変となり s のみが変化することになる.レンズ中心と光源の位置は異なるこ
とから s は式(3.104)を満たす範囲で連続的に変化する.
(3.104)
この範囲の境界では s→ ± υ となるがこのとき式(3.102)は
|
(3.105)
115
(a) 球物体
(b) テスト物体
図 3.91: 復元結果例
同様な目的の研究に Tankus が提案した方法[64]がある.Tankus は天頂角𝛼,方位角 𝛽の
光源方向における Lambert 反射特性においては
=
−𝑝 𝑠𝑖𝑛 𝛼 𝑐𝑜𝑠 𝛽−𝑞 𝑠𝑖𝑛 𝛼 𝑠𝑖𝑛 𝛽+𝑐𝑜𝑠 𝛼
(3.152)
√𝑝2 +𝑞 2 +1
であるため,これをもとに
√𝑝2 + 𝑞 2 = √(
−𝑝 sin 𝛼 cos 𝛽−𝑞 sin 𝛼 sin 𝛽+cos 𝛼 2
𝐸
) −1
(3.153)
の形に展開できるため,式(3.153)の右辺の値を反復ごとに更新することで修正する方法を
提案している.すなわち,初期状態では真正面からの平行光線照明を仮定して復元するが,
復元した Z 分布をもとに数値差分により得られる傾き(𝑝, 𝑞)分布をもとに,
反復時に現在の
各点の(𝑝, 𝑞)の値を用いて右辺の値を与えることで右辺をより正しいものに更新して解く
方法である.Tankus の方法[64]による実行例を図3.92 に示す.
(a) 1 回目
(b) 3 回目
図 3.92: Tankus の方法による復元結果例
(c) 8 回目
Fly UP