meteorshowers / RCF-pytorch

Richer Convolutional Features for Edge Detection model in pytorch CVPR2017
510 stars 145 forks source link

wrong kernel size bilinear interpolation on block 5 #22

Open jannctu opened 5 years ago

jannctu commented 5 years ago

hi @meteorshowers

Just want to inform you that there is small mistake on your implementation. File : models.py line : 141

weight_deconv5 = make_bilinear_weights(32, 1).cuda() Based on the original code https://github.com/yun-liu/rcf/blob/master/examples/rcf/train_val.prototxt https://github.com/yun-liu/rcf/blob/master/examples/rcf/test.prototxt

it should be weight_deconv5 = make_bilinear_weights(16, 1).cuda()

it doesn't matter a lot, but if someone want to use the original pretrained model, it will produce significant different results.

Thank you

chenyuZha commented 5 years ago

@jannctu Thanks a lot to point it out. I would like to ask you if you have already tested the original implementation (caffe framework)? If so, I wonder if you noticed the difference of output for these two versions? For my side, I found that the original version gives a slightly better result...

jannctu commented 5 years ago

hi @chenyuZha

This implementation very close to the original version. the only different is the cropping method and the upsampling (bilinear interpolation) implementation.

the cropping method, you can take a look in model.py on function crop and crop_caffe . the upsampling method, actually the original caffe implementation gives thw weight to upsample you can port them to pytorch. I hope it would make this pytorch better.

btw, I made a project for the original weights wrapper (except the upsampling and the crop). you may take a look here. https://github.com/jannctu/Rcf-Pytorch-Wrapper

thanks

chenyuZha commented 5 years ago

@jannctu Thanks a lot I will check this.