豪鬼メモ

一瞬千撃

紙とレーザーカッターで擬似アポダイゼーションフィルタ

前回大失敗した自作アポダイゼーションフィルタでボケ味を改善する作戦だが、もっと手軽に、黒色紙に穴を開けてグラデーション風の光量漸減を実装してみた。
f:id:fridaynight:20191026150301j:plain


前回の実験でわかったことは、M.Zuiko 45mm F1.8の前玉の前に遮光板をつけると絞りとほぼ同様に機能するということだ。絞りの開口部がボケの形を決定するので、遮光板に空ける穴の形もボケの形を決める。よって、遮光板がグラデーションになっていればアポダイゼーションフィルタよろしく滑らかな淵のボケが得られるという作戦だった。スクリーントーンではその用をなさないということはわかったので、今回は代替策を考えてみる。

  • 外付けアポダイゼーションフィルタ
    • 天体望遠鏡のためのアポダイゼーションフィルタも市販されている。これを使えば最も良い結果が得られそうだ。しかし、受注生産なのでかなりお高いだろう。
  • ハーフNDフィルタを切って繋げて円にする
    • 市販のハーフNDフィルタのグラデーション部分から複数の台形を切り出して、それを繋げて円を作る。ハーフNDフィルタ自体の価格が高いのが問題で、精度よくガラスを切るのも難しそうだ。
  • OHPシート
    • 市販のOHPシートを買って、それにインクジェットプリンタでグラデーションを印刷する。OHPフィルタの透過率はそれほど高くないので、おそらくフレアが出る。
  • 写真用フィルム
    • グラデーションをフィルムカメラで撮影して、そのポジフィルムを使う。あるいは反転したグラデーションを撮影したネガフィルムを使う。フィルムの透過率はそれほど高くないので、おそらくフレアが出る。
  • メッシュを重ねる
    • 市販の網戸用のメッシュからいくつかの同心円を切り出して重ねる。滑らかなグラデーションは作れず、またスリットで透過光が回折して解像力が落ちる。
  • 黒色紙に穴を空ける
    • 市販の黒い厚紙に細かい穴を空けてグラデーションを表現する。滑らかなグラデーションは作れず、またスリットで透過光が回折して解像力が落ちる。

この中だと、DIYとして手軽なのは黒色紙に穴を空けるアプローチだろう。黒い紙さえあれば、あとは適当にスリットを空けるだけでよい。レーザーカッターを使えば、グラデーションの近似が精度よくできる可能性は高い。遮光板の非スリット部を光が透過したり、前玉で反射した光を再反射したりして、光路に散乱光を入射してしまうとフレアになるので、遮光板の透過率と反射率はゼロに近い方が望ましい。市販のケント紙やタント紙で十分だと思うが、反射防止用の植毛紙を使うとさらによいだろう。つまりコストは紙を買う分だけだ。レーザーカッターをファブ施設で借りるとそのコストはかかるが、私は仕事のつてで借りることにする。器用な人はハサミやカッターや精密ポンチで頑張ってもいい。


中心から周辺に行くにしたがって透過率が落ちるフィルタを紙で実装するのだが、当然、紙だと「透過する」「透過しない」のバイナリ表現しかできない。それでグラデーションを表現するには、いわゆるディザリングによって、解像度を犠牲にしつつも見かけ上の階調を増すことが必要になる。また、紙なので、多孔トーラス的に、非透過部分が全て連続していなければならない。ディザのパターンは細かければ細かいほどグラデーションとしては美しくなり、すなわち撮像においてフィルタのパターンが視認しづらくなるはずだが、問題も生じる。非透過部を細かくしすぎると紙の強度が落ち、透過部を細かくしすぎると光の回折によって解像度とコントラストが落ちてしまう。いろいろ考えた末に、今回の実験では以下のパターンを用意した。
f:id:fridaynight:20191025010712j:plain

  • 4分円を内側に貼り付けた4芒星。ボケが汚くなることを示す噛ませ犬的な位置付け。
  • 5芒星。スポーク率(半径に対するツノでない部分の割合)は40%。スタートゥインクルでキラやばな感じに。
  • 24芒星。スポーク率30%。ここまでくらいなら手でカッター使っても作れるかなという限界。
  • 36芒星。スポーク率30%。ここまで来るとかなりグラデーションぽくなる気がする。
  • 48芒星。スポーク率25%。レーザーカッターでもこれが限界か。
  • 水玉模様。GIMPでグラデーションを描いてからNewsprintフィルタをかけて作成。
  • 同心円。これもボケが汚くなることを示すため。

いずれの形でも、直径10mm程度の円の透過部を設けて最低限の光量と解像力を担保している。今回の想定レンズであるM.Zuiko 45mm F1.8に限らず、マイクロフォーサーズの多くのレンズでは、F8くらいで回折による解像度低下が始まるらしい。てことは、45mm / 8 で直径5.6mm未満の穴を空けると回折光が無視できなくなるということだ。今回のフィルタは絞りよりもセンサーから遠い位置にあるので、影響はより大きいだろう。よって、解像に支配的な影響を及ぼす中央部は大きめの透過部にすることが望ましい。周辺はそれぞれのアルゴリズムで徐々に開口部の割合が減るようにしてある。どれが最善なのかは実験してみないとわからないが、本命はやはり48芒星だ。ここまで来ると中央に近い非透過部は髪の毛みたいな細さになってしまうので、フィルタとしての耐久性に難が出てくるが、紙なんで使い捨てのフィルタってことで甘受する。周辺部の透過部はボケの周辺を描写する光を通すので、その点では穴を小さくして回折を起こしてもよいのだが、そうするとピント面の被写体を描写する際の錯乱円を大きくして解像力を下げてしまう。このトレードオフが最も悩ましい。

いずれの形でも、グラデーションの端は直径27mmの円に収まるようにしている。45mmでF1.8の有効口径は、45mm / 1.8で25mmなのだが、画角を考えるとそれより広い開口部が必要となり、それが27mmくらいらしい。というかレンズの前玉のサイズがそれなのだ。また、37mmのフィルタスレッドの内側に取り付けるので、36.3mmの円を縁にする。縁とパターンはアレンジツールで上下左右の中心を合わせておく。プロテクトフィルタの裏側に貼り付ける方法も考えられるが、その場合には縁の円の直径は33mmくらいにするといいだろう。


レーザーカッターの手順に移ろう。ラスター系ソフト(GIMPPhotoshop)かベクター系ソフト(InkscapeIllustrator)でフィルタのパターンを作ったら、それをベクター画像として保存する。レーザーカッターの機種にもよるが、基本的には彫刻はラスター画像で行い、切断はベクター画像で行うらしい。今回私が使うEpilog Laser Miniもそうだ。データをどういう形式で用意するかはドライバソフトウェアの種類によるが、切断作業のためにはとりあえずInkscapeSVG画像を用意しておけば良い。それをPDF形式やAI形式に変換するのは後で適当にやればよい。残念ながらSVGレンダリング環境の違いによってずれるのが常なので、ベクター系ソフトで作った場合にも、一度ラスタライズ(GIMPにコピー)してから、それをベクトライズ(InkscapeでPathのTrace Bitmap)しておくとよい。切断部分は赤色(R=255,G=0,B=0)にしなきゃいけないドライバもあるらしいが、私の環境では何色でも大丈夫だった(逆に言えば、白でマスクする方法が使えないので、ラスタイズしてからのベクトライズが必要となる)。
f:id:fridaynight:20191026015205j:plain

私が借りた環境では、VisiCutというオープンソースのドライバソフトウェアを組み合わせて使っていた。そのドライバはSVGを直接読み込め、切断の手順は良しなに決めてくれる。塗りつぶした箇所はその周囲だけを切り取ってくれるし、切断によって切り離す箇所がある場合には、ずれないように内側から切ってくれる。SVGを読み込んでパターンがきちんと認識されていることを確認したら、印刷指示を行う。その際、切断する材に合わせた設定を行う必要がある。400Wのレーザーで厚さ0.3mmのケント紙の場合、power=5、speed=20、focus=0、frequenncy=1000などとするとうまくいくっぽい。そして、Executeボタンを押すと、レーザカッターにジョブが送られる。

レーザーカッター側では、まずレーザー照射ヘッドのZ軸フォーカスを合わせる必要がある。フォーカス調整用の標準器の下端がギリギリ紙に触れるようにヘッドの高さを調整する。次に、電源を入れてから、X/Y軸の原点を設定する。"X/Y off" ボタンを押してヘッダ移動モードを指示してから、その旨をコンソールで確認して、"Go" を押す。それから照射ヘッドを手でを適当な位置に動かして、"Set Home" を押して確定。次に、排煙ファンと空気清浄機の電源を入れる。そして、筐体内に紙を置く。最後に、蓋を閉めて、コンソールでジョブ番号を確認してから、"Go" を押してジョブを開始する。あとは待つだけ。光をじっと見つめてはいけないらしい。
f:id:fridaynight:20191024220223j:plain

こんな感じで焼きあがる。レーザーが照射される位置は正確なのだが、レーザーで焼かれる線の太さはZ軸フォーカスのずれや照射出力や材の種類によって変わるので、試行錯誤が必要かもしれない。なので、複数枚作る場合でも、まずは最初の一枚に納得のいくものができるまで、一枚ずつ切って確認していくのがよさげだ。
f:id:fridaynight:20191024221033j:plain

完成した紙製アポダイゼーションフィルタをM.Zuiko 45mm F1.8につけてみる。レンズの前玉の前に置いてからインナーフードかプロテクトフィルタをつけると、全くずれなくなる。
f:id:fridaynight:20191025214056j:plain


実写。1mくらい先に置いた扇風機にピントを合わせると、5mくらい先にある背景はどのようにボケるのか。レンズの絞りは全て開放F1.8である。

フィルタなし。6.3 EV。MZ45はもともとボケも綺麗なレンズだが、やはりボケの輪郭は視認でき、とろける感じではない。
f:id:fridaynight:20191025002503j:plain

48芒星、スポーク率0.25。5.3 EV = 光量50%。ボケ量は減ったが、ボケの輪郭が見えなくなって、とろける感じになった。これはかなりうまく行っている気がする。
f:id:fridaynight:20191025001651j:plain

36芒星、スポーク率0.3。5.7 EV = 光量66%。ぱっと見だと、48芒星と遜色ない出来だが。後述するように、点光源の欠点が現れやすい。
f:id:fridaynight:20191025002436j:plain

24芒星、スポーク率0.3。5.7 EV = 光量66%。ぱっと見だと、48芒星と遜色ない出来だが。さらに点光源の欠点が現れやすい。
f:id:fridaynight:20191025002133j:plain

5芒星、スポーク率0.3。5.3 EV = 光量50%。ここまで粒度を落とすと、ボケのザワつきが明らかだ。星の形が視認できるので、そういう効果を狙って使えば面白いかも。
f:id:fridaynight:20191025001913j:plain

4芒星、凹み曲面。5.0 EV = 光量40%。ザワザワして気持ち悪い。ボケの形が全体の印象に与える影響は大きい。
f:id:fridaynight:20191025002231j:plain

水玉模様。5.7 EV = 光量66%。ぱっと見だとわかりにくいが、よく見るとやはりボケがボツボツしている。モザイク画っぽくて面白い気もする。
f:id:fridaynight:20191025002020j:plain

同心円。5.7 EV= 光量66%。こちらは、ぱっと見でボケが汚くなっているのがわかる。もともと円形のボケに同心円の影をつけたところで良くはなるまい。
f:id:fridaynight:20191025010318j:plain

ボケの形が見やすい場所だけ抜き出して等倍で比較してみよう。48芒星のボケが最も滑らかであることがよくわかる。
f:id:fridaynight:20191026004537j:plain

フィルタなしと48芒星を比べてみても、明らかに48芒星の方が滑らかで、とろけている。まさにアポダイゼーションフィルタの目的が達成できていると言えよう。
f:id:fridaynight:20191026005242j:plain

球面収差に頼ってボケの輪郭をぼかす手法だと、前ボケを滑らかにすると後ボケがうるさくなり、後ボケを滑らかにすると前ボケがうるさくなるというジレンマがあるらしい。一方でアポダイゼーションフィルタは前ボケも後ボケも同時に滑らかにしてくれる。この紙の擬似アポダイゼーションフィルタでも同じ利点が享受できる。
f:id:fridaynight:20191025235226j:plain


ついでに、換算画角50mm相当の標準画角レンズM.Zuiko 25mm F1.8用のフィルタも作ってみた。焦点距離が短いほどに、フィルタが絞りの位置から離れていることによるデメリットが如実に現れるはずだ。

フィルタなし。6.3 EV。
f:id:fridaynight:20191025011128j:plain

24芒星、スポーク率0.3。6.0 EV = 光量80%。
f:id:fridaynight:20191025010939j:plain

4芒星、凹み曲面。6.0 EV = 光量80%。
f:id:fridaynight:20191025010907j:plain

水玉模様。6.0 EV = 光量80%。
f:id:fridaynight:20191025011039j:plain

同心円。6.0 EV = 光量80%。
f:id:fridaynight:20191025011118j:plain

やはり、どのフィルタもうまくいっていない。80%の光量を維持しているのに、一見してわかるほどの周辺減光がある。その割にボケの形はあまり変わっていない。前玉の前にフィルタを置く作戦は、少なくともこのMZ25ではうまく機能しない。おそらく焦点距離が短かったり前玉が小さかったりするレンズはダメだろう。対して、MZ45はこの手法にとって絶妙なバランスだ。なにせ前玉にフィルタをつけても周辺減光がほとんど起きないのだ。


MZ45のフィルタの評価の話に戻る。48芒星を使えばボケが綺麗になるということは確認したが、良いことばかりではない。もう一度、フィルタなしとの比較を見てみよう。

f:id:fridaynight:20191025002503j:plain:w300 f:id:fridaynight:20191025001651j:plain:w300

左のフィルタなしに比べて、右のフィルタ付きでは、コントラストが低下しているのがわかる。扇風機のフレームや背景の棚の暗い部分をみると、暗部の締まりがなくなっているのがわかる。細いスリットが光を回折したことが主な原因だろう。後処理でブラックを下げたりシャープネスを強めたりすればなんとかなる範囲ではあるが。

さらなる欠点は、点光源のボケ像にフィルタのギザギザの形が思いっきり出てしまうことだ。再近接にピントを合わせて遠くの点光源の大ボケを無理やり作ると、こんな風に花火みたいな模様が出てしまう。
f:id:fridaynight:20191024235122j:plain

普通に人物や風景等の写真を撮る限りにおいてはこの欠点は目立たないことも多いが、玉ボケの描写に関しては全くダメだ。この問題も、非透過物質で擬似的にグラデーションを作っている限りは解決できない。点光源というほとでなくても、光沢のある被写体のボケ像ではそれなりの確率で視認できる形が出てしまう。単純なパターンほど目立つボケ像になるので、48芒星よりも36芒星の方が目に付きやすく、それ以下だともっとダメだ。しかし、紙の強度や回折を考えると48芒星が限界で、それ以上角を増やすことは現実的ではない。回折光による光芒が状況を悪化させているので、放射線を捻って曲線にするなど、もうちょい工夫すれば緩和はできるかもしれない。


気を取り直して、外に撮影に出てみよう。うまく被写体を選べば、この擬似アポダイゼーションフィルタのよいところを引き出せるかもしれない。まずは、比較テスト。左がフィルタなし、右がフィルタありだ。

f:id:fridaynight:20191026135050j:plain:w300 f:id:fridaynight:20191026135035j:plain:w300

f:id:fridaynight:20191026141218j:plain:w300 f:id:fridaynight:20191026141145j:plain:w300

期待通り、背景ボケが綺麗になっているのがわかる。同時に、ピント面の解像度の低下と、全体のコントラスト低下があることにも気づく。ソフトフォーカスフィルタをかけたような感じの「ゆるふわ」感が出る。

適当に渋谷を歩いて撮ってみた。
f:id:fridaynight:20191026141458j:plain
f:id:fridaynight:20191026141832j:plain
f:id:fridaynight:20191026141955j:plain
f:id:fridaynight:20191027144343j:plain
f:id:fridaynight:20191026142105j:plain
f:id:fridaynight:20191026142717j:plain
f:id:fridaynight:20191026142956j:plain
f:id:fridaynight:20191026145944j:plain
f:id:fridaynight:20191026150518j:plain
f:id:fridaynight:20191027152016j:plain
f:id:fridaynight:20191027141602j:plain

やはり、ボケが綺麗だ。ボケ量は少なくても、ボケがざわつかないというだけで、全体が落ち着いた印象になる。ボケ部分が目立たないおかげで、ピント部分が浮き出るように引き立ち、立体感も増している。ボケは量より滑らかさ。点光源にフィルタの模様が出ることがもう少し多いかと思っていたが、今回はそれに気づくことはなかった。そこそこ使えるフィルタができたと言えよう。

一方で、解像度とコントラストの低下で、ゆるふわ感も同時に追加されてしまうのは問題だ。そういう趣旨のポートレートとかを撮るのには良いのかもしれないけれど、正直この点は好みではない。また、「ピントの芯がない」感じなので、ピントを合わせる際に、AFでもMFでも、どこにピントが来ているのかいまいちよくわからないケースが多かった。


まとめ。M.Zuiko 45mm F1.8向けに、紙とレーザーカッターで擬似アポダイゼーションフィルタを作ることができる。48芒星とかの模様を使えば、紙でもグラデーションを擬似的に再現できる。実写でも、ボケが滑らかになるのが確認できた。前ボケも後ボケも同時に美しくなるので、アポダイゼーションフィルタとしての効果は上々だ。

欠点である解像度とコントラストの低下に関しては、フィルタの材質や模様を工夫することでもう少し改善できるとは思う。この点は引き続き検討したい。というか、ハクバ様とかケンコートキナー様とかが放射グラデーションフィルタを発売してくれないかな。そうすれば全ての問題は解決し、2万5千円の小型軽量レンズで、ソニーの100mm STFとかフジの56mm APDとかキヤノン85mm DSとかの高級レンズの気分が味わえるはずだ。

初めてレーザーカッターを使ったが、アイデアが物理的な形になるのって楽しい。誰でもいろんなアイデアを形にできるのがソフトウェア開発のよいところだが、CADや3Dプリンタやレーザーカッターなどの技術のおかげで、今やハードウェア開発の一部もそんな手軽さで始められるようになっている。今回は紙を切っただけだが、人間にはできない精度と速度で形が作れるというのはワクワクする。よい時代だ。

OLYMPUS 単焦点レンズ M.ZUIKO DIGITAL 45mm F1.8 ブラック

OLYMPUS 単焦点レンズ M.ZUIKO DIGITAL 45mm F1.8 ブラック

  • 発売日: 2013/06/28
  • メディア: エレクトロニクス