Guided image upsampling

This is a bit offtopic since it’s about processing non photographic images but given the amount of clever people here I’ll still try to ask.

I have a low resolution image (the output of a physical model, essentially a weather forecast) which I want to upsample mostly for a nicer visual presentation. I have another higher resolution image (a digital elevation model) that I want to use to guide the upsampling process. I know that points that are close and connected without significant differences in the higher resolution model should have similar values (so for instance the air temperature in a big plane will be roughly the same, but can be very different when separated by a mountain range.

I have some rough ideas how I could do that (for instance by applying weight like in a bilateral filter to the samples when upsampling) and found some papers, but I lack the expirience in the field to judge what is worth looking into.

So I was wondering if someone here had a spontaneous idea or remembers a method that’s worth looking into.

Thanks,
Jonas

1 Like

Not much of an expert here, but do you have rules to define borders from your high resolution sample?
It seems to me from your example that this would be the first step, that defines which of your surrounding area has most impact on one location…

There aren’t any hard borders. I’m tempted to just take the difference between the values in the high resolution image as a weight. I could calculate something more accurate but I have the feeling that it would be overkill.

Now I don’t know if you need borders, but you should be able to define borders from your elevation map using something like first and second derivations (getting the maxima). This shouldn’t that hard.
But your approach sounds like a simple and sound one.

I have no idea how to solve you problem, but perhaps it helps to show us your images.

Hello, we do this a lot in my research group. Unfortunately, it’s a bit of a complicated process. We build regression models between a variety of topographic features (slope, elevation, aspect, distance from coast, localized depressions or peaks, etc.) and the coarse-resolution climate maps (for us, typically derived from global climate models run by NCAR or NOAA). We downscale the topography to match the resolution of the coarse climate, and iterate through a sreies of these kinds of regressions. Once we come up with a multi-regression model with low residuals and a good R^2 value at that coarse scale, we then apply it as a transform to the fine scale topography, yielding a fine-scale climate map for that particular region. Unfortunately this process must go region by region due to the different relationships between atmospheric phenomena and the different physical arrangements of each landscape.

Try searching for Guided Filter Upsampling (Very simple to do).
There are code on the internet to do just that.

I’m a MATLAB Fan, so I’d use that:

I got a basic implementation to work. But it’s currently hand tweaked rather than derived like @Isaac described.
It’s currently just a hack but if I get some more time I’ll polish it a bit. I’ll see if I can share some of the results here. :slight_smile:

Thanks guys. :slight_smile:

1 Like