Focused Plenoptic Camera (5)

 Lytroのアプリケーションが(ようやく)視点移動に対応し、AsiaDにてお披露目されたようです。ただ現時点では技術デモの段階のようでLytroのオフィシャルブログの記事によれば一般には公開してはいないようです。

 この記事を読んでいて、ふとFocused Plenoptic Cameraの視点移動を試していなかったことに気がつきました。以前参考にしたTodor Georgiev氏らの論文には特に記載されていないようですが、GPU Technology Conference 2010の講演資料に説明があったので、これを参考に実装してみました。

 視点移動の原理は極めてシンプルです。Focused Plenoptic Cameraは仮想的なマイクロカメラのアレイなわけですから、それぞれのマイクロカメラの開口の位置をずらせばよいのです。つまり、画像をレンダリングする際にmicro-image群から切り取るパッチの位置を変えれば、マイクロカメラの開口の位置を仮想的に変えていることになり、これに従ってメインレンズの開口も移動し、視点移動が実現できます。
 Fig.1は中心を基準としてmicro-imageからのパッチの切り出し位置を+5画素、±0画素、-5画素の3パターンずらしてレンダリングした画像をアニメーションGIFとして束ねたものです。尚、単に切り出し位置を変えるだけでは被写体も全体的にシフトしてしまうため、これをキャンセルするようレンダリング結果を逆向きに移動してあります。若干ですが女の子と背景との位置関係が変化していることが見て取れます。



Fig.1 choosing view of focued plenoptic camera

 ところで、以前の記事を久しぶりに見返していたらボケが矩形で何となく嫌だったので、今回の実験ではパッチの切り出し方を円形に変えてみました。(より正確にはガウシアンで重み付けしています) ボケ方が若干甘くなっているものの、一般的なデジタルカメラに近い結果となっています。任意の形状でパッチを切り出せば、その形状の絞りに相当するボケが実現できるはずです。無論、レンダリング時に画素値が欠損しないように留意する必要がありますが。
 もう一点、深度マップに不連続な箇所が散見されるため、micro-image間の視差をテンプレートマッチングでない別の手段で検出することも検討してみたいと思っています。


[参考文献]
[1] A.Lumsdaine, G.Chunev, T.Georgiev, "Computational Photography: Real Time PlenopticRendering", NVIDIA GPU Technology Conference, September 2010