I’ve just published Potato, a new pansharpening package. It aims to render certain kinds of satellite imagery more clearly and accurately than what’s for sale and on satellite maps today: https://github.com/celoyd/potato/
It’s under 50k parameters, comes with a working checkpoint, runs on a home computer, and is specialized on WorldView-2/3 ARD imagery. It does a few things I haven’t noticed before in the literature: for example, using all the visible multispectral bands to make its visible colors.
I’m not expecting most people to know what pansharpening is, or to have a pressing need to do it themselves. But it’s an interesting problem, and I hope it’s interesting to learn about. It’s taken a lot of inspiration from across domains (by movie colorists, for example).
I’ve been working on this occasionally for years. It’s been a weekend morning here, a notebook page on the bus there, week-long sprints between contracts, etc. Eager to learn what hugely embarrassing bugs I’ve left in it.
It’s got a lot of moving parts and I wanted to make it intelligible to several audiences, so the documentation is a bit much at times.
There’s a lot in the repo, but I’m happy to say the core code is small and efficient. You can pansharpen several megapixels/second on an ordinary CPU, and somewhere > 10 Mpx/s on a gaming rig.
It's all licensed CC BY-NC, like its training data: Maxar/Vantor’s Open Data Program (h/t @marcpfister). This is imagery for disaster response, and a goal of Potato is to publicize that data, and similar data, and to encourage work that makes it easier to use.
@marcpfister It’s a real pleasure to work with data that’s both (1) good in itself but also (2) sensibly arranged and documented.