필터 지우기
필터 지우기

Registration using CV Toolbox

조회 수: 1 (최근 30일)
gujax
gujax 2016년 12월 6일
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개)

카테고리

Help CenterFile Exchange에서 Point Cloud Processing에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by