ウェーブレットを極める(1)

複数のモジュールにわたる手法は、どこかで、まとめて、学習して、整理して置く必要があります。

今回は、ウェーブレットを取り上げます。

最初は、マニュアルのウェーブレット部分の和訳です。


 

ウェーブレット

ウェーブレットは、画像をいくつかの異なるレイヤーに分離(または分解)するために使用され、それぞれに異なる詳細レベルが含まれます。 この方法で画像を分解した後、モジュールはその処理をこれらの詳細レイヤーの1つ以上に制限し、最後にレイヤーを再びつなぎ合わせて出力を形成することができます。 これにより、モジュールを操作するときに画像内のどの機能に影響を与えたいかを外科的に調べることができます。

次の方法でdarktableは、ウェーブレットを実行できます。

  • ノイズ除去noise removal ( [denoise (profiled)]、 [rawノイズ除去 raw denoise]およびコントラストイコライザーcontrast equalizer]モジュール内)

  • コントラスト調整 contrast adjustment ([contrast equalizer]モジュール内)

  • 不要な詳細のぼかしまたは削除([ レタッチretouch]モジュール内)

理論

ウェーブレットは、開始および終了端がゼロの振動する数学関数です。 次の図は、サイズの異なるいくつかの単純なウェーブレットを示しています。

 

f:id:computer_philosopher:20210730215054p:plain

これらのウェーブレット関数は、畳み込みconvolutionと呼ばれる数学演算を使用して画像をスキャンおよび分解するために使用されます。 これにより、特定のウェーブレットのサイズと同様のスケールの詳細が画像から選択され、それぞれが異なるウェーブレットスケールに対応するこれらの詳細レイヤーがいくつか構築されます。

以下は、上の画像から詳細レイヤーを抽出した例です。 この場合、画像は[レタッチretouch]モジュールを使用して作成され、画像を8つの異なるレイヤーに分割し、モジュールの「ウェーブレットスケールの表示」ボタンを使用して各詳細レイヤーを視覚化します。

f:id:computer_philosopher:20210730215121p:plain

ウェーブレット分解wavelet decomposeセクションのバーは、さまざまなウェーブレットスケールで抽出されたレイヤーを示しています。 左側の最も暗い長方形は(分解前の)画像全体を表し、灰色のボックスはそれぞれ分解されたレイヤーの1つを表します。 棒グラフの下にある階段アイコンをクリックすると、レイヤーの視覚化オーバーレイが有効になり、現在選択されているレイヤーがどのように表示されるかを確認できます。

上の画像用に生成されたレイヤーのいくつかを見てみましょう。

スケール#2には、画像にはモデルの眉毛、まつげ、肌の毛穴など、非常に細かいディテールのみが含まれています。 これらの詳細は他のレイヤーに抽出されているため、画像の粗い詳細は含まれていません。

 

f:id:computer_philosopher:20210730215151p:plain

 

スケール#5と#6では、ますます大きなフィーチャアfeaturesが見られるようになります。

f:id:computer_philosopher:20210730215220p:plain

 

f:id:computer_philosopher:20210730215239p:plain

 

スケール#8では、モデルの鼻、目、頬の全体的な形状など、非常に高レベルのフィーチャアfeaturesのみが表示されます。

 

f:id:computer_philosopher:20210730215305p:plain

ウェーブレットを使用する理由?

上記の例で、基になる小規模なテクスチャを失うことなく、モデルの肌のしみの一部を滑らかにしたいとします。 ウェーブレット分解により、この操作は簡単になります。レタッチモジュールを使用して、ガウスぼかしを「斑点のある」詳細レイヤーのみに適用し、他のすべてのレイヤーはそのままにしておくことができます。 調整が完了すると、レタッチモジュールは、調整されたレイヤーを残りの未タッチのレイヤーと単純に再結合して、最終的な画像を生成します。

以下の一連の画像は次のとおりです。(1)元の画像。 (2)ぼかしたいレイヤー(スケール5)。 (3)スケール5レイヤーがぼやけ、レイヤーが再結合された後の最終画像:

f:id:computer_philosopher:20210730215347p:plain

 

f:id:computer_philosopher:20210730215406p:plain

 

f:id:computer_philosopher:20210730215427p:plain

 

ご覧のとおり、大規模な皮膚のしみは取り除かれていますが、小規模な細部はそのままです。

ウェーブレットスケールとの相互作用

処理モジュールでウェーブレットスケールを使用した操作をする方法は2つあります。

ウェーブレット分解

上で説明したように、レタッチ retouchモジュールを使用すると、画像を分割する詳細レベルの数を選択できます。 画像を個別のレイヤーに分解し、個々のレイヤーまたは画像全体に対して選択的に操作を実行できるようにします。

f:id:computer_philosopher:20210730215451p:plain

 

詳細については、[ レタッチretouch ]モジュールのドキュメントを参照してください。

スプライン・コントロール

[ノイズ除去(プロファイル) denoise(profiled)]、[ rawノイズ除去raw denoise ])、および[コントラスト・イコライザイー contrast equalizer*]モジュールを使用すると、スプラインを使用して各ウェーブレットスケールの効果を多少適用できます。

 

f:id:computer_philosopher:20210730215513p:plain

ここで、グラフの各ノードは、左側の粗い詳細から右側の細かい詳細まで、画像内のさまざまな詳細レベルを表しています。 マウスを使用してこれらの各ノードを上下させて、そのウェーブレットスケールでモジュールの効果をそれぞれ増減できます。

曲線を変更するには、ノードの近くの線の少し上または下をクリックして、上下にドラッグします。 マウスホイールでスクロールすると、変更の幅を変更できます。これにより、マウスポインタの下に表示される円のサイズが増減します。 小さな円は、曲線を上下にドラッグした場合の効果が、主に調整中のノードに限定されることを示します。 大きな円は、効果がより広くなり、隣接するノードにますます影響を与えることを示します。 グラフの上にマウスを置くと、影付きの領域は、曲線を変更しようとしたときに影響を受けるスプラインの部分を示します。

 

 

以上です。

 

 前の記事

カラールックアップテーブルで色を乗り越える(2) 2021/07/31

次の記事

darktableでポートレートにクロップする方法 2021/08/2

関連記事

ウェーブレットを極める(3) 2021/08/04

ウェーブレットを極める(2) 2021/08/03