amori's blog

よろず技術系と趣味関係の雑記です

日立のレンズレスカメラ

https://topiclouds.net/science/2016-hitachi-lensless-camera/

11/15にニュースリリースがあり、はてぶもかなり賑わっていた。
上記の記事は比較的細かい内容に踏み込んでいるが、肝心の、
同心円パターン→モアレ縞→フーリエ変換
のところがやはりモヤっとしている。
解像度についても考察がない。

符号化開口という技術は昔から研究されてきたし、符号化フィルタの同心円パターンだってフレネルゾーンみたいなのがすでにある。計算量を激減させるブレークスルーがどこにあったのだろうか、と思っていたが、同日のテレビ東京ワールドビジネスサテライトで紹介された時の動画にチラッと映った同心円パターンによるモアレをみて謎が解けた。

同心円パターンがずれて重なってできるモアレは等間隔の平行線で、ズレが大きいほど間隔が小さくなっていた。そしてズレの方向に対して平行線は直角になっていた。

これで全て。わかってしまえばシンプルこのうえない。
常に平行線のモアレが出るパターンなんてとっくの昔に考案されていただろうが、それをこの符号化開口撮像の変換に適用するとは、上手いこと考えたなあ。

原理をザクっと説明すると、

1. 被写体の一点の光源は、同心円フィルタの影をセンサーに映す。
2. 点光源が近ければ同心円パターンは大きくなる。また、点光源の向きによって同心円パターンが中心からずれて影を落とす。
3. 被写体のそれぞれの光源は、その向きと距離に対応した、同心円パターンをそれぞれのズレと大きさとしてセンサーに記録する。

ここまでが撮影。以下映像の復元。

4, 被写体までの距離に対応した同心円パターンを記録したデータの中心に加算する。
5, 記録された複数の同心円パターンのうち、4と同じ大きさの同心円パターンとの間に平行縞モアレが発生する。
6, 他の大きさの同心円パターンとの間には平行縞モアレパターンは発生しない。
7. つまりこれが後からピントを合わせる操作

8. 以上の操作で最初の複数の同心円パターンの記録データは、様々な向きと間隔の平行縞パターンに変換された。
9. 平行縞は周波数データなので、逆フーリエ変換によって、
平行縞の向き→元の点光源の向き
平行縞の間隔→元の点光源のズレの向きの大きさ
選択した同心円パターンの大きさ→点光源までの距離
を求めるられる
10, 複数の大きさの同心円パターンについて同じ処理を繰り返すことで、記録された同じデータから複数の焦点距離にピントがあった元データを復元できる。

以上。少なくともコンセプトは単純です。逆フーリエ変化まではアナログ処理で、逆フーリエ変換は高速アルゴリズムが色々と研究されていて、しかも逆フーリエ変換はハードウェア処理による高速化も可能です。

キーとなる等間隔なモアレを発生させる同心円パターンって、見た目フレネルゾーンに見えるんですが、試しに計算してみたら、初等的な幾何でパターンが生成
できることがわかりました。

一番中心の円の半径をr0, 以下
r1.r2,,,rk,rk+1,とすると、
(rk+2)^2 =2× (rk+1)^2 - (rk)^2
という関係になります。
特にr0=0,r1=1とすると、

rk=√k

なんとまあシンプルな(^_^)

追記: 日立の学会発表のタイトルにFresnel zone apertureって書いてありました。フレネル ゾーンの一種でしたか。

この方式の解像度は、平行縞の間隔の違いの分離可能な範囲になります。これは上の式から定まる同心円パターンから生成される平行縞パターンの分解能であり、つまりセンサーのピクセル数とサンプリング定理で上限となる平行縞の最大周波数ということになります。

この推定は、大元の学会発表の情報を待ちましょうか(^_^;)