PixinsightのDBEのパラメータを色々試してみた

ABE(AutomaticBackgroundExtraction)とDBE(DynamicBackgroundExtraction)は、光害や周辺減光などを補正してくれるPixInsightを代表するプロセスで、毎回使う超重要プロセスです。私はバックグラウンド処理は通常ABEを使用していますが、うまく処理ができなかったときはDBEも使用しています。PixInsightはトライ&エラーのツールなのでパラメータの意味もわからないままガチャガチャ触って効果を試すことも多いのですが、やはりきちんと意味を知ってからの方が効率がよい! 今回はDBEのパラメータを解説します。
私の採用しているPixInsight全体の処理フローはこちらもあわせてご参照ください。

DBEの処理の流れ

DBEは次の手順で進めます。

  1. 初期パラメータの設定
  2. バックグラウンド作成のためのサンプルの打点
  3. DBE実行と評価
  4. サンプルの打点位置修正
  5. DBE再実行と評価

今回、4の打点位置修正で発見がありました。後ほど紹介します。

DBEの起動

DBEはProcess-Background Modernizationから起動します。私はよく使うので左の歯車ボタンのProcess ExplorerのRecently Usedから探すことが多いです。

起動した直後はパラメータの数値変更ができませんが、処理したい画像のどこかをクリックすると十字の線がでてきて値を変更できる様になります。ちなみに、この十字線、動かすことができます!! って、あんまり使ったことないですが・・

Default sample radius

この段階でSample Generation – Default sample radiusを変更する方が多いようです。Default sample radiusは打点するサンプルのピクセルサイズを指定するもので初期値は5になっています。最近の撮像素子は大きいので打点したサンプルに情報をより与えるために値を増やします。私は10を選択しています。

サンプルの打点をした後に変更することもできます。変更した後にResize Allを実施すると全てのサンプルに反映されます。

サンプルの情報

Sample Generationに打点したサンプルの情報が表示されます。

上記の早送り、巻き戻しボタンはサンプルの選択を進めたり、戻したりするものですが、打点数が多くなるとこれで操作するより直接画面をさわった方が早いのでそれほど使いません。Xボタンでサンプルを削除できます。これはよく使います。また→ボタンでいま選択されているサンプルを画面に表示されるようビューが移動します。これも使うことがあるかも知れません(私は使っていません)。

大きな映像はサンプルの情報です。上記のように黒い部分は明るい場所で、星、ハロ、星雲などが入っている可能性があり、望ましくありません。上記は真っ黒ですので削除した方がよいサンプルです。

Wr, Wg, Wbは統計上のサンプルの重み付けを表します。1が完全にバックグラウンドを代表している状態、0がバックグラウンドとかけ離れているので排除すべきデータです。上記の場合、0に近いので適切なデータではありません。中間値が良いようです。サンプルを採用すべきか悩んだときに参考程度に見る値です。

Sample Generation

ここからぽちぽちとサンプルを打点しますが、ここでは各パラメータの効き具合を確認するために自動でサンプル打点をするSample Generationを使ってみます。

Sample per row… デフォルトの10ではあまり打点されないので15に変更します。

すると打点が増えました。銀河を避けて打点してくれています。黄色の部分にもう少し打点したいですね。

Sample per rowを15にしてSample Generation

そのためにMinimum sample weightを変更します。初期値は0.75で厳しい値ですので、思い切って0.1まで下げてみます。これはあくまでサンプル自動打点のためのパラメータです。サンプルの良い・悪いの評価はToleranceShadows Relaxationでできますので、あまり気にせず値を下げてみましょう。

Minimum sample weight… 0.1に変更

ちなみに、Minimum sample weightは自動でサンプル打点するときだけに使用されるもので、マニュアルでポチポチ打つ場合は関係ありません。上記でサンプル評価では無く自動打点用のパラメータと言ったのはそういう意味です。

良い感じになっていました・・・とここでブログ上の作戦失敗。本当はもっと赤いところがたくさんでてくるのでパラメータを調整する解説をする予定だったのですが、思いのほか赤い点が少ない・・。まあ良いことですが・・・。ですので、このあとは各パラメータの効き方を検証するため、通常より打点数を増やしてみます。

思い切ってえいっとSamples per rowを40に変更しました!!

Samples per rowを実験のため40に変更

おお、気持ちいい! これはあくまでもこの後のパラメータの効き方を検証するために増やしていることをご理解ください。普通はこうはしません。

さて、見てみると上の方と左下が赤くなっていますね。また右下の赤い部分は星の上にサンプルが乗ってしまったようです。ちなみにこの画像は神奈川県三浦市で撮影しました。全体に白いのは東京・横浜の明かりかと思います。これは排除したいですね。また左下は周辺減光かと思います。

ここで登場するのがModel Parameters(1)にあるToleranceです。

Toleranceとは統計上の許容値のことです。マウスを文字にあてると出てくるポップアップのヘルプによると、Sigma Unitとあるので1にすると1シグマ分を入れることになります。サンプルの分布が正規分布の場合、1シグマにすると68%が採用されることになります。

PixInsightは実験的に試すのが良いツールですので、細かいことはさておき値を変更してみましょう。この値を大きくするとサンプル評価の判定が甘くなるのでたくさんサンプルを採用してくれます。しかし結果として悪いサンプルを入れてしまうリスクがあります。そのため検証が重要になります。私の活動している三浦は東京、横浜に近いので0.5では厳しすぎるため数値を上げることが多いです。試してみましょう。まずは0.75から。

  • Tolerance: 0.75
  • Default sample radius: 10
  • Sample per row: 40 (実験のため一次的に増やしている)
  • Minimum sample weight: 0.1
Toleranceを0.75に変更

上の方をもうちょっと行きたいですね。Toleranceを1.0にしてみます。私はいつもは0.75〜1.00くらいを採用しています。ただし1.0のときは、打点が適切かのチェックをよりしっかりしましょう。それも後ほどのフェーズでふれますね。

Toleranceを

こんどは上部もリジェクトされずに採用されました。今回は1.0で行こうと思います。

またModel Parameters(1)にあるShadows RelaxationSmoothing factorについて少し解説します。

Shadows Relaxation… 数値をあげると採用するサンプルの採用がより暗い方向になります。つまり暗いピクセルをより許容し、明るいピクセルを排除します。つまり星や銀河、星雲をバックグラウンドに含めるのをより避けることができます。ただToleranceとの使い分けが難しく私はほとんど変更していません。

Smoothing factor... 値を小さくすると、作成するバックグラウンドモデルの曲線をよりなめらかにします。0にすると完全にフィットさせます。しかしオーバーフィッティングといって、サンプルに完全にフィットさせるとそれは逆に実態を表さなくなる問題があり、ほどほどが良いです。初期値の0.25のままで問題ないと考えます。

では数値が決まったのでDefault per rowを15に戻して再度Sample Generationを実行します。

  • Tolerance: 1.0
  • Default sample radius: 10
  • Sample per row: 15 (もとに戻しました)
  • Minimum sample weight: 0.1

サンプルの評価

できたのがこちら。

銀河の近くにできたサンプルが怪しい

全体によさそうですが、黄色の丸でかこったサンプルが怪しいですね。銀河の近くにいます。サンプルを選択してみましょう。

Wr, Wg, Wbの値はまずまずですが、右側のサンプルの画像に黒いピクセルがでています。ちょっと移動させましょう。

「サンプルって移動できるんですよ」とうことをお知らせしたくて移動しましたが、これだけたくさんサンプルがあるので、移動ではなくて削除してしまってOKです。この段階で怪しいサンプルはどんどん削除ください。

またこのタイミングでマニュアルで新たにサンプル打点することもできます。マニュアルでの打点はいつでもできますが、ここでやるのがお勧めです。Sample Generationをし直すとマニュアルの打点は洗い流され消えてしまうためです。

Target image correctionの設定

次に処理の実行方法を設定します。

  • Correction:
    • Subtraction: 引き算です。光害など不要な明かりを削除したいときに使用します。今回はこちらを選択しました。
    • Division: 割り算です。周辺減光など対応に使います。
  • Normalize:
    • 画像の中央値が処理後も同じになるように、Subtractionなら不足分を足し算、Divisionならかけ算します。オリジナル画像の色を復元するのに使うオプションですが、この後にPCCなどで色合わせはしますので、チェック無しにしています。
  • Discard background model
    • DBEは処理後の画像とバックグラウンドモデルの2つのデータを作りますが、これをチェックするとバックグラウンドモデルは削除されます。処理が確定したらバックグラウンドモデルは不要ですが、処理の内容を確認した方が良いので、チェック無しにすることを推奨します。
  • Replace target image
    • 画像変換後のイメージを新しく作るのでは無く、オリジナル画像に変換をかけます。オリジナルは今後の試行錯誤に必要ですので、これもチェックすると推奨します。

それでは実行してみましょう。一番したの緑色のチェックをクリックすると実行できます。

DBE結果の評価

DBE後の画像
バックグラウンドモデル。上部と左下が補正されている

まだ色むらはありますが、比較的綺麗になったようです・・というか、何度やってもすごいですね、DBE!

ここで新しいテクニックをご紹介します。DBEの調査をしていて見つけたこちらのサイトに記載がありました。複数の画像に同じサンプル打点などの設定を適用する方法です。これによりDBEの二度がけもできるようになります。ABEでは二度がけは良くやっていましたがこのサイトのテクニックを使うとDBEにもかけられます!

DBE(DynamicBackgroundExtraction)はDynamicプロセスです。PixInsightでDynamicと名付けられたプロセスは、一度にひとつの対象にしかバックグランドモデルの生成処理ができません。そのため新しい画像で新しくバックグランドモデルを作るには一度DBEをクローズする必要があります。クローズしたとき、設定したデータが消えないように左下の▲をデスクトップにドラッグドロップして保存しておきます。PixInsightの▲は独特で最初はなんじゃこりゃ、なんですが慣れてくると、なかなかどうして便利なものです。

DBEの設定をデスクトップに保存する

次に、さきほど生成されたDBE処理済みの画像を選択した状態(最前面にある状態)で、この▲をダブルクリックします。すると、DBEのサンプル打点などが新しい画面に適応されます。

さきほどのサイトでは、ここでもう一度、打点が適切な位置にあるか確認することを推奨しています。DBEをかけるより画像の状態が良くなるので、見やすく不適切なサンプルを発見しやすいからです。

DBE処理済み画面で不適切なサンプルがないか確認

たとえば上の画像の左から2番目の黄色い丸は近くに星があります。選択して内容を確認してみましょう。

怪しい点を確認

少し黒いピクセルあるもののWr, Wg, Wbも0.8近くあり問題なさそうです。

ここで1.0まであげたToleranceを0.5に戻します。画像は一度、光害を除去する処理をしているのでもとに戻して問題ないだろうという判断からです。変更を適用するには画像の画面をクリックするのですがそうすると新しく打点してしまいます。Sample GenerationにあるResize Allをクリックしても適用されるので、そちらを適用してみます。これもさきほどのサイトに記載がありました。助かりますね。ありがとうございます。

実行すると右中央の端と右上に2点、リジェクトされたサンプルありますが、ほぼ問題ないと考え、そのまま実行します。

DBE 2度がけ
2回目のバックグラウンド

どうでしょうか。背景のムラが減ったようですので、こちらを採用することにします。

▲マークを直接ドロップすると・・

DBEの▲マークをサンプル打点した画像ではなく、他の画像にドロップすることもできます。たとえば画像Aでサンプル打点して、それを画像Bにドロップするような方法です。このときはバックグランドモデルは画像Aで生成されるので注意が必要です。前述の方法ではサンプル打点を新しい画面にコピーしましたが、今回の方法はサンプル打点はあくまでももとの位置のままです。バックグランドモデルはその画像で作るべきと考えると、あまり使い道はなさそうですね。

以上、DBE – DynamicBackgroundExtractionのパラメータの解説でした!!

タイトルとURLをコピーしました