ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

registration.metric.MeanSquares クラス

パッケージ: registration.metric

平均二乗誤差メトリクス構成オブジェクト

説明

MeanSquares オブジェクトは、イメージ レジストレーションの問題を解決するために関数 imregister に渡す平均二乗誤差メトリクスの構成を記述します。

構築

metric = registration.metric.MeanSquares()MeanSquares オブジェクトを作成します。

コピーのセマンティクス

値。値クラスがコピー操作に与える影響については、MATLAB® ドキュメンテーションの「オブジェクトのコピー」 (MATLAB)を参照してください。

すべて展開する

MeanSquares オブジェクトを作成し、これを使用して異なるセンサーでキャプチャされた 2 つのイメージのレジストレーションを行います。

一般的に、imregister は透視投影変換をサポートしません。ただし、類似度変換を使用するこの問題については良好な結果を得ることができます。

イメージをワークスペースに読み取ります。

fixed  = imread('westconcordorthophoto.png');
moving = rgb2gray(imread('westconcordaerial.png'));

位置のずれたイメージを表示します。

imshowpair(fixed, moving,'Scaling','joint');

異なるセンサーのイメージのレジストレーションを行うのに適しているオプティマイザー構成オブジェクトを作成します。

optimizer = registration.optimizer.OnePlusOneEvolutionary;

MeanSquares メトリクス構成オブジェクトを作成します。これらのイメージは異なるセンサーでキャプチャされたものですが、強度の関係が十分に類似しているため、平均二乗誤差を類似度メトリクスとして使用できます。

metric = registration.metric.MeanSquares
metric = 

  registration.metric.MeanSquares

  This class has no properties.

許可する反復の数を増やすには、オプティマイザーの MaximumIterations プロパティの値を大きくします。

optimizer.MaximumIterations = 1000;

移動イメージと固定イメージのレジストレーションを行います。

 movingRegistered = imregister(moving, fixed, 'similarity', optimizer, metric);

レジストレーションが行われたイメージを表示します。

figure;
imshowpair(fixed, movingRegistered,'Scaling','joint');

ヒント

  • このメトリクスは、2 つの入力イメージ間の要素単位の差を示します。理想値は 0 です。imregister を呼び出すときに 'DisplayOptimization' を有効にすると、平均二乗誤差の計算値を調べることができます。たとえば、movingRegistered = imregister(moving,fixed,'rigid',optimizer,metric,'DisplayOptimization',true); のようにします。

アルゴリズム

関数 imregister はイメージのレジストレーションで反復処理を使用します。imregister に渡すメトリクスは、レジストレーションの精度を評価するためのイメージ類似度メトリクスを定義します。イメージ類似度メトリクスは、2 つのイメージを取って、イメージがどのくらい類似しているかを記述するスカラー値を返します。imregister に渡すオプティマイザーは、類似度メトリクスを最小化または最大化するための方法論を定義します。

平均二乗のイメージ類似度メトリクスは、各イメージで対応するピクセルの差を二乗し、二乗した差の平均値を取ることで計算します。

関数 imregconfig を使用して、典型的なイメージ レジストレーション シナリオのメトリクス構成を作成します。

この情報は役に立ちましたか?