Spaces:
Sleeping
Sleeping
import gradio as gr | |
import deepinv as dinv | |
import torch | |
import numpy as np | |
def pil_to_torch(image): | |
image = np.array(image) | |
image = image.transpose((2, 0, 1)) | |
image = torch.tensor(image) | |
return image.unsqueeze(0) | |
def torch_to_pil(image): | |
image = image.squeeze(0) | |
image = image.numpy() | |
image = image.transpose((1, 2, 0)) | |
return image | |
def image_mod(image): | |
image = pil_to_torch(image) | |
denoiser = dinv.models.MedianFilter() | |
noisy = image + torch.randn_like(image) * 0.1 | |
estimated = denoiser(image, 0.1) | |
return torch_to_pil(noisy), torch_to_pil(estimated) | |
input_image = gr.inputs.Image() | |
output_images = gr.outputs.Image(label='Denoised Image') | |
noise_image = gr.outputs.Image(label='Noisy Image') | |
input_image_output = gr.outputs.Image(label='Input Image') | |
demo = gr.Interface( | |
image_mod, | |
inputs=input_image, | |
outputs=[noise_image, output_images], | |
title="Image Denoising with DeepInverse", | |
) | |
demo.launch() |