driving-behavior/DBNet

problem about your pointnet code

milk-bottle-liyu opened this issue · 3 comments

Hi, I notice some differences between your code of PointNet and the raw one. It seems that you didnot use theT-Net. From the paper of PointNet, the T-Net is important , so why you make that change?

Thanks for your interest in our work. We removed the T-Net module for the consideration of huge expense. T-Net is actually a light-weight PointNet which also requires a lot of memory and computation during the training. So cutting T-Net will allow us to train models with a larger batch size (the point clouds are much denser). On the other hand, in this task, the rotation invariance make little difference, which is different from classification or segmentation.

ps: From my personal experience and thoughts, T-Net doesn't solve the rotation invariance problem completely. You could find that PointNet will crash when the point clouds are rotated in the test.

Thank you for your answer and your excellent work~
I still have one question about your las file. I never use las befor, and I only use pcl. I found that in your las are many large integers, while normally, in pcd files, small float numbers are contained. The numbers are quite large , like

[[543291892 168303626 119550667]
 [474037215 252491459 105900143]
 [478627561 145441471 124090555]
 ...
 [721545358 255800428  95042541]
 [525323142 218972645 109166880]
 [613561449 311686346 375054223]]

I just use these to read the las.

infile = laspy.file.File(self.X_val2[i])
data = np.vstack([infile.X, infile.Y, infile.Z]).transpose()

Should I make any adjustments?

Hi @public1024, very sorry for the long delay! I was busy with other things and forgot to reply...
Have you solved this problem? From my memory, reading XYZ axes directly from las file is okay. If you want to do normalization, I believe it is also fine!