LiyaoTang / contrastBoundary

Contrastive Boundary Learning for Point Cloud Segmentation (CVPR2022)
MIT License
139 stars 11 forks source link

How to implement CBL to another network? #25

Closed BruceWayne233 closed 1 year ago

BruceWayne233 commented 1 year ago

Hi. Thanks for your awesome work, it provided great inspiration for my future research. I've some questions, some may seem silly cause I'm new to the contrastive learning. First, in this paper, the CBL framework was used in some state-of-art networks, I'd like to use this framework on my network, so it seems like I've to change the loss function, then define the boundary points, is that right? Are there any details I missed?

Second, about the boundary points, it doesn't need a humancraft label right? it seems like you define some rules, and then get the boundary points, not by human labeling, is that correct?

Third, the fig2 in your paper shows a contrastive learning with different scales, is this process done in the backbone network(your 3d convnet) or does it require a separate network? Thanks for your help. Wish you have a good day

LiyaoTang commented 1 year ago

Hi, thanks for your interest in our work. :)

  1. Generally yes. To incorporate CBL framework in your network, the first thing is to define and extract the boundary point, then you can apply the contrastive loss across boundaries.

  2. You are right. The rule is defined in Eq(1) in the paper. But note that it does require the dataset to be annotated beforehand. Currently, it requires point-wise label for the rule to work.

  3. The sampling process is done by the original backbone. Indeed, most modern 3D networks involve a gradually sub-sampling process, including PointNet++, KPConv, RandLA-Net, Point-transformer, and so on. We then use the correspondence in such sub-sampling to infer the boundary points, which do not require additional parameters.

Cheers.

BruceWayne233 commented 1 year ago

Hi, thank you for your patiently and detailed reply, which makes me understand deeply about your work.

it does require the dataset to be annotated beforehand. Currently, it requires point-wise label for the rule to work.

so the dataset needs to be annotated, which means that it like the s3dis dataset which has a label like table, floor, desk, rather than a label namely boundary, is that right?

Thanks again for your detailed reply, wish you have a good day!

LiyaoTang commented 1 year ago

Hi. Yes, you are right.

You are always welcome. Cheers.

BruceWayne233 commented 1 year ago

Thank you for your reply!