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

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

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

ブログ    
ブログ    
ブログ    

推薦する

やがて世界は人工知能に支配されるようになる。ホーキング博士の死後、人工知能の発展に冷水を浴びせるのは誰だろうか?

ホーキング博士は人類に対し、人工知能に対して慎重になるよう警告し続けている。人工知能が発達すると、制...

2024年の人工知能の6つの主要な発展トレンド

テクノロジーが支配する急速に進化する世界では、人間の創造性と人工知能 (AI) の魅力的な融合が中心...

...

AIアライメントを徹底レビュー!北京大学などが800以上の文書から4万語を要約し、多くの著名な学者が執筆を担当した。

要点を一目でAI アライメントは、RLHF/RLAIF などの成熟した基本手法だけでなく、スケーラブ...

人工知能は大腸がんを診断できる:精度は86%にも達する

AIは心臓病の予測やアルツハイマー病の検出など、医療分野で幅広い応用が期待されています。新たな研究に...

...

ディープラーニングを使用して映画を推奨するにはどうすればよいでしょうか?独自の推奨システムを作成する方法を教えます!

導入ほとんどすべての人が、家族や友人と一緒に映画を観ながら余暇を過ごすのが好きです。誰でもこんな経験...

顔認識で間違った人物が「捕まった」ため、その人物は10日間刑務所に収監された

それはとんでもないことだ。何もしてないのに理由もなく10日間警察に拘留されるんですか? ! [[39...

モノのインターネットはスマートな衛生設備を創り出し、都市環境の衛生を細かく管理します

旅行のピーク時に都市環境衛生がより大きな圧力に耐えられるか?清掃車両と清掃作業員をより適切に管理する...

...

Zoomに狂った外国人がビデオ会議ロボットを開発、同僚たちはすでに大笑い

[[321983]]この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI...

2021年に自動運転は私たちをどこへ連れて行くのでしょうか?

[[361430]]文/Quiu Yueye 編集/Tan Lu新年、自動運転は私たちをどこへ連れ...

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

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

...

AI、機械学習、ディープラーニングの違いは何ですか?

人工知能 (AI)、機械学習 (ML)、ディープラーニング (DL) は、重複することが多く、混同さ...