Settings

Theme

Show HN: TerrainSR – fast, realistic heightmap upscaling model

huggingface.co

49 points by joegibbs · 8 comments · 1 min read

Reader

This is a model that I made for a historical game. I wanted to have a 1:1 scale model of Europe, but my problem was that 100m data was too low-res while 10m LIDAR data was patchy, took hundreds of GBs to store and was full of manmade objects like mines, buildings and so on.

I trained this model on undeveloped landscape so that it can quickly add plausible erosion features, rocks, etc to the low-resolution height data and sort of reconstruct what the terrain would look like before any human interference.

4 threads
TGower

Really cool! I did my master's thesis on this same problem, upscaling low resolution DEM, though my approach used a high resolution color image to guide the process.

pugworthy

Really neat idea - would have loved to have this 15-20 years ago!

I'm curious how it does for non-Earth data. Mars terrain for example.

dvt

On my phone but very interested in this (hence leaving a comment so I can find it later). What’s the variation, can we generate different maps from the same low res seed?

I’m interested in this because “macro maps” can be hand built in a way that may want to preserve gameplay balance while individual games can still feel broadly unique.

jauntywundrkind

can you talk to some about how you trained this? this is such a neat idea!!

  • joegibbsOP

    Mostly through trial and error really, I started off getting a bunch of 100m and 10m satellite data then tried a few different methods. First I tried a bunch of ways to do it as a GAN, but there were too many artifacts and it lacked detail every time. Then I did a diffusion model that worked but took minutes to run, then kept distilling it down from 64 steps to 1 step, which looked basically the same as 64 but was fast. All in all it was about $100 to train.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection