Using convolution layer trained weights for different image size
As convolution layer are independent of image size
Actually it's more complicated than that. The kernel itself is independent of the image size because we apply it on each pixel. And indeed, the training of these kernels can be reused.
But this means that the output size is dependent on the image size, because this is the number of nodes that are fed out of the layer for each input pixel. So the dense layer is not adapted to your image, even if the feature extractors are independent.
So you need to preprocess your image to fit into the size of the first layer or you retrain your dense layers from scratch.
When people talk about "transfer-learning" is what people have done in segmentation for decades. You reuse the best feature extractors and then you train a dedicated model with these features.
I want to use the first three convolution layers of vgg-16 to generate feature maps.
But i want to use it with variable image size,i.e not imagenet size of 224x224 or 256x256. Such as 480x640or any other randome image dimension. 
As convolution layer are independent of image spatial size, how can I use the weights for varying image sizes?
So how do we use the pre-trained weights of vgg-16 upto the first three convolution layers.
Kindly let me know if that is possible.