Polyblur:過去に撮影した写真からノイズとピンボケを除去(2/2)

アプリケーション

1.Polyblur:過去に撮影した写真からノイズとピンボケを除去(2/2)まとめ

・プルプッシュ手法ではフィルターサイズが大きくなっても負荷が急劇に大きくなる事はない
・扱いやすく一貫した結果が得られるため比較的穏やかなぼかしを除去ターゲットにしている
・これらの技術はGoogleフォトの画像エディタからノイズ除去とシャープ化として実行可能

2.Polyblurとpull-push

以下、ai.googleblog.comより「Take All Your Pictures to the Cleaners, with Google Photos Noise and Blur Reduction」の意訳です。元記事は2021年6月28日、Mauricio DelbracioさんとSungjoon Choiさんによる投稿です。

アイキャッチ画像のクレジットはPhoto by Eliyah Reygaerts on Unsplash

プルプッシュ方式で選択的にノイズを低減

画像全体から取得した各区画の自己相似性を利用して、忠実度の高いノイズ除去を行います。

このようないわゆる「非局所的(non-local)」ノイズ除去の背後にある一般的な原理は、ノイズの多い画素は、同様な局所構造を持つ画素で平均化することによってノイズ除去できるということです。

ただし、このアプローチでは、同様な局所構造を持つ画素を総当たり検索する必要があり、通常、高い計算コストが発生し、オンデバイスでの使用には実用的でありません。

私たちの「プルプッシュ(pull-push)」手法では、空間全体で効果的に情報を伝播するため、アルゴリズムの複雑さがフィルターサイズによる負荷から切り離されています。

プルプッシュの最初のステップは、イメージのピラミッド(つまり、画像のマルチスケール表現)を構築することです。積み重なった各レベルは、「プル」フィルター(ダウンサンプリングに類似)によって再帰的に生成されます。

このフィルタは、画素毎の重み付けスキームを使用して、区画毎の類似性と推定ノイズに基づいて既存のノイズの多い画素を選択的に結合し、連続する各「粗い」レベルでノイズを低減します。

より粗いレベル(つまり、より低い解像度)の画素は、より高い解像度の「より細かい」レベルから互換性のある画素のみをプルして集約します。

これに加えて、より粗いレイヤーの各併合された画素には、それを生成するために使用された類似性の重みから計算された推定信頼性測定値も含まれています。

したがって、併合された画素は、画像とその局所統計の単純な画素毎、レベル毎の特性評価を提供します。この情報を各レベル(つまり、各空間スケール)に効率的に伝播することにより、マルチスケール方式で増大する大きな領域の近隣統計モデルを追跡できます。

プルステージが最も粗いレベルに評価された後、「プッシュ」ステージは結果を融合し、最も粗いレベルから開始して、より細かいレベルを繰り返し生成します。所定のスケールで、プッシュステージはプルステージと同様のプロセスに従って「フィルタリングされた」画素を生成しますが、粗いレベルから細かいレベルに移行します。

各レベルの画素は、それぞれの信頼性の重みを使用して、より粗いレベルのフィルタリングされた画素とともに同じレベルの画素の加重平均を行うことにより、より粗いレベルの画素と融合されます。これにより、平均的な信頼できる情報のみが含まれるため、局所構造を維持しながら画素ノイズを削減できます。この選択的なフィルタリングと信頼性(つまり情報)のマルチスケール伝播が、プッシュプル手法を既存のフレームワークとは異なるものにします。


この一連の画像は、プルプッシュプロセスを通じてフィルタリングがどのように進行するかを示しています。固定(データに依存しない)カーネルを使用する従来のマルチスケールアプローチとは対照的に、粗いレベルの画素は、より細かいレベルから互換性のある画素のみをプルして集約します。各段階でノイズがどのように減少していっているかに注目してください。

プルプッシュ手法は、計算コストが低くなります。類似画素を選択的にフィルタリングするアルゴリズムだからです。非常に大きな範囲では複雑性が増しますが、それでも画像の画素数に対して線形に増加します。

実際には、このノイズ除去アプローチの品質は、カーネル負荷がはるかに大きい従来の非局所手法に匹敵しますが、その計算コストのほんの一部で動作します。



プルプッシュノイズ除去法を使用して画像を改良した例

画像はどのくらいぼやけているのでしょうか?

シャープネスの低い画像は、手つかずのままの画像がぼかしカーネルの影響を受けた画像であると考えることができます。したがって、ぼかしカーネルを識別できれば、それを使用して影響を減らすことができます。これは、「ぼけ除去(deblurring)」と呼ばれます。つまり、特定の画像上の特定のカーネルによって引き起こされる望ましくないぼけ効果の除去または低減です。

対照的に、「鮮明化(sharpening)」とは、特定の画像やぼかしカーネルを参照せずに、ゼロから作成されたシャープニングフィルターを適用することを指します。一般的なシャープニングフィルターは、通常、画像の他の部分からの情報を参照しない局所的操作ですが、ブレ除去アルゴリズムは、画像全体からブラーを推定します。

すでに鮮明な画像に適用すると画質が低下する可能性がある任意の鮮明化とは異なり、画像自体から正確に推定されたブラーカーネルを使用して鮮明な画像のぼけを除去しても影響はほとんどありません。

私達は特に、比較的穏やかなぼかしをターゲットにしています。これは、技術的に扱いやすく、計算効率が高く、一貫した結果が得られるためです。ブラーカーネルを異方性(楕円)ガウスカーネルとしてモデル化します。これは、ブラーの強度、方向、アスペクト比を制御する3つのパラメーターで指定されます。


ガウスぼかしモデルとぼかしカーネルの例
右側のグラフの各行は、σ0、ρ、およびθの可能な組み合わせを表しています。それぞれに3つの異なるρ値を持つ3つの異なるσ0値を示します。

ユーザーが気づくような遅延なしにボカシを計算して削除するには、既存のアプローチよりもはるかに計算効率の高いアルゴリズムが必要です。これは通常、モバイルデバイスでは実行できません。

私たちは興味をそそる経験的観察に頼っています。鮮明な画像の任意の点でのすべての方向にわたる画像勾配の最大値は、特定の分布に従うと言う事です。最大勾配値を見つけることは効率的であり、与えられた方向のぼけの強さの信頼できる推定値を生み出すことができます。この情報が手元にあれば、ぼけを特徴付けるパラメータを直接復元できます。

ポリブラー:再ブラーによるブラーの除去

推定されたぼけが与えられたときに鮮明な画像を復元するには、(理論的には)数値的に不安定な逆問題(つまり、ぼけ除去)を解決する必要があります。 反転の問題は、ぼかしの強さとともに指数関数的に不安定になります。そのため、軽度のブレ除去の場合を対象としています。

つまり、手元の画像が実際の修復を超えるほどぼやけていないことを前提としています。 これにより、より実用的なアプローチが可能になります。演算のさまざまな再適用を注意深く組み合わせることで、その逆数を概算できます。



これらの例に示されているように、軽度のぼけは、推定されたぼけを複数回適用して組み合わせることによって効果的に取り除くことができます。

これは、直感に反して、推定されたぼかしカーネルを使用して画像を数回再ぼかしすることで、画像のぼかしを解除できることを意味します。

(推定された)ブラーの各適用は1次多項式に対応します。繰り返し適用する事(加算または減算)は多項式の高次項に対応します。このアプローチの重要な側面は、ポリブラー(polyblur)と呼ばれ、ブラー自体を数回適用するだけでよいため、非常に高速であるということです。

これにより、一般的なモバイルデバイスでメガピクセル画像をほんの一瞬で操作できます。多項式の次数とその係数は、ノイズやその他の不要な人工物をブーストすることなくブラーを反転するように設定されています。


ぼけ除去された画像は、推定されたぼけ(ポリブラー)の複数の再適用を加算および減算することによって生成されます。

Googleフォトとの統合

ここで説明したイノベーションは統合され、Googleフォトの画像エディタで「ノイズ除去(Denoise)」と「シャープ(Sharpen)」と呼ばれる2つの新しい調整スライダーでユーザーが利用できるようになりました。

これらの機能により、ユーザーはあらゆる撮影機器で撮影した日常を切り取った画像の品質を向上させることができます。多くの場合、これらの機能は相互に補完し合うため、ノイズ除去による不要な人工物の低減と、シャープ化による被写体の鮮明さの向上の両方が可能になります。

最良の結果を得るには、このツールのペアを画像で組み合わせて使用してみてください。ここで説明する作業の詳細については、ポリブラーとプルプッシュノイズ除去に関する論文をご覧ください。ノイズ除去とシャープニングの効果の例を間近で見るには、このアルバムの画像をご覧ください。

謝辞

著者は、Ignacio Garcia-Dorado、Ryan Campbell、Damien Kelly、Peyman Milanfar、およびJohnIsidoroの貢献に感謝します。また、Navin Sarma、Zachary Senzer、Brandon Ruffin、MichaelMilneからのサポートとフィードバックにも感謝しています。

3.Polyblur:過去に撮影した写真からノイズとピンボケを除去(2/2)関連リンク

1)ai.googleblog.com
Take All Your Pictures to the Cleaners, with Google Photos Noise and Blur Reduction

2)arxiv.org
Polyblur: Removing mild blur by polynomial reblurring

3)ieeexplore.ieee.org
A pull-push method for fast non-local means filtering

4)photos.google.com
Some Examples of Denoising and Deblurring

タイトルとURLをコピーしました