Main Content

イメージのガイド付きフィルター処理とは

ガイド付きイメージ フィルター処理では、ガイド イメージと呼ばれる別のイメージからのコンテキストを使用して、イメージ フィルター処理の出力に影響を与えます。他のフィルタリング演算と同様に、ガイド付きイメージ フィルター処理は近傍演算です。ただし、ガイド付きイメージ フィルター処理では、出力ピクセルの値を計算するときに、ガイド イメージ内の対応する空間近傍にある領域の統計を考慮します。ガイド イメージとして使用できるのは、対象のイメージ自体、別バージョンのイメージ、まったく異なるイメージのいずれかです。さまざまなガイド イメージを選択することで、カラーライゼーション、イメージ マッティング、フラッシュあり/フラッシュなしのノイズ除去、エッジ保存型フィルター処理などのさまざまなイメージ処理演算を実行できます。

A pixel in the output image is calculated using the neighborhood around the corresponding pixel in the input image and the same neighborhood in the guidance image.

アルゴリズム

ガイド イメージ G を使用してイメージ A をフィルター処理する場合、ガイド付きイメージ フィルター処理は、入力イメージ A のピクセル i の値とその空間近傍、およびガイド イメージ G の対応するピクセルとその空間近傍を使用して、出力 B のピクセル i の値を決定します。ガイド イメージ G が入力イメージ A と同じ場合、出力イメージ B の構造は入力イメージ A と同じままになります。ガイド イメージ G が入力イメージ A と異なる場合、ガイド イメージ G の構造が出力イメージ B に影響を与え、これらの構造が入力イメージ A に刷り込まれることになります。この効果は "構造転写" と呼ばれます。

出力イメージ B は、局所的には、ガイド イメージ G の線形変換です。

bi=xkgi+yk,iωk

bi と gi は、それぞれ BG の i 番目のピクセルです。xk と yk は、アルゴリズムが一定であると仮定する場合の正方形ウィンドウ ωk 内の係数です。

関数 imguidedfilter は、線形変換の重みを最適化して、入力イメージ A と出力イメージ B の間の誤差 E を最小化します。

E=iωk((xkgi+ykai)2+εxk2)

aiA の i 番目のピクセルです。ε は、ガイド イメージ G が出力イメージ B に与える影響度を制御する正規化パラメーターであり、平滑化の度合いに相当します。

ε に高い値を指定する場合、コスト関数を最小化するために、係数 xk を小さくし、yk を入力イメージ A のピクセル ai の値に近づけなければなりません。この xk と yk の値により、ガイド イメージ G の影響度が低減され、出力イメージ B がより滑らかになります。一方、ε に低い値を指定する場合は、係数 xk に大きな値を指定できます。これにより、ガイド イメージ G の影響度が増し、出力イメージ B の滑らかさが低下します。関数 imguidedfilter を使用する場合、名前と値の引数 DegreeOfSmoothing を調整することで ε の値を制御し、名前と値の引数 NeighborhoodSize を指定することでフィルター処理に対する近傍の影響度を制御できます。近傍のサイズはウィンドウ ωk の半径です。

用途

さまざまなガイド イメージを選択することで、カラーライゼーション、イメージ マッティング、フラッシュあり/フラッシュなしのノイズ除去、エッジ保存型フィルター処理などのさまざまなイメージ処理演算を実行できます。

  • カラーライゼーション — イメージのさまざまな部分に対話的に希望の色を付けたグレースケール イメージがある場合、その希望の色を使用してイメージ全体に色付けすることができます。入力イメージ A としてイメージの色差チャネルを使用し、構造に適用するガイド イメージ G として輝度チャネルを使用します。

  • イメージ マッティング — RGB イメージのアルファ マット データを強調して、細い構造をキャプチャできます。入力イメージ A としてアルファ マットを使用し、構造に適用するガイド イメージ G として RGB イメージを使用します。

  • フラッシュあり/フラッシュなしのノイズ除去 — フラッシュなしで撮影されたイメージはノイズが発生しやすくなります。フラッシュを使用して撮影した対応するイメージを使用して、フラッシュなしのイメージのノイズを除去できます。入力イメージ A としてフラッシュなしのイメージを使用し、構造に適用するガイド イメージ G としてフラッシュありのイメージを使用します。

    From left to right, a no-flash image, a corresponding image taken with a flash, and a flash/no-flash denoised version of the first image.

    ガイド付きフィルターを使用したフラッシュあり/フラッシュなしのノイズ除去の例については、ガイド付きフィルターを使用したフラッシュあり/フラッシュなしのノイズ除去の実行を参照してください。

  • エッジ保存型フィルター処理 — 入力イメージ A と同じイメージおよびガイド イメージ G を使用して、エッジを保存しながらイメージをフィルター処理できます。

    Edge-preserving filtering using guided image filter

    ガイド付きフィルターを使用したエッジ保存型フィルター処理の例については、エッジ保存型フィルター処理が行われたサーモグラフィ イメージのセグメント化を参照してください。

参照

[1] He, Kaiming, Jian Sun, and Xiaoou Tang. “Guided Image Filtering.” IEEE Transactions on Pattern Analysis and Machine Intelligence 35, no. 6 (June 2013): 1397–1409. https://doi.org/10.1109/TPAMI.2012.213.

参考

関連するトピック