2013年5月11日土曜日

ヘビでもわかるライトフィールドカメラの原理 その2.4 Lytroのライトフィールドカメラの構造

今回はついにライトフィールドカメラの構造について説明する。

その2.2では、レンズの結像面にピンホールを置けば光線が分離され、光線の角度方向も記録できることを説明した。Lytroのライトフィールドカメラも基本的には同じ原理である。

しかし、その2.3で説明したようにピンホールでは光の利用効率が悪い。
ピンホールではなくレンズ(マイクロレンズアレイ)を置くことによってそれを回避できる。
Lytroのライトフィールドカメラはその構造をとっている。

具体的に図示しよう。



便宜上マイクロレンズが5つあるとして、それらに番号を振っておく。(ホントはもっと小さいくてたくさんある)
1点から出た光は結像面で再び1点へ集光するマイクロレンズにどのような角度で入射してきたかによって、到達するピクセルが変わるのである。

たとえば③番目のマイクロレンズに到達する光線に注目する。
③番目のマイクロレンズに到達する光線のうち、u座標が小さい(下側の)光線はマイクロレンズ下のピクセルの上側に到達する。反対にu座標が大きいもの(上側の光線)は
マイクロレンズ下のピクセルの下側に到達することになる。

まとめると、どのマイクロレンズを通ったかによってx座標が決定され、そのマイクロレンズ下のどのピクセルに到達するかによってu座標が決定される。
このようにしてライトフィールドを取得するのである。




ヘビでもわかるライトフィールドカメラの原理 その2.3 レンズのはたらき

今回はレンズのはたらきについて、直感的に分かるように話したい。
別に読み飛ばしてくれてもライトフィールドカメラの原理は理解できると思われる。


その2.1」で話したように、ピンホールカメラを含め、
カメラは1点から出た光を再び1点に結像することで像を記録する。















言い換えれば、別の点から出た光は別のところに結像する。
バラバラに飛んでいた光がレンズを置くことで集約するのである。
つまり、レンズにもピンホールと同様光線を選択する作用がある。



例えばものすごく遠くにある物体からの光はほぼ平行な光としてレンズに入射する。
レンズに入射する角度によってどこから来た光かが分かる訳であるが、
レンズは光の入射角度に応じて結像位置を変えることができるのである。
















つまり

入射角度→結像位置

という変換装置である。
(これは小学校、中学校でやった、「平行光はレンズの中心を通る光は直進して、その他の光は屈折して焦点にたどり着く」というやつ)

また、レンズとピンホールの1つに違いに光量がある。
ピンホールでは多くの光を遮ってしまうため、光を無駄にしてしまう。
カメラでは広がりをもった光も1つに集約することができる。
そのためピンホールカメラではレンズを使ったものに比べ露光時間が長くなってしまう。

レンズはピンホールを進化させた光を効率的に使うため道具なのである。



ヘビでもわかるライトフィールドカメラの原理 その2.2 ライトフィールド記録の原理

前回で絞りの働きによって光線の方向が記録されることが分かった。
今回はそれを応用してライトフィールドを記録する基本原理を説明する。


その1.2で説明した2Dライトフィールドを思い出そう。
レンズのところにu面、センサーのところをx面としていたが、
今回はx面に小さな絞りを、センサーはその後ろに配置することにする。
センサーはわかりやすくピクセルごとに分割して図示してある。




















すると①のピクセルに到達する光線は、x座標とu座標が一意に決まることが分かる。
つまり、絞りによってx座標が限定され、その後どのピクセルに到達するかによってu座標が決定するのである。前回の説明したように、絞りによって光線を選択している訳である。
これを応用して、複数の絞りを設けることによって様々なx座標を通る光線について調べることができる。そうすると各ピクセルに固有の(x,u)座標が紐付けされ、ライトフィールドを記録することができる。




















この図は、レンズの結像面に複数のピンホールカメラをおいて光線を選択していると見ることができる。これが100年くらい前に考案されたライトフィールド取得のアイデアである。非常にシンプルなアイデアである。(本質がちゃんとわかっている人はこういうのがすぐに思いつくんやろなー…)
ライトフィールドの歴史についてはTedor Georgevさんのページに少し資料がある。
http://www.tgeorgiev.net/Lippmann/index.html

実際にはLytroのライトフィールドカメラではピンホールでなくレンズ(マイクロレンズアレイ)が置かれる。

ピンホールではなぜいけないのか?次回はレンズの働きについて少し考えてみたい。






ヘビでもわかるライトフィールドカメラの原理 その2.1 絞りのはたらき

前回、リフォーカスを行うには光線の角度情報も記録する必要があることがわかった。
ちょっとウォーミングアップとして絞りの働きについて考えておこう。

絞りとは英語で "stop" とも言う。つまり光をそこで止めてしまうのである。
なぜ止めるのか?

カメラをやっている人は分かると思うが、絞りを開くとシャッタースピードを速くすることができる。
逆に閉じるとシャッタースピードは遅くなり、露光時間は長くなる。
しかし、シャッタースピードをコントロールするためだけに絞りを開閉するのではない。
実は絞りには光線を選択するという効果がある
僕もただの穴にそんな効果があることはなかなか想像できなかった。


では、光線が空間を縦横無尽に飛び回っている状態を想像してほしい。
センサー面では、どこから来たかわからない光線が到達する。
これでは画像なんて形成できん。





ではここに小さな絞りを配置してみよう。



光線がすっきり。
絞りの開口部からの光のみセンサーに到達するようになった。
これがピンホールカメラである。
光線は少なすぎると暗くなるが、多過ぎても良いわけでもない。
1点から出た光が再び1点へ集まる、そういう光線のみセンサーに導かなくてはならない。
そう、絞りには光線を選択するという大事な働きがあるのである。

例えば絞りを置いた面を以前と同様にu面としよう。
絞りを小さくしてピンホールのようになったとき、
センサー面(x面)に届く光線のu座標は、そのピンホール座標一点に限定される。
つまりピンホールを置くことで光線の角度も決定される、という訳である。

光線を選択する道具としてピンホールがあることがわかった。
次回はこれを使って、ライトフィールドカメラが如何に光線の角度を記録しているかを説明する。









2013年5月10日金曜日

ヘビでもわかるライトフィールドカメラの原理 その1.2 リフォーカスの原理

前回ライトフィールドとはなんぞやを説明した。
空間を飛び回る光は様々なパラメータで表されるが、それを光線の進行方向のみの4Dで表すこととして簡略化するところまで話した。

ライトフィールドカメラではこの4D light fieldたるものを取得することになっている。
ではこの4D light fieldとは何かを具体的に説明しよう。

4D light fieldの表し方には2つの方法がある。
1.2-plane方式
2.Location-angle方式

2-plane方式は2つの面を定義して光線Lが横切る4つ座標を、
Location-angle方式は1つの平面を定義して、光線Lが横切る座標qと角度pをパラメータとする。
Ngさんの論文では前者を採用しているのでここでもそれに従う。

更にヘビでも分かるくらい簡単にするために2Dにまで落とす。すなわち2つの面の内xとuの2つのみを考える。
では単レンズを用いたカメラ内2Dライトフィールドがどのようなものか見ていこう。


この図はある1点でた光がレンズで再び1点へ結像する様子である。

それではまず2つの面を定義する。
一つはレンズの位置にu面を、
もう一つは結像する位置にx面を定義する。普通のカメラではx面に撮像素子(センサー)が置かれる。

この光線の状態を(x,u)空間にプロットしてみよう。
赤い光線はx座標は変化しておらず、u座標が変化している。
すなわちセンサーの同じ場所に到達する光線だが、レンズのどこを通ったかが異なる。
このときxはセンサー上の場所を表すが、uはxにどの「角度」で入ってくるかを表しているとも言える。
実際には赤い光線以外にも別のxに結像する光もある。(水色で表現)



センサーのあるピクセルの値はどのようになるだろうか?
これはある座
標xに入ってくる光を、すべて足し合わせれば良い。
すなわちピクセル値はセンサー上の点xにおいて、光強度を角度uに関して積分したものである。
このように積算された信号が絵として読み出されるわけである。




続いてフォーカスがずれた場合についてのライトフィールドを見てみよう。
光線は1点に集まるもののセンサーの手前で結像してしまっている場合を考える。
図の一番上の光線に着目する。
u面上は先ほどと同じ位置を通るがx面では少し下側に到達する。
これをプロットすると下図のようになる。
つまりフォーカスがずれた場合にはライトフィールドは斜めに傾くことになる。
フォーカスのずれ具合によって傾きが変わってくるのである。


この時センサーの出力はどうなるだろうか?
センサーは否応なしに、そこへ到達する様々な角度からの光線を積分するので、
やはり今回も先ほど同様、u方向に積分した値になる。
本来ピントがあっていれば隣の画素に到達するであろう光線も積分してしまうので
ピンぼけ画像はぼやけてしまうのである。

普通のカメラは場所xでどれくらい光が入って来るかは記録するが、
それがどんな角度から入ってくるかまでは記録していないのである。

言い換えれば否応無しに積分されてしまって角度uの情報が失われてしまっている。


ヘビより感の良い人はもうライトフィールドのカメラの原理が分かったかも知れない。
もし上のプロットにおいて積分する方向を自由に選択できるとしたらどうだろうか?
それはすなわちピント位置を自由に変化させることに相当する。

光線がどこを通ってどこに到達するか(すなわちxとu)を記録しておき、
それをデジタルで自由に操作することによって、リフォーカスする(ピント位置を自由に変える)ことができるのである。
これがライトフィールドカメラの原理である。


ではどのように角度情報を記録するのだろうか?
実は100年も前にアイデアは出されてあったようだ。
次はその原理について説明しよう。