ホームページ > 記事 > テクノロジー周辺機器 > 画像処理タスクでワッサーシュタイン距離はどのように使用されますか?
ワッサーシュタイン距離はアース ムーバーズ ディスタンス (EMD) としても知られ、2 つの確率分布間の差を測定するために使用される測定方法です。従来の KL 発散または JS 発散と比較して、Wasserstein 距離は分布間の構造情報を考慮に入れるため、多くの画像処理タスクで優れたパフォーマンスを示します。 Wasserstein 距離は、2 つのディストリビューション間の最小輸送コストを計算することにより、あるディストリビューションを別のディストリビューションに変換するために必要な最小作業量を測定できます。このメトリクスは、分布間の幾何学的差異を捉えることができるため、画像生成やスタイル転送などのタスクで重要な役割を果たします。したがって、ワッサーシュタイン距離は、確率分布比較や画像処理の分野で広く使用されるツールの 1 つになりました。
Wasserstein 距離は、2 つの画像間の差を測定するために画像処理で使用されます。ユークリッド距離やコサイン類似度などの従来の方法と比較して、画像の構造情報をより適切に考慮できます。画像検索では、通常、クエリ画像に最も類似した画像を見つけたいと考えます。従来の方法では、特徴ベクトルを使用して画像を表し、ユークリッド距離やコサイン類似度などの尺度を使用して画像を比較します。ただし、これらの測定方法は画像間の空間的な関係を無視しているため、画像の変形やノイズなどの状況には適さない場合があります。対照的に、Wasserstein 距離はピクセル間の空間的関係を考慮に入れることができるため、画像間の類似性をより適切に捉えることができます。
以下は、Wasserstein 距離を使用した画像検索の例です。
1000 枚の画像のデータベースがあり、クエリ画像に最も似ている画像を見つけたいとします。画像の各ペア間の差を測定するには、Wasserstein 距離を使用し、距離が最小の画像をクエリ結果として選択します。
まず、ヒストグラムを使用して各ピクセルのグレー レベル分布を表し、グレー レベル値をいくつかの離散間隔に分割し、各間隔量のピクセルをカウントします。このようにして、画像を表す確率分布を取得できます。
10 のグレーレベル間隔を使用して各ピクセルのグレーレベル分布を表すと仮定すると、Python および NumPy ライブラリを使用して各画像のヒストグラム表現を計算できます。
import numpy as np import cv2 # Load query image query_image = cv2.imread('query_image.png', cv2.IMREAD_GRAYSCALE) # Compute histogram hist, _ = np.histogram(query_image, bins=10, range=(0, 255), density=True)
次に、画像の各ペア間の Wasserstein 距離を計算し、距離が最小の画像をクエリ結果として選択できます。
# Load image database database = [] for i in range(1000): img = cv2.imread(f'image_{i}.png', cv2.IMREAD_GRAYSCALE) database.append(img) # Compute Wasserstein distance between query image and each database image distances = [] for img in database: hist2, _ = np.histogram(img, bins=10, range=(0, 255), density=True) distance = cv2.EMD(hist, hist2, cv2.DIST_L2) distances.append(distance) # Find index of image with minimum distance min_index = np.argmin(distances)
この例では、OpenCV の cv2.EMD を使用します。 Wasserstein 距離を計算するライブラリ関数。この関数は 2 つの確率分布を入力として受け取り、それらの間の距離を返します。 cv2.DIST_L2 パラメーターを使用して、距離メトリックとしてユークリッド距離の使用を指定します。
画像検索に Wasserstein 距離を使用する利点は、ピクセル間の空間的関係を考慮できるため、画像間の類似性をより適切に把握できることです。欠点は、計算の複雑さが高いため、大規模な画像データベースを扱う場合には現実的ではない可能性があることです。
要約すると、ワッサーシュタイン距離は、画像検索、画像分類、画像生成などの画像処理のさまざまなタスクに使用できる便利なメトリックです。
以上が画像処理タスクでワッサーシュタイン距離はどのように使用されますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。