(2023年12月22日:AI のバージョンアップに関する記述を追加)
はじめに
こたび,BlurXTerminator(以下,BXT)と名付けられた驚くべきソフトが発表されました
開発者は,これまでもノイズ処理や星消し処理の画期的なソフトを開発しているRussell Croman氏.アメリカのテキサス在住で,半導体開発会社の副社長さんなのだそうです.
BXTは一言でいうと,Deconvolution*1と呼ばれる天体写真の復元処理を,AI学習によって自動化・最適化するプログラムで,Pixinsight上で動くように実装されています.詳細は後回しにしてまずはその威力を見てみましょう
左側がインテグレーション直後のオリジナル画像.
真ん中はこれを書いている顧問が,従来のDeconvolutionで頑張った結果です.星マスク・星雲マスク・暗黒帯マスクなどが駆使されていて,とても時間がかかっています.
そして,右側がBXTを「えいや」と作用させた結果です.
銀河の構造だけでなく,星のフォルムも美しく仕上がっています.結果に驚くと同時に,今までの苦労は何だったのかと・・・.あははは!バンザーイ(今までの苦労はなんだったの?の涙目)!
導入方法
これは2023年12月現在、Pixinsight上のみで使用できる有料ソフトです(Pixinsightを購入し、さらにBXTを買わないといけません).
すでにPixinsightを導入済みなら、まずは30日の無料トライアルを試してみましょう.こちらのサイトにメールアドレスを打ち込んで提出します.するとすぐにメールが返送されてきます.そのメールに記載されたリンク先から,
- ソフトのダウンロードリンク
- ライセンスキーの取得
- インストールやライセンス認証の方法
などを知ることができます.とくに難しい点は無いと思います.
丹羽さんの動画
でも,21:05あたりから,導入方法が説明されています
AIのバージョンアップ
BXTでは不定期にAIのバージョンアップが行われます。
このエントリを書いた一年後の2023年12月、BXTのver2(AI ver. 4)が発表され、その驚異的な進化に衝撃が走りました。主に星の補正(コマ収差、倍率色収差、ガイドエラーなど)が強化され、一部世間に驚きが走りました。
AIのバージョンアップを受けるには、下記のようにメニューから
Resources>Check for Updates
と選択してバージョンアップを実施します、
そうしたらBXTウインドウの上部のSelectAIから、新しいバージョンのAIの学習ファイルを指定することで利用することができます
パラメータの説明
こちらがBXTの操作ウインドウです.
調整すべきパラメータはこれしかありません.デフォルトのままでも多くの場合うまくいくようです.
パラメータは「恒星の調整」と「恒星以外の調整」に分かれているのが特徴です(以下はマニュアルを参考に記述しました):
Stellar Ajustments(恒星の処理)
- Sharpen Stars これを大きくするほど,星が小さくなります
- Ajust Star Halos これを大きくすると,ソフトフィルターのように明るい星の周りにハロを加えることができます.ハロを積極的に与えたい場合や,星の周りのリンギングを目立たなくしたい場合に,使えます
Nonstellar Ajustments(恒星以外の処理)
- Automatic PSF チェックが入っている場合,画像から星の情報を読み取ってPSFの大きさ*2を自動的に決めます.
- PSF Diameter (pixels) AutomaticPSFのチェックを外すと,これが調整できるようになります.どのくらいのピクセル長さで構造を強調したいかで,値を調整します
- Sharpen Nonstellar シャープ化の強さで,1.0が効果最大です.
Options BXTは,ガイドエラーや収差の影響で星が丸くない場合は,その星を丸くする処理(Correct)と,丸い星をさらに小さくする処理(Sharpen)を別々に行っているので,次のようなオプションが選択可能です
- Correct Only 星を丸くする処理だけを画像全体に行い,シャープ化を省略します.ただし,ガイドエラーによっても星雲はボケているので,これをOnにしても星雲はシャープになります.
- Correct First 先に星を丸くする処理を行った後に,シャープ化がが行われる*3
- NonStellar to Steller 星以外のシャープ化を行った後に,星へのシャープ化を行います.こうすると,通常のステップでは検出できなかった星を検出し,処理が上手くいくことがあるようです.
使い方と,2022年12月時点での注意点
処理のベースになる学習データは,今後更新されていくそうなので,以下の記述はこれを書いている2022年12月時点での機能に基づいています.
結論を先に書きますと,現時点ではインテグレーション後のリニアデータについて:LRGB合成の場合は,L画像のみにBXTをかけてLRGB合成する.ワンショットカラー画像の場合には,L画像を抽出してBXTを作用させ,LRGB合成で元に戻すのが最も良い方法であると考えます.
といいますのも,カラー画像に対してBXTを行うと星の色が変化してしまうケースがあるためです
左がBXT前,右がBXT後で,オレンジ色の星が赤紫になってしまいました.また周辺の微小銀河は反対に緑に転んでいます.
これについて「ストレッチ後のデータに対して行えば,星の色が変化しない」いう例もTwitterで報告されています.しかし顧問の結果では,ストレッチ後のノンリニアデータに作用させても,星の色が変わってしまうので,これは画像の性質に依存するようです.
独り言
BXTのベースとなっているAIの学習には,ハッブルやジェームスウェッブの宇宙望遠鏡の画像が使われたそうです.はじめそれを読んだとき
「さすがにアウトでは?」
と強く感じました.というのもBXTの効果があまりにスゴイので,ひょっとしてAIのプログラムによってハッブルのデータが「書き込まれて」いるのではないかと疑ったからです.
しかし実際にマニュアルをよく見てみると,このプログラムはあくまでDeconvolutionの最適化であって,外部のデータを参照しているわけではないとのことです.中身がわからないので不安は感じるものの,開発者のRussell Croman氏もそのあたりの懸念は理解しているようです.マニュアルの中でBXTがあくまで元データの情報から,ディテールを最大限に引き出す方法であることを強調しています.
ツールが登場してしまった以上は,「アウトかセーフか?」という議論はあまり有益ではないでしょう.しばらくは,実際にはないアーティファクトが発明されていないだろうか?という疑いの姿勢は保ちつつ,使用していこうと思っています.フリートライアルが過ぎたら,課金します.
もう一つ,BXTの次のステップとして,天体写真の後処理のAIによる最適化が見えてきます.その名は,"AI-Powered Batch Post-Processing (APBPP)"でしょうか? ともかく,画像を入力したら,マスクやらなにやらすべて自動で生成したうえで,仕上がった画像が出力される.パラメータは
- 派手め
- 地味目
- 分子雲モクモク
とかそれくらい.WBPPとも統合されるかもしれません.これは決して夢物語ではなくて,Pixinsightにある機能を組み合わせるだけですから,現時点でも十分に実現可能です.登場は時間の問題であるように思います.
いままで,画像処理の技術を磨くべく途方もない時間をかけてきましたけど,それらすべて過去の遺物となりますね.すると撮影した元データの差だけが,天体写真の質を決めることになり,ある意味銀塩写真のころのようになるのではないでしょうか.
*1:Deconvolutionのざっくり説明: 星は点光源なので、理想的な天体写真では1pxの点として写るはずです.しかし現実的に大気の影響と望遠鏡の性能の反映で,ぼんやりした楕円に写ります。その「点→楕円」となる劣化をある種の変換と捉えて、その逆、つまり「楕円→点」となる逆変換を作ってそれを星雲に適用すれば、画像がシャープになる.というのが基本の考え方です.実際にはモザイク除去と同じ理屈で,そのような逆変換は存在しないのですが星をガウシアンやMoffatなどの適当な関数(PSF)でモデル化して、Richardson-Lusy法という反復解法をつかって、解を収束させて,逆変換を近似しています.
*2:ここでは,どのくらいの長さスケールで変化している構造に対してシャープ化を行うか?を決めるパラメータ
*3:どういう意図があるのか,よくわからない