Registration using CV Toolbox
1 回表示 (過去 30 日間)
古いコメントを表示
Hi, I have two 3D point clouds. The two are partially overlapped i.e., ~<50% of the data has an overlap and the rest does not. By itself the data is nearly well registered. For whatever reasons - I am not getting good registration using pcregrigid. It makes it worse. I have tried all permutations of pcdenoise, pcdownsample and inlier ratio settings. The only condition where I get good registration is by either making tolerance values large [10, 10] or using inlier ratio ~0.3 or less, both of which does not make sense because it means I am asking registration algorithm not to do anything. I have also tried using initial values of tform but to no avail. Does it mean pcregrigid is not robust i.e., needs priori information about how well the data looks registered? Any suggestions are appreciated.
Just as an example of one particular settings:
ptCloudmov = pcdenoise(pointCloud(Data),'Threshold',.2,'NumNeighbors',6);
ptCloudfix = pcdenoise(pointCloud(D_r),'Threshold',.2,'NumNeighbors',6);
ptCloudmov = pcdownsample(ptCloudmov,'random',.5);
ptCloudfix = pcdownsample(ptCloudfix,'nonuniformgridSample',9);
Tf=affine3d([1 0 0 0;0 1 0 0;0 0 1 0;0 0 0 1]);
[tform]=pcregrigid(ptCloudmov,ptCloudfix,'Metric','pointtoPoint','MaxIterations',10000,'ExtraPolate',true,'InlierRatio',0.6,'Tolerance',[.001 .001],'InitialTransform',Tf);
I compare ptCloudfix to
moving_reg = pctransform(ptCloudmov,tform);
0 件のコメント
回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Point Cloud Processing についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!