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

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

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

ブログ    

推薦する

...

...

AIは中国のインターネットを狂ったように汚染している

AIは中国のインターネットを汚染する「犯人」の1つとなった。問題はこれです。最近、誰もが AI に相...

...

自動運転の未来 - 4Dミリ波レーダー

現在、自動運転車の知覚の実現は、車両に搭載されたレーザーレーダー、車載カメラ、ミリ波レーダーなどのセ...

清華大学の卒業生は大きな貢献をしました! Google、14のタスクで初の大規模一般医療モデルSOTAをリリース

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

最初のRISC-Vラップトップが公開される、またはWindowsシステムが搭載されると思われますが、年末までに利用可能になりますか

チップ業界では、Armとx86が現在の主流のアーキテクチャであり、オープンなRSIC-Vが将来の方向...

Kubernetes 上で生成 AI アプリケーションをデプロイするためのステップバイステップ ガイド

翻訳者 |李睿レビュー | Chonglou今日の急速に変化するテクノロジーと市場環境では、人工知能...

K2 K2、上海交通大学チームが70億パラメータの地球科学言語モデルを発表

地球科学は、岩石、鉱物、土地の特性を研究するだけでなく、地球の気候、海洋、大気、生態系などの現象と原...

国産初のオープンソースMoE大型モデルが登場!パフォーマンスはLlama 2-7Bに匹敵し、計算量は60%削減されます。

オープンソースのMoEモデルがついに国内初のプレイヤーを迎えます!そのパフォーマンスは高密度の Ll...

あなたのビジネスに最適なRPAコンサルタントを見つける方法

RPA 導入を成功させるために、この記事では、ビジネスに最適な RPA コンサルタントを選択するプロ...

ドローンの墜落を防ぐにはどうすればいいですか?

「墜落」とは模型飛行機の用語です。簡単に言うと、模型飛行機が不適切な操作や機械の故障により異常に地...

1 つの記事でクラスタリング アルゴリズムを理解する

1. クラスタリングの基本概念1.1 定義クラスタリングはデータマイニングにおける概念であり、特定の...

...