I have been reading up on 'regular' CNN's such as Mask R-CNN, and as far as I understand it they rely on a fully connected layer in the end to classify pixels. FCN's (such as U-Net) which do not use these layers are able to effectively process images of any size. I have been wondering why it is that Mask R-CNN can still process images of larger sizes. Doesn't that mean that a lot of data in the image will be unused in the fully connected layer?
For example consider a Mask R-CNN model trained on 512x512 images, that then does inference on a 2048x2048 image. I would expect that to result in an error or at least very poor performance, but according to my results this is not the case.
I also noticed that for some CNN models the image dimensions have to be some power of 2, is that due to implementation or also something that has to do with the connected layers?
Edit: I've now found that the answer regarding image dimensions is here, it is due to the downsampling and upsampling.