★これまでやりたかったこととにかく、近年の天体写真の画像処理は『ブラックボックス化』された要因が多くて、どうも気色悪い。
もちろん、天体写真は「科学」と「芸術」の狭間に位置する分野だと思うので、とにかく美しい絵が出せれば勝ちだとは思うんだけど、過程を楽しむ主義のあぷらなーととしては、今ひとつ面白くないんですよねぇ。
特に『素』のRAW画像が手に入る冷却CMOSカメラの場合はカメラというよりもむしろ測定器に近い気がするんですが、その扱いに関してはユーザーさん毎に色んな言説があって、一体何が正解なのやら混沌としています。
また、デジタル時代のノイズ関連の話題については(むろんEMVA1288など業界統一の規格があって、その基準に沿った仕様表記であることは百も承知の上で)どうも釈然としません。素人目にも「時間ノイズ」と「空間ノイズ」がごちゃまぜに語られちゃってる気がするんですよねぇ。
いずれ、ある程度詳しい解説ごっこをしてみたいとは思うんですが、その前に自分なりの視点でノイズとは何かを実機で調べてみよう・・・というわけです。
★MATLABの衝撃
年の瀬にLambdaさんに科学計算用のコンピュータ言語「MATLAB」の存在を教えてもらって、早速導入してみたんですが、これがもう神の助けかと思うほど優れた言語で、あまり活動時間が取れない自分にとっては涙が出るほどありがたい仕様でした。
そこで、本格的に冷却CMOSカメラの謎を探る遊びを再開することにしました。
★「空間ノイズ」と「時間ノイズ」を切り分けるために
天文界隈では「固定ノイズ」と「ランダムノイズ」を分けてお話される方は多いと思います。固定ノイズとは言うまでも無く「特定のピクセルに常に生じているノイズ」のことで、ザックリ言うとダーク補正などで消去(軽減)できるノイズとされています。またランダムノイズとは「不規則に生じるノイズ」のことで、コンポジット処理などで消去(軽減)できるノイズとされています。これはこれで有意義な解釈だと思うのですが、ここでは、別な視点でノイズの謎に迫ってみたいと思います。それが「空間ノイズ」と「時間ノイズ」という分類です。これらについては、
①「空間ノイズ」とは?
同一時(フレーム)に限定した際に、場所(ピクセル)によって明るさのバラツキが出ることでノイズとして認識されるもの
②「時間ノイズ」とは?
同一の場所(ピクセル)に注目した際に、時間(フレーム)によって明るさのバラツキが出ることでノイズとして認識されるもの
というように(個人的には)解釈しています。
例えば、正しい値(明るさ)が3.5であるとします。
その値を表すためのサイコロ(ピクセル)が一面に敷き詰められていたと仮定します。
ところが、その中に下記のような『異常』なサイコロが発見されたとします。
A:サイコロの目が「1・2・3・4・5・6」ではなく「3・4・5・6・7・8」と刻まれていた
この場合、そのサイコロの目は平均的に2だけ大きすぎることになります。
これをカメラのピクセルに当てはめたものを私は「オフセットされている」と呼んでいます。
※撮影時のオフセット設定とは異なる点に注意
B:サイコロの目が「1・2・3・4・5・6」ではなく「-4・-1・2・5・8・11」と刻まれていた
この場合、そのサイコロの平均値は正常ですが、出る目のバラツキが他よりも大きすぎることになります。
これをカメラのピクセルに当てはめたものを私は「リードアウトノイズが大きい」と表現しています。
C:サイコロの目が「1・2・3・4・5・6」ではなく「2・4・6・8・10・12」と刻まれていた
この場合、そのサイコロの目は平均的に他より2倍大きな値を示すことになります。
これをカメラのピクセルに当てはめたものを私は「ゲインがプラスにズレている」と表現しています。
D:サイコロの目が「1・2・3・4・5・6」ではなく「6・6・6・6・6・6」と刻まれていた
この場合、そのサイコロの目は常に6ばかりを出すことになります。
これをカメラのピクセルに当てはめたものを私は「狭義のホットピクセル」と表現しています。
E:サイコロの目が「1・2・3・4・5・6」ではなく「1・1・1・1・1・1」と刻まれていた
この場合、そのサイコロの目は常に1ばかりを出すことになります。
これをカメラのピクセルに当てはめたものを私は「狭義のクールピクセル」と表現しています。
このように、配置されたサイコロ(ピクセル)の特性が異なる事により、場所によって明るさが不正確になることを全部まとめて「空間ノイズ」と呼びたいと思います。
また、上記のA~Cのサイコロ全てに当てはまることですが、同一のサイコロであっても振る度に出る目が異なります。
この揺らぎのことを「時間ノイズ」と呼びたいと思います。
さて、全てのサイコロが同品質だった場合には、「時間ノイズ」と「空間ノイズ」は一致します。
1個のサイコロを100回振って統計を取った場合でも、100個のサイコロを一斉に1回振って統計を取っても結果は変わらないからです。ところが、実際には個々のサイコロによってその特性が異なります。
一般的には『リードアウトノイズ(人によってはバイアスノイズとも)』の測定は、撮影したバイアスファイル(暗闇で露光時間をゼロ付近にして撮影した画像)について画面全体の輝度揺らぎの標準偏差を取ることで行われていると推測します。ところが、この手法は「空間ノイズ」を測定していることに該当し、本来「時間ノイズ」の一種であるリードアウトノイズを表現しているとは言えないと考えます。誤解を恐れずに言えば、従来のノイズ測定によって表現される数値は「リードアウトノイズ」はなく、言わば『オフセット空間ノイズ』とでも言うべきものなのではないでしょうか。もちろん、ノイズを測定する手順がフィルム時代のRMS粒状度に対応させるための便法であるとすれば、この手法自体に異存はありませんが・・・・・。
★問題を切り分けるために
ここで、ノイズの定義についてとやかく言うのが目的ではありません。ただ、自分が考える画像処理を実現するためには、どうしても「個々のピクセルについて、その固有のノイズ特性」を調べたいという強い欲求があったわけです。これは、ピクセル毎に異なる画像処理を施すための下準備で、言わば『キャリブレーション』とでも言うべき作業です。
さて、ここからが本題です。
MATLABで書いた解析コードによって、ZWOの冷却CMOSカメラASI1600MM-Proのノイズ特性をピクセル毎に解析することが可能になりました。例えば、ー10℃まで冷却してゲイン300・露光30秒で撮像した32コマのダークファイルを個々のピクセル毎に解析した結果、このようなグラフになりました。
スキャッタプロット(散布図)の横軸は32コマの平均輝度、縦軸は輝度ゆらぎ(標準偏差)です。
とにかく、驚くほど「美しくない」です。これは個々のピクセルによってその特性が大きく異なる可能性を示唆します。
いやー面白くなってきました。
なにか新しいことは見つかるでしょうか??
★「上に伸びる群」の解釈ごっこ
先ほどのグラフで、上に伸びる群について、当初は『酩酊ピクセル』(輝度が異常にふらつくピクセルを指す造語)の可能性を考えました。ところが、該当ピクセルの輝度変化を個々に調査してみると、「常にふらついているのではなく、1回だけ最大輝度値を吐いている」ケースが多いことを見つけました。
そこで、解析コマ数を120コマに増やし、さらに横軸を輝度平均ではなく輝度メジアン(中央値)にしてプロットしなおしてみると・・・・
このような、面白い図が出てきました。そこで、この
「上に伸びる群」はピクセルの特性を示すのではなく、宇宙線などの自然放射線がヒットした現象を捕らえた物ではないか?との仮説を立て、次の3点について検証ごっこを進めてみました。
①放射線の有無によって分布の差は出るか?
ここで、ASI1600MMをトリウムレンズの放射線に被曝させてみれば良いのですが、(万が一)主力カメラに悪影響が残るとイヤなので、以前、サブ機であるASI174MCを用いてトリウムレンズによる放射線被曝の実験をした時の画像データを解析してみることにします。
すると・・・・
ででん!!
※左:トリウムレンズなし 右:トリウムレンズあり
このように、たしかに放射線の照射によって「上に伸びる群」が増加する傾向がありそうです。
ちなみに、実験に用いたトリウムレンズから放射されている放射線は、自作霧箱を用いた実験だと
※トリウムレンズ設置位置:霧箱の左側
このように、数は多いもののその軌跡はふらついており、比較的低エネルギーの電子や陽電子なのではないかと推測します。
では、ASI1600MMの解析で出てきた非常に高い輝度を持つイベントは何なのかというと、たとえば下記の霧箱実験で捕らえられたイベントのような、比較的高エネルギーのミューオンなど宇宙線二次粒子ではないかと推測します。
※放射線源なしの自然状態下で自作霧箱で捕らえられたミューオンらしきイベント
では、1発の宇宙線ヒットによって、グラフの最上部に見られるような「アーク状の構造」は生じるのでしょうか?
②最上部にアーク状の構造が見えるが、解析的に説明できるか?
時間がないので正確な計算過程は割愛しますが、任意の個数を持つ母集団中の1要素だけが異常に大きい値を持つ場合に、母集団全体の標準偏差がどう変わるのかをザクッと手計算して、その結果をEXCELに数式として入力して実際の解析結果を説明できるか試みました。
すると・・・・
ででん!!
※左:「アーク状の構造」 右:計算値と実測値の比較
おお、見事に一致しました。要するに、ピクセルの輝度がサチるほど高エネルギーの宇宙線二次粒子が1回だけヒットした場合は、「輝度中間値-輝度標準偏差」グラフに「アーク状の構造」が現れるということですね。
③現象が起こる輝度エリアが狭すぎないか?
最後にプロットを見た際の違和感について考察してみます。そもそも自然放射線や宇宙線は無作為にピクセルをヒットするはずです。それにも関わらず、グラフでは「特定の特性(輝度中央値)を持つピクセル」ばかりをヒットしたように(一見)見えます。実は、これは「数のトリック」に過ぎません。
※上:「輝度中央値と標準偏差の関係」 下:「輝度中央値とピクセル数の関係」
このように同じスケールで標準偏差と頻度を比較すれば、そもそも母集団自体が特定の輝度中央値付近に集中していることが分かります。要するに、宇宙線や放射線は一様に入射しているが、元々の数が少ないグループのピクセルには確率的になかなかヒットしない。というだけのようです。
★今回の暫定的結論
ASI1600MM-Proで撮像したダークファイルを解析した結果で最も目立っている2つの群については、下記のように解釈できる。
以下、続きは近日中に。
★★★お約束★★★
①サイコロの例は、あくまでも例えです。
実際のピクセルが吐く輝度データはその確率分布が一様(ランダム)なサイコロと異なり、正規分布やポアソン分布を示すと思います。
②ノイズの名称とその定義・測定法については諸説あります。