Ultralytics YOLO27: ウェイトリストに登録する
YOLOのライセンス
Ultralytics用語集に戻る

Gaussian Blur

ガウシアンぼかしは、コンピュータービジョンや前処理で、重み付きピクセル平均を用いてノイズや細部を抑える画像平滑化フィルターです。

ガウシアンぼかしは、各ピクセルを周辺ピクセルの重み付き平均に置き換える画像平滑化手法です。近くのピクセルほど大きな重みが与えられます。重みは釣鐘型のガウス分布に従い、ノイズや細部を抑えるソフトなぼかしを生成します。ガウシアン平滑化とも呼ばれ、画像を解析用に整えるため、コンピュータービジョンやデータ前処理で広く使用されています。

ガウシアンぼかしの仕組み#

このフィルターは、カーネルと呼ばれる小さな重みの格子を画像上で移動させます。各位置で、周辺ピクセルの値にそれぞれの重みを掛け、その結果を合計します。この処理は畳み込みです。重みの合計は1になるため、カーネルがサンプリングするすべての値の明るさが同じ場合、ピクセルは変化しません。ガウシアンぼかしはローパスフィルターとして機能し、ノイズ、テクスチャ、鋭い境界など、ピクセル間の急激な変化を抑制します。

結果を決める設定は2つあります。シグマはガウス分布の標準偏差で、重みの広がりを制御します。シグマを大きくすると、平滑化が強くなります。カーネルサイズは、周囲の画像をどの範囲まで含めるかを決めます。カーネルを大きくすると、より広いガウス分布に対応できますが、小さすぎるカーネルでは分布の裾が切り落とされます。カーネル半径は中心からカーネルの端までの距離を示します。半径が3ピクセルの場合、幅7ピクセルのカーネルになります。

画像の境界では、カーネルの一部が利用可能なピクセルの範囲外になります。画像を反射させると周辺の内容が拡張されますが、欠損領域をゼロで埋めると暗い値が加わり、境界が暗くなることがあります。そのため、境界の処理方法によって画像の端付近のフィルター出力が変わります。

コンピュータービジョンと機械学習での用途#

ガウシアン平滑化は、画像構造を解析する空間スケールを制御することで、特徴抽出を支援します。マルチスケールでの利用は、1959~1962年の飯島泰蔵によるガウススケール空間の研究に端を発します。この研究は、さまざまなぼかしレベルで画像を表現するための基礎を確立しました。

scikit-imageのCannyエッジ検出の実装では、ガウシアン平滑化によってノイズを低減してから、Sobel演算子を使って勾配を推定します。平滑化しない場合、ノイズによって生じる追加の輝度変化が物体の境界と競合します。平滑化のスケールを大きくすると細かなエッジも除去されるため、検出後に残る輪郭が変わります。

文書の画像セグメンテーションでは、ガウス重み付き局所平均を用いて適応的なしきい値処理を行えます。各ピクセルのしきい値は、近傍の重み付き平均からオフセットを引いて計算されます。これにより、スキャンしたページの局所的なしきい値処理のように、照明にむらがある場合でもテキストと背景を分離できます。

データ拡張としてガウシアンぼかしを適用すると、バウンディングボックスやキーポイントの座標を保ちながら、トレーニング画像をぼかしたバージョンを作成できます。Ultralytics YOLOは、カスタムAlbumentations変換を通じてA.GaussianBlurをサポートしているため、YOLO26のトレーニングに制御されたぼかしのバリエーションを含められます。

ガウシアンぼかしと他のフィルターの比較#

平滑化手法の選択によって、画像情報の残り方が変わります。

  • 平均ぼかしはボックスぼかしとも呼ばれ、ウィンドウ内のすべてのピクセルに同じ重みを与えます。ガウシアンぼかしは近くのピクセルを重視し、重みがより滑らかに変化する平均を作ります。
  • メディアンぼかしは、ピクセルを近傍の中央値に置き換えます。孤立した明るいピクセルや暗いピクセルによるごま塩ノイズの除去に特に効果的です。
  • バイラテラルフィルタリングは、空間的な距離と輝度の類似度の両方を用いて、鋭い境界を保ちながらノイズを低減します。ガウシアンぼかしは位置だけに基づいてピクセルに重みを付けるため、エッジもぼかします。

Pythonでガウシアンぼかしを適用する#

OpenCVには、ガウシアン平滑化を行うcv2.GaussianBlurが用意されています。pip install opencv-pythonでPythonパッケージをインストールし、並べて比較した画像を保存します。

from urllib.request import urlopen

import cv2
import numpy as np

with urlopen("https://ultralytics.com/images/bus.jpg") as response:
    image_bytes = np.frombuffer(response.read(), dtype=np.uint8)
image = cv2.imdecode(image_bytes, cv2.IMREAD_COLOR)

blurred = cv2.GaussianBlur(image, (15, 15), sigmaX=3)
comparison = cv2.hconcat([image, blurred])
cv2.imwrite("gaussian_blur_comparison.jpg", comparison)

保存した画像では、左側に元の画像、右側に平滑化した結果が配置されます。15 x 15のカーネルでは、sigmaYを省略するとその値がsigmaXになるため、両方向に3ピクセルのシグマが使用されます。

ガウシアンカーネルは分離可能です。水平および垂直方向の1次元フィルターで、対応する2次元のぼかしを生成できます。7 x 7カーネルの場合、ピクセルごとのカーネル重みの寄与を49から14に削減できます。

ソリューションを見る

スポーツにおけるコンピュータービジョン

スポーツにおけるコンピュータービジョン

Ultralytics YOLOが、選手やボールの追跡、パフォーマンス分析、コーチングへの知見、アスリートのリハビリを通じて、スポーツビジョンをどのように支えるかをご紹介します。
詳しく見る
航空画像向けコンピュータービジョン

航空画像向けコンピュータービジョン

Ultralytics YOLOを使用して、ドローンや航空画像をリアルタイムの知見に変換し、農業、水産養殖、自然保護、地理空間分析に活用できます。
詳しく見る
航空宇宙分野のコンピュータービジョン

航空宇宙分野のコンピュータービジョン

Ultralytics YOLOを活用して航空宇宙分野でコンピュータビジョンを導入し、航空機検査、滑走路上のFOD検出、空港の地上業務、複合材の欠陥検出に活用できます。
詳しく見る
セキュリティ分野のコンピュータービジョン

セキュリティ分野のコンピュータービジョン

Ultralytics YOLOモデルであらゆる施設を保護しましょう。ビジョンAIは、周辺監視、脅威検知、ナンバープレート認識、職場の安全管理を支援します。
詳しく見る
ロボティクス分野のコンピュータービジョン

ロボティクス分野のコンピュータービジョン

Ultralytics YOLOモデルで、よりスマートなマシンを実現しましょう。ロボティクスにおけるビジョンAIは、自律ナビゲーション、認識、物体追跡、リアルタイム制御を支援します。
詳しく見る
物流におけるコンピュータービジョン

物流におけるコンピュータービジョン

Ultralytics YOLOモデルで物流を効率化しましょう。ビジョンAIにより、荷物検査、仕分け、車両追跡、倉庫のリアルタイム安全監視を実現します。
詳しく見る
小売業におけるコンピュータービジョン

小売業におけるコンピュータービジョン

Ultralytics YOLOモデルで小売のあり方を変革しましょう。ビジョンAIにより、在庫追跡、棚の監視、行列管理、より高度な顧客インサイトを実現します。
詳しく見る
医療分野におけるコンピュータービジョン

医療分野におけるコンピュータービジョン

Ultralytics YOLOモデルで医療ソリューションを構築しましょう。医療分野のビジョンAIは、医用画像処理の高速化、より高度な診断、患者モニタリングを実現します。
詳しく見る
製造業におけるコンピュータービジョン

製造業におけるコンピュータービジョン

Ultralytics YOLOモデルで製造を最適化しましょう。ビジョンAIは、品質管理、欠陥検出、PPE準拠、組立ラインの自動化を推進します。
詳しく見る
自動車分野におけるコンピュータービジョン

自動車分野におけるコンピュータービジョン

Ultralytics YOLOモデルで自動車分野にコンピュータービジョンを導入しましょう。ビジョンAIは、道路の安全性、運転支援、車両の自動化を向上させ、よりスマートな道路を実現します。
詳しく見る
農業におけるコンピュータービジョン

農業におけるコンピュータービジョン

Ultralytics YOLOモデルでスマート農業にビジョンAIを導入しましょう。作物のモニタリング、家畜の追跡、精密農業を支援し、より高く効率的な収量を実現します。
詳しく見る

AIの未来を一緒に築きましょう!

機械学習の未来に向けた歩みを始めましょう