以前、当ブログで GIMP 用ノイズ低減プラグイン Graycstoration の後継プラグインはどこに行った、という質問が上がっているというのを紹介しましたが、今回その後継プラグインである、G'MIC の異方性スムージングツールをつかって、やはりフィルムスキャン画像のノイズ低減を試みます。
異方性
ここで、異方性というなじみのない言葉が出てきますが、この意味は何でしょうか。通常画像処理において、ぼかし(拡散)をかける場合、どの方向性にも等しくぼかしを掛けます(等方性 isotropic)。それにたいして、特定の方向に対してぼかしを掛け、他の方向にはぼかしを掛けない、あるいはぼかす量を少なくすることを、異方性 anisotropic と言います。
この異方性スムージングというツールは、画像のコンテキストから、エッジを検出し、そのエッジの方向に対応してぼかしを掛けるツールです。どの方向にも一律にぼかしを掛けると、エッジもぼけてしまいますが、異方性を考慮してぼかしを掛けることで、画像をぼかす際になるべくエッジを残そうというアルゴリズムです。
但し、異方性を強く反映するとアーティファクトが出やすいので、異方性はなるべく控えめに反映したほうが望ましい結果が得られやすくなります。
GIMP の [フィルター] → [G'MIC-Qt] → [Repair] → [Smoothing [Anisotropic]] を起動します。すると以下のダイアログが表示されます。
以下パラメータの説明です。よくわかっていないものもあります。
Ampliture: 補正量 (画像の拡散量)
画像にスムージングを掛ける (拡散 / ぼかしを掛ける) 量を指定します
Sharpness: シャープネス
Anisotrophy: 異方性
コンテキスト内でエッジを検出したら、そのエッジに沿って画像を拡散させるか (異方性が高い)、それとも、エッジに関係なく拡散させるか (異方性が低い) を指定します。1.0 が最も高く、0.0 が最も低い (等方向にぼかす)。異方性が高いと、アーティファクトが出る可能性が高いです。
Gradient Smoothness: グラデーションの滑らかさ
Tensor Smoothness: テンソルの滑らかさ
以上の2つのパラメータは滑らかさに関するパラメータ。Gradient Smoothness の方が効果が大きいようです
Tensor Smoothness を上げるとコンテキストに方向性が生じるようです
Spacial Precision: 空間の正確性
Angular Precision: 角の正確性
Value Precision: 値の正確性
以上3つのパラメータはディテールの復元に関するパラメータです。但し Value Precision のみ低いほうがディテールが復元されるようです。Value Precision が最も通常のディテールの復元に近く、Angular Precision はエッジがよりはっきりします。Spacial Precision は効果が穏やかです。パラメータの意味はよく分かりません
InterPolation: 補間 Nearest - Neighbor, Linear, Runge-Kutta の3つの内から選ぶようですが、差が良く分かりません。
以下、実行結果です。
若干変なアーティファクトが感じられます。しかし拡大で見なければ結構よいかもしれません。
適用量と、異方性の値を上げると、さらに変なアーティファクトが出ます。ゴッホの絵のような感じです。
比較のため、前回の AI ノイズ低減と ART のスムージングの適用結果を再度掲示します。
AI ノイズ低減の特徴はやはり変なアーティファクトが出にくいということでしょうか。
こちらの方がきめが細かいのは同じです。但し元のテクスチャを残すという意味ではちょっと弱いかもしれません。
もっとテクスチャを残しつつ粒状が細かくなると良いのですが...
-----------
[関連記事]
www.mora-foto.it2010年の情報でちょっと古いですが...