Google Camera Deph map を使用したステレオ画像/多視点画像作成

Android4.4以降で、Google Cameraが使えるようになりました。特徴は、一眼レフのような画像が撮れるレンズぼかし機能です。この機能を実現する為、撮影時、カメラを縦方向にスイープすることで、Depth mapを作成し、このDepth mapを使って、特定の奥行きだけピントを合わせています。
ということで、レンズぼかし機能を使って撮影したJPEG画像には、全領域にピントのあった2D画像とDepth mapが含まれます。
このDepth mapが結構、精度良くできているので、Depth mapを使った2D->3D変換をSPMに実装してみました。原理的に、視差画像に変換しても、手前の物体の影になっている部分の情報が無いので、多少、矛盾が生じるのは、ご勘弁下さい。また、SPMにもデプスマップを使ったレンズぼかしを実装しましたので、好きなポイントにフォーカスを合わせた立体写真が簡単に作成できます。

まだ、Android4.4を持っていない方は、サンプルを用意しましたので、まずは、このサンプルで試してみてください。

Depth map付きJpegサンプル画像
sample01.zip sample02.zip sample03.zip

最新版のステレオフォトメーカーをダウンロードして下さい。
ステレオフォトメーカー

使い方

2D+デプスマップから3D作成
1.メニューの編集から「デプスマップ付きJPEGを開く」もしくは、Ctrl+Alt+Oキーを押し、ファイルを指定する。

 
2.指定されたファイルにDepth mapが含まれていると下記のように、左側に2D画像、右側にDepth mapが表示される。

 
3.メニューから「2D+デプスマップから3D作成」もしくは、Alt+Dキーを押す。

 
4.視差量の設定画面が表示されるので、適当な視差量を入力する。判らない時は、「30」を入力する。
参考)視差量が大きくなるほど、奥行き感が増します。

 
5.3D画像が表示されるので、必要に応じて、表示を切り替える。

 
7.視差量を変更したい場合は、メニューから「視差量を増やす(減らす)」を選択するか、Ctrl+Page Up(Down)を押す

 
8.視差量と左右位置を調整し、左右の黒い部分を使わないようにトリミングして完成
視差量を変えた複数の画像からアニメーションGIFを作ったりもできます。 サンプルは、こちら

 
. 
デプスマップから多視点画像を作成する方法
1.上述の方法で、2Dとデプスマップを左右の画像として開きます。
メニューから、下図のように「2D+デプスマップから多視点画像作成」を選びます。

 
2.下のダイアログが表示されますので、最大視差量と視点数、出力先フォルダを指定して、OKボタンを押します。
ファイル名は、mltview_xx.jpg (xxは連番)となり、指定フォルダに同じ名前のファイルがある場合は、上書きしますので、
ご注意下さい。

 
多視点画像を切り替えて表示する簡単なJavascriptのサンプルページを作成しました。
このページのソースを見れば、どのようにやっているかはすぐ判ると思います。自由に改変してご利用下さい。

Sample01

Sample02

Sample03
 
 
2D+デプスマップからレンズぼかし
1.上述の方法で、2Dとデプスマップを左右の画像として開きます。
メニューから、下図のように「2D+デプスマップからレンズぼかし」を選びます。

2.ピントを合わせたい場所をマウスでクリックすると、そこにピントが合った画像となります。
ぼかし量を変える事で、ぼかしの大きさを変えることができます。OKボタンを押すと、設定したレンズぼかしが実行されます。
レンズぼかしを実行した後、やり直したい場合は、Ctrl+Zで元の画像に戻してから、再実行してください。
レンズぼかしを実行した後、3D画像に変換したり、多視点画像を作成することもできます。


おまけ

Depth map付きのJpegファイルから、全領域ピントのあったJPEG 2D画像と、PNG形式のDepth mapを取り出す、コンソールアプリケーションを作成しました。
使い方は、簡単です。このアプリ(gcamera.exe)にDepth map付きのJpegファイルをドラッグ&ドロップすると、同じフォルダ内に、_org.jpg (2D)と_org.png(Depth map)が抽出作成されます。元のJpegファイルと抽出したJpegファイルの違いは、抽出したJpegファイルは、全領域ピントの合った画像に対し、元のjpegファイルは、レンズぼかしがかかった画像になっています。ですから、元のJPEGファイル(sample01.jpg)とDepth map(sample01_org.png)を上記、SPM Ver5.02で左右画像として開いてAlt+Dキーを押すと、レンズぼかしのかかったステレオ写真が出来上がります。

ダウンロード
gcamera Ver0.01 gcamera001.zip 2014/06/21



レンズぼかしのかかったステレオ写真