GAN-based Super-Resolution for real-world images, a variation of the GigaGAN paper for image-conditioned upscaling. Torch implementation is based on the unofficial lucidrains/gigagan-pytorch repository.
$ pip install aura-sr
from aura_sr import AuraSR
aura_sr = AuraSR.from_pretrained()
import requests
from io import BytesIO
from PIL import Image
def load_image_from_url(url):
response = requests.get(url)
image_data = BytesIO(response.content)
return Image.open(image_data)
image = load_image_from_url("https://mingukkang.github.io/GigaGAN/static/images/iguana_output.jpg").resize((256, 256))
upscaled_image = aura_sr.upscale_4x(image)
upscale_4x
upscales the image in tiles that do not overlap. This can result in seams. Use upscale_4x_overlapped
to reduce seams. This will double the time upscaling by taking an additional pass and averaging the results.