DCTとハードしきい値処理


8

画像があり、DCTを見つけて、係数にハードしきい値処理を適用してから、IDCTを適用すると、ノイズが減衰します。誰かが詳細に説明したり、なぜこれが機能するのかについての答えを私に指摘したりできますか?高周波をブロックするフィルターがノイズ除去で機能する理由を理解していますが(ノイズは高周波成分で構成されていると想定しているため)、振幅のしきい値処理が機能するのはなぜですか?

回答:


4

ローパスフィルタリングは、「自然な」画像が高周波数係数よりも低周波数係数でより多くのエネルギーを持っているという仮定に基づいています。一方、ノイズはすべての係数に等しく影響します。したがって、高周波係数を削除すると、信号よりも多くのノイズが比較的除去されます。問題は、エッジなどの画像に「正当な」高周波係数があることです。ローパスフィルタリングによるノイズ除去は、これらの係数を減衰させ、エッジブラーを引き起こします。

マグニチュードスレッシュホールドで使用されるプロパティはスパース性です。「自然な」画像は、周波数領域でゼロ以外の高い係数の小さなセットのみを持つ可能性が非常に高いです。均一な(ピクセルごとに独立した)ノイズを追加することは、すべての周波数係数に小さなランダム値を追加することと同じです。その結果、元の画像で0であったすべての係数の値が小さくなります。元の画像で高かった係数は比較的変更されていません。小さな係数をしきい値処理すると、これらの係数のノイズへの影響がキャンセルされますが、高係数のノイズの影響は回復されません。

エッジをトランジェント/アタックに置き換えると、同じことがサウンドにも当てはまります。


1

次の最適化問題を見てください。

argminx12Axy+λx0

どこにはゼロ以外の要素の数をカウントしています。0

これを解決するために反復ハードしきい値処理を利用できることが知られており、場合によっては正しい解決策を見つけることが保証されています(圧縮センシングの反復ハードしきい値処理を参照)。

ここで、をDCTディクショナリとして使用場合(できますが、多くは可能です)、基本的にこれを解決しようとしています。A

これが最適化の観点です。
これがうまく機能する理由、疎(低自由度)表現の考え方?
まあ、単純な直感は効率です。
適切なツールを使用してそれらを説明する場合、物事は単純でなければなりません。

詳細を調べるのに最適な場所は、eDx-信号と画像処理におけるスパース表現:Michael Eladによる基礎です。


0

DCTはエネルギー圧縮に非常に役立ちます。そのため、画像のDCTがいくつかの基底関数のいくつかに重み付けされて解決された後に単純に配置されます。DCTの後、結果の行列には、各基底関数の乗数が含まれます。そして、一般性を失うことなく、高い値の係数は、人間の目による画像の心理的視覚的認識に大きく貢献するものであると言えます。

低周波ノイズは低周波係数に追加されますが、高周波ノイズは結果として得られる変換された行列の高周波係数の大きさを小さくします。

したがって、変換された行列の大きさのしきい値を設定すると、高大きさの係数の一部ではないすべてのノイズが除去されます。そのため、IDCT後に明らかなノイズがまだ存在しています。

しかし、ここでの主なアイデアは、高周波データが最小限の画像であり、DCTとそれに続くマグニチュードしきい値処理は、通常のハイパスフィルターよりも優れています。画像内の任意の周波数に実画像成分とノイズ成分があり、実画像成分が小さいかゼロである画像を想像できる場合、DCTに続いてマグニチュードしきい値処理を行うと、その周波数成分が除去され、それによりノイズの多い成分を主に対象とします。 。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.