HuguesTHOMAS / KPConv-PyTorch

Kernel Point Convolution implemented in PyTorch
MIT License
789 stars 158 forks source link

the meaning of neighborhood_limits #224

Open cppcute-pm opened 1 year ago

cppcute-pm commented 1 year ago

Hello, HuguesTHOMAS. Thanks for your amazing work! In every calibration function of all the sampler classes, you remarked that: Neighbors calibration: Set the "neighborhood_limits" (the maximum number of neighbors allowed in convolutions) so that 90% of the neighborhoods remain untouched. There is a limit for each layer. I'dont understand why some parts of the neighborhood points should remain untouched. And I want to use the KPConv module in my experiment and try to build a simpler dataloader, I'm wandering that whether it necessary to add a calibration function to gain the batch_limit and neighborhood_limits or I could just set the batch_num and neighborhood_num fixed with fixing number of downsampled points.

HuguesTHOMAS commented 1 year ago

You definitely can. The calibration function is here to simplify the parameter tuning by choosing an appropriate value depending on the point density. But you can set it yourself absolutely.

cppcute-pm commented 1 year ago

Thanks for your reply! One more thing, could you explain why the calibration function needs the 90% of the neighborhoods remain untouched ? I don't understand.

HuguesTHOMAS commented 1 year ago

It does not "need" it. It is just a value you can decide for yourself. In my experiments, I noticed this was a good value as it already reduced the computations by a lot, while not losing any performance

cppcute-pm commented 1 year ago

Thanks for your reply!