ywangeq / instance_dataset_gen

15 stars 11 forks source link

Performance against original spherical data. #3

Open lawrencekiba opened 5 years ago

lawrencekiba commented 5 years ago

Hi,

I was just trying your latest revision of the code & I have a couple questions.

  1. In comparison to the original released spherical data, I noticed the generated numpy file somewhat outputs only one output file for one sync folder, whereas the original would have one numpy file for each .bin file. May I know the intuition behind this?
  2. Also, how do you compare the file generated from your code against the said spherical data. I was simply thinking of running either Squeeze/PointSeg against both sets of data & comparing the performance, but I wondered if you have other methods.
zuochen33 commented 5 years ago

@lawrencekiba Hi, i think i face the same questions, the .npy file i generated is different from lidar_2d which is the data used in SqueezeSeg. There are more empty data in the file. Have you solved this problem? Thanks very much.

ywangeq commented 5 years ago

That's true. Followed the projected equation, the calculated index is not always the integer. When the noisy or some other problems appeared, a small area of points will calculate the same index in the (for example, 34.2,34.4 will become 34). I don't add any other operations on this generation process. However, I think the SqueezeSeg should do some smooth process. @zuochen33 With a smooth process, you can get similar data with the dataset from SqueezeSeg. That will not influence performance. @lawrencekiba When I compare the performance, I use the dataset from the SqueezeSeg to simplify the experiment process. And I am not very understood the sentence 'the generated numpy file somewhat outputs only one output file for one sync folder'. Do you mean that the code only generates one numpy file for one sequence, like '0005'? If so, I guess that this is because you don't change the named rule which I mentioned in Readme. All the npy file are stored as the same name.

zuochen33 commented 5 years ago

Thank you very much!! There are many similar fai & theta so they are converted in the same voxel. But i don't know how to smooth data, do you have any suggestions?

ywangeq commented 5 years ago

You can think the smooth process is similar when you resize an image from 200x200x3 to 400x400x3. Just like this. Or you use a kernel to process the whole input, like the mean kernel in the empty area.

zuochen33 commented 5 years ago

It's very kind of you! However, i think there will be a question that more than one points in a sigle voxel, then we only store one point? Is this how people do when project point clouds?

ywangeq commented 5 years ago

Actually, that is only my option which does not represent others. They may choose the max or mean to store. It depends on yourself. Like voxelnet, they use other features instead.

zuochen33 commented 5 years ago

OK,i understand!Thanks again!

lawrencekiba commented 5 years ago

That's true. Followed the projected equation, the calculated index is not always the integer. When the noisy or some other problems appeared, a small area of points will calculate the same index in the (for example, 34.2,34.4 will become 34). I don't add any other operations on this generation process. However, I think the SqueezeSeg should do some smooth process. @zuochen33 With a smooth process, you can get similar data with the dataset from SqueezeSeg. That will not influence performance. @lawrencekiba When I compare the performance, I use the dataset from the SqueezeSeg to simplify the experiment process. And I am not very understood the sentence 'the generated numpy file somewhat outputs only one output file for one sync folder'. Do you mean that the code only generates one numpy file for one sequence, like '0005'? If so, I guess that this is because you don't change the named rule which I mentioned in Readme. All the npy file are stored as the same name.

Hi @ywangeq, thank you for replying. I noticed that you did mention to change the indexing in the readme, but I am not very clear about the process. How do you get the index in the first place, if I may ask?

ywangeq commented 5 years ago

@lawrencekiba That process is to store the npy file. However, to extract the specific name, you need to find the right index to choose. In my computer, the index is different when you run in your own computer. You can add print there to check and try the string name from your index to name file different

lawrencekiba commented 5 years ago

@lawrencekiba That process is to store the npy file. However, to extract the specific name, you need to find the right index to choose. In my computer, the index is different when you run in your own computer. You can add print there to check and try the string name from your index to name file different

Hi @ywangeq, appreciate the swift reply & careful explanation. I have tried it & managed to get one numpy file for each bin. Will proceed to train SqueezeSeg with this newly generated data & then try out with PointSeg. Really excited to try this. Again, thank you for your help.

ywangeq commented 5 years ago

@lawrencekiba You are welcome~