アカウント名:
パスワード:
カメラっ子でないので識者の方プリーズ
入ってくる光を複数に分岐して焦点が異なる画像を複数保存して表示する際に複数の画像から合成
ってことであっています?
これってDirectXなどにおける3Dモデリングの被写界深度を設定したレンダリングに近いのかな?この場合はオブジェクト単位になるので件とは本質的には異なるでしょうけれど
ソフトウェアレベルで件に該当する知識がないものでどうにもヒントがないとピンときませんです
理工系向けに説明すると、レンズの結像作用ががフーリエ変換の性質を持っていることが理解できるとアナロジーで容易に理解することができます。レンズでのフーリエ変換というのは、例えば凸レンズで、太陽光を集めて焦点を結ぶようなケースを思い浮かべてもらうと、レンズに一様に入射した光が一点に集中するわけですが、これは時間軸上で一定の値を持つ信号は周波数軸上で周波数=0の一点に値を持つ信号(電気信号で言えば直流)に相当します。逆に焦点にある点光源から出た光はレンズによって平行な光に変換されます。これはインパルス関数の周波数成分が広い周波数分布を持つことに相当します。ただし、一般的なフーリエ変換、フーリエ逆変換は時間軸と周波数軸の間の橋渡しをしますが、レンズではともに物理的な変位間の対応関係になります。ここでf(t)とf(t-T)のフーリエ変換を考えると時間軸上のシフトは周波数軸上での位相回転に、F(ω),F(ω-Ω)の逆フーリエ変換を考えると周波数軸上でのシフトは波面をスライスする軸の(波の進行方向との)角度変化に相当します。レンズの結像作用はフーリエ変換だとしてこれを解釈すると、レンズに入射する光と焦点面での対応関係として、レンズへの入射角の違いは、(焦点面上での)焦点の位置の違いに変換され、レンズの入射位置の違いは、焦点への光の入射角度の違いに変換される、ということが示唆されます。これを具体的な例で確かめてみます。もう一度、太陽光を凸レンズで集めるモデルを思い出してもらって、レンズの位置・向きは一定のまま、太陽が少し西に移動したとき焦点はどうなるでしょうか? 依然として光を一点にあつめたまま、少し位置がずれるはずです。つまりレンズへの入射角のずれが、焦点の位置のずれに変換されます。ということで、たしかに合ってるようです。勘のいい人ならここで気づくと思いますが、つまりレンズに入射する光が焦点に集められる際に、レンズの中心を通る光はまっすぐ焦点に届き、レンズの端に入手した光はある角度を持って焦点に届きます。従来の普通のカメラは焦点面にある撮像素子の受光面に届く光を入射角にかかわらずすべて合算したスカラ量でとらえます。そしてライトフィールドカメラというのは、入射する角度に対応する光の強さ分布・ベクトルをとらえるカメラなのです。なので、前ピンの画像は、焦点面の手前で一旦焦点を結んでふたたび発散していく角度を持つ光を選べば合成できますし、後ピンの画像は、撮像面より後ろにある焦点に向かって収束していく角度を持つ光を選べば合成できるという仕組みです。
実際は、撮像素子の受光素子自体にそういった角度分別能力があるわけではないので、マイクロレンズアレイを使い、もう一度入射角度の違いを焦点位置の違いに変換して、別々の受光素子によって電気信号に変換します。撮像素子の画素数は増えたとはいえ限りがありますので、一つの画素(一つのマイクロレンズ)に割り当てられる角度ベクトル(画素数)は離散化されていて、しかも数が限られています。例えば遠中近の3つだったりの制約はマイクロレンズに割り当てられる画素数の制約からくるものです。ライトフィールドカメラの特性は、このような角度分解能の離散性の課題以外にも上に描いたようなフーリエ変換の知識をうまく使えば比較的簡単に理解できると思います。
空間中を飛んでる光線を2次元の平面上で観測・記録するのが従来のカメラ
飛んでる光線を立体的に3次元のまま観測・記録するのがライトフィールドカメラ(ライト=光線,フィールド=場・空間っていう意味)
ライトフィールドカメラは,光線を記録しただけ
記録データを見たい場合は,仮想的に従来カメラを用意して,記録した光線を好きなレンズで仮想的に撮影しなおすことで写真を合成する必要がある
この際,ピントを自在に調整できるので,楽しい
細かい計算はフーリエ変換とか幾何計算とかデジタル信号処理とか色々使います
って感じかな?
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
人生unstable -- あるハッカー
知識のピントが合いません (スコア:0)
カメラっ子でないので識者の方プリーズ
入ってくる光を複数に分岐して
焦点が異なる画像を複数保存して
表示する際に複数の画像から合成
ってことであっています?
これってDirectXなどにおける3Dモデリングの
被写界深度を設定したレンダリングに近いのかな?
この場合はオブジェクト単位になるので
件とは本質的には異なるでしょうけれど
ソフトウェアレベルで件に該当する知識がないもので
どうにもヒントがないとピンときませんです
Re:知識のピントが合いません (スコア:1)
理工系向けに説明すると、レンズの結像作用ががフーリエ変換の性質を持っていることが理解できるとアナロジーで容易に理解することができます。
レンズでのフーリエ変換というのは、例えば凸レンズで、太陽光を集めて焦点を結ぶようなケースを思い浮かべてもらうと、レンズに一様に入射した光が一点に集中するわけですが、これは時間軸上で一定の値を持つ信号は周波数軸上で周波数=0の一点に値を持つ信号(電気信号で言えば直流)に相当します。逆に焦点にある点光源から出た光はレンズによって平行な光に変換されます。これはインパルス関数の周波数成分が広い周波数分布を持つことに相当します。ただし、一般的なフーリエ変換、フーリエ逆変換は時間軸と周波数軸の間の橋渡しをしますが、レンズではともに物理的な変位間の対応関係になります。
ここでf(t)とf(t-T)のフーリエ変換を考えると時間軸上のシフトは周波数軸上での位相回転に、F(ω),F(ω-Ω)の逆フーリエ変換を考えると周波数軸上でのシフトは波面をスライスする軸の(波の進行方向との)角度変化に相当します。レンズの結像作用はフーリエ変換だとしてこれを解釈すると、レンズに入射する光と焦点面での対応関係として、レンズへの入射角の違いは、(焦点面上での)焦点の位置の違いに変換され、レンズの入射位置の違いは、焦点への光の入射角度の違いに変換される、ということが示唆されます。
これを具体的な例で確かめてみます。もう一度、太陽光を凸レンズで集めるモデルを思い出してもらって、レンズの位置・向きは一定のまま、太陽が少し西に移動したとき焦点はどうなるでしょうか? 依然として光を一点にあつめたまま、少し位置がずれるはずです。つまりレンズへの入射角のずれが、焦点の位置のずれに変換されます。ということで、たしかに合ってるようです。
勘のいい人ならここで気づくと思いますが、つまりレンズに入射する光が焦点に集められる際に、レンズの中心を通る光はまっすぐ焦点に届き、レンズの端に入手した光はある角度を持って焦点に届きます。従来の普通のカメラは焦点面にある撮像素子の受光面に届く光を入射角にかかわらずすべて合算したスカラ量でとらえます。そしてライトフィールドカメラというのは、入射する角度に対応する光の強さ分布・ベクトルをとらえるカメラなのです。
なので、前ピンの画像は、焦点面の手前で一旦焦点を結んでふたたび発散していく角度を持つ光を選べば合成できますし、後ピンの画像は、撮像面より後ろにある焦点に向かって収束していく角度を持つ光を選べば合成できるという仕組みです。
実際は、撮像素子の受光素子自体にそういった角度分別能力があるわけではないので、マイクロレンズアレイを使い、もう一度入射角度の違いを焦点位置の違いに変換して、別々の受光素子によって電気信号に変換します。撮像素子の画素数は増えたとはいえ限りがありますので、一つの画素(一つのマイクロレンズ)に割り当てられる角度ベクトル(画素数)は離散化されていて、しかも数が限られています。例えば遠中近の3つだったりの制約はマイクロレンズに割り当てられる画素数の制約からくるものです。
ライトフィールドカメラの特性は、このような角度分解能の離散性の課題以外にも上に描いたようなフーリエ変換の知識をうまく使えば比較的簡単に理解できると思います。
Re:知識のピントが合いません (スコア:1)
空間中を飛んでる光線を2次元の平面上で観測・記録するのが従来のカメラ
飛んでる光線を立体的に3次元のまま観測・記録するのがライトフィールドカメラ(ライト=光線,フィールド=場・空間っていう意味)
ライトフィールドカメラは,光線を記録しただけ
記録データを見たい場合は,仮想的に従来カメラを用意して,
記録した光線を好きなレンズで仮想的に撮影しなおすことで写真を合成する必要がある
この際,ピントを自在に調整できるので,楽しい
細かい計算はフーリエ変換とか幾何計算とかデジタル信号処理とか色々使います
って感じかな?