Super-Resolution to improve models

I’m curious if anyone is using a model for super-resolution to improve a second models accuracy. So my thought is if you had a low-res image that was 50x50 pixels, could you use a model that first blows that image up to 224x224 and then put it through another model that is build for images of that size. My thought is that if you had more pixels, your second model could hopefully use the higher resolution images similar to how it uses pseudo-labels. Maybe I am way off the mark of how this could be useful, but I am going to start playing around with this idea if anyone has any ideas or suggestions. If anyone is interested on a collaboration for this, I am definitely open to getting some help. I am very interested in going beyond research and thinking about it as a possible tool that people could use without having to do a ton of training themselves. Maybe it could even just be an API for super-resolution where somebody feeds in a low resolution image and the desired image size and the API returns the high-resolution image.

I think this paper did something similar Convolutional Low-Resolution Fine-Grained Classification. I am also working on this topic.

1 Like

What information do you think the first model will add to the image that wasn’t there already? At the end of the day, you’re proposing to build a system that takes images X and transforms them into some output Y. Adding an intermediate step can make a helpful representation of the data (e.g. DeepMind’s work on diabetic retinopathy uses image segmentations as an intermediate step towards whole-image classification). However, in your case, what is the specific value of having the intermediate step be an upsampled natural image?

The idea is that similar to how with pseudolabels the model is guessing on data (what labels should this image be), this upsampling would allow the model to guess what pixels should be in a picture for a bigger image which may give the model more information to work with. That’s the idea behind it at least. I still haven’t tested it yet so currently it’s just a thought as far as I know.

Do you know of a any way you could use superresolution only when an image or bounding box has a specific classification? Maybe I am thinking about it all wrong but in my head I am thinking of it like activating superresolution on data inside of a bounding box.