特異値分解を利用した​点群レジストレーショ​ンについて

3 ビュー (過去 30 日間)
ichiro obayashi
ichiro obayashi 2017 年 6 月 29 日
コメント済み: ichiro obayashi 2017 年 6 月 30 日
特異値分解を利用した点群レジストレーションを行いたいと考えています。 点群データは2セット(AとB)あります。 データセットの形は(432*176)です。 各XYZ座標(それぞれ144*176の形のデータセット)と対応点はわかっています。
特異値分解を用いて、対応点に基づくレジストレーションを行う場合どの様な計算を行えばよいのでしょうか? ご教授お願いいたします。

採用された回答

Tohru Kikawada
Tohru Kikawada 2017 年 6 月 29 日
編集済み: Tohru Kikawada 2017 年 6 月 29 日
以前、お答えした内容のデモで特異値分解(SVD)を利用して位置計算をしています。
findRtFromRGBD.m の内容をご確認ください。
%==========================================================================
% Solve the following minimization problem:
% min_{R, T} sum(|R*p+T-q|^2)
%
% p, q are all N-by-d matrix with N data points
%
% The problem is solved by SVD
%==========================================================================
function [R, T] = minimizePointToPointMetric(p, q)
n = size(p, 1);
m = size(q, 1);
% Find data centroid and deviations from centroid
pmean = sum(p,1)/n;
p2 = p - repmat(pmean, n, 1);
qmean = sum(q,1)/m;
q2 = q - repmat(qmean, m, 1);
% Covariance matrix
C = p2'*q2;
[U,~,V] = svd(C);
% Handle the reflection case
R = V*diag([ones(1,size(C,1)-1) sign(det(U*V'))])*U';
% Compute the translation
T = qmean' - R*pmean';
  1 件のコメント
ichiro obayashi
ichiro obayashi 2017 年 6 月 30 日
Tohru Kikawada様 ありがとうございました 早速取り組んでみます

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLIDAR および点群の処理 についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!