Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

无法进入优化步骤,报错[pcl::KdTreeFLANN::setInputCloud] Cannot create a KDTree with an empty input cloud! #94

Open
Goughhhhhh opened this issue Aug 10, 2023 · 4 comments

Comments

@Goughhhhhh
Copy link

运行自己的录制的数据(Livox Avia录制的pcd点云和D4354i录制640×480分辨率的影像)时报错:[pcl::KdTreeFLANN::setInputCloud] Cannot create a KDTree with an empty input cloud!
image
导致无法进入优化程序,具体表现为没有输出点云-图像残差图以及没有点云叠加的优化窗口,如下图所示:
image
image
排除了点云路径错误、点云话题名称错误以及点云密度过于稀疏等#19 Issue和#84 Issue中提到的可能的错误,即能读取并在rviz上显示就说明点云路径和话题名称没错,能提取到足够多的线特征(红色的线条)就说明点云密度达到标定要求(为此我还对比了项目demo中3.pcd的点云密度,我采集的点云数量远高于demo中的点云数量),如下图所示。但是问题依然没有得到解决。
image
当我把D435i的影像分辨率改为和作者demo中提供的影像分辨率1920×1080,并在相同环境、相同位置录制数据后,程序正常运行了!请问作者和各位大佬们,这可能是什么问题?如果想用640×480分辨率的影像进行标定,我该怎么做?
回复为盼。祝大家好!

@tdcsu
Copy link

tdcsu commented Dec 1, 2023

First, I fixed the livox avia at a certain location,
then I ran the fast_lio to get a denser registration of pointcloud.
At the same time, the images from a sub_cam with resolution 640x480 were recored.
After that, I ran the calibration based on the last frame image and the cloud registration, and successfully get a not bad result.

As you can see from the figures below, the topleft is the color_pcd, the bottom is the cloud regidtration by fast_lio based on livox avia, and the right is the image from usb_cam.
cali
Here is my senser setup:
87e5c2c0803782741ad0c109ad8733a

@tdcsu
Copy link

tdcsu commented Dec 1, 2023

First, I fixed the livox avia at a certain location, then I ran the fast_lio to get a denser registration of pointcloud. At the same time, the images from a sub_cam with resolution 640x480 were recored. After that, I ran the calibration based on the last frame image and the cloud registration, and successfully get a not bad result.

As you can see from the figures below, the topleft is the color_pcd, the bottom is the cloud regidtration by fast_lio based on livox avia, and the right is the image from usb_cam. cali cali Here is my senser setup: 87e5c2c0803782741ad0c109ad8733a

so i think if the density of your point cloud is not enough.

@bearmeetu
Copy link

运行自己的录制的数据(Livox Avia录制的pcd点云和D4354i录制640×480分辨率的影像)时报错:[pcl::KdTreeFLANN::setInputCloud] 无法创建具有空输入云的KDTree! 图像 导致无法进入优化程序,具体表现为没有输出点云-图像残差图以及没有点云叠加的优化窗口,如下图所示: 图像 图像 排除了点云路径错误、点云话题名称错误以及点云密度过于稀疏等#19 Issue和#84 Issue中提到的可能的错误,即能读取并在rviz上显示就说明点云路径和话题名称没错,能提取到足够多的线特征(红色的线条)就说明点云密度达到标定要求(为此我还对比了项目demo中3.pcd的点云密度,我采集的点云数量远高于demo中的点云数量),如下图所示。但是问题依然没有得到解决。 图像 当我把D435i的影像分辨率改为和作者demo中提供的影像分辨率1920×1080,并在相同环境、相同位置录制数据后,程序正常运行了!请问作者和各位大佬们,这可能是什么问题?如果想用640×480分辨率的影像进行标定,我该怎么做?? 回复为盼。祝大家好!

我也遇到了这个问题,用1920×1080的图像不会报错,但是用1280×720的图像就会报这个错。请问大佬知道如何用其他分辨率的图像来标定吗?

@tdcsu
Copy link

tdcsu commented Dec 18, 2024 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants