AiTiles [Rev. 3] - AI Upscaled Terrain Tiles for Falcon BMS
-
severity is not generally the sole factor affecting priority, I’d hazard.
-
So the tiles themselves are 4 times as large (from 512x512 to 1024x1024, which is 4 times as many pixels), but they have more detail in them which makes them less compressible (EDIT: This part is actually incorrect – DXT5 compresses at a rate of 1:8 fixed) – if you look closely, the 512x512 tiles have heavy block artifacts from either DXT5 or upsampling somewhere in its life, which is something I’m trying to correct.
It might seem large, but as Arty noted 9GB is nothing for high resolution terrain – at 1m resolution, a square kilometre of uncompressed terrain is 4MB. This means that Rhode Island (the smallest U.S. state, about 60km x 60km – the distance you can cover in 4 minutes at 500 knots) would be ~13GB, and the Korean peninsula (just the land of the peninsula itself, not other parts of the KTO, slightly larger than Great Britain) would be ~900GB. This is the reason why MSFS 2020 gave up on installing terrain and switched to download-on-the-fly – I think they use 0.5m resolution imagery where available, so multiply the above numbers by 4.
Even outside terrain data, large textures are pretty expensive storage-wise – the latest Call of Duty games actually take up more than 200GB, and you’d be hard-pressed to find a new AAA game under 40GB. Anyway, BMS has never been about the fanciest eye candy so this is something one can live without if storage or I/O is an issue – FWIW, the latest PCI 4.0 SSDs can read at 7100MB/ (I have a 4TB one filled just with the real terrain data that I used for training the neural nets), and there are newer technologies for improving streaming performance (PS5’s SSD Texture Streaming) that might be available in a few years on the PC.
/me looking with embaressment at my BMS Dev folder which is ~620GB with 9 theaters (one of them is large though )… and we aren’t even close to 0.5m/pixel :facepalm:
Yup, 2TB NVMe coming soon
-
err… 2TB you mean? I don’t know if anyone even made a 2GB NVMe drive!
-
I have 2 times 1 TB NVMe in my system
Gesendet von meinem SM-G930F mit Tapatalk
-
Don’t stop you now, Dodam
https://www.benchmarksims.org/forum/showthread.php?42058-Update-on-U2&p=575315&viewfull=1#post575315
-
I will second this yours, dear Lorik.
And you, dear Dodam: the present time only counts, in my humble opinion.
I mean, if you’re eager to get just all you think is perfect, you may risk to die… still hungry.
With best regards.
-
Heh, I’m still working on it, but the training is much slower (at least 4x) with the compression augmentation. I have something that looks significantly better on mountain terrains, but it looks a bit worse on man-made objects.
Also, I need newer hyperparametres (you can think of this as “how much do I weigh the different parts of the sausage making machine”) with the new augmentation, and often that’s the most time-consuming part of using neural nets. Basically, there are ~10 or so different parametres that I can tweak in this network, and with each tweak I need to come up with a story of “what went wrong here” before trying again with new parametres – each experiment takes a whole a day or so to stabilise, so it’s hard to do this quickly.
-
u need landuse… so to dictate to the algorithm the pattern of parameters to run.
Like
urban run A.
forest run B.
Mountain run C.
etc… -
u need landuse… so to dictate to the algorithm the pattern of parameters to run.
Like
urban run A.
forest run B.
Mountain run C.
etc…I’ve considered doing that, but that’s not a good approach for this problem for several reasons:
- One net already takes forever to train, and also barely fits in memory.
- This approach requires labels for the training data (“this patch is urban, forest, mountain, suburban, oceanic, etc.”), not just the input; I don’t have that data. It wouldn’t be the hardest thing in the world to get some land use data and collocate that with the images, but that’s a lot of data processing.
- Determining what network to run requires training an extra network, and it’s likely better to cut out the middleman and let the network figure it out if you have the resources to train two different architectures.
Anyway, I posit that the reason why it looks worse on man-made objects isn’t because of the architecture, but rather because of the differences in the training data versus what’s in the terrain textures (most notably blue slate roofs, but also things like road widths, the size and colour of an average car, etc.).
-
Landuse are vector polygons and will reduce the total load if you run per landuse category and not all at once.
So it’s like flag which tiles are which type.Sent from my MI 5 using Tapatalk
-
Landuse are vector polygons and will reduce the total load if you run per landuse category and not all at once.
So it’s like flag which tiles are which type.AiTiles has the ability to correct each tile separately, but cannot change its placement in the Terrain. For that, (new tile placement) it needs to know where to place the transition tiles and what transition tiles to use. This is outside the scope of this method.
-
Landuse are vector polygons and will reduce the total load if you run per landuse category and not all at once.
So it’s like flag which tiles are which type.I understand what you’re saying, but that is something that cannot be done on a tile-by-tile basis – the tiles consist of composites of a few different ones sometimes, and what this means is that I need a pixel-by-pixel label, or what’s called a semantic segmentation. That’s a hard problem in its own right. Also, once segmented, those polygons add an extra issue of sharp masks. (I process tile-by-tile and not by a set of 16 because it wouldn’t fit, even on my 3090.)
To boot, this isn’t a classical algorithm where changing the parameters is enough – once the parameters have been changed, you have to let it train for a few days with the new parameters, meaning that n sets of parameters is actually n pairs of networks, which will each need a run through the entire dataset (because of the composite tiles).@tad:
AiTiles has the ability to correct each tile separately, but cannot change its placement in the Terrain. For that, (new tile placement) it needs to know where to place the transition tiles and what transition tiles to use. This is outside the scope of this method.
What Arty’s saying has nothing to do with placing tiles – he’s just saying that I can run different nets for different parts of each tile.
-
Really great to see this machine learning at work with these images. Just a quick post on that it looks amazing and I notice no FPS impact what so ever with RTX2080. Still look forward to when you bless the 0.5 m tiles. BMS looks very pretty with these AiTiles. Thanks for this enormous effort and apply this technique to BMS tiles.
-
well it can also be done in a pixel by pixel process in the following context
u create from gis data a raster of the landuse and flag colors like orange is swamps green is forest, darker green is thick forest, blue is city, and so on and so forth…
this is called classification in GIS systems.
U tile this raster map exactly as the actual tiles.
Use those new tiles to get pixel values and use them as reference for your algorithm and parameters to apply per pixel on your falcon tile. pixel x10,y10 on the classification tile will be pixel 10,10Writing and reading it just hurts my head…
In the future such process will not be needed at all so this will be just for 3-4 weeks… -
Now that I have BMS on its own 1TB SSD, can these tiles be used with any Korean based theater like Korea training, 2012, and TvT? What about other non-desert theaters?
-
Never realized that Korea were a desert country before. I’d better to see well, I guess.
Curiously, I was almost to ask the same question about those desert ones… but I’ve recall that Dodam already stated, some post ago, that he will do it, if asked by the theater maker. Or something.
Unless the theaters’ structure won’t change… but this is a different matter, isn’t it?
With best regards.
-
Never realized that Korea were a desert country before. I’d better to see well, I guess.
Curiously, I was almost to ask the same question about those desert ones… but I’ve recall that Dodam already stated, some post ago, that he will do it, if asked by the theater maker. Or something.
Unless the theaters’ structure won’t change… but this is a different matter, isn’t it?
With best regards.
Sorry, other way around with what I’m asking, by “what about non-desert theaters?” I mean ones like Taiwan, Kurile Islands, Balkans, etc. that are similar green based tiles.
Obviously Nevada, Persian Gulf, etc. are a different tile set altogether.I would assume that the modded but still standard area Korean theaters have the pretty good odds for working. I think I will drop them in one of them to give it a try.
I seem to remember in the HiTiles days there was a different set for Balkans, probably showing that AiTiles won’t cross over.
-
Do not mix tiles and try to use them for different non Korean theaters. That won’t work.
Korea training, 2012, and TvT should be OK. -
@tad:
Do not mix tiles and try to use them for different non Korean theaters. That won’t work.
Korea training, 2012, and TvT should be OK.Sure. Of course.
Here’s why Dodam talked that way - just to avoid some weird initiatives, I have to guess
With best regards.
-
Nice work.