スタッキングは実際どう働くのか(そして枚数が多ければ良いとは限らない理由)

スタッキングは写真を平均することではない。それは特定の失敗パターンを持つ S/N 比の議論であり、フレームを足し続けてもやがて効かなくなる。

なぜ天体写真をスタックするのかと聞けば、たいてい「ノイズを減らすため」と返ってきます。正しいけれど、ほとんど役に立ちません。何枚必要か、なぜあなたの 200 枚スタックが他人の 60 枚スタックより悪く見えるのか、なぜもう 1 時間足しても何も変わらないことがあるのか、何も教えてくれないからです。

本当の議論は短く、一度身につければ、スタッキングの判断のほとんどは自ずと決まります。

信号は足し算される。ノイズはされない。

望遠鏡を星雲に向けて露光します。各ピクセルは空からある数の光子を受け取ります。この数は固定ではありません――光子の到着はランダムで、露光ごとにおよそ自分自身の平方根だけ変動します。100 個集めればフレーム間の変動は約 10。10,000 個なら約 100。

ここで N 枚をスタックします。信号――対象からの本当の光子数――は線形に足し算され、N 倍になります。ノイズはランダムで一部打ち消し合い、N の平方根でしか増えません。

したがって信号対ノイズ比は √N で改善します。

この一つの関係が、観察されることの大半を説明します:

  • 4 枚は 1 枚の 2 倍良い。
  • 16 枚は 4 枚の 2 倍良い。
  • 64 枚は 16 枚の 2 倍良い。

品質を倍にするたびに 4 倍の枚数がかかります。だから 10 枚と 40 枚の差は劇的で、200 枚と 260 枚の差は見えない。後者にがっかりしても、あなたは何も間違っていません――30 % 多くのフレームを足して 14 % の改善を得たのであり、14 % は目が確実に気づく範囲を下回ります。

200 枚スタックから目に見える一段上を望むなら、800 枚前後が必要です。

だから読み出しノイズがサブ露光時間を決める

こうは振る舞わない第二のノイズ源があります。センサーを読み出すたびに、電子回路は固定のペナルティを加えます。露光時間には依存しません――5 秒フレームも 500 秒フレームも、それぞれ正確に一回ずつ払います。

つまり与えられた総積算時間は、それを何枚に分割するか に比例して読み出しノイズを抱えます。90 分を 10 秒サブ 540 枚で撮れば 540 回払う。同じ 90 分を 5 分サブ 18 枚なら 18 回。

これが長いサブ露光を支持する議論のすべてで、総時間が同じでも、淡い対象でガイド付き機材がスマート望遠鏡を引き離す理由です。ガイド機材がより多くの光を集めるのではありません。センサーを読み出す回数が 30 分の 1 なのです。

反対方向の圧力は、長いサブが良い追尾を必要とすること。流れた 300 秒フレームには何の価値もありません。正しいサブ長は、あなたの架台が確実に届ける最長のもの――処理ではなく、機械の問題です。

スタックが本当に失われるのは位置合わせ

√N の議論は、すべてのフレームが同じ信号を同じピクセルに寄与すると仮定しています。それにはフレームが正確に重なっている必要があり、がっかりするスタックの大半が実際に失敗するのはここです。

フレームは露光の間に動きます。架台のドリフト、地平線近くの大気差、たわみ、そして――あらゆるスマート望遠鏡を含むすべての経緯台で――視野回転。1 時間で、最初と最後のフレームは互いに数十度回転していることがあります。

平行移動しか扱わない位置合わせでは対応できません。もっと悪いのは どう 失敗するか:エラーメッセージではなく、すべてがわずかにぼやけたスタックで。ピント不良やシーイング不良に見えて、人は一シーズン、間違った問題を追いかけます。

正しい位置合わせは星そのものから出発します。各フレームの明るい星から三角形を作り、辺の比で記述する――平行移動、回転、拡大縮小を生き延びる量です。一致する三角形がどの星がどの星に対応するかを投票し、ロバストなフィッティングが食い違う票を捨て、精緻化のパスが結果をサブピクセル精度へ引き寄せます。

この最後の部分が重要です。サブピクセル精度は贅沢ではありません。スタック全体に一貫した半ピクセルの誤差は、シーイングがわずかに悪かった場合に失われるのと同じ細部を奪います。

除去:平均ではできないことを取り除く部分

平均はランダムなノイズを扱います。ランダムで ない ものは扱いません:人工衛星、飛行機、宇宙線、視野を横切る車のヘッドライト。

100 枚を平均して、うち 1 枚に衛星の軌跡があれば、軌跡は 1 % の強さでまだそこにあります――淡いけれど暗い空を背景に見え、ストレッチを生き延びます。

除去はこれを、各ピクセルでスタック全体を見渡し、そこにふさわしくない値を捨てることで取り除きます。手法は「ふさわしくない」の意味で異なり、選択は恣意的ではありません:

シグマクリッピング は各ピクセルの平均と標準偏差を取り、閾値を超える値を落とします。よく機能し、正当な理由で既定です――ただし、すべてのフレームが同じ分布をサンプリングしていると仮定します。

ウィンザー化シグマクリッピング は外れ値を除くのではなく、大多数側へ引き寄せます。浅いスタックでは安全です。8 サンプルから標準偏差を推定して値を捨てると、本物の信号を捨てがちだからです。

線形フィット・クリッピング は別の問いに答えます。各ピクセルの値をスタック全体で並べ、直線を当てはめる。滑らかな広がり――夜の間に透明度が変わることで生じる種類のもの――はこのモデルでは 想定内 でコストがなく、衛星の軌跡は依然として直線から遠く外れた一つの値です。

この区別は聞こえる以上に重要です。薄雲が入ってきたり、対象が光害ドームへ沈んだりすると、フレームは本当に異なります。ばらつきはノイズではなく実データです。シグマクリッピングは範囲の両端のフレームを外れ値と見なして捨て始め――暗い側の端はたいてい そのセッションで最も澄んだフレーム です。間違っていると仮定した手法に、最良のデータを失うのです。

見るべきシグナルは、フレームごとの空の明るさがどれだけ変動するか。安定していればシグマクリッピングが正しい。数パーセント以上動くなら線形フィットが役に立ちます。Akastroid はこれを計測し、変動がおよそ 8 % を超えると自動で切り替えます――正しく判断するのに天文学の知識は要らないが、手で正しく判断するにはかなり要る決定です。

浅いスタックには別の扱いが必要

8 枚では分布を推定できません。どの除去法も少なすぎるサンプルで動いており、積極的なクリッピングは外れ値を除くと称して本物の信号を除きます。

およそ 8 枚未満なら、単純平均か中央値がたいてい誠実な選択です。8〜15 枚ならウィンザー化。それ以上で本当のクリッピングが安全になります。

ここでの失敗は微妙です:浅いスタックへの積極的な除去は、きれい に見えて、静かに淡い細部を失った画像を生みます。壊れて見えません。少し空虚に見えて、画面上に理由を教えるものは何もありません。

枚数を増やしても本当に効かなくなるとき

次の 1 時間が何ももたらさない三つの場合:

読み出しノイズに制限されている。 非常に短いサブでは、ノイズフロアは空の光子ではなく読み出しで決まります。スタックはまだ効きますが、枚数では取り除けない固定コストと戦っています。長いサブなら取り除けます。

淡い対象で空に制限されている。 明るい空の下では背景が支配的で、対象の淡い外縁はそもそもそれを超えないかもしれません。S/N は √N で改善し続けます――でも「かろうじて検出できる」の √N は、やはりかろうじて検出できるだけです。暗い空やナローバンドフィルターはこれを変えます。時間は変えません。

位置合わせが限界。 レジストレーションが半ピクセルの誤差を残しているなら、フレームを足すことはわずかにずれたデータを足すことです。スタックは滑らかになり、鋭くはなりません。空を責める前に確認する価値があります。

実用的な答え

  • サブ長:架台が確実に追尾できる最長。これが読み出しノイズを支配し、読み出しノイズが淡い対象を支配する。
  • 枚数:4 倍単位で考える。目に見える改善が欲しいなら、少し足すのではなく 4 倍にする計画を。
  • レジストレーション:回転を扱えること。経緯台では交渉の余地なし。
  • 除去:スタックの深さと夜の安定性に合わせる。
  • 限界を知る:読み出しノイズ、空の明るさ、位置合わせ。枚数が効くのは前二つだけで、それもゆっくり。

このどれも √N 以上の数学の理解は要りません。でも、あなたが不満なスタックがなぜ不満なのかを説明してくれます――それはたいてい、もう一つのスライダーより役に立つ知識です。

英語の原文を読む · 他の言語 Deutsch · Español · Français · Italiano · Nederlands · Português (Brasil) · 繁體中文

自分のデータで試す

このガイドの内容を Akastroid がすべて自動で行い、何をしたかを表示します。

Akastroid をダウンロード - 無料