hku-mars / ImMesh

ImMesh: An Immediate LiDAR Localization and Meshing Framework
596 stars 51 forks source link

Mesh Output looks "Spiky" #18

Open satyajitghana opened 7 months ago

satyajitghana commented 7 months ago

I tried running ImMesh on data collected with MID360, but the mesh output is filled with faces which are bunch of spikes, it should be a smooth wall surface, is there a smoothening parameter?

image image image
ziv-lin commented 7 months ago

Can you turn on Rviz (in the launch file, default is set as false), and see how the quality of the point cloud accusation is (in Rviz)?

chengwei0427 commented 7 months ago

Hi, Nice work! Is there a recommended environment configuration? For example, ubuntu18.04 or 20.04? Eigen version, ceres and so on.

satyajitghana commented 7 months ago

I saved the ply and pcd and here's how it looks

the point cloud seems to look okay, but its a little noisy

image image

see the wall is thick

image image

some walls are really thin

image

but the mesh looks awful

image

really awful

image image

If i were to use OpenMVS and do mesh creation post SLAM, the mesh would definitely look better than this even though the point cloud has noise.

satyajitghana commented 7 months ago

@chengwei0427 i had FASTLIO2 environment setup, i used the same stuff. Ubuntu 20.04. If you can build FASTLIO/R3LIVE you should be good to go to build this

ziv-lin commented 7 months ago

1) From the point cloud you show, if two walls are close to each other (laid inside a voxel), ImMesh will consider than as one wall, hence the reconstruction results definitely look Spiky.

You can try to reduce the "meshing/distance_scale" value in the launch file to see if the quality can improve?

2) ImMesh directly take the raw input pointcloud for meshing, hence its results are effected by the noise of raw input LiDAR points. Hence the reconstruction results might be worse with those LiDAR have larger measurement noise.

FPSychotic commented 6 months ago

I have a mid-360 in a rover. Everything worked just fine, as I had already good setups for fast-lio, point-lio etc. We need start by to know ,mid-360 is quite noisy and will mesh badly compared with avia, and also SLAM point clouds already mesh very bad. So slam, real-time, mid-360, is not a good start. Avia instead would be in the good side, maybe no the best, but is quite high in the potential meshing quality. Just made a fast test in the rover. I found, -Ground mesh quite good, much better that any vertical part. -Vertical parts doesn't look spiky at the first pass. It means the mid360's base noise, if not exceptional can be used to generate a flat mesh , just general shapes, can be potentially useful for some things, as take its normals for point clouds without normals.

Cool stuff, thanks to the devs, please if you cannot add the colour system, allow extract images and depth maps to do it in external software. Just get synchronised pictures and depth maps based timestamps or poses. Great have a GUI. Smart and good people, best whises