Ruan Yifeng: ガウスぼかしアルゴリズム

Ruan Yifeng: ガウスぼかしアルゴリズム

通常、画像処理ソフトウェアには、画像にぼかし効果を加えるための「ぼかし」フィルターが用意されています。

「ぼかし」アルゴリズムは多数ありますが、そのうちの 1 つは「ガウスぼかし」と呼ばれます。画像処理には正規分布(「ガウス分布」とも呼ばれます)を使用します。

この記事では「ガウスぼかし」アルゴリズムを紹介します。これは非常にシンプルで理解しやすいアルゴリズムであることがわかります。本質的には、これは多くの場面に適用できるデータ平滑化技術であり、画像処理は直感的な応用例を提供します。

1. ガウスぼかしの原理

いわゆる「ぼかし」は、各ピクセルが周囲のピクセルの平均値を取るものとして理解できます。

上の図では、2 が中央の点であり、周囲の点はすべて 1 です。

「中間点」は「周囲の点」の平均をとって 1 になります。数値的には、これは一種の「平滑化」です。グラフィック的には、これは「ぼやけた」効果に相当し、「中間点」の詳細が失われます。

当然ですが、平均を計算する際の値の範囲が広くなればなるほど、「ぼかし効果」は強くなります。

上記は、元の画像、ぼかし半径 3 ピクセル、ぼかし半径 10 ピクセルの画像です。ぼかし半径が大きいほど、画像はぼやけます。数値的に見ると、値はより滑らかになります。

次の質問は、各ポイントは周囲のピクセルの平均値を取る必要があるため、重みはどのように割り当てるべきかということです。

単純な平均化を使用する場合、画像は連続しており、点が近いほど関係が近くなり、点が遠いほど関係が遠くなるため、明らかにあまり合理的ではありません。したがって、加重平均の方が合理的であり、ポイントが近いほど重みが大きくなり、ポイントが遠いほど重みが小さくなります。

2. 正規分布の重み

正規分布は明らかに望ましい重量分布パターンです。

グラフ上では、正規分布はベル型の曲線です。中心に近いほど値は大きくなり、中心から離れるほど値は小さくなります。

平均値を計算するときは、「中心点」を原点として使用し、正規曲線上の位置に応じて他の点に重みを割り当てるだけで、加重平均値が得られます。

3. ガウス関数

上記の正規分布は 1 次元ですが、画像は 2 次元なので、2 次元の正規分布が必要です。

正規分布の密度関数は「ガウス関数」と呼ばれます。その 1 次元形式は次のとおりです。

ここで、μ は x の平均、σ は x の分散です。平均を計算する場合、中心点が原点となるため、μ は 0 になります。

1 次元ガウス関数に従って、2 次元ガウス関数を導出できます。

この関数を使用すると、各ポイントの重みを計算できます。

4. 重みマトリックス

中心点の座標が (0,0) であると仮定すると、それに最も近い 8 つの点の座標は次のようになります。

[[98012]]

その他のポイントも同様です。

重み行列を計算するには、σ の値を設定する必要があります。 σ=1.5 と仮定すると、ぼかし半径 1 の重み行列は次のようになります。

これら 9 つのポイントの重みの合計は 0.4787147 です。これら 9 つのポイントの加重平均のみを計算する場合、それらの重みの合計は 1 に等しくなければなりません。したがって、最終的な重みマトリックスを取得するには、上記の 9 つの値を 0.4787147 で割る必要があります。

5. ガウスぼかしを計算する

重みマトリックスを使用すると、ガウスぼかし値を計算できます。

ピクセルが 9 個あり、グレースケール値 (0 ~ 255) が次のとおりであると仮定します。

各ポイントには、そのポイント独自の重み値が掛けられます。

得る

これら 9 つの値を合計したものが中心点のガウスぼかし値になります。

このプロセスをすべてのポイントに対して繰り返すと、ガウスぼかし画像が得られます。元の画像がカラー画像の場合、3 つの RGB チャネルに対して個別にガウス ブラーを実行できます。

6. 境界点の処理

ある点が境界上にあり、その周囲に十分な点がない場合はどうなるでしょうか?

回避策としては、既存のポイントを反対側の対応する位置にコピーして、完全なマトリックスをシミュレートします。

オリジナルリンク: http://www.ruanyifeng.com/blog/2012/11/gaussian_blur.html

<<:  すべての最大共通部分列を見つけるためのアルゴリズムの実装

>>:  ルーティングテーブルとルーター選択アルゴリズム

ブログ    

推薦する

機械学習におけるよくある間違い

序文エンジニアリングでは、キーバリューストアを構築する方法が複数あり、それぞれの設計では使用パターン...

タオバオ:電子商取引環境における強化学習のいくつかのアプリケーションと研究に関する30,000語の詳細な分析

背景検索技術が発展するにつれ、検索シナリオにおける教師あり学習アルゴリズムの限界が徐々に認識されるよ...

マイクロソフトCEOナデラ氏:AIはルールを変えるインターネットの波のようなもの

8月18日、マイクロソフトが人工知能(AI)技術の研究開発に注力し、OpenAIに100億ドル以上を...

...

マイクロソフトは、AIチップが十分に入手できない場合、データセンターのサービスが中断される可能性があると警告している

CNBCによると、7月29日、マイクロソフトは最近発表した財務報告書の中で、データセンターのサービス...

...

AI技術のアップグレード:2022年に最も人気のある人工知能技術トップ10

AI人工知能技術は、電子商取引、物流、輸送、工業など、多くの業界で応用されています。人工知能は、あ...

TimePillars: 200メートルを超える小さなターゲットの検出能力の向上

この記事は、Heart of Autonomous Driving の公開アカウントから許可を得て転...

...

外国メディアが報じたところによると、EUはデータプライバシーを弱めるため、エンドツーエンドの暗号化にバックドアを検討している。

インド、米国、英国、オーストラリアに続き、エンドツーエンドの暗号化は欧州連合から厳しい監視を受けてい...

新人機械学習エンジニアが犯しがちな6つの間違い

機械学習やデータサイエンスのプロジェクトに取り組む際に、初心者がよく犯す間違いにはどのようなものがあ...

.NET8 究極のパフォーマンス最適化 プリミティブ - DateTime

序文前回の記事では列挙型の最適化について説明しました。今回は時刻形式である DateTime の最適...