XinJCheng / CSPN

Convolutional Spatial Propagation Network
496 stars 92 forks source link

Strange behavior in dataloader #28

Closed zzangjinsun closed 4 years ago

zzangjinsun commented 4 years ago

First of all, thank you for sharing code for your great work!

While checking dataloader part by myself, I found strange behavior of data loader in following part:

https://github.com/XinJCheng/CSPN/blob/15fa8a0c6500d2389eb23d9632e21d849cf0d0d3/nyu_dataset_loader.py#L84-L102

This process includes ToTensor() -> Normalize((0.485, 0.456, 0.406), (0.229, 0.224, 0.225) -> ToPILImage(), but input value range changes as follows: [0, 1] -> around [-2.5, 2.5] -> [0, 255]

In this process, because of implementation of ToPILImage(), values outside [0, 1] is not correctly considered, so your current implementation gives unexpected values after data augmentation.

Here I post some examples.

rgb_orig Original Image rgb1 Un-normalized without this process (No second PIL conversion) rgb2 Un-normalized with this process

Did you use this process for ECCV and AAAI submission?

Interesting point is that it still works as it is if I train with your code by myself. (But slightly worse than reported value (0.117 vs. 0.131 for NYU).

Thank you very much!

XinJCheng commented 4 years ago

Yes, we use this process as our preprocessing, which is the same as our baseline. Due to the randomness of the sample's location, there may be some differences with our results, the reported value is the 5 time averaged result.

zzangjinsun commented 4 years ago

Thank you very much for your kind reply!