PHD2の日本語マニュアルを公開しています。こちらからどうぞ。

個人サイト「Starry Urban Sky」もよろしく。

ノイズ除去ソフト一気比較

街なかで天体写真を撮っていると、光害まみれの背景から星雲を炙り出すために、かなり無茶な強調処理を強いられることがしばしばあります。このとき、どうしても問題になるのがカメラのノイズです。


ここで強い味方になってくれるのが「ノイズ除去ソフト」です。最近はカメラのノイズリダクション機能もなかなか優秀ですが、どうしても微光星や星雲のディテールが消失しがち。その点、ノイズ除去ソフトは、PCの豊富な計算リソースを用いることができることもあり、元画像を損なうことなく、きれいにノイズのみを取り去ってくれます。


とはいえ、ひとくちに「ノイズ除去」と言っても、ソフトによってそのアルゴリズムなどは様々。当然、性能の高低やノイズの種類による得手不得手も出てくるはずです。


そこで、代表的なノイズ除去ソフトをいくつか集めて、簡単にですがその性能を見てみようと思います。*1*2


なお、以下の記事では基本的にそのソフトのデフォルトの条件で処理をしていますが、当然のことながらデフォルト設定は各ソフトまちまちですし、そもそも異なる種類のパラメータを横並びで比較することもできません。また、対象としている画像も限られたごく一部のケースにすぎません。そのため、この記事からだけでは、一概にどのソフトが優秀かといった結論を下すのは不可能です。ここでは、各ソフトのおおよその傾向、個性をつかんでもらえればと思います。

比較するソフト

Dfine 2

f:id:hp2:20190925222050j:plain
Photoshop用のプラグイン集「Nik Collection」の中に含まれているノイズ除去プラグインです。元々の開発はNik Softwareによるものですが、2012年に会社ごとGoogleに買収され、これがさらにDxOに売却されて現在に至っています。


Googleが配布していた頃は無料でしたが、DxOが買収してからは有料販売となっています。価格はNik Collection全体で14900円です。


f:id:hp2:20190925222113j:plain
操作できるパラメータは「コントラストノイズ」、「カラーノイズ」の2項目だけと非常に単純で、使い方に迷うことはあまりないと思います。


特徴的なのは、画像上にコントロールポイントを配置して領域ごとに効果の強弱等を設定できることで、星景写真のような明暗差の大きい被写体には特に有効かもしれません。


Neat Image

f:id:hp2:20190925222223j:plain
ABSoftが開発しているノイズ除去ソフトです。Windows, Mac, Linuxに対応したスタンドアローン版のほか、Photoshopプラグインとして動作するバージョンも販売されています。価格はいずれも、8bit画像をサポートしたHomeが34.90ドル、16~32bit画像をサポートしたProが56.50ドルです。


画像上の、比較的均一と思われる領域からノイズパターンを検出、抽出することで極めて高度なノイズ除去を行います。また、カメラごとのノイズパターンのデータが有志によって公開されており、これを用いれば画像からの検出に頼らずともノイズの除去が可能です。*3


一方で、画像からノイズパターンを検出するという仕組み上、色や輝度が均一な領域がある程度以上の面積必要で、画像全体に微光星がばらまかれているような画像は原理的に苦手です。


f:id:hp2:20190925222241p:plain
デフォルトの設定がかなり優秀なので、実際にパラメータを調整する場面はあまり多くないですが、調整可能なパラメータはかなり多く*4、うまく最適な条件を見つけられればより大きな効果が期待できます。


ちなみに、GPUを併用した処理に対応していて、CUDAやOpenCLに対応したGPUを利用していれば処理速度の高速化が図れます。nVIDIAAMDの最近のGPUであれば利用可能でしょう。


Noiseware

f:id:hp2:20190925222257j:plain
Imagenomicが開発している、Photoshop用のノイズ除去プラグインです。価格は79.95ドル。


f:id:hp2:20190925222311p:plain
機能はシンプルですが、こちらもノイズ除去に関するパラメータは細かく調整可能です。また、様々なプリセットも用意されており、うまく使いこなせばかなり強力な処理も可能です。


Photo Ninja

f:id:hp2:20190925222400j:plain
PictureCodeが開発しているRAW画像変換ソフトで、その中の一機能として"Noise Ninja"と呼ばれるノイズ除去機能が搭載されています。元々はNoise Ninjaの開発・販売が先行していて、そこに他の画像調整機能が付け加わってPhoto Ninjaになったという経緯です。64bit版WindowsおよびMacに対応しており、価格は129ドルです。


f:id:hp2:20190925222411j:plain
Noise Ninjaに関して言えば、オプションはやや少なめながらもなかなか高性能な印象で、使いやすいものに仕上がっています。


Topaz DeNoise AI

f:id:hp2:20190925222432j:plain
Topaz Labsが開発しているノイズ除去ソフトです。AIによる高精度なノイズ除去を売りにしています。64bit版WindowsおよびMacに対応しており、PhotoshopLightroomプラグインとしても動作します。価格は79.99ドル。


このソフトには"DeNoise AI"と"AI Clear"という2種類のノイズ除去エンジンが備わっていますが、新しいのは"DeNoise AI"の方です。とはいえ、効果には一長一短があるので、状況に応じて好みの方を使うとよいでしょう。


f:id:hp2:20190925222447j:plain
設定項目はどちらも少なめで、手軽にノイズを除去したい人向けかなという気がします(性能が劣るという意味ではありません)。


なお、このソフトもGPUでの処理に対応しています。AIによる処理は重いので、その意味での恩恵は大きいと思います。



以上、これら5つのソフトを用いて、いくつかのパターンでノイズ除去性能を比べてみたいと思います。


基本的にはデフォルト設定またはAutoで処理していますが、Topaz DeNoise AIについては、Autoの設定ではノイズ除去効果が非常に弱いため、"Remove Noise"のパラメータを0.60まで上げています。また、Neat Imageにおいては、リファレンスとする背景領域を自動で正しく選択できない場合に限り、手動でリファレンス領域を設定しています。以降の実験は、基本的にすべてこの条件で行いました。


一般的な、ノイズありの画像

f:id:hp2:20190925222645j:plain
初めに試してみるのは、このようなよくある天体写真です。


f:id:hp2:20190925222657j:plain
背景の星の数は少なめで、100%のサイズで見てみるとノイズも粒子状の素直な形です。ソフトにとっては比較的処理しやすい画像ではないかと思います。これを上記の各ソフトで処理してみました。


結果はこちら。

f:id:hp2:20190925222716j:plain
仔細に見比べればディテールの再現性などに差はありますが、いずれも大変優秀で甲乙つけがたい結果です。


ここで特に注目すべきはTopaz DeNoise AIで、ノイズが強力に除去されているにもかかわらず星像が一段とシャープになっています。元画像より星像が引き締まっているので、シャープネスフィルターの効きがいいのだと思いますが、星の周りに現れがちな黒縁も目立たず、素晴らしい結果です。強力な処理で現れがちなアーティファクト(人為的な模様)も目立たず、不自然さもほとんど感じません。


光星の多い画像

f:id:hp2:20190925222846j:plain
次は微光星だらけのこの画像。


f:id:hp2:20190925222905j:plain
100%で見るとカラーノイズも非常に多く、さらにディザリングを怠ったせいでノイズパターンがやや筋状になってしまっています。うまく処理できるでしょうか……?


結果はこちら。

f:id:hp2:20190925222925j:plain
こうして見ると、Neat Image、Noisewareの二者が輝度ノイズ、カラーノイズとも目立たず優秀な結果で、Dfine 2がそれに続きます。Neat Imageの場合、ノイズパターンを規定するための背景部分が非常に小さな面積しか取れず、ノイズ除去の精度に不安があったのですが、思いのほかちゃんとノイズを除去してくれた印象です。*5



一方、Photo Ninjaはノイズが除去しきれていません。

f:id:hp2:20190925223057j:plain
"Luminance noise reduction"の"Smoothing"*6を最大値の100まで上げると輝度ノイズはかなり目立たなくなりますが、カラーノイズがまだはっきりと見て取れます。


f:id:hp2:20190925223110j:plain
さらに"Color noise reduction"の"Strength"*7を最大値の100まで上げるとカラーノイズも消えますが、一方で背景の散光星雲に見られる微妙な濃淡も消えてしまい、結果としてはいささか微妙なところです。



Topaz DeNoise AIの結果もちょっと難ありで、カラーノイズの色むらがハッキリと残ってしまっています。

f:id:hp2:20190925223237j:plain
"Remove Noise"を最大値の1まで上げても結果は同様で、色むらが残って変なパターンが星雲部分に現れてしまっています。


f:id:hp2:20190925223249j:plain
Topaz DeNoise AIのもう1つのノイズ除去エンジンである"AI Clear"の方も、縞状の輝度ノイズが顕著で結果はイマイチです。


筋状ノイズの目立つ画像

f:id:hp2:20190925223440j:plain
次は、この筋状のノイズが目立つ画像です。


f:id:hp2:20190925223451j:plain
拡大してみると、左上から右下に走る筋状のパターンが明確です。先の画像もそうでしたが、こうした一方向に伸びるノイズはガイド時にディザリングしなかった場合にしばしば現れます。


一般にガイド撮影を行った場合、たとえ追尾が正確でも、機材のたわみなどによってセンサーに対する星像の位置は徐々にずれていくのが普通です。こうして撮影した画像を星像を基準にコンポジットすると、星像に対するノイズの位置が一方向にずれ、筋状のノイズとなって現れます。*8


こうしたノイズは天体写真でしばしば現れますが、一般的な撮影で見られる粒子状の輝度ノイズやムラ状のカラーノイズとはパターンが異なるため、ソフトによる得手不得手がはっきり現れそうな気がします。


結果はこちら。

f:id:hp2:20190925223514j:plain
いずれもかなり苦戦していますが、比較的良好な結果だったのがDfine 2、Neat Image、Noisewareの三者です。特にDfine 2とNeat Imageは優秀で、背景に暗い縞が若干見えるものの、この程度ならトーンカーブの調整で目立たなくできます。Noisewareも、縞がやや目立つものの傾向としては同様で、パラメータを適切に追い込めば十分にきれいになりそうです。



一方、Photo Ninjaは先の写真の場合と同様、デフォルトの設定ではノイズ除去処理が不十分です。

f:id:hp2:20190925223603j:plain
"Luminance noise reduction"の"Smoothing"、"Color noise reduction"の"Strength"をともに100にすると、輝度ノイズ、カラーノイズともにかなり目立たなくなりますが、星雲のエッジ部分が毛羽立って、やや不自然な印象は否めません。



この画像に対して結果が最も悪かったのはTopaz DeNoise AIで、ノイズパターンに引きずられたのか、まるでゴッホの絵画みたいなすごいことになっています。

f:id:hp2:20190925223626j:plain
"Remove Noise"を最大値の1まで上げると……さらにひどくなりました。ディテールが完全に崩れて、印象派の絵画のようです。


f:id:hp2:20190925223638j:plain
"AI Clear"を使ってみても、筋状パターンがやたらと目立つ傾向は変わりません。こればかりは「画像との相性が悪かった」としか言いようがありません。


ほぼAIまかせで簡単、きれいに処理できるのがこのソフトの強みですが、調整可能なパラメータが少ない分、ひとたび画像が想定条件から外れるとどうにもならない感があります。


ノイズの非常に多い画像

f:id:hp2:20190925224032j:plain
最後は輝度ノイズ、カラーノイズともに非常に多い画像です。


f:id:hp2:20190925224044j:plain
100%で見ると、天体自体がノイズの海に沈みかけて、星雲の境界が分かりづらいほどです。ここまでひどいケースはめったにないとは思いますが、最悪の例として、各ソフトがどこまで粘れるか見ものです。


結果はこちら。

f:id:hp2:20190925224136j:plain
これまたどれも苦戦していますが、ここでも優秀なのはDfine 2、Neat Imageの二者です。残存ノイズの絶対量としてはDfine 2の方がやや多いですが、この程度はパラメータ調整で容易に逆転可能な範囲。逆に、星雲の濃淡の表現についてはDfine 2の方が優れていて、甲乙つけがたい結果です。


これに次ぐのがNoisewareですが、こちらはやや輝度ノイズが目立つ感じ。ノイズ除去処理に伴うアーティファクトも既にこの時点で目に付くので、ノイズ除去のパラメータを強化してもあまりいい結果にはならないかもしれません。とはいえ、このソフトは操作可能なパラメータが多いので、他ソフトに追いつく可能性は十分にあります。



Photo Ninjaは、デフォルト設定ではやはりノイズを取り切れません。

f:id:hp2:20190925224222j:plain
"Luminance noise reduction"の"Smoothing"を100まで上げると輝度ノイズはだいぶ目立たなくなりますが、カラーノイズがまだかなり残っています。


f:id:hp2:20190925224233j:plain
さらに"Color noise reduction"の"Strength"を100にすると、カラーノイズも消えてかなりいい感じなったように見えます。しかし、画像を見比べてみると、星雲の濃淡までがきれいに均されてしまっているのが一目瞭然。これではちょっと困ります。



ノイズが取り切れないのはTopaz DeNoise AIも同様で、カラーノイズがむしろ強調されて目立ってしまっています。一例目ではシャープネスの絶妙な効き方に感心しましたが、明るいカラーノイズが相手だと裏目に出てしまった感じです。

f:id:hp2:20190925224306j:plain
"Remove Noise"を最大値の1まで上げても、輝度ノイズこそややおとなしくなりましたが傾向は変わりません。


f:id:hp2:20190925224323j:plain
その点、"AI Clear"での処理結果はかなりマシですが、筋状のノイズやアーティファクトが目立っていて、Dfine 2やNeat Imageの処理結果と比べると一歩譲ります。


総評

代表的なノイズ除去ソフトを横並びで比較してみましたが、一番弱点が少なそうなのはDfine 2Neat Imageです。どちらも、状況を問わずきれいに処理を行ってくれています。


このどちらを選ぶかですが、純粋に天体写真用のノイズ除去ソフトとして選ぶなら、個人的にはNeat Imageをお勧めしておきます。操作できるパラメータが多くて調整が効きやすいですし、動作が軽快なのも魅力です(GPU利用の場合は特に)。価格も他と比べると格段に安いので、手が出しやすいかと思います。


Dfine 2も性能的には拮抗していますが、ディテールがややぼやけ気味になる傾向があり、また操作可能なパラメータが少ないのでチューニングの余地はそれほど広くありません。とはいえ、前者は事後的なシャープネス処理である程度救えそうですし、後者についてもエンジン自体がかなり優秀そうなので、不足はあまり感じないかもしれません。GoogleがNik Collectionを無料で配布していた頃であれば文句なしにお勧めだったのですが、現在は15000円近い価格がネック。しかし、Nik CollectionにはSilver Efexをはじめとする優秀なツールが同梱されていることを考えれば、十二分にお得感は感じられるかと思います。


Noisewareも性能的には悪くありませんが、スタンドアローン版の提供がないので、事実上Photoshopユーザー限定になります。これも比較的弱点が少ない印象で、選ぶかどうかは個人の好みの範疇になるかと思います。


一方、Photo Ninjaは、ノイズ除去機能に関して言えばやや物足りない結果です。とはいえ、RAW画像変換ソフトとしてみた場合、画像調整に関する様々な機能が揃ってますし、目的によっては一考の価値があるかと思います。また、ノイズ除去機能に関しては、今回の実験条件が変態色モリモリで過酷すぎという面もあるので、そこは割り引いて考えてあげる必要があるでしょう。


最後にTopaz DeNoise AIについてですが、案の定というかなんというか、得手不得手がはっきり出た印象です。ほどほどの輝度ノイズが相手であれば、他を圧する極めて優秀な結果を叩き出しますが、ノイズ強度が顕著だったり、筋状のノイズが相手だと途端に破綻します*9GPUを利用しているにもかかわらず、処理が極めて重いのも欠点で、環境によっては使用自体を断念せざるを得ない場合もありそうです。*10


AIによる画像処理というのは間違いなく今後のトレンドでしょうし、より一層の進化と発展を期待したいところです。


補遺

Twitter経由でこんな質問をいただきました。

そこで、Camera RAWフィルターで処理した場合にどうなるのか、確認してみました。


使用したのはPhotoshop CC リリース20.0.6。2019年9月現在最新のものです。これのCamera RAWフィルターで上記4画像を処理してみます。

f:id:hp2:20190926014435p:plain
パラメータは暫定値として、「ノイズ軽減」の「輝度」を50、「カラー」を50とし、それ以外はデフォルトのままとしています。


結果は以下の通りです。

f:id:hp2:20190926014501j:plain
f:id:hp2:20190926014510j:plain
f:id:hp2:20190926014551j:plain
f:id:hp2:20190926014602j:plain

驚くべきことに、1~3番目についてはかなり優秀な結果で、Dfine 2あたりと比べても決して遜色ありません。厳しく見ると、ややディテールが甘いとか、ノイズの粒状感が残っている部分もありますが、このあたりはパラメータの調整次第の部分があるので、ポテンシャル的には十分だろうと思います。


しかし最後のノイズまみれの画像については、さすがに荷が重かったようです。とはいえ、Photo Ninjaよりちょっと劣るかな?程度の成績は出ていて、まったくもって侮れません。


Photoshop CCは機能更新し続けるのが特徴なので、もしかすると、将来的には既存のノイズ除去ソフトを完全に上回るような性能を獲得しているかもしれません。

*1:今月号の星ナビの記事がきっかけだったりするのですが。

*2:決して、週末に晴れないからムシャクシャしてやったとか、そんなことは……げふんげふん。

*3:ノイズパターンのデータは自作も可能です。ただし天体写真の場合、コンポジットや強調処理の手順が入るのが普通なので、この手のデータは実際のところほぼ使い物になりません。

*4:頭に三角がついている項目は展開可能で、これらを開くとそれぞれ複数のスライダーが現れます。

*5:逆に全自動で処理した場合、適切なリファレンス領域を選択できなかったため、結果は悲惨なことになりました。

*6:初期値は25

*7:初期値は50

*8:ディザリングは、撮影ごとにガイド星の位置を微妙に動かす撮影方法で、ノイズが筋状にならずランダムに散る、コンポジット時にホットピクセルやクールピクセルを統計処理で取り除きやすくなる、といった利点があります。

*9:おそらく学習データの問題なので、今回のようなデータを食わせない限り、一朝一夕には改善は難しいかもしれません。

*10:ちなみに、今回5190×3450ピクセル(約1800万画素)の画像を処理した場合、Ryzen 7 2700X + GeForce GTX 960の環境で約1分かかりました。