2013/10/31 ■ RICOH THETAで全天球HDR(ハイ・ダイナミックレンジ)撮影→IBL(Image Based Lighting)に挑戦 Xでつぶやくこのエントリーをブックマークに追加このエントリーを含むはてなブックマーク

※RICOH THETA関連のHACKが増えてきたので、まとめた別ページを作りました

シャッター一発で前後左右上下、カメラの周囲ぜんぶ・全天球を撮影することができる「RICOH THETA」。ついに11月8日に日本でも販売が始まるわけですが、このカメラは「全天球の写真が一発で撮れる」…というわけでCG向けの天球マップ撮影に使えないか、とか、IBL向けのHDR素材が撮れないか、などと目論んでいる人もいるんでないかと思います。今回、以前作ったTHETAリモート撮影スクリプトを改版し露出補正(ブラケット撮影)に対応したので、さっそくHDR撮影+IBLへの応用を試してみました。

…と、まずは「HDR」「IBL」とは何か?をおさらい。
HDR(ハイ・ダイナミックレンジ)写真とは、通常の写真ではおさまらない明暗の差…つまり通常の写真撮影手法では白飛びしてしまうような明るい部分、逆に黒つぶれしてしまうような暗い部分についても情報を保持し、非常に幅の広い「明るさ」を記録した写真のことです。
幅の広い「明るさ」を潰さずに記録するため、露出を変えながら複数の写真を撮影し、暗いところ・明るいところの情報を合成して生成します。
IBL(Image Based Lighting)とは、CGの計算を行う上で画像から照明を再現する技法のことです。照明を別に定義するのではなく撮影した実写映像から再現するため、実写とCGを馴染ませるのに適しています。幅広い明るさを潰さず記録するHDRとの相性が良く、全周囲の映像が必要とされるため全天球・HDRの撮影ができるとこういう応用が利くわけです。

さて、そんなわけでRICOH THETAでHDR撮影をしてみます。先のとおり、HDR写真は露出を変えながら同じアングルで複数の写真を撮影しますので、HDR写真を撮影するためにはカメラにオートブラケット撮影(露出を変えながら自動的に複数枚撮影する機能)があることが望ましかったのですが、THETAにはその機能はありません。
そこで、スクリプトを用いてTHETAのオートブラケット撮影を可能にし、HDR写真を合成することにしたわけです。

上から順に、-2EV,±0EV,+2EVの露出補正をかけて撮影した写真になります。±0EVでは白く飛んでしまったところも-2EVでは階調が出ていて、逆に黒く潰れてしまっているところも+2EVでは写っています。そういったところをおぎなってHDRイメージを生成するわけですね。HDR生成はPhotomatixなどのアプリケーションを使います。

そうして生成したHDRIを、さらに1枚の画像に戻した(トーンマッピングを行った)ものがこちら。
黒つぶれ・白飛びをなくすように様々な階調を1枚の画像に押し込めたわけですね。
そしてこれをぐるぐる回せるようにするとこうなります。
ぐるぐる回すのはこちら→https://theta360.com/s/cr

…どうでしょうか。

さらに、ここで生成したHDRIと、撮影した写真をもとにIBL(Image Based Lighting)と実写合成をこころみたのが一番冒頭の画像となります。

HDR撮影が効いてくるような非常に明暗差の激しい場面、つまり片側からのみ直射日光が差し込むような場面では、いくら優秀な全天球を撮影してくれるTHETAさんとはいえども片側のレンズのみ全体的にフレアがおこりスティッチに不整合が発生してしまいます。そういった画像を素材としてHDR合成を行うと、より不整合が強調される結果となりいまひとつうまくいかないようです。HDRを最も使いたい場面で使いにくいという結果になったのはちょっと残念でした。
しかし、とはいえ全天球のHDR素材が十数秒で撮影でき、IBL用としてもそこそこ使えそうだというのはなかなか用途として面白そうです。

それぞれの画像や生成済HDRIの元データなど詳しい情報は、
RICOH THETA HACKS! - THETAでHDR(ハイ・ダイナミックレンジ)撮影を行う (THETA HDRI)
をごらんください。露出補正撮影できるスクリプトブラケット撮影可能版リモコンなども用意してありますよ!