您现在的位置:首页 >> 技术文章 >> FPGA技术 >> 内容

MATLAB代做|FPGA代做|python代做-222基于ICP算法的三维点云数据拼接算法的实现

时间:2021-9-16 5:13:09 点击:

  核心提示:MATLAB代做|FPGA代做|python代做-基于ICP算法的三维点云数据拼接算法的实现...

1.问题描述:

通过合并比例因子引入标准迭代最近点(ICP)算法中,我将配准问题转化为一个7D的约束优化问题非线性空间。然后,我们应用奇异值分解(SVD)一种迭代求解此类优化问题的方法。最后,建立了一种新的ICP配准算法,称为Scale-ICP算法具有各向同性拉伸的数据集。为了实现算法的全局收敛性,我们提出了一种初始注册的选择方法。证明所提出的方法的性能和效率算法中,我们给出了几个与Scal算法的比较实验


2.部分程序:

 

function c = Solvecircle(s,R,T,I,X,Y,Yo)


pointx = length(X(1,:));

%pointy = length(Y(1,:));

%X进行变化X--Xo--接近Y

Xo = s*R*X+repmat(T,[1 pointx]);


%dsearchn求Z,即Y中对应X的数据

k = dsearchn(Y',Yo,Xo');

Z = Y(:,k);


%计算当前ek差值

en = computeE(s,R,T,X,Z);

%计算H矩阵

xc = mean(X,2); %xc,zc为坐标中点

zc = mean(Z,2);

%H = zeros(3,3);

% 计算Xi,Zi

Xi = X - repmat(xc,[1 pointx]);

Zi = Z - repmat(zc,[1 pointx]);


%计算Rk+1

Rn = computeR(Xi,Zi);

%计算s-k+1 

sn = computeS(I,Rn,Xi,Zi);

%计算Tk+1

Tn = computeT(zc,sn,Rn,xc);

%对于k+1数据的e,fn

fn = computeE(sn,Rn,Tn,X,Z);

c = cell({Rn;Tn;sn;en;fn});

end

 

%计算Rk+1

function Rn=computeR(Xi,Zi)

H = Xi*(Zi');

[U S V] = svd(H);

if round(det(V*U')) == 1

    Rn = V*U';

elseif round(det(V*U')) == -1

    x = [1 0 0;0 1 0;0 0 -1];

    Rn = V*x*U';

end

end


%计算sk+1

function sn = computeS(I,Rn,Xi,Zi)

sn = sum(dot(Rn*Xi,Zi))/sum(dot(Xi,Xi));

if sn <=  I(1)

    sn = I(1);

elseif sn >= I(2)

    sn = I(2);    

end

end



%计算Tk+1

function Tn = computeT(zc,sn,Rn,xc)

Tn = zc - sn*Rn*xc;

end



%计算Ek+1

function e = computeE(s,R,T,X,Z) 

pointx = length(X(1,:));

c = s.*(R*X)+repmat(T,[1 pointx])-Z;

e = sum(dot(c,c));

end

————————————————

 


联系:highspeedlogic

QQ :1224848052

微信:HuangL1121

邮箱:1224848052@qq.com

网站:http://www.mat7lab.com/

网站:http://www.hslogic.com/

微信扫一扫:

Tags:ICP算法 
作者:ICP算法 来源:ICP算法
  • 您是如何找到本站的?
  • 百度搜索
  • Google搜索
  • 查阅资料过程中
  • 论坛发现
  • 百度贴吧发现
  • 朋友介绍
本站最新成功开发工程项目案例
相关评论
发表我的评论
  • 大名:
  • 内容:
  • matlab代做|matlab专业代做|matlab淘宝代做|python人工智能代做|FPGA项目合作|C代做|C++代做(www.hslogic.com) © 2021 版权所有 All Rights Reserved.
  • Email:highspeed_logic@163.com 站长QQ: 1224848052

    专业代做/代写/承接、MATLAB、SIMULINK、FPGA项目、博士/硕士/本科毕业设计、课题设计、论文,毕业论文,Coursework、Eassy、Assignment