« PixInsightで画像処理を始めよう ~ 第7回 嗚呼、星はいい(2) 前処理 | トップページ | PixInsightで画像処理を始めよう ~ 第9回 嗚呼、星はいい(4) 色調整、倍率色収差補正 »

2018年7月13日 (金)

PixInsightで画像処理を始めよう ~ 第8回 嗚呼、星はいい(3) 光害除去

【目次】

8-1. Post processing(後処理)
8-2. リニア画像
8-3. 光害除去
8-4. DBEや光害除去に関するその他の注意点


8-1. Post processing(後処理)

前回は pre processing(前処理)と呼ばれる一連の処理を行いました。あの前処理は、これから先に行う処理のための準備の処理です。だから「前」処理なんですね。

それに対して、ここから先の処理は post processing(後処理:あとしょり) と呼ばれます。処理する人の技量が問われる腕の見せ所が沢山あって、慣れると大変楽しいのですが、この後処理には実に多くの種類の処理があって、一体何からやれば良いのかわからないという声をよく聞きます。しかし、後処理にもある程度の順序というものがあるので、この入門ではその順番通りに解説していこうと思います。ただ、その前に1つ説明しておかなければならないことがあります。

目次へ戻る この節のトップへ戻る

8-2. リニア画像

天体写真の画像処理において、よく耳にする言葉として「リニア(linear)」という言葉があります。「リニア」とは「線形(線型)」のことですが、別の言葉で言い換えれば「比例」という意味になります。比例をグラフで表現すれば直線を引くことになるので、「線形」とも言うわけですね。つまり、リニア画像とは、簡単に言えば、被写体の明るさが2倍(3倍)なら画像上でも明るさが2倍(3倍)であるような画像のことを言います。例えば、RAWデータはリニアです。厳密には違うみたいですが、ほぼリニアだと言われています。そして、そうだとすればそれを使って前処理した直後の画像もまたリニアです。

対して、撮って出し画像のような画像は、通常、リニアではありません。なぜでしょうか。第6回の話を思い出してください。撮って出し画像は、RAWデータをカメラ内で現像したものですが、その現像には明るさ調整(ストレッチ)が含まれていましたね。あのストレッチは、通常、非線形なストレッチだからです。例えば 図8-1 のようなトーンカーブを見てください。

08_01_ct
図8-1 非線形なトーンカーブの例

変換曲線がその名の通り曲線である場合、それで変換された画像はすべて非線形画像になります。非線形なストレッチを行うとどんな問題が起こるのでしょうか。一例として、図8-2 を見てください。

08_02_non_linear_s
図8-2. A と B は同じ色なのに・・・

A は R と G と B の明るさがそれぞれ 0.1、0.2、0.3 です。これを A(R, G, B) = (0.1, 0.2, 0.3) と表しましょう。一方 B はと言うと、B(R, G, B) = (0.2, 0.4, 0.6) です。どちらも R:G:B の比率が 1:2:3 なので、A と B は明るさが違うだけで色相も彩度も同じです。つまり、A と B は同じ色 なのです。このような色と明るさの星があったと仮定します。

これに対して 図8-1 のような非線形な変換をかけてストレッチします。変換後の画像をそれぞれ A'、B' とすると、A'(R, G, B) = (0.289, 0.524, 0.675)、B'(R, G, B) = (0.524, 0.771, 0.896) となります。R を 1 としたときの R:G:B の比率を計算すると、A' は 1 : 1.81 : 2.33、B' は 1 : 1.47 : 1.71。つまり、比率が違うわけですから、A' と B' は 同じ色ではない ということになります。もちろん、A と A'、B と B' も違う色ですし、明るいほど色が薄くなります。

元々は同じ色だったのに、非線形ストレッチをすると違う色になってしまう。だから、天体写真の画像処理でも、非線形ストレッチをしてから星の色合わせをしようとすると、

 A'の星で色合わせを行うと B'の星の色がおかしくなる
 B'の星で色合わせを行うと A'の星の色がおかしくなる

ということが起きてしまうのです。非線形ストレッチを伴う現像をしてしまうと、厳密にはもはや色合わせはできなくなります。したがって、色合わせをするなら画像がリニアな状態のうちにやらなければなりません。

この他、画像がリニアだからこそできる(しやすい)処理が色々あります。まずはそういった処理から行っていく必要があります。しかし、前処理直後の画像は非常に暗く、そのままでは処理がしづらいです。したがって、処理をするにもある程度明るくする必要があります。でも、それだとリニアではなくなる・・・。

こうしたジレンマを解消してくれるのが、この入門で既に何度も登場している STF です。STF でのストレッチはすべて非線形ストレッチなのですが、見かけ上明るくしているだけで本当にストレッチしているわけではありません。だから、STF で明るくしてからリニア画像でなければできない処理を行っても問題ないのです。STF はこのためにあるのです。

以降、特に断りが無ければ、STF でオートストレッチしていると思ってください。

目次へ戻る この節のトップへ戻る

8-3. 光害除去

さて、前処理直後の画像をもう一度見てみましょう。

08_03_afterbpp_ulas
図8-3. 前処理直後の画像

前処理によって、ノイズが激減し、周辺減光も修正されました。しかし、これで天体本来のあるべき姿が露わになったかというと、そうでもありません。まだ取り除いておくべき「余分なもの」があります。それが、光害です。

図8-3 を見ると、画像の下の方が僅かにぼんやり明るくなっていますね。この画像は伊豆の天城高原で撮影したものです。天城高原から南側には街はほとんどなく、南天は非常に暗いのですが、それでも光害が完全に0というわけではありません。その僅かな光害が含まれてしまっています。もっとも、これだけ低空になると必ずしも光害のせいだけではないかもしれませんが、いずれにしても、余分なものが含まれていると以降の処理が正しくできなくなるので、まず最初にこれを取り除きましょう。

ちなみに、光害というのは、天体の光に足し算で加えられた光です。ですから、光害を除去するには、元の画像から光害分の光を引き算するわけですが、厳密なことを言うと、引き算で光害の光を除去することができるのはリニア画像だけです。一旦非線形なストレッチをして非線形画像にしてしまうと、そこから光害分の光だけを引き算して除去することができなくなります。したがって、光害除去も画像がリニアな段階でやるべき処理です。

さて、この光害の除去に苦労している方は非常に多いと思いますが、光害等に起因するバックグラウンド(背景)の明るさの勾配を補正する強力なツールが PI にはあります。その1つが DynamicBackgroundExtraction (DBE) です。

08_04_dbe
図8-4. DynamicBackgroundExtraction (DBE)

この DBE もまた PI を代表する「優れものプロセス」の一つで、これを使いたいがために PI を買うという人もいるくらいです。もちろん、PI 以外にもこれと同じような機能を持つプログラムはあります。例えば AstroPixelProcessor (APP) にも同じような機能があります。しかし、両者を比べると(私がまだ APP を使いこなしていないだけかもしれませんが)、やはり DBE に一日の長があるように思います。それほどに強力で優秀なツールです。初めて見る方は、その効果にきっと驚かれることでしょう。

では、DBE の使い方から説明します。と言っても、これと決まった手順があるわけではないので、あくまで一つの方法くらいに考えてください。

(1) バックグラウンドサンプルを打点する

DBE で光害を除去するには、まず、どこがバックグラウンドであるかを DBE に教える必要があります。バックグラウンドとは、星も星雲も何も無い領域です。それを小さな background sample(バックグラウンドサンプル) としてポイントしていきます。対象画像をクリックすればポイントできます。

08_05_bgsample
図8-5. バックグラウンドサンプル

このバックグラウンドサンプルを画像上に何点か打つことによって、バックグラウンドの色や明るさの分布を推定できるようになります。そうして推定された分布を background model(バックグラウンドモデル) と言い、そのバックグラウンドモデルを使って、光害等に起因するバックグラウンドの勾配を補正・除去するというわけです。
ただ、困ったことに、図8-3 の画像の場合、厳密にバックグラウンドと言える領域はほぼありません。なぜこんな画像を素材として選んでしまったのか、ここで早速後悔するわけですが、もう遅いですよね(苦笑)。

図8-3 を見ると、ほぼ全面に天の川が写っていて、そこからなるべく離れた右上あたりをバックグラウンドと思いたいところですが、そこには大きな赤い輝線星雲 Sh2-27 が微かに写っていますからダメです。また、天の川に広範囲に存在する暗黒帯も、厳密にはニュートラルなバックグラウンドではありません。銀河中心部には星間物質が多く存在しています。星間物質の多くは、水素原子や水素分子などの非常に小さな粒子です。その中を光が通過すると、レイリー散乱によって青い光ほど強く散乱されてしまい、通過してくるのは赤っぽい光が多くなります。星間物質の密度が高くなればなるほど、また、厚さが厚くなればなるほどその傾向は強くなります。天の川中心部が赤っぽく見えるのはそのためですね。暗黒帯はその星間物質がとくに濃い部分ですから、これも完全な黒ではなく、厳密には「赤に偏った黒」と考えるのが妥当でしょう。

しかし、そうは言っても、他に無いのなら仕方がありません。暗黒帯の中でも、とくに暗いところなら、事実上バックグラウンドとして扱っても大きな問題は無いでしょう。そういったところを注意深く狙って打点していきます。

なお、サンプルの大きさはデフォルトでは半径5に設定されていますが、"Default sample radius" の値を変えると、それ以降に打点するサンプルの大きさが変更されます。既に打ってあるすべてのサンプルの大きさを一律に変更したければ、"Resize All" ボタンを押してください。

08_06_changebgr
図8-6. サンプル半径を変更

この内側に入るピクセルがバックグラウンドのサンプルとなりますので、小さすぎると十分なサンプル数が確保できずに正確な計算ができなくなる可能性がありますし、大きすぎると逆にバックグラウンドではない星雲等が入り込んでしまうことが多くなります。多くの場合、10 から 15 くらいで良いと思いますが、すべてのサンプルが同じ大きさである必要はありませんし、その画像や打点位置に応じて適宜調整してください。

今回の例の場合、以下のようにサンプルを打点しました。

08_07_bgsample_all
図8-7. バックグラウンドサンプル打点完了

(2) パラメータを調整する

バックグラウンドサンプルを打つと、サンプルが赤く表示されることがあります。これは、有効なピクセルが少なすぎる bad sample であることを意味していて、そのままではバックグラウンドサンプルとしては使えません。

08_08_bad_sample
図8-8. Bad sample

その場合には、"Tolerance" の値を大きくしてください。光害が酷くなるほど Tolerance を大きくしないといけなくなります。ただし、あまり大きくしすぎると、バックグラウンド以外のピクセルもバックグラウンドとして扱われてしまうので、要注意です。

08_09_tolerance
図8-9. Tolerance

今回の場合は、Tolerance 値はデフォルトの 0.500 がちょうど良さそうでした。

(3) 補正方法を選択する

打点したすべてのバックグラウンドサンプルが有効になるようにパラメータを調整出来たら、"Correction" で "Subtraction"(引き算)を選択し、"Discard background model" が無効になっていることを確認して実行します。先ほども述べた通り、光害は天体の光に足し算で加えられた光ですから、それを "Subtraction"(引き算)で補正するわけです。また、バックグラウンドモデルはこのあと検証のために使いますので、discard(捨てる)しないようにしてください。

08_10_targetimagecorr
図8-10. Target Image Correction

実行は、左下の三角マークをドラッグ&ドロップするか、緑のチェックマークを押すか、どちらでも可能です。

(4) バックグラウンドモデルを検証する

実行すると、補正された画像とバックグラウンドモデルの2つの画像がポップアップされると思います。このうち、window名に "xxx_background" と書かれたバックグラウンドモデルを STF で unlinked auto stretch してください。

08_11_bgmodel
図8-11. バックグラウンドモデル

これが、推定されたバックグラウンドの色や明るさの分布です。これが光害の光の分布として妥当かどうかを検証します。ポイントは2つあります。

明るさの勾配は、なだらかで、どちらかに向かって単調であること
光害は地表に近いところほど強くなりますから、上下左右どこかの端が最も明るくなるはずです。端以外の部分(例えば中央付近)が周囲より明るくなっていたとしたら、光害の光源が空中にあることになってしまいますから、明らかにおかしいですよね。また、条件にもよりますが、勾配が急激に変化するというのも、光害としては不自然です。
全面にわたってほぼ同じ色合いであること
光害の色が局所的に変わるということはまずありえませんよね。大きなスケールで見れば多少変わることはあり得るとしても、一部分だけが赤っぽくなったり青っぽくなったりするなどということはないはずです。

このような観点で 図8-11 を見ると、上から下に向かって単調に明るくなっていて、部分的に不自然に明るくなっているようなところは見当たりません。色合いについては、よぉ~く見ると、中央付近がなんとなぁ~くぼんやり赤っぽく見えなくもないですが、この程度であれば問題ないと言って差支えないでしょう。

図8-11 のバックグラウンドモデルでバックグラウンドの勾配が補正されたものが次の画像です。

08_12_afterdbe_ulas
図8-12. 光害除去された画像例

もちろん完璧ではありませんが、厄介と思われた光害が非常にきれいに除去されたと思います。前処理直後の 図8-3 と比較するとこんな感じです。

08_13_dbe_comp
図8-13. DBE前後の比較

かなり印象が変わることに驚くと思います。光害を除去すると薄い光の幕が取り除かれることになるので、コントラストが一気に向上します。また、光害には光害特有の色があるので、それを取り除くことによって初めて天体本来の色を再現できるようになります。

(5) DBE の失敗例

(4) で見たように、DBE による光害除去の効果は絶大です。しかし、バックグラウンドサンプルの打ち場所が非常に重要で、これを上手く設定しないとバックグラウンドモデルがおかしくなってしまい、結果、正しく補正できなくなります。バックグラウンドサンプルをどこに打つべきか。慣れると短時間で設定できるようになりますが、慣れるまでは多少苦労するかもしれません。

では、ここで失敗例を見てみましょう。先ほどの 図8-7 に加えて、1点だけ余分に M16(わし星雲)の上にバックグラウンドサンプルを打点しました。

08_14_fail_bgsample
図8-14. 失敗例(バックグラウンドサンプル)

これで実行したところ、バックグラウンドモデルは次のようになりました。

08_15_fail_ex_bgmodel
図8-15. 失敗例(バックグラウンドモデル)

ひと目でわかる通り、左上が部分的に赤く明るくなっています。(4) の検証ポイント ① ② のいずれにも反していますね。この失敗例では、バックグラウンドサンプルを赤い星雲上に打ちました。バックグラウンドサンプルで与えられた領域は、バックグラウンドですから本来ニュートラルで暗いはずです。にもかかわらず、何かしらの色が特徴的についていたり、明るくなっていたりすると、DBE はその色や明るさを余分なものとしてバックグラウンドモデルにまとめ、それを "Subtraction"(引き算)しようとするわけです。そのため、補正後の画像は次のようになってしまいました。

08_16_fail_ex_afterdbe_ulas
図8-16. 失敗例(補正後の画像)

M16付近の赤い色が不足し、やや暗くなっています。バックグラウンドモデルが赤く明るくなっていた部分ですね。あの分の赤さと明るさが引かれてしまったのです。たった1点誤ったサンプルをとってしまったためにこれだけ見事に失敗します。

DBE を実行したら、バックグラウンドモデルが光害の光の分布として妥当かどうかを検証し、不適当と判断したら、バックグラウンドサンプルの位置を見直して実行しなおしてください。

目次へ戻る この節のトップへ戻る

8-4. DBEや光害除去に関するその他の注意点

DBE はバックグラウンドにある明るさの勾配を補正するツールですので、光害除去だけでなく、周辺減光補正すなわちフラット補正もある程度できます。前処理でフラット補正をしていない場合、"Correction" で "Division"(割り算)を選択してください。そこそこきれいにフラット補正してくれます。

08_17_dbe_division
図8-17. フラット補正する場合には "Division" を選択

ただ、DBE でフラット補正するより、やはりフラットフレームを使って補正する方が正確な補正ができます。とくに、センサ前に付いたゴミの影による減光は、DBE では補正困難です。ゴミの影による減光のような、局所的な勾配の変化をモデル化することは不得手なのです。フラット補正をするのなら、面倒でもやはりフラットフレームを使った方が良いですね。

また、フラットフレームとして実際の夜空を対象としたスカイフラットを撮影する人もいますよね。もちろんそれ自体は別に悪いことではありませんが、注意してほしいことがあります。

実際の夜空を対象にフラットフレームを撮れば、それには光害の明るさも含まれるので、前処理時のフラット補正で光害除去も同時にできると思われるかもしれません。しかし、結論から言うと、それは誤りです。理由は簡単。上に述べた通り、光害の光は天体の光に足し算で加えられます。一方、7-2節で説明した通り、フラット補正は割り算で行われます。足し算で加えられたものを割り算で除去することはできません。それが理由です。

確かに全体としてフラットにはなるでしょう。しかし、補正後の画像には光害の光が含まれたままになります。写っている光の何割かは光害の光で、その分、天体の光が弱められることになります。光害の光を含んだフラットフレームを使ってフラット補正するのは、厳密には(あくまで「厳密には」です)望ましくありません。

目次へ戻る この節のトップへ戻る

つづく

« PixInsightで画像処理を始めよう ~ 第7回 嗚呼、星はいい(2) 前処理 | トップページ | PixInsightで画像処理を始めよう ~ 第9回 嗚呼、星はいい(4) 色調整、倍率色収差補正 »

PixInsight」カテゴリの記事

画像処理」カテゴリの記事