levenberg / 2D-3D-pose-tracking

Monocular Camera Localization in Prior LiDAR Maps with 2D-3D Line Correspondences
10 stars 1 forks source link

Make new 3D line using my PCD file #3

Open name8997 opened 4 years ago

name8997 commented 4 years ago

hello, thank you for sharing such a nice code in advance it's working well in my laptop

So i tried to make 3D line using my PCD file, but there are something strange things.

I tested your corrider 3D data(realsense/corridors/pt.ply) to extract 3D line using 3DLinedetection And i compare the result with line_3d.txt

But they are not same. my result file has 107288 lines but your line_3d file has only 1547 lines. So i want to know how you did pre-postprocessing. I think my data has many duplication, so i can do non-max suppression and so on....

i attach my result

Thank you

levenberg commented 4 years ago

Hi @name8997,

First, about the corridor 3D data(realsense/corridors/pt.ply), this pt.ply is downsampled from the original point cloud map for the storage on github and fast shown in rviz. The original point cloud map is very large and costs a lot of memory when loading in rviz.

For the performances of 3D line extraction, the resolution of point clouds matters. I tested on the data of terrain laser scanner (1~5cm), it works pretty well. If your point clouds are very sparse or noisy, the 3D line extraction results may not be good. I have tested the Velodyne point clouds based on LOAM, however, the 3D line extraction results are not accurate enough because of the noises.

You can try the following data, which is also downsampled to 1~2cm resolution. NSH floor2 corridor. For the number of 3D lines, I only reserve long 3D lines (length >5cm), short lines are regarded as noises. You can change the length threshold based on the geometry of the data.

Best, Huai