drprojects / superpoint_transformer

Official PyTorch implementation of Superpoint Transformer introduced in [ICCV'23] "Efficient 3D Semantic Segmentation with Superpoint Transformer" and SuperCluster introduced in [3DV'24 Oral] "Scalable 3D Panoptic Segmentation As Superpoint Graph Clustering"
MIT License
560 stars 72 forks source link

Output prediction resolution & PyTorch Lightning `predict` behavior #9

Closed Man4231 closed 6 months ago

Man4231 commented 1 year ago

Hi Damien,

I've modified the code a bit to ingest a different dataset. and I have a few questions

Thanks!

drprojects commented 1 year ago

Hi @Man4231, thanks for your interest in the project and for your detailed feedback. I will address your points in order:

Output prediction resolution

Indeed, the resolution of the level-0 points in the training and inference data is not the raw point cloud resolution. As you noticed, as common practice in the field, the data is voxelized at preprocessing time using GridSampling3D. This allows mitigating point cloud size, density, and desired level of detail.

However, I draw your attention to the fact that measured semantic segmentation metrics (ie mIoU, OA, mAcc) and losses (ie cross-entropy, Kullback-Leibler) are all computed on the full resolution. To this end, we maintain histograms of labels inside voxels and all superpoint levels all through the pipeline.

Still, if you want to produce a full-resolution output, you have two options:

PyTorch Lightning predict behavior

As of now, the pipeline supports train, val, and test modes on a dataset divided accordingly, but we have not implemented the Lightning predict behavior. Unfortunately, I do not have enough coding bandwidth to work on this at the moment. If you are familiar with Lightning and would like to see such feature in the project, we would gladly welcome a pull request ! I could provide guidelines on how the project works if need be. :wink:

Best,

Damien

drprojects commented 1 year ago

I take note of your interest for:

I cannot work on this at the moment, but leaving this issue open in case I find the time next month.

In the meantime, feel free to send us a pull request if you work on those :wink:

xbais commented 8 months ago

Hi Damien, I am interested on working on the full resolution inferences for semantic segmentation on DALES since I will be needing it for my work. I would love to make a PR here if it succeeds :star2: . I am assuming you haven't yet started working on it. But I may need some help understanding parts of code here and there. Is this thread the right place for it?

PS : I may not be as well versed with some concepts / coding schemes, hope you will bear with me for a bit :grimacing: .

drprojects commented 8 months ago

Hi @xbais (I see you everywhere these days :wink: ) ! Thanks for offering your help ! You can try setting this up for the fun of it, but I am working on it, so if you guys can wait just a little bit, I will release it as part of a new version for the repo in the coming days. The new version will also include the implementation of our recent paper on large-scale panoptic segmentation.

Sorry for the wait, I know people have been asking this for a while ! :sweat_smile:

xbais commented 8 months ago

Wow, its cool if you are already on it! I choose to work on it anyways for the fun of it :smile: . Congratulations for your new paper on large scale panoptic segmentation :tada::tada: ...hope to read it soon!

pyarelalchauhan commented 6 months ago

Sorry for the wait, I know people have been asking this for a while ! 😅

Hi @drprojects ! Are you planning to release the code full resolution prediction soon 🔜 ? ⏳

drprojects commented 6 months ago

Hi @drprojects ! Are you planning to release the code full resolution prediction soon 🔜 ? ⏳

Yes, very soon. Like today, normally. Just setting up a new feature related to #72 and will release everything :wink:

Thanks for your patience !

drprojects commented 6 months ago

Hi all, I finally released the v2 of this project, which should address this issue :partying_face:

Closing this issue for now, feel free to re-open if need be.