File size: 1,686 Bytes
de947e8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
f495277
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import os
from models import Noise2Same
import gradio as gr

os.system("mkdir trained_models/denoising_ImageNet")
os.system("cd trained_models/denoising_ImageNet; gdown https://drive.google.com/uc?id=1asrwULW1lDFasystBc3UfShh5EeTHpkW; gdown https://drive.google.com/uc?id=1Re1ER7KtujBunN0-74QmYrrOx77WpVXK; gdown https://drive.google.com/uc?id=1QdlyUPUKyyGtqD0zBrj5F7qQZtmUELSu; gdown https://drive.google.com/uc?id=1LQsYR26ldHebcdQtP2zt4Mh-ZH9vXQ2S; gdown https://drive.google.com/uc?id=1AxTDD4dS0DtzmBywjGyeJYgDrw-XjYbc; gdown https://drive.google.com/uc?id=1w4UdNAbOjvWSL0Jgbq8_hCniaxqsbLaQ; cd ../..")
os.system("wget -O arch.png https://i.imgur.com/NruRABn.png")
os.system("wget -O parrot.png https://i.imgur.com/zdji3xv.png")
os.system("wget -O lion.png https://i.imgur.com/qNT0lJJ.png")

model = Noise2Same('trained_models/', 'denoising_ImageNet', dim=2, in_channels=3)

def norm(x):
    x = (x-x.min())/(x.max()-x.min())
    return x
    
def predict(img):
  pred = model.predict(img.astype('float32'))
  return norm(pred)

img = gr.inputs.Image()

title = "Noise2Same: Optimizing A Self-Supervised Bound for Image Denoising"
description = "Interactive demo of Noise2Same, an image denoising method developed by Yaochen Xie"

denoise = gr.Interface(fn=predict,
                       inputs=gr.Image(placeholder="Drag image here.", label='Input Image'),
                       outputs=gr.Image(placeholder="Output image will appear here.", label='Input Image'),
                       examples=[["lion.png"], ["arch.png"], ["parrot.png"]],
                       title=title, description=description)

#launching the app
if __name__ == "__main__":
    denoise.launch(debug=True)