Deconvolution
(逆畳み込み)
種々の要因により歪んだ画像を修復する手法で、天体画像では本来点像である恒星がどのように写ったかをたよりに画像を修復する。Sirilでも使うことができるが、効果的な結果を得るのはなかなか難しい。ここでは自分が試してみたことをメモとして残しておきたい。
メニューバー「画像処理」のプルダウンメニュー 「逆畳み込み」から入る。
1.PSF(Point Spread Function:点像分布関数)生成
最初に復元の指標となるPSFを決定する。方法はいくつか用意されているが、まずは単純な頭で一番理解しやすい PSF from starsを使用してみた。
Siril ドキュメントでの説明(英文をDeepLで翻訳)
恒星からのPSF: この方法は、選択した恒星の平均PSFからPSFをモデル化する。選択する恒星は、PSF の推定値に大きな歪みを与える飽和状態であってはならないが、Siril の恒星解析関数の測定値が不正確になるような暗いものであってはならない。選択する星は、適度に明るく、画像の中心部にあり、背景が一定している必要があります。星が選択されると、ガウシアンまたはモファットの星プロファイルモデルを選択することができ、デコンボリューションを実行する際に、選択された星の平均パラメータからPSFが合成されます。星が選択されていない場合、Sirilはモファットプロファイルで0.07から0.7の間のピーク振幅を持つ星の自動検出を試みます。この範囲は、飽和した星や、暗すぎて正確な解が得られない星を避けることができ、一般に良い結果が得られます。
ヒント
デコンボリューションPSFのブラインド生成が線形および非線形のデータに対して可能であるなら、スターPSFからのPSFの使用は線形画像に対してのみ可能である。そうでなければ、PSF値は有効ではない。
以上 Sirilドキュメント
Deconvolutionはリニア画像に適用するのが正しいと思うが、上記ヒントをみるとPSFブラインド生成の場合はノンリニア画像でもOKのように受け取れる。いずれ試してみたい。
実際にPSF生成をやってみる。
これは対象画像を表示し、Deconvolutionのパネルで①PSF from stars を選び、②Generate PSFをクリックするだけだ。③の下向き矢印をクリックすれば保存できる。(場所はメニューバーの家マークで設定してあるホルダー)
2.Deconvolution
PSFが生成できたらDeconvolutionに進む。三種類の方法が用意されているが、通常の星野写真の場合はデフォルトのRichardson-Lucy一択だろう。
Siril ドキュメントでの説明(英文をDeepLで翻訳、一部省略)
Richardson-Lucyデコンボリューション[Lucy1974]: デフォルトの非盲検デコンボリューションアルゴリズム。ハッブル宇宙望遠鏡の初期の運用期間において、画像の歪みを補正するために使用されたことで有名な反復法であり、Sirilでは、ノイズを増幅するアルゴリズムにペナルティを与えることを目的としたTotal Variation法か、局所ヘシアン行列のフロベニウスノルムのいずれかを使用して正則化されます。この正則化は2次導関数に基づいている。正則化と同様に早期停止パラメータも用意されており、収束率があるレベルを下回るとアルゴリズムを早期に停止させることができる。早期停止パラメータの値を大きくすることで、星や鋭いエッジの周りのリンギングを減らすことができます。Richardson-Lucyアルゴリズムには、乗法式と勾配降下式の2つの定式化がある。後者は、勾配降下のステップサイズを変更できるため、より良い制御が可能です(この欠点は、より小さなステップを使用することにより、同じレベルの収束に到達するために、より多くの反復が必要となることです)。勾配降下法の大きな利点は、より多くの正則化を使用できることです。正則化の項が分母に現れ、ここでの小さな値(強い正則化)は不安定性を引き起こす可能性があるため、これは乗法的リチャードソン-ルーシー・アルゴリズムでは問題になる可能性があります。
ヒント
デコンボリューション法の選択は、良い結果を得るために非常に重要である。スプリットブレグマン法とウィーナー法は、ダイナミックレンジが極端に広いため、星の周辺では結果が悪くなります。線形画像では、通常、勾配降下リチャードソン-ルーシー法を使用するのが最善で、明るい星の周りでリンギングが発生する場合は、ステップサイズを小さくします。このアプローチは、各反復の影響を低減するため、より多くの反復が必要になりますが、アーティファクトが発生し始めるポイントまでデコンボリューションを行い、その後ごくわずかに後退させることで、より細かい制御を達成できることを意味します。引き伸ばされた画像には、乗法的なリチャードソン-ルーシー・アルゴリズムを使用することができます。
以上 Sirilドキュメント
自分が試した範囲では、お勧めの勾配降下リチャードソン-ルーシー法はあまりにも変化がゆるやかで、乗法的リチャードソン-ルーシー法の方が実用的だと感じた。もちろんステップサイズ(デフォルトでは0.0003)を大きくすればそれなりの反復回数で変化が現れてくるが、それではこの方法の利点が失われてくるので、それなら余計なパラメーターのない乗法的方法の方がすっきりすると考えた次第だ。Iterationsはデフォルトでは10になっているが、1にして手動で1回づつ画面を確認しながら進めることにする。従ってStopping criterionにはチェックを入れない。Iterations 10を1回適用するのとIterations 1を10回適用するのでは結果が異なるが、とりあえず気にしないでおく。正則化係数Alphaはデフォルト値が3000で、値を小さくすると正規化が強まって結果がより滑らかになり、大きくすると正規化が弱まって画像の細かい描写が維持されるがノイズが増加する。
さて、そういうことで次のような条件を標準とした。
・④の方法選択はRichardson-Lucy法
・⑤のAlgorithm methodはMultiplicative
・⑥のIterationsは1、画像を見ながら手動で繰り返す
・⑦のAlphaは対象により検討する
Deconvolutionの実施
いくつかの対象で検討中だが、ダラダラと長くなってしまうので今回は効果がはっきり認められたCat's eye星雲を紹介し、他の対象はまた後日ということにしたい。
・NGC6543
元画像:BKP150+コマコレ(680mm F4.5)で10s露光を90枚スタック(gain200)
スタック時に3×drizzle処理をして9000×9000pxとなった画像を1000×1000
pxに切り出してある。
スタック後の画像に対しAlpha=3000、Iteration1を5、15、25回繰り返した結果は
以下の通りで、ぼやっとしていた細部がはっきりしてくる。この例では15回繰り返
しぐらいが適当なところか。(下の写真は処理後に軽くストレッチしてある)