ページ

2016年7月6日水曜日

Real・Second Life360度写真の解像度

Second Life360度写真の撮り方(つづき)です。
とは言ってもこの記事は解像度についての話題のみです。
360度写真は閲覧中に寄り/引き(拡大縮小)操作も行えるので、Webページに貼られてる普通の写真より解像度についてシビアに考えておく必要があります。

Second Life360度写真の解像度を考える上では、やっぱり先行しているリアルの360度写真を参考に…ということで最初にリアルの現状ですけれど…
例えばGoogleストリートビューに見られるような360度写真の元解像度は8000×4000〜
それ以下の解像度でもOKですが、何れにしてもWebにアップされてる写真としては解像度が高いです。
尚、Appleが20年近く前に定めた球状写真解像度の最低は10pixels/degですから、誕生当時から3600×1800(2:1換算)あったことになります。

8000×4000とか3600×1800とか、何故こういうアスペクト比の話になるのかですが、球状写真を組み立てる方法は大きくわけて正方形6面展開と2:1のEquirectangular画像の2つがあります。
そして現在主流なのは2:1の方だからです。
但し主流とは言っても単にGoogleが使っているからという理由なだけで個人的にはわりと最近まで6面展開で行なっていましたし、フォーマット自体の話になりますが更に億ピクセル台だったらZoomify等タイル化が一般的だと思います。

Equirectangular


正方形6面展開した画像

と、いうわけで2:1のEquirectangularはとりあえず扱いやすく、2:1の画像状態でもパノラマ写真にも見える(サムネにも使える)ということで 色々都合の良さも感じます。

全然関係ないですが、以前Second Lifeの普通のSSを多面撮り合成して億ピクセルで作ったことがありますが、その際はタイル化を行いました。
そうしないと表示が困難だったので・・・・

リアル360写真の場合に解像度を決めるもの
焦点距離を長くして(画角を狭めて)その分たくさん撮れば解像度は上げていけますからコンデジを据え付けてマス目を自動で埋めていくような撮り方のできる自動パノラマヘッドというものもありますけれど、億ピクセル台の画像がつくれる反面もちろん全体をカバーするための撮影に時間がかかるので一般的に使われている方法は円周魚眼レンズを装着したデジイチで水平方向のみの多面撮り(4〜6分割)になります。
その時、APS-Cカメラで捉えている画像はこの写真のようになります。
FISHEYE(円周魚眼)は概ね180度の画角がありますから天頂〜地軸までがだいたい収まるので、あとは水平方向360度をカバーするように撮るのですが、この時に出来上がり2:1Equirectangularの解像度を決めているのは純粋にカメラの素子画素数になります。
例えば現行のEOS 7D Mark IIではカタログ上の数値が5472×3648ですから、縦方向5472ピクセル。
もちろんイメージサークル有効画素数…つまり 使うレンズとの相性によるイメージサークルサイズや使うソフト・スティッチのプロセスによって変動しますけれど、画素数そのままの単純計算での出来上がりの2:1画像は10944×5472(約60Mピクセル)になります。
※厳密にはFISHEYEレンズの性質上の問題で思惑通りの解像度には届かないのでご注意下さい。
※また水平多面撮り+天頂撮りを行うとEquirectangular解像度は上がります。
※何故縦撮りしてるのかはこちらをご覧下さい

これに対してSecond Lifeで360度写真を作る場合は、そういう魚眼レンズを使って天頂〜地軸を一気に撮ることはできないですから典型的なマス埋め撮影になります。
その時、素材ひとつが写している画像はこの通り。。。普段私達が撮っているSSと全く同じです。
広角には注意
Second Lifeのビューアで画角を広げる操作をするともちろんこれより広い面が一度に撮れますが、リアルの魚眼レンズのような絵には決してならない上に画像に変な効果が出てしまってスティッチできない素材になってしまいますし解像度も低くなるためオススメではありません。

画角を狭めるのも注意
もちろん逆に画角を狭めてその分マス埋め撮影の回数を多くすれば出来上がりの解像度はあがりますけれど、画角を狭める場合は各素材の上下左右の隣接する素材とのあいだにスティッチの際の目印になるものがなければいけないので注意が必要です。
リアルでは構成要素が多いため人工物で囲われた空間など、快晴の空以外では使える手法なのですが、Second Lifeの場合はオブジェクトの最小単位がプリムであることや繰り返しで貼られるテクスチャーのため想像以上に構成要素が乏しいです。

※繰り返しで貼られているテクスチャーはスティッチソフトの自動識別には、ここと向こうは同じ絵(同じ場所)として認識されることがたまにあってスティッチエラーを発生させるリスクが大きくなります。

つまり時間を割いて大量のマス素材を撮ったものの全くスティッチできない素材になっていることがあります。
そういう意味ではデフォルト画角が一番安全です。

解像度の上げ方
ではどうやって解像度を上げるのかですが、もしスナップショットウィンドウを出しながらの撮影で面倒でなければ保存時の横縦解像度を大きく設定して撮っていけばいいです。
一方、私はマウスルック&キーボードショートカットで撮っていますけれど、この場合はAdvanceメニューの方で”高解像度スナップショット”にチェックを入れておけば開いている画面の2倍尺になるので、純粋に使ってるモニターの解像度の大きさが肝になってきます。

何れの方法でもグラボ性能・ビューア次第では落ちたり壊れた画像が記録されることがありますから普段から使っている環境での耐性は把握しておくと良いです。

今のところ…現在の一般的なPC環境下で無茶のない方法で撮ったSecond Lifeの360度写真は6000×3000〜12000×6000あたりになります。

4 件のコメント:

  1. こんにちわ。いつも参考にさせていただいています。
    かねてより、Googleカメラなどのスマホアプリで撮影した360°パノラマを自動ではなく、手動でスティッチできないものかと試行錯誤しています。

    ここで取り上げられているコマ撮り撮影したデータは端末のキャッシュから取り出し可能ですが、スティッチの作業をどのように行うかで詰まっています。例えば、Huginのような無料ソフトでも可能でしょうか。初心者でも理解できそうな解説サイトなどがあるようでしたら、ご教示いただけると幸いです。

    返信削除
  2. いつもコメントありがとうございます^^
    スマホのカメラが何ミリ相当の画角なのかはわかりませんが、既に自動ではスティッチできているわけですから手動も全く問題ないと思います。
    ほとんどのスティッチソフトは素材写真が何ミリ相当なのかを認識(あるいは手動設定)してから作業に入りますから、その部分の把握は重要だと思います。

    尚、ここの投稿の2番目に貼っている通常フレーム写真素材はスティッチソフトにとってもわりと普通のものですから通常フレームの写真自体は素材として使用可能です。
    私自身、フィルムカメラの写ルンですで撮った写真をスキャナーで読み込んでから360度写真に合成したこともありますから球を埋めるようにちゃんと撮っている写真であればおそらく何でも大丈夫な筈です。

    Huginですけれど、これは解説サイトがけっこうあるようですし、コストをかけずに実験してみるのには一番いいような気がします。

    返信削除
  3. ざっと見てみた感じではこちらのサイトがHuginの使い方詳細に書かれていますね。
    検索でも上位に出てくるのでアクセスが多いんだと思います。
    http://hugin.sourceforge.net/tutorials/enfuse-360/ja.shtml
    知り合いが同じくHuginを使ってノーマルフレームの写真から360度に加工できていますから使える使えないで言えば間違いなく使えるんだと思います。

    返信削除
  4. アドバイスありがとうございました。次回、撮影時のキャッシュデータで再挑戦してみます。実は、ちょっとやってみて諦めてしまったので。。。

    返信削除