Photoshopで深度合成 / Focus stacking with Photoshop
通常のマクロ撮影では、どれだけ絞り込んでも奥行きのある被写体の全域にピントを合わせることは難しい。このような場合には深度合成が役に立つ。
ピント位置をわずかに変えた複数の画像を合成する深度合成には、専用のソフトが使用されることが多い。当ブログでも以前に使用した「CombineZP」というフリーソフトがよく知られているが、残念ながらmacには対応していない。有料の専用ソフトとして、「Helicon Focus」や「Zerene Stacker」等が比較的優秀とされている(らしい)。ただし、いずれも個人用途の買い切りライセンスで90ドル程度となっており、どれほど使い込むかわからない人には手を出しにくいのではなかろうか?
専用ではないソフトでは、Photoshopも深度合成に対応している。Adobeのフォトプランなどを契約していれば使えるので、まずはこちらで遊んでみるのが良いだろう。
年末に家にこもっている時に、実際にいくつかの種類の被写体で深度合成を行ってみた。Photoshopのクセと対処法についても簡単に説明するので、参考になれば幸いである。
素材の撮影
深度合成に初めて挑戦する方のために、私の行った素材の撮影方法について参考としてご説明しておきたい。基本的な考え方は次の通り。
①深度合成は、撮影した全レイヤーの中から最もシャープな領域を自動抽出して合成される。
②素材画像の被写界深度と撮影枚数は、シャープに見せたい被写体の領域を必要十分にカバーするように設定する。
具体的な画像で説明すると、こちらは90mm、f/16でマクロ撮影したどんぐり(約2cm)。被写界深度を稼ぐために基本的に絞ることが好ましいが、回折ボケの影響によりシャープさが失われるため、絞り過ぎは避けた方がよいだろう。これで合成に耐えうるシャープな領域を示すと、画像で赤帯で示したような狭い幅しか使えないことがわかる(実際はどんぐりの形に合わせて輪切り状にシャープな領域がある)。
拡大するとこのような感じ。シャープな領域が重なり合う程度にずらしながら次々撮影する。よって、これより荒くてはシャープな領域が確保できず、逆にこれより細かく撮影範囲を刻んでも処理量だけが多くなり無意味となる。被写体のサイズや撮影距離にもよるが、引きならば10枚程度、寄りでかつ被写体が比較的大きければ30〜50枚程度で大抵はカバーできるのではないだろうか。
実は、ピントをずらした撮影方法にも二つの考え方がある。一つはピントを固定してカメラを動かす方法。もう一つはカメラを固定してピントを動かす方法である。どちらも一長一短あるように思われる。
長所 | 短所 | |
ピント固定・カメラ移動 | マクロスライダーの使用により精密な撮影間隔制御が可能 | カメラが移動するので被写体の相対位置が狂う可能性あり(特に大きめの被写体の場合) |
カメラ固定・ピント移動 | 被写体の相対位置が固定される | ピントリングでの撮影間隔制御が難しい マクロ撮影のピント位置によっては途中で絞り値が変わる場合があり気持ち悪い |
私の場合、マクロスライダーを使った方法の方が、ダイヤル位置で撮影間隔を把握できるため基本的には使いやすい。概ね被写体の大きさによって使い分けるのが良い気がするが、どうだろうか。
Photoshopでの深度合成手順
やり方自体については、すでに他所でいくつも紹介されているので簡単に触れるだけにしたい。まずはLightroomから開始する場合で、合成後のレタッチを前提としているならRAWから16bit/チャンネルで開けるこちらの方が良いだろう。
Photoshop側でレイヤーとして画像が開かれる。これらを自動整列する。
続けて、レイヤーを自動合成する。
以上でほぼ自動的に深度合成された画像が生成する。
RAWから全ての画像を生成すると、枚数が多い場合に重たくなる。深度合成後にほとんどレタッチしないなら、事前にjpegで書き出した画像をPhotoshopで読み込んでもよいだろう。この場合はPhotoshopでレイヤーとして画像を読み込む。読み込み時に自動整列も合わせて行うため、その後に全てのレイヤーを選択し上と同様に自動合成すればよい。
深度合成後の画像
こちらは、自動で深度合成した、どんぐりと甲虫。ぱっと見は非常に良い感じ。
しかし、詳細に見ていくと、いくらかおかしな点もある。甲虫の左羽根の周辺はぼかしが入ったようになっている。どんぐりの帽子の縁も所々、溶けたようになっている。また右のどんぐりの一部が大きくボケてしまっている。
物体の境界付近がぼかして処理されやすいのは、Photoshopの特性のようだ。他ソフトとの比較ではこの点が負けている例が散見される。このようになるのは、重なり合う物体の前後の距離差が大きい場合で、手前の物体が前ボケとなって後ろの物体と重なることで、本来シャープでなければならない後ろの物体側のレイヤー領域が使われなく(認識されなく)なるためである。前後に重なる被写体は処理が難しくなるので注意した方がよいだろう。
部分的であれば、本来使われるべきレイヤー領域をコピペし、新たに上から重ねてやることで修正できる。この時、修正に必要な領域以外は削除して透明にした方が、修正を重ねた場合に破綻しにくい。
一方、どんぐりの表面は厄介で、これは画像自体のテクスチャーの問題で、どのレイヤーが一番シャープか、アルゴリズムが検出できていないと思われる。凹凸の少ないツルッとした表面だと常にこの問題が生じるはずで、面積が広い分だけ修正するとしても非常に面倒なことになる。今後はAIで被写体の3D形状を予測した検出をしてくれると嬉しい。
同じように自動で合成しただけの、タマムシ。保存状態が良くなく残念ながら足が一部無くなっている。タマムシ自体は凹凸が多いので、足周りの修正を除き比較的良好に合成できた。一方、模様のある背景の処理は雑で、綺麗に見せたいなら白黒などの単色が扱いやすいだろう。
背景を黒色にしたもの。撮影の都合で胸部までしか合成できてないが、背景の不自然さはない。
岡本太郎の動物。足元の床と背景のみ修正。
ここまではピント固定、カメラ移動で撮影。最後のみかんについては比較的大きな被写体だったため、カメラ固定でピントを動かして撮影した。こちらも凹凸の多い被写体は比較的、破綻なく合成されていたが、背景は乱れていたため修正。最後に汚い皮を少々お手入れして、フィニッシュ。