Fabrice-TIERCELIN commited on
Commit
20d2752
1 Parent(s): a35ddd5

, type="filepath"

Browse files
Files changed (1) hide show
  1. app.py +13 -13
app.py CHANGED
@@ -86,7 +86,7 @@ def stage1_process(
86
  gr.Warning('Set this space to GPU config to make it work.')
87
  return None, None
88
  torch.cuda.set_device(SUPIR_device)
89
- LQ = HWC3(input_image)
90
  LQ = fix_resize(LQ, 512)
91
  # stage1
92
  LQ = np.array(LQ) / 255 * 2 - 1
@@ -187,19 +187,19 @@ def stage2_process(
187
  a_prompt = prompt + a_prompt
188
  print("Final prompt: " + str(a_prompt))
189
 
190
- noisy_image = noisy_image if denoise_image is None else denoise_image
191
 
192
  if rotation == 90:
193
- noisy_image = np.array(list(zip(*noisy_image[::-1])))
194
  elif rotation == 180:
195
- noisy_image = np.array(list(zip(*noisy_image[::-1])))
196
- noisy_image = np.array(list(zip(*noisy_image[::-1])))
197
  elif rotation == -90:
198
- noisy_image = np.array(list(zip(*noisy_image))[::-1])
199
 
200
  if 1 < downscale:
201
- input_height, input_width, input_channel = noisy_image.shape
202
- noisy_image = np.array(Image.fromarray(noisy_image).resize((input_width // downscale, input_height // downscale), Image.LANCZOS))
203
 
204
  # Allocation
205
  if allocation == 1:
@@ -284,8 +284,8 @@ def restore_in_10min(*args, **kwargs):
284
  return restore(*args, **kwargs)
285
 
286
  def restore(
 
287
  input_image,
288
- denoise_image,
289
  prompt,
290
  a_prompt,
291
  n_prompt,
@@ -467,10 +467,10 @@ with gr.Blocks() as interface:
467
  """)
468
  gr.HTML(title_html)
469
 
470
- input_image = gr.Image(label="Input (*.png, *.webp, *.jpeg, *.gif, *.bmp)", show_label=True, type="numpy", height=600, elem_id="image-input")
471
  rotation = gr.Radio([["No rotation", 0], ["⤵ Rotate +90°", 90], ["↩ Return 180°", 180], ["⤴ Rotate -90°", -90]], label="Orientation correction", info="Will apply the following rotation before restoring the image; the AI needs a good orientation to understand the content", value=0, interactive=True, visible=False)
472
  with gr.Group():
473
- prompt = gr.Textbox(label="Image description", info="Help the AI understand what the image represents; describe as much as possible, especially the details we can't see on the original image; I advise you to write in English because other languages may not be handled", value="", placeholder="A 33 years old man, walking, in the street, Santiago, morning, Summer, photorealistic", lines=3)
474
  prompt_hint = gr.HTML("You can use a <a href='"'https://huggingface.co/spaces/MaziyarPanahi/llava-llama-3-8b'"'>LlaVa space</a> to auto-generate the description of your image.")
475
  upscale = gr.Radio([["x1", 1], ["x2", 2], ["x3", 3], ["x4", 4], ["x5", 5], ["x6", 6], ["x7", 7], ["x8", 8]], label="Upscale factor", info="Resolution x1 to x8", value=2, interactive=True)
476
  allocation = gr.Radio([["1 min", 1], ["2 min", 2], ["3 min", 3], ["4 min", 4], ["5 min", 5], ["6 min", 6], ["7 min", 7], ["8 min", 8]], label="GPU allocation time", info="lower=May abort run, higher=Quota penalty for next runs", value=6, interactive=True)
@@ -479,7 +479,7 @@ with gr.Blocks() as interface:
479
  with gr.Accordion("Pre-denoising (optional)", open=False):
480
  gamma_correction = gr.Slider(label="Gamma Correction", info = "lower=lighter, higher=darker", minimum=0.1, maximum=2.0, value=1.0, step=0.1)
481
  denoise_button = gr.Button(value="Pre-denoise")
482
- denoise_image = gr.Image(label="Denoised image", show_label=True, type="numpy", sources=[], height=600, elem_id="image-s1")
483
  denoise_information = gr.HTML(value="If present, the denoised image will be used for the restoration instead of the input image.", visible=False)
484
 
485
  with gr.Accordion("Advanced options", open=False):
@@ -618,7 +618,7 @@ with gr.Blocks() as interface:
618
  "./Examples/Example2.jpeg",
619
  0,
620
  None,
621
- "The head of a tabby cat, in a house, photorealistic, 8k, extremely detailled",
622
  "Cinematic, High Contrast, highly detailed, taken using a Canon EOS R camera, hyper detailed photo - realistic maximum detail, 32k, Color Grading, ultra HD, extreme meticulous detailing, skin pore detailing, hyper sharpness, perfect without deformations.",
623
  "painting, oil painting, illustration, drawing, art, sketch, anime, cartoon, CG Style, 3D render, unreal engine, blurring, bokeh, ugly, dirty, messy, worst quality, low quality, frames, watermark, signature, jpeg artifacts, deformed, lowres, over-smooth",
624
  1,
 
86
  gr.Warning('Set this space to GPU config to make it work.')
87
  return None, None
88
  torch.cuda.set_device(SUPIR_device)
89
+ LQ = HWC3(Image.open(input_image))
90
  LQ = fix_resize(LQ, 512)
91
  # stage1
92
  LQ = np.array(LQ) / 255 * 2 - 1
 
187
  a_prompt = prompt + a_prompt
188
  print("Final prompt: " + str(a_prompt))
189
 
190
+ denoise_image = Image.open(noisy_image if denoise_image is None else denoise_image)
191
 
192
  if rotation == 90:
193
+ denoise_image = np.array(list(zip(*denoise_image[::-1])))
194
  elif rotation == 180:
195
+ denoise_image = np.array(list(zip(*denoise_image[::-1])))
196
+ denoise_image = np.array(list(zip(*denoise_image[::-1])))
197
  elif rotation == -90:
198
+ denoise_image = np.array(list(zip(*denoise_image))[::-1])
199
 
200
  if 1 < downscale:
201
+ input_height, input_width, input_channel = denoise_image.shape
202
+ denoise_image = denoise_image.resize((input_width // downscale, input_height // downscale), Image.LANCZOS)
203
 
204
  # Allocation
205
  if allocation == 1:
 
284
  return restore(*args, **kwargs)
285
 
286
  def restore(
287
+ noisy_image,
288
  input_image,
 
289
  prompt,
290
  a_prompt,
291
  n_prompt,
 
467
  """)
468
  gr.HTML(title_html)
469
 
470
+ input_image = gr.Image(label="Input (*.png, *.webp, *.jpeg, *.gif, *.bmp)", show_label=True, type="filepath", height=600, elem_id="image-input")
471
  rotation = gr.Radio([["No rotation", 0], ["⤵ Rotate +90°", 90], ["↩ Return 180°", 180], ["⤴ Rotate -90°", -90]], label="Orientation correction", info="Will apply the following rotation before restoring the image; the AI needs a good orientation to understand the content", value=0, interactive=True, visible=False)
472
  with gr.Group():
473
+ prompt = gr.Textbox(label="Image description", info="Help the AI understand what the image represents; describe as much as possible, especially the details we can't see on the original image; you can write in any language", value="", placeholder="A 33 years old man, walking, in the street, Santiago, morning, Summer, photorealistic", lines=3)
474
  prompt_hint = gr.HTML("You can use a <a href='"'https://huggingface.co/spaces/MaziyarPanahi/llava-llama-3-8b'"'>LlaVa space</a> to auto-generate the description of your image.")
475
  upscale = gr.Radio([["x1", 1], ["x2", 2], ["x3", 3], ["x4", 4], ["x5", 5], ["x6", 6], ["x7", 7], ["x8", 8]], label="Upscale factor", info="Resolution x1 to x8", value=2, interactive=True)
476
  allocation = gr.Radio([["1 min", 1], ["2 min", 2], ["3 min", 3], ["4 min", 4], ["5 min", 5], ["6 min", 6], ["7 min", 7], ["8 min", 8]], label="GPU allocation time", info="lower=May abort run, higher=Quota penalty for next runs", value=6, interactive=True)
 
479
  with gr.Accordion("Pre-denoising (optional)", open=False):
480
  gamma_correction = gr.Slider(label="Gamma Correction", info = "lower=lighter, higher=darker", minimum=0.1, maximum=2.0, value=1.0, step=0.1)
481
  denoise_button = gr.Button(value="Pre-denoise")
482
+ denoise_image = gr.Image(label="Denoised image", show_label=True, type="filepath", sources=[], height=600, elem_id="image-s1")
483
  denoise_information = gr.HTML(value="If present, the denoised image will be used for the restoration instead of the input image.", visible=False)
484
 
485
  with gr.Accordion("Advanced options", open=False):
 
618
  "./Examples/Example2.jpeg",
619
  0,
620
  None,
621
+ "La cabeza de un gato atigrado, en una casa, fotorrealista, 8k, extremadamente detallada",
622
  "Cinematic, High Contrast, highly detailed, taken using a Canon EOS R camera, hyper detailed photo - realistic maximum detail, 32k, Color Grading, ultra HD, extreme meticulous detailing, skin pore detailing, hyper sharpness, perfect without deformations.",
623
  "painting, oil painting, illustration, drawing, art, sketch, anime, cartoon, CG Style, 3D render, unreal engine, blurring, bokeh, ugly, dirty, messy, worst quality, low quality, frames, watermark, signature, jpeg artifacts, deformed, lowres, over-smooth",
624
  1,