kimren227/CSGStumpNet

Question about complement layer

Farewell-ME opened this issue · 3 comments

Hi, daxuan
I noticed that in model.py, the complement layer was not written after connection decoder.
Is it a trick to make the end-to-end method perform better under ShapeNet dataset or just an ignorance?
I'm asking this for the reason that my own dataset for mechanical parts have many through-hole structures, which is not topologically isomorphic to those in ShapeNet, and I'm trying to figure out why the training process always ignored the hole structure.
Till now, I've excluded the reason of sampling strategy and loss function.
Do you think it will help if the complement layer is added?

Hi Frank,

Yes, the code in the master branch only contain intersection and union layers. As we find ShapeNet dataset rarely contain shapes requiring complement operation.

If you want to use the model with complement layer, you can git checkout the “feature/with_complement” branch. There is more information in issue #2, you can also check that out.

Let me know if you need further assistance,

Best Regards,

Daxuan

oh thanks, i didn't notice that
By the way, why tanh() and torch.sign() are used for complement layer? I thought the WC matrix is a 01 matrix same as WI and WU.

It is just an implementation trick. As it’s a lot easier to compute the complement directly on SDF by using an matrix with -1 or 1 (multiply SDF with -1 yields its complement)