被写界深度はどのように実装されますか?


10

被写界深度にはぼかしが含まれることを知っています。

ガウスぼかしはどのように実装されていますか?の質問には、ガウスぼかしを行う方法に関するいくつかの優れた情報があります。

しかし、それ以外に、被写界深度はどのように実装されますか?

各ピクセルをぼかす方法に関するルールは何ですか?また、ぼかしたくないピクセルの隣に、ぼかしたいピクセルが多い場合の処理​​方法を教えてください。

「混乱の輪」についても聞いたことがありますが、それが何かはわかりません。

誰でも、DOFをわかりやすく、わかりやすく説明できますか?

回答:


20

被写界深度はカメラのレンズ設定の特性ですが、「被写界深度」という名前は一般に、そのような特性によって引き起こされる効果を説明するために使用されます。

カメラのレンズは1つの点に完全に焦点を合わせることができますが、画像が適度に鮮明に見える距離があります。このような距離が実際の被写界深度です。この距離はさまざまな要因に応じて変化しますが、簡単にするために、カメラの絞りを変更することで距離を調整するのが最も簡単だとしましょう。

ここに画像の説明を入力してください

混乱の輪については、ウィキペディアから写真を見ると役に立ちます:

ここに画像の説明を入力してください

3つのケースすべてで、1つの点がイメージプレーンに "投影"されますが、ご覧のとおり、レンズからの距離が異なります。

基本的に、私が言ったように、すべてが完全に焦点が合っているわけではない(つまり、焦点がイメージプレーン上にある)ため、ポイントをイメージプレーンに1つの点ではなく、ある領域に投影できます。写真から明らかなように、これは焦点が画像面の前または後のどちらかにあるためです。イメージプレーン上に作成されるこの「円」は、いわゆる錯乱円です。

これから、被写界深度を変えるとCoCサイズが変わることは明らかであるため、ぼかしの観点から考えると、それはDoF自体の指標として、また直感的な指標として使用できます。

レンダリングにどのように実装されているかによって、実際にはたくさんのメソッドがあります。通常、ゲームでは、深度情報を使用してシーンを異なる「平面」に分割するポストプロセスとして実行されます。たとえば、ぼかす必要がないフォーカスプレーン、ぼかす必要があるニアプレーンとファー/バックグラウンドプレーン。平面をぼかした後、それらを合成して最終的な画像を取得できます。さまざまな平面をどれだけぼかすかは、達成したい効果によって異なります。高度なシステムは、通常、絞りのような写真の世界から来る適切なパラメータを使用して、これと他の「レンズ」効果を実装します。

効果を実装するには多くの方法があることに注意してください。私が説明した方法は、バリエーションもある1つの方法にすぎません(たとえば、全体を低解像度で実行するなど)。制限は、ターゲットが何であるか、およびこの効果のためにどれだけ予算を組んだかに依存します。非常に低い解像度で「3平面」方式を採用することから、各ピクセルの錯乱円を計算して、その結果として生じるアドホックブラーをそのピクセルに適用することまでできます。


編集:@NathanReedからのコメントは、回答の一部としてより多くの証拠である必要があります:

Matt Pettineoのブログ投稿BokehBokeh II を偽造する方法:続編は、ポストプロセスDoFを実際に実装し、そこから得られる典型的なアーティファクトに対処する方法を紹介する素晴らしいガイドです。


1
これを行うための安価な方法は、最終シーンにガウスぼかしを使用し、そのうちの2つを保存することです。1つは前景用、もう1つは背景用です。それらは同じぼかしレベルまたは異なるぼかしを持つことができ、それはあなた次第です。ぼかしが終了したら、深度0から特定の(微調整可能な)深度(たとえば0.10)まで単純にレルピングします。学習しているのは、このぼやけたシーンから完全にピントが合ったシーンです。背景のぼかしは、完全なピントからぼかした画像までぼかすことを除いて、同じことを簡単に実行できます。真ん中が完全に焦点の合った領域を作成するための余地を残します。
ChaoSXDemon 2017
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.