How to return the RMSE using the pcregistericp function?

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 ExchangeMATLAB Support Package for USB Webcams についてさらに検索

製品

リリース

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by