PRBonn / kiss-icp

A LiDAR odometry pipeline that just works
https://www.ipb.uni-bonn.de/wp-content/papercite-data/pdf/vizzo2023ral.pdf
MIT License
1.6k stars 321 forks source link

Kissualizer: a new KISS-ICP visualizer! #379

Closed l00p3 closed 3 months ago

l00p3 commented 3 months ago

I want to propose a new visualizer for KISS-ICP. The current visualizer presents some issues in my opinion:

All these cons are there because Open3D is not meant to be used as a general visualizer.

I'll take over here: Kissualizer, a new visualizer using polyscope, a library which purpose is exactly visualize 3D data. Here some pros presented with my visualizer:

This is just to scratch the surface, with polyscope you can give vent to all your dirtiest graphic fantasies!

Here a demo to show the current implementation that I propose (the frame rate seems pretty low because of the GIF format, try it on your machine!):

KissualizerDemo

Of course I just added some basic features, but this can be really expanded a lot. For now I just want to show you the potential of using a real visualizer. In case you like it I can work on new features, better implementation code side and whatever you want. Also, I used a slighlty different color palette, but this, of course, can be adjusted. It is time for KISS-ICP to embrace the future!

Here the github page of polyscope in case you need more information. Here the 'pybinded' version.

Oh, this would add only a simple optional dependency python side, a simple pip install polyscope.

nachovizzo commented 3 months ago

Waaaaaaaaaat 🤤 I dream finally come true 🥹 I always wanted to use the new visualizer and leave the legacy open3d behind

Thanks!!!!!!! I'll check this out as soon as possible

nachovizzo commented 3 months ago

@benemer , @tizianoGuadagnino

Do we want to keep a legacy visualizer for those who "don't want / can't" install polyscope? I checked the compatibility of polyscope with different platforms/os, and it's on par with our compatibility check, so it shouldn't be a problem. Also, its only binary dependency is numpy.

I vote to kill the old visualizer but just raising this concern here in case someone else have a different opinion

tizianoGuadagnino commented 3 months ago

@nachovizzo for me the old visualizer should die, in principle it should never being born. It is fair to kill it now

benemer commented 3 months ago

@benemer , @tizianoGuadagnino

Do we want to keep a legacy visualizer for those who "don't want / can't" install polyscope? I checked the compatibility of polyscope with different platforms/os, and it's on par with our compatibility check, so it shouldn't be a problem. Also, its only binary dependency is numpy.

I vote to kill the old visualizer but just raising this concern here in case someone else have a different opinion

Yes, let's kill it. If you can afford to install open3d, you can also install polyscope instead, right?

l00p3 commented 3 months ago

Ok, I think now the shape is way better. if you have other requests I am here to satisfy them.

l00p3 commented 3 months ago

Just another feature added: if you are in global view and in PAUSE mode, you can double click on a pose on the trajectory to visualize its position in the global frame. Let me know if you want to keep this feature. I want to point out the fact that this "click" on object to visualize some related information opens a lot of possibilities if you want. Good to keep in mind.