sscnet icon indicating copy to clipboard operation
sscnet copied to clipboard

A question about the input data '.bin' file

Open JamesTonG321 opened this issue 8 years ago • 15 comments

As my opinion, the input data are two file, one is the depth image, another is a .bin file. And the 2 files are bound together, one depth image corresponding the solitary .bin file.

I can't understand the contents of binary file, could you please show me the details and teach me how to generate this file about one depth image.

JamesTonG321 avatar Jul 10 '17 06:07 JamesTonG321

Please check this issue

shurans avatar Jul 16 '17 20:07 shurans

I think maybe you don't understand what's in the "bin" file. It's the full size groudtruth volume, which is encoded by Run-length encoding. You could check the details from ROOT/matlab_code/utils/readRLEfile.m, ROOT/matlab_code/utils/writeRLEfile.m, and ROOT/perpareNYUdataScript.m. I just figure out this part and hope this illustration can help you someway.

KnightOfTheMoonlight avatar Jul 27 '17 10:07 KnightOfTheMoonlight

Sorry, I can't test myself data all the same after generate the .bin file using script "perpareDataTest.m". I used the method liked the demo, but there are just only few points in the .ply file. Should I process the empty .bin file in advance? I chosen the depth images from TUM depth image database and captured by myself. @shurans @KnightOfTheMoonlight

JamesTonG321 avatar Aug 19 '17 11:08 JamesTonG321

Moreover, the output annotation result from folder "demo" is different from the output annotation result from folder "test". I think the difference between the input data is the .bin file. the .bin file from folder test is empty and just 84 Bytes, the other one is 676 KB. Please help me explain it, thank you very much.

JamesTonG321 avatar Aug 22 '17 11:08 JamesTonG321

.bin file in the test is just an empty volume with a camera pose computed using https://github.com/shurans/sscnet/blob/master/matlab_code/utils/rectify.m, which is different from the demo where the camera pose and volume comes from "R. Guo, C. Zou, and D. Hoiem. Predicting complete 3D models of indoor scenes."

shurans avatar Aug 22 '17 17:08 shurans

Thanks for your review. But I still have some confusions. What kind of .bin file should I use if I want to test my own depth image. As far as I concern, in the train process, the input files are a depth image and a .bin file which is bigger than 84kb(download by the .sh script totally 16GB). And in the test process, in the demo folder, the input .bin file is the same as the .bin file in the train process, in the test folder, the input .bin file is generated by the script has empty volume and just 84kb. I really confused about that, and i wonder whether the two folders have the same purpose. If yes, why the .bin files are different. I really appreciate your help though the question is very simple. Thank you for your patience.

JamesTonG321 avatar Aug 24 '17 14:08 JamesTonG321

I have another question about train speed. With the original train net, it could only iterate 6400 times for 24 hours ,memory usage is 12GB. It‘ll takes 62.5 days to complete the entire 400000 iterations. Than I adjust the batch size to 3, it could only iterate 2400 times for 24 hours, memory usage is 21GB. In other words, the efficiency increased by 1.125 times. It'll takes 55.6 days to complete the entire 133334 iterations. But with your computer ,the train process just need one week, my GPU is NVIDIA Quadro M6000 with 24GB memory. In your opinion, what is the reason why the difference of efficiency is so much? Thank you very much.

JamesTonG321 avatar Aug 25 '17 02:08 JamesTonG321

@shurans

JamesTonG321 avatar Aug 27 '17 09:08 JamesTonG321

@JamesTonG321 You don't need to train in total 400000 iterations some point after 10000 iterations the loss may stop decrease and can take the snapshot and test it to see the performance. For fine-tuning, it normally needs around at least 4000 iterations.

shurans avatar Aug 27 '17 18:08 shurans

@shurans Thank you very much. What about the question of .bin file? I really confused about this matter.

JamesTonG321 avatar Aug 28 '17 01:08 JamesTonG321

@shurans I really want to know the different between the two .bin file. In other words, the smaller file has a empty volume, how about the bigger one? In which condition I should use which .bin file? Thank you.

JamesTonG321 avatar Sep 05 '17 12:09 JamesTonG321

The bigger one contains ground truth volume which can be used for training. The smaller one is empty volume, which is used when you don't have ground truth volume and just want to see the network prediction (e.g. testing)

shurans avatar Sep 05 '17 17:09 shurans

@shurans thanks for your reply. According to the above mentioned, I have another question.

In the test process(e.g. I want to test the nyucad), the import data from "root_path/data/depthbin/NYUCADtest", and the .bin file from this folder contains ground truth volume. In my opinion, It should not used the .bin file which have empty volume in the test process?

Thank you very much.

JamesTonG321 avatar Sep 06 '17 01:09 JamesTonG321

@JamesTonG321 During testing, the network won't use the ground truth volume in the bin data it just uses the camera parameters in the ".bin" file. Therefore it is ok to give it an empty volume. The reason why "test" and demo gives different result is because of the camera extrinsic is different: one is computed from the point cloud, the other is from the annotations from "R. Guo, C. Zou, and D. Hoiem. Predicting complete 3D models of indoor scenes"

shurans avatar Sep 15 '17 00:09 shurans

@shurans thanks for your reply.

These days I have train a model with the net by myself, but the results it not acceptable. I think maybe somewhere my operates is wrong, but I never found, the detail have been sent to your email([email protected] & [email protected]), please give me some directions if you have time. my email is [email protected]

Thank you very much.

JamesTonG321 avatar Sep 26 '17 02:09 JamesTonG321