PixInsightで画像処理を始めよう ~ 第7回 嗚呼、星はいい(2) 前処理
7-1. 千億の星の在り処
7-2. Pre processing の準備
7-3. Pre processing の手順概要
7-4. Pre processing 実行
7-5. できた画像を見てみよう
7-1. 千億の星の在り処
今回からいよいよ星野写真の画像処理を始めますが、その素材はこの画像にします。
[撮影データ]
カメラ:CANON EOS kiss X5(改造)
レンズ:CANON EF40mm F2.8 STM
絞り:F3.5
ISO感度:1600
露出時間:240秒
赤道儀:SWAT-200(ノータッチガイド)
撮影カメラは、かつてAPS-Cサイズのエントリーモデルとしてロングセラーを誇った機種なので、お持ちの方も多いのではないでしょうか。レンズは、小さい・軽い・安いと三拍子揃った「パンケーキレンズ」です。軽いので、散歩のお供に持ち歩くのにも最適ですね。この組み合わせを、自由雲台を介して SWAT-200 に載せ、ノータッチで追尾させただけという、大変お気軽な方法で撮影したものです。しかも、三脚まで含めて総重量はわずか 5kg 。別段、特別な機材もソフトも必要ありません。一千億の星があると言われる天の川銀河の中心部は夜空の中で一番明るい対象なので構図も確認しやすく、ピントや露出時間等の設定を間違えなければ(まあ、それが難しいんですけど)、初心者がいきなり撮れてもおかしくないかもしれませんね。しかし、それでもJPEG撮って出しだと、このように色も薄く低コントラストにしか写りません。これを、見違えるような画像に仕上げていきましょう。
7-2. Pre processing の準備
前回、天体写真を明るく高コントラストな画像に仕上げる前に、pre processing(前処理)として主に以下のことを目的とした処理をしましょう、というお話をしました。
① ランダムノイズの低減
② 固定パターンノイズの除去
③ 周辺減光の補正
④ バイアスの除去
⑤ debayer
このうち、①~④の処理を行うには、必要な写真が幾つかあります。まずは、その説明をしておきましょう。念のため言っておきますが、以下の写真はすべて RAWデータとして撮影してください。
(1) Light Frame(ライトフレーム)
天体を撮影した写真のことです。さすがにこれを撮り忘れることは無いでしょう(笑)。
このライトフレームに対して①~⑤を目的とした処理を施すことを前処理と呼びます。このうち、ランダムノイズを減らすため(目的①のため)には、ライトフレームをたくさん重ね合わせる必要がありますので、なるべく沢山撮影しておきましょう。今回は、27枚のライトフレームを使用します。
なお、図7-2 はストレッチして適度に明るくしてあります。以下、とくに断りがない限り、適度にストレッチした画像を掲載します。
(2) Calibration Frame(キャリブレーションフレーム)
ライトフレームに対して、とくに②~④の処理を施すために必要な写真がライトフレームとは別に3種類あります。これらをまとめてキャリブレーションフレームと呼びます。面倒ではありますが、これらも撮影しておいてください。
- Bias Frame(バイアスフレーム)
-
第6回でも触れましたが、カメラのセンサーに光を当てずに、理想的には露出0秒で撮影した写真です。現実的には露出0秒で撮影することはできないので、そのカメラの最短露出時間で撮影します。光を当てず、最短露出時間で撮影しても、完全に真っ黒な画像にはなりません。これは余分な情報なので、ライトフレームからこれを差し引くわけですね。これが、目的④です。
ただし、バイアスフレームにもランダムノイズが含まれるので、まずは沢山のバイアスフレームを重ね合わせて平均化することでランダムノイズを減らさないといけません。最短露出時間で撮れば良いので、短時間で沢山のバイアスフレームを撮影することができますね。ちなみに、私は100枚程度のバイアスフレームを使うことが多いです。沢山のバイアスフレームを平均化したフレームを master bias(マスターバイアス) と呼びます。
-
- Dark Frame(ダークフレーム)
-
カメラのセンサーに光を当てずに、ライトフレームと同じ露出時間をかけて撮影した写真です。
光を当ててはいませんが、これにはライトフレームと同じ固定パターンノイズが「写って」いるはずですので、これを使ってライトフレームに含まれる固定パターンノイズを除去(目的②)します。ただし、ダークフレームにもランダムノイズは含まれるので、ダークフレームも沢山撮って重ね合わせなければなりません。沢山のダークフレームを平均化したフレームを master dark(マスターダーク) と呼びます。上の画像はマスターバイアスと同じ強さのストレッチをすることでノイズを強調した画像ですが、マスターバイアスに比べてかなりザラザラしていますね。このマスターダークからマスターバイアスを取り除けば、原理的には固定パターンノイズだけを取り出すことができます。その固定パターンノイズをライトフレームから引き算すれば、目的②が果たせます。これを「ダーク減算」と呼びます。(単純にダークフレームを引くことをダーク減算と呼ぶこともあります。)
しかし、図7-4 のザラザラのほとんどは、実はランダムノイズの残りであることが多いです。ランダムノイズは、引き算すると逆に増えてしまうので、沢山のダークフレームを撮ってランダムノイズを可能な限り減らさないといけないのですが、ダークフレームはライトフレームと同じ露出時間をかけなければならないので、それを沢山撮るとなると大変な時間と労力が必要となります。しかも、最近のデジタルカメラでは固定パターンノイズはあまり目立たなくなってきており、とくに目立つものは他の方法で除去することもできるので、ダークフレームを使っても使わなくても最終画像における効果が変わらないことが多いです。したがって、撮るのに時間がかかるばかりか、苦労して撮ってもそれに見合う効果がないのなら最初から撮影しない(使用しない)、という選択をする人も増えてきています。
-
- Flat Frame(フラットフレーム)
-
光学系(望遠鏡やレンズ)による周辺減光や、センサ前に付いたごみの影による減光の様子だけを捉えた写真です。
光学系に入ってくる光がムラのない一様な光となるように、通常、白色半透明なアクリル板やトレーシングペーパー、半透明なビニール袋等で対物レンズを覆い、ピント位置や絞り等の光学系に関する条件はすべてライトフレーム撮影時と同じ条件にして撮影します。そして、これにもランダムノイズが含まれていますので、沢山撮影して重ね合わせる必要があります。私はこれもまた100枚程度撮影することが多いです。
さらに、バイアスと固定パターンノイズも含まれていますので、マスターバイアスとマスターダークを使ってこれを取り除きます。ただし、ダークフレームとフラットフレームとでは露出時間が異なることが多いので、フラットフレームに含まれる固定パターンノイズを取り除くには、露出時間分の補正をしてから取り除きます。
このようにして、バイアスと固定パターンノイズを除去したフラットフレームを沢山重ね合わせて平均化したフレームを master flat(マスターフラット) と呼びます。
これを使ってどうやって光学系の周辺減光を補正するのでしょうか。それは簡単です。
例えば、図7-5 で中心付近の点 A と周辺部の点 B を考えましょう。点 A の明るさを1としたとき、点 B の明るさが 0.8 だったとしたら、点 B の明るさを 0.8 で割れば点 A と同じ明るさになりますよね。つまり、ライトフレームの各ピクセルの明るさを、マスターフラットの同じ位置のピクセルの明るさで割れば良いのです。PIの場合、正確には、[マスターフラットの同じ位置のピクセルの明るさ]/[マスターフラットの中央値] で割ります。
こうして、目的③の周辺減光の補正を行うことができます。ちなみに、マスターフラットによって、周辺減光だけでなくセンサ前に付いたゴミの影による減光も補正して、写野全面にわたって同じ明るさの画像にすることができます。マスターフラットは、これが無いと綺麗な写真に仕上げることができないと言い切っても良いほど、非常に重要なフレームです。
ただし、物理的に光量が足りないところを無理やり増幅させているだけなので、周辺部は中心部に比べてノイズが多くなる等、画質が下がることは間違いありません。あまり周辺減光が大きい光学系の場合には、フラット補正しても周辺部はクロップ(トリミング)する思い切りが必要かもしれません。
-
以上、3種類のキャリブレーションフレームを用意したら、いよいよ前処理開始です。なお、何度も言っていることではありますが、これらのフレームには、すべてランダムノイズが含まれています。キャリブレーションフレームの枚数が少なくてそのランダムノイズが大きいままだと、せっかくライトフレームを沢山撮っても意味がなくなってしまいますので、ご注意ください。
7-3. Pre processing の手順概要
前処理は以下の手順で行われます。
(1) Calibration(キャリブレーション)
前処理の5つの目的のうち、ライトフレームに対して上記の ②~④ を目的とした処理を施すことを calibration(キャリブレーション) と言い、細かく以下の処理に分けることができます。
- マスターバイアスの生成
- マスターダークの生成
- マスターフラットの生成
- 各ライトフレームのキャリブレーション
1~3 でそれぞれのマスターファイルを作り、それらを使って 4 で ②~④ の処理を行います。
(2) debayer
次は前処理の目的 ⑤ の処理です。
キャリブレーションが終わったライトフレームをカラー画像化します。第6回でも説明した通り、debayer しただけでは色調は滅茶苦茶なのですが、前処理では色合わせ(色調補正)は行いません。
(3) Registration(位置合わせ)
第3回の月の写真を重ね合わせるときにも説明しましたが、各ライトフレームに写っている星の位置は微妙にずれることが多いです。どうしてもずれてしまうケースもあれば、わざとずらして写すケースもあるのですが、いずれにしても星の位置がずれて写っています。
最終的にはこれらを重ね合わせるわけですが、星の位置がずれたまま重ね合わせてしまうと、星が線状に連なって写ってしまったり、重ね合わせ方によっては星が消えてしまったりします。それではせっかく写した天体写真が台無しですので、重ね合わせの前に星の位置をきっちり合わせておく必要があります。
(4) Integration(重ね合わせ)
位置合わせが終わったライトフレームを連続して表示すると次にようになります。
こうして見ると、不規則なランダムノイズの様子がよくわかりますね。最後にこれらのランダムノイズを減らすために(目的 ① のために)重ね合わせを行います。これで、最初に述べた前処理の5つの目的の処理はすべて行ったことになります。
7-4. Pre processing 実行
本来、前処理は前節のように幾つもの手順を踏んで行われる処理なのですが、どんな天体を写した写真であっても、やり方は全く同じなので、これらの処理を全部まとめてクリック1発で行えるように、PI には BatchPreprocessing(BPP) というスクリプトが用意されています。
メニューバーから、SCRIPT > Batch Processing > BatchPreprocessing と辿って起動してください。
図7-9. BatchPreprocessingを起動
大抵の場合はこの BPP がきれいに処理してくれるので、基本的な使い方だけ知っていれば大丈夫でしょう。
最低限の設定手順は以下の通りです。以下の (a)~(f) は、図中の (a)~(f) に対応します。
(a) | "Add xxxx" ボタンからライトフレームとその他のキャリブレーションフレームを入力 |
(b) | カラー画像なら "Global options" の "CFA images" をチェック |
(c) | 入力したキャリブレーションフレームがマスターフレームなら、該当するものにチェック |
(d) | 位置合わせの基準とする画像を選択 左側のファイルリストの中にある場合は該当ファイルをダブルクリックすれば OK |
(e) | 処理されたファイルを出力するディレクトリを指定 |
(f) | 実行! |
たったこれだけです。 難しいことは何一つありません。
なお、前処理の手順や内容等について、以下の動画でもう少し詳細に解説しています。文字情報を読むより、動画を見た方が理解しやすいと思いますので、こちらもご覧いただけると幸いです。どちらの動画も各40分と長いので、お時間のある時にご覧ください。
● Pre processing 前編
-
BPPの使い方を中心に説明しています。PI 初心者でもわかるように丁寧に解説したつもりです。まずはこちらからご覧ください。
● Pre processing 後編
-
BPP を使わずに pre processing を行う方法を解説しています。一つ一つの処理についてかなり詳細に解説していますので、中級~上級者向けですね。PI での Pre processing の詳細な内容も知りたいという方は、こちらをご覧ください。
それから、処理速度も気になるところですよね。天体写真の前処理には非常に沢山の写真を使うので、処理に長い時間がかかるのが普通です。私もキャリブレーションフレームを含めるとかなりの枚数を使って前処理することが多いので、いつも相当な時間がかかります。しかし、何時間もかかってしまうと流石にうんざりしますよね。そこで、参考のために、前処理専用のフリーソフトとして有名でユーザも多い DeepSkyStacker (DSS) と処理時間を比較しました。PC は以下のようなスペックです。
OS: Windows 10
CPU: AMD Ryzen 7 2700X (8コア16スレッド)
メモリ: 32GB
ストレージ: SSD
計測に使った画像は EOS 6D で撮影したもので、今回素材として使っている画像(図7-2等)ではありません(紛らわしくて済みません)が、以下の枚数を前処理するのにかかった時間を計測しました。
ライトフレーム: 10枚
キャリブレーションフレーム: 各10枚
結果は次の通りです。
BPP v1.46 | 3 分 48 秒 |
DSS 4.1.1(64bit) | 8 分 57 秒(*) |
(*) 最後に画像を表示する時間は含みません。
PixInsight はマルチスレッド効率が高いので、マルチスレッドな CPU で処理するとかなり速いです。キャリブレーションフレームにマスターフレームを使えば、さらに時間は短縮できます。ただし、キャリブレーションの処理はシングルスレッドで動く時間が長く、ライトフレームだけでなく、フラットフレームの枚数が多いと時間がかかる傾向が顕著です。
7-5. できた画像を見てみよう
BPP で前処理が終わったら、BPP の output directory に指定したディレクトリ(フォルダ)の下を見てください。master というディレクトリができていて、その下に以下のファイルがあるはずです。
・ bias-BINNING_1.xisf
・ dark-BINNING_1-EXPTIME_xxx.xisf ("xxx"は露出秒数)
・ flat-BINNING_1.xisf
・ light-BINNING_1.xisf
上から3つが、順にマスターバイアス、マスターダーク、マスターフラットです。そして、最後のファイルが前処理された目的の画像です。これを開いてみましょう。
メニューバーの FILE > Open... から開いてもいいですし、ファイルを PI に直接ドラッグ&ドロップしても開けます。
開くと、次のように非常に暗いことにまず驚くと思います。
この画像がこんなに暗い理由は2つあります。一つは、第6回でも説明した通り、もともと RAWデータが暗いということ。そして、もう一つは、PI の画像表示方法にあります。PI が画像を表示するときには、その画像を 16bit化して表示するのですが、デジタルカメラの RAWデータはほとんどが 14bitですよね。ここに4倍の情報量の差があります。
大抵のレタッチソフトや画像表示ソフトで 14bit画像を 16bit化して開くときには、14bit画像を4倍にストレッチして 16bit画像にすると思います。一方、PI は、14bit画像の情報はそのままにして、後ろに空の 14bitを3個くっつけて 16bitにします。したがって、見かけ上、明るさが 1/4 になるわけです。暗くはなりますが、14bit画像の情報はそのままにしているので、別に圧縮しているわけではありませんよ。この辺りのことは、上で紹介した動画(前編)でも最初に説明しています。
いずれにしても非常に暗いので、このままでは何が何だかわかりません。そこで、ScreenTransferFunction(STF)で明るくしましょう。
STF は第3回でも登場しましたが、画像を見かけ上明るくするツールです。この左側にあるマークのうち、鎖マークをオフにしたうえで、原子力マークに似たマークを押すと、自動的にある程度の色調整をしながら適度に明るくしてくれます。これを auto stretch(オートストレッチ)と言います。
図7-14. STF でオートストレッチ
鎖マークのオンとオフは、R/G/B を合わせて(リンクして)ストレッチするか、それともバラバラに(リンクしないで)ストレッチするか、ということを意味します。鎖マークをオンにしてオートストレッチすることを linked auto stretch(リンクト・オートストレッチ)、オフにしてオートストレッチすることを unlinked auto stretch(アンリンクト・オートストレッチ)と言います。前処理直後の画像は色合わせが未調整なので、リンクせずにオートストレッチしないとおかしな色に表示されてしまいます。
このオートストレッチを使って、BPP で前処理した画像と、ライトフレーム1枚を debayer しただけの画像とを比べてみましょう。
いちいち解説するまでもなく、ひと目で違いがわかりますね。前処理によってノイズが劇的に減り、周辺減光も修正されて綺麗な画像に生まれ変わりました。前処理が如何に重要か、お解りいただけたかと思います。
なお、前回(第6回)もお話した通り、pre processing(前処理)という用語は、天体写真の世界、あるいは PI の中だけで使われる特別な用語というわけではありません。何らかの処理を行う前にノイズを取り除くこと、および次の工程の処理の準備をすることを目的として行われる処理のことを、広く一般的に pre processing(前処理)と呼びます。今回説明した処理は、まさにその前処理と呼ぶに相応しい処理なので、そう呼ばれているわけです。覚えておきましょう。
次回(第8回)からは、この前処理後の画像の処理について解説していきます。
<つづく>
« PixInsightで画像処理を始めよう ~ 第6回 嗚呼、星はいい(1) RAWデータ | トップページ | PixInsightで画像処理を始めよう ~ 第8回 嗚呼、星はいい(3) 光害除去 »
「PixInsight」カテゴリの記事
- PixInsightで画像処理を始めよう ~ 最終回 嗚呼、星はいい(8) 主なレタッチ処理2(2018.09.14)
- PixInsightで画像処理を始めよう ~ 第12回 嗚呼、星はいい(7) 主なレタッチ処理1(2018.09.02)
- PixInsightで画像処理を始めよう ~ 第11回 嗚呼、星はいい(6) 星ハロ除去(2018.08.21)
- PixInsightで画像処理を始めよう ~ 第9.5回 【補足】 天体写真の色(2018.07.25)
- PixInsightで画像処理を始めよう ~ 第10回 嗚呼、星はいい(5) ストレッチ(2018.08.11)
「画像処理」カテゴリの記事
- PixInsightで画像処理を始めよう ~ 最終回 嗚呼、星はいい(8) 主なレタッチ処理2(2018.09.14)
- PixInsightで画像処理を始めよう ~ 第12回 嗚呼、星はいい(7) 主なレタッチ処理1(2018.09.02)
- PixInsightで画像処理を始めよう ~ 第11回 嗚呼、星はいい(6) 星ハロ除去(2018.08.21)
- PixInsightで画像処理を始めよう ~ 第9.5回 【補足】 天体写真の色(2018.07.25)
- PixInsightで画像処理を始めよう ~ 第10回 嗚呼、星はいい(5) ストレッチ(2018.08.11)