I have been using the pcregistericp function with MATLAB R2021a to align two 3d scans. So far, through visual inspection, the function has aligned the scans correctly. However, I would like a quantitative measure of the alignment of the two scans. I tried to get the function to return the RMSE using the command found in the MATLAB documentation, [t,rmse] = pcregistericp(moving,fixed). This, however, did not work as the RMSE variable was returned as a point cloud rather than a positive scalar representing the RMSE between the data sets.
At first, I thought the RMSE wasn't being returned because the data sets were not the same size (hence the use of the open form of ICP). To test this theory, I made the two point clouds from the same data set (thus, ensuring that the number of points are the same). After doing this, the RMSE was still not returned.
I would appreciate any insight into this issue.

 채택된 답변

Carter Taylor
Carter Taylor 2023년 6월 23일
편집: Carter Taylor 2023년 6월 23일

0 개 추천

I found this answer on Stack Overflow:
"The problem is already solved. The previous outcome variable "rmse" is actually a point cloud. I tried to modify the variable rmse to the third output argument.
[tform,temp,rmse] =pcregrigid(ptCloud,ptCloud2,'Metric','PointToPoint','Extrapolate',true)"
This seemed to work; however, if anyone has any other solutions, I would be happy to see them.
It should also be noted that making a third argument in [t,rmse,RMSE_Real] = pcregistericp(moving,fixed); returns the rmse of the data and fixes my issue.
I'm just writing this solution here in case anyone is having the same issue!

추가 답변 (0개)

카테고리

도움말 센터 및 File Exchange에서 Image Processing and Computer Vision에 대해 자세히 알아보기

제품

릴리스

R2021a

질문:

2023년 6월 23일

편집:

2023년 6월 23일

Community Treasure Hunt

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

Start Hunting!

Translated by