vlfeat / matconvnet

MatConvNet: CNNs for MATLAB
Other
1.4k stars 753 forks source link

Results of data preprocessing are different between beta20 and beta21 #821

Open denru01 opened 7 years ago

denru01 commented 7 years ago

After beta 21, vl_imreadjpeg was re-written and exhibits a very high speed-up. However, I noticed that the results of the whole data preprocessing pipeline are different than that of beta 20, in which vl_imreadjpeg is only responsible for loading images and other processes (like resize) are handled by MATLAB built-in functions. I suspect the image resizing implementation is one of the causes, if many. I tried to disable all other preprocessing steps and only preserved image resizing by doing bicubic resizing. The results are different from the previous vl_imreadjpeg + imresize. The error rate increases by around 0.5%-1%, and this difference matters and prevents us from using the new version. Could you please take a look into this issue? Thanks.

albanie commented 7 years ago

Hi @denru01, thanks for this. We are aware of the issue (also flagged by #747) and are looking into it.

denru01 commented 7 years ago

Thanks for your reply. I am not sure whether these two issues are the same. My scripts built upon the example script "cnn_imagenet_get_batch" (from beta 20) for data preprocessing. It does not use the built-in imread function to read images. It uses vl_imreadjpeg. However, it uses the built-in imresize to do resizing. So I am afraid that the implementation of image resizing (ex. bicubic) is also different from the built-in one.

albanie commented 7 years ago

Thanks - we'll need to run some tests to establish where the differences lie.

denru01 commented 7 years ago

Hi,

Are there any updates on this? Thanks.