RaymondWang987/NVDS

question on evaluation on NYUD2

cvtype opened this issue · 3 comments

cvtype commented

Thanks for sharing the great work!
I saw you normalized the NYUD2's depth with

depth = depth / 1000.0

but the original depth of NYUD2 is in meters, could you please share more about your data preparation on NYUD2? I am trying to evaluate it on other NYUD2 dataset. Thanks very much.

Thanks for sharing the great work! I saw you normalized the NYUD2's depth with

depth = depth / 1000.0

but the original depth of NYUD2 is in meters, could you please share more about your data preparation on NYUD2? I am trying to evaluate it on other NYUD2 dataset. Thanks very much.

Hi! We just follow the official processing toolkits of NYUDV2. In our case, following previous work such as BTS, we save NYUDV2 depth ground truth with the maximum value of 10000. Thus, we conduct depth / 1000.0 to load ground truth with the real depth range of 0-10 meters. Saving with 0-10000 and dividing the depth by 1000 is a common practice in prior arts. This does not influence the results. You can also save the NYUDV2 ground truth with other ranges. This can be simply changed by running the NYUDV2 Matlab toolkits with different parameters. If you save the ground truth in a different range of values, you need to modify the depth / 1000.0 to make sure that the dataloader can load ground truth in the range of 0-10 meters for quantitative evaluations.

cvtype commented

@RaymondWang987 Do you mean normalize the depth to 0~10000 firstly for each frame? If a frame's min depth is 2, max depth is 32, then we normalize it to (d-2)/(32-2)*10000?

@RaymondWang987 Do you mean normalize the depth to 0~10000 firstly for each frame? If a frame's min depth is 2, max depth is 32, then we normalize it to (d-2)/(32-2)*10000?

Refer to BTS:

imgDepthProj = uint16(imgDepthProj * 1000.0);
sync_depth_dst = sprintf('%s/sync_depth_%05d.png', saveDir, ind);                        
imwrite(imgDepthProj, sync_depth_dst);