[ros-users] pcl normals

Forside
Vedhæftede filer:
Indlæg som e-mail
+ (text/plain)
Slet denne besked
Besvar denne besked
Skribent: Michael Krainin
Dato:  
Til: ros-users
Emne: [ros-users] pcl normals
After switching from point_cloud_mapping to pcl, I noticed that the
normals I was getting for point clouds were of noticeably worse
quality.

I ended up doing a side-by-side comparison of the outputs of
cloud_geometry::nearest::computePointNormal and
pcl::NormalEstimation::computePointNormal. I found differences in
resulting normals of as much as 30 degrees.

After further debugging, I traced the problem down to the performance
of Eigen::SelfAdjointEigenSolver when using Matrix3f rather than
Matrix3d (recall that point_cloud_mapping used Matrix3d for covariance
and pcl uses Matrix3f). I have filed a bug report with eigen
(http://bitbucket.org/eigen/eigen/issue/149/selfadjointeigensolver-matrix3f-vs).

For now, I would very strongly recommend changing covariance_matrix_
in pcl/features/normal_3d.h to an Eigen::Matrix3d and adjusting
functions that use it accordingly. I have done so in my local copy,
and can confirm that it fixes the problem.

-Michael Krainin