ギガピクセルパノラマへの挑戦
高画素至上主義の極限、それがギガピクセルパノラマの世界。
この記事では、超高解像度写真の課題から実際の撮影までを一気に解説しています。長い記事ですので、「途中の経緯はいいよ、結論だけ見たい」って方は、最後にあるGigapanへのリンクだけ踏んでみてください。
高画質の探求
高画素=高画質
画素数という数値は、高画質の一つの指標です。もちろん、S/N比や、レンズの分解能なんかも大切です。しかし少し評価しにくいそれらの要素と比較して、画素数は「数字が多ければ偉い」とシンプルに理解できることから、高画素は高画質、高性能の代名詞として扱われてきました。メーカーとしてもカメラの性能をアピールしやすいのでしょうね。
例えばDSLRの雄、CANON EOSシリーズを見てみましょう。
フラグシップのEOS 1Dは2001年発売で415万画素でした。しかしその後、EOS 1Dsは1,110万画素にアップデートされ、2004年には1,670万画素のEOS 1Ds MarkIIが発売されました。たった3年で4倍の画素数にまで増加しています。2007年にはEOS 1Ds MarkIIIが発表され、2,110万画素に到達。2012年にはEOS 5D MarkIIIで2,230万画素と着々と画素数を増やしています。そして遂には2015年にEOS 5Dsで5,060万画素に到達します。
しかしこの後、画素数の増加が落ち着く時代がやってきます。
アップデートされたEOS 5D Mark IVは3,040万画素。決して少なくは無いですが、画素数の増加よりも高感度性能を重要視するようになります。
一眼レフカメラからミラーレスへの転換が進み、世代交代が進んでいきましたが、それでもEOS R5が4,500万画素と、EOS 5Dsの5,060万画素を超える機種はなかなか現れませんでした。
その後、2019年にSONYのミラーレスカメラILCE-7RM4が6100万画素を叩き出します。そして遂に、ILCE-7RM4と同じ画素ピッチを採用したFujifilmのGFXが1億200万画素と1億画素の大台を超えました。
たった1億で満足しても良いのか
しかし冷静に考えると、億(10の8乗)なんて単位を有難がっているのは漢字文化圏だけです。海外では当然のようにメガピクセル単位で表記されているため、2,400万画素(=24MP)も1億画素(=100MP)も所詮は同じ単位。受ける印象はそれほど大きく異なりはしないでしょう。
じゃあ何を超えるとセンセーショナルなのか?ギガピクセル(10の9乗)でしょう。日本語で言えば10億画素。途方もない数字ですが、記憶容量の単位がテラだペタだと騒いでいる昨今、1ギガくらいあるのは当然のような気もします。
イメージセンサの画素数だけがメガ単位なのはもはや時代遅れ。これからはギガ単位の時代で、トップクラスのコンシューマー機のGFXやPhaseOneが100メガピクセル、つまり0.1ギガピクセル程度なのは残念と言わざるを得ませんね。
ギガピクセルパノラマの課題
ギガピクセルパノラマってなんだ
前述のとおり、2024年現在、コンシューマー用のカメラで1ギガピクセルを1ショットで撮影できるカメラは存在していません。
しかし、ギガピクセル単位の超高解像度の世界を覗いてみたいと思う人たちにとって、カメラが存在していないなどと言うのは理由になりません。なんとかして超高解像度の画像を生成できないのでしょうか?
そこで出てくるのがパノラマです。
iPhoneをはじめとするスマホのパノラマ撮影機能と同じことですね。カメラを横にスイングし、その間に複数枚の静止画を撮影。撮影後に複数枚の写真を繋ぎ合わせ、通常よりも広い範囲を撮影する技術です。イメージ図では写真と写真の間が少し空いていますが、あくまでイメージで、実際は多少のオーバーラップが必要です。
このパノラマ撮影を応用します。横方向に移動しながら撮影するだけでなく、縦方向にも移動して複数枚の写真を撮影していくのです。こうして得られたタイル状の写真をすべてコンピューター上で繋ぎ合わせて、1枚の静止画を生成します。
カメラの画素数が24メガピクセルの機種であったとしても、42枚の画像を繋ぎ合わせれば1ギガピクセルになります。42枚だけでなく、100枚、1000枚と枚数を増やせば、さらなる超高解像度の世界が見えてくるはずです。
パノラマ撮影の課題
24メガピクセル機で1ギガピクセルの画像を撮影するには42枚の画像が必要と書きました。しかし、実際には画像と画像を繋ぎ合わせるためにオーバーラップさせて撮影せねばならず、ぴったり42枚では最終的な画素数が足りません。
加えて、つなぎ合わせた後は平面に投影する処理を行うのですが、その際にもトリミングが必要となります。
そのため実際には100枚以上の画像を撮影する必要があり、手作業で細かく画角を変えながら大量の撮影をするのはとても大変。
加えて調整精度の問題もあります。例えば、フルサイズで焦点距離50mmのレンズを使ったときの画角をパノラマでカバーすると仮定します。50mmのレンズは水平画角が約40度。水平方向には7枚以上の撮影が必要なので、単純に40度を7枚で割ると5.7度と、コンマ何度という細かな調整が必要になってしまいます。
これらの理由から、手作業ではかなり困難な操作が求められるため、必然的に電動のパノラマ雲台が必須となります。
実はギガピクセルパノラマ撮影用の電動雲台は市販されています。GigaPanのEpicシリーズなどです。そこそこいいお値段はするようですが、気軽に始められるのはメリットですね。
しかしながら、こういった市販の電動雲台でも解決できていない問題が一つだけ残っています。
被写界深度が稼げない
皆様ご存じのとおり、レンズの焦点距離が長くなれば長くなるほど、ピントが合っていると感じられる空間の奥行(被写界深度)は薄くなります。
先ほどの例でいえば、水平画角5.7度は焦点距離350mmに相当します。50mmでパンフォーカスが撮れるような条件だったとしても、焦点距離が350mmになればパンフォーカスにはならない、というのは直感的に理解できると思います。
解像度が売りのギガピクセルパノラマにおいて、ボケている領域はできる限り無くしたいものです。そうでなければ画素数の意味がありません。
従って、一般的なギガピクセルパノラマの被写体は遠方の景色を被写体とすることが多いです。絞りをしっかり絞るだけで、被写界深度を深く取れ、画面全体のシャープネスを確保できるからです。
ところが、現実の撮影は遠方の景色ばっかりではありません。長焦点になると建物と背景の山でピント面が異なるという事はよくありますし、木の枝など、手前のモノと奥の背景が複雑に配置されている場合も多いですよね。絞っただけでは画面全体にピントが合った写真を撮影できないのです。
こういった場合に、広い被写界深度を得るための解決方法としてフォーカススタッキング(深度合成)があります。
フォーカススタッキングはピントを少しずつ変えながら複数枚の写真を撮影し、その後ピントが合っているところ=空間周波数の高い領域のみを画像処理で繋ぎ合わせ、最終的に画面全体にピントの合った画像を得るものです。マクロ業界ではよく使用されるもので、専用のソフトウェアもありますし、Photoshopにも機能が搭載されています。
このフォーカススタッキングと2方向のパノラマを組み合わせます。つまりこういう事です。
撮影枚数が膨大で気が遠くなりますね。
ピント面を自動で送ってくれるような電動雲台は、私が探した限りでは存在していませんでした。世の中に無いなら自分で作るよりありません。もし全自動化した雲台が実現すれば、人間はボタンを押して撮影が終わるのを待つだけになるはず。頑張って実現してみましょう。
ギガピクセルパノラマへの道のり
電動雲台を作る
実はこのテーマは2016年くらいから2018年までに取り組んでいた内容です。電動雲台の制作も紆余曲折があり、3世代くらい試行錯誤を繰り返しているのですが、その内容すべてを書ききるのは無理なので簡単に。
雲台はマンフロットのジュニアギア雲台410をベースにします。パンとチルトしか必要ないので、ロールの軸は撤去。ノブを外し、内部のウォームギアを抜き、カップリングでモーターを接続します。
製作プロセスを全部省いて、完成形はこちら。
カメラはD850(45.7MP)、レンズはAF-S NIKKOR 200-500mm f/5.6E ED VRを使用します。魔改造されたジュニアギア雲台410があり、その下にはマンフロットのレベリングベース438を挟んでいます。
赤道儀と同じような感じでバランスウェイトを装備。三脚にはバッテリーとコントローラを取り付けています。
モーターはフィードバック不要のステッピングモーターを採用。最初はもっと小さなモーターだったのですが、上の機材の荷重に耐えられず脱調が多発したため、大型のものに換装。
コントローラにはみんな大好きラズベリーパイを採用。これ一つでプログラム開発から組込まで全部できちゃうのは本当にありがたいですよね。制御画面は見せれるようなものではありませんが、C++とQtでGUIを作りました。
バッテリーはラジコン用の12Vバッテリーを使用しています。
フォーカススタッキングのためのピント送り電動化ですが、動画撮影でよく用いられているフォローフォーカス用のベルトをレンズに取付。モジュールを合わせたギアを適当に買ってきて取付しました。回路がコントローラユニットに入らなかったためモーターの脇に付けていますが、かなり無理やりで後付け感がありますね。
それから、コントローラユニットからボタン操作出来たら便利なのになーということで、中国製バッテリーグリップを分解してピン配置を特定。コントローラの回路に繋いでいます。シャッターボタンもここから制御しています。
といった感じで使えるようになったら、いざ撮影です。
撮影する
製作した機材を全部バックパックに詰め込んで、撮影に出かけます。撮影対象に選んだ福井県の「野鹿の滝」はかなり山深い場所にあり、静かで、じっくりパノラマ写真を撮るには最適です。
焦点距離は300mmで、深度を稼ぐためf値は32まで絞りました。回折も気になりますが、ピントが合っていなければそれどころではありません。
滝なので、水の流れを滑らかにしたくて露光時間はじっくり2.0秒。
撮影範囲は横方向に13コマ、縦方向に15コマの計195コマ。それぞれフォーカスを少しずつ動かしながら11枚ずつ撮影するので、最終的な撮影枚数は2,145枚。すべてRAWで撮影しているため、容量は72GBとなりました。
イラストにするとこんなイメージ。
ログを見ると、撮影には2時間40分ほどかかっていたようです。1回の撮影に2時間40分と聞くと、かなりゆっくり撮影してるなという印象を持つかもしれません。しかし実際には4.5秒に1枚撮影している計算で、露光時間の2.0秒を抜くと、移動には1枚当たり2.5秒しか使っていません。電動化しただけあって、かなり早い方だと思います。2,000枚以上を人手で撮影していれば、日が暮れるでしょうからね。
合成する
撮影結果をBridgeで閲覧するとこんな感じです。ピントを動かしながら撮影した11枚はグループ化してあります。何となく全体像が見えるでしょうか。
合成作業を始める前に、PCを強化します。
CPUの性能自体はそれほど必要ないのですが、キャッシュとして4TBのHDDを用意しました。無いと容量不足で合成が止まる場合があります。
それからメモリですね。少なくても合成はできると思いますが、64GBあればそれなりに快適に動くでしょう。
それができたら、最初に各コマをPhotoshopでフォーカススタッキングします。これも195枚を人手でポチポチ作業していると終わりがないので、バッチファイルを作って自動で処理していきます。
フォーカススタッキングが終わったらJPGに書き出しして、Image Composite Editor(ICE)へ流し込みます。
ICEはMicrosoftが開発したフリーのパノラマ合成ソフトで、自動合成の精度が良い印象があります。また、投影方法などが選択できるのも長所です。
一方、合成後の細々した修正ができない点などはマイナスポイントですね。キャシュを大量に作るので、前述のようにキャッシュ専用の保存容量が必要。
そして一番の弱点は、Microsoftの開発が完全に終了しているという事。オフィシャルからの公開も終わっているようです。なので今後のアップデート、バグの修正等は期待できません。
合成後のデータはこちら。今回は横98,996ピクセル、縦75,794ピクセルの合計7.5ギガピクセル=75億画素となりました。
JPGファイルは幅と高さがそれぞれ65,535ピクセルという制約があり、最大画素数は4.29ギガピクセルという事になります。今回は縦も横も最大画素数を超えているため、JPGには保存できません。
Photoshopのビッグドキュメント形式(.PSB)であれば大丈夫です。
ここからゴミやスティッチングのミスをしている場所等を修正し、色味やシャープネスを編集したら完成です。色はちょっと紅葉っぽいトーンにしてみました。
到達した世界
原寸のパノラマはこちらのリンクから閲覧可能です。
電動雲台を作っているGigapanが、ギガピクセルパノラマのための公開プラットフォームを作ってくれています。有難い限りですね。
拡大して見ていくと、岩の間の苔や、落ち葉の葉脈など、あらゆる場所が細かく描写されていることが分かると思います。どんどん細かい描写が出てくる感覚を、是非ともリンク先で体感いただきたいです。
このパノラマ写真から等倍で画像を切り出してみました。どれもそれ単体をマクロ撮影したように見えますが、本当は大きな写真の一部なのです。
こうやって撮影結果を見ていると感じるのは、人間の認知の面白さだったりします。遠目に「滝」として認識しているものは、実際には細かな岩や水滴、植物、木くずなどなど、無数の構成物が積みあがって出来ている。分別していこうとすれば、無限に分けることができるはずです。
しかし、人間が「滝」と言ったときには、それらの無数の構成物のことを指しているのではありません。構成された形状や現象を指しているのです。
テセウスの船のように、「野鹿の滝」の小石が、他の小石と入れ替わったとしても、それが「野鹿の滝」でなくなるわけではない。
そうでありながらも、事実として、「野鹿の滝」は無数の構成物から成り立っている。たとえそれが人間に認知されていなかったとしても、拡大すれば無限の情報量がそこに存在している、という事を気づかせてくれます。
そして、これから
前述のとおり、このテーマは2016年くらいから2018年まで取り組んでいたテーマです。2024年の今になって記事を書いているのは、このテーマに別のアプローチで取り組みたいなと思っているから。
なにせこのシステムは問題点だらけで打率も悪いのです。得られるアウトプットはとても面白い写真なんですが、なにせ色んなことが面倒で、合成の試行錯誤が長い。もう少し手軽に、安定して撮影ができるシステムを作りたいなと考えています。
そして少しお休みしている間に、色々新しい技術が出てきました。ピクセルシフトにより偽色の無い画像を生成するピクセルシフトマルチショットや、AIによって画素数を拡大するサービスなどです。これらも上手く取り入れることで、さらなる高解像度を目指すことができるはずです。
まだまだ時間はかかりそうですが、面白い写真が撮れたら、またご紹介させていただきたいと思います。
ではまた。