|
import gradio as gr |
|
|
|
from annotator.util import resize_image, HWC3 |
|
|
|
|
|
model_canny = None |
|
|
|
|
|
def canny(img, res, l, h): |
|
img = resize_image(HWC3(img), res) |
|
global model_canny |
|
if model_canny is None: |
|
from annotator.canny import CannyDetector |
|
model_canny = CannyDetector() |
|
result = model_canny(img, l, h) |
|
return [result] |
|
|
|
|
|
model_hed = None |
|
|
|
|
|
def hed(img, res): |
|
img = resize_image(HWC3(img), res) |
|
global model_hed |
|
if model_hed is None: |
|
from annotator.hed import HEDdetector |
|
model_hed = HEDdetector() |
|
result = model_hed(img) |
|
return [result] |
|
|
|
|
|
model_mlsd = None |
|
|
|
|
|
def mlsd(img, res, thr_v, thr_d): |
|
img = resize_image(HWC3(img), res) |
|
global model_mlsd |
|
if model_mlsd is None: |
|
from annotator.mlsd import MLSDdetector |
|
model_mlsd = MLSDdetector() |
|
result = model_mlsd(img, thr_v, thr_d) |
|
return [result] |
|
|
|
|
|
model_midas = None |
|
|
|
|
|
def midas(img, res, a): |
|
img = resize_image(HWC3(img), res) |
|
global model_midas |
|
if model_midas is None: |
|
from annotator.midas import MidasDetector |
|
model_midas = MidasDetector() |
|
results = model_midas(img, a) |
|
return results |
|
|
|
|
|
model_openpose = None |
|
|
|
|
|
def openpose(img, res, has_hand): |
|
img = resize_image(HWC3(img), res) |
|
global model_openpose |
|
if model_openpose is None: |
|
from annotator.openpose import OpenposeDetector |
|
model_openpose = OpenposeDetector() |
|
result, _ = model_openpose(img, has_hand) |
|
return [result] |
|
|
|
|
|
model_uniformer = None |
|
|
|
|
|
def uniformer(img, res): |
|
img = resize_image(HWC3(img), res) |
|
global model_uniformer |
|
if model_uniformer is None: |
|
from annotator.uniformer import UniformerDetector |
|
model_uniformer = UniformerDetector() |
|
result = model_uniformer(img) |
|
return [result] |
|
|
|
|
|
block = gr.Blocks().queue() |
|
with block: |
|
with gr.Row(): |
|
gr.Markdown("## Canny Edge") |
|
with gr.Row(): |
|
with gr.Column(): |
|
input_image = gr.Image(source='upload', type="numpy") |
|
low_threshold = gr.Slider(label="low_threshold", minimum=1, maximum=255, value=100, step=1) |
|
high_threshold = gr.Slider(label="high_threshold", minimum=1, maximum=255, value=200, step=1) |
|
resolution = gr.Slider(label="resolution", minimum=256, maximum=1024, value=512, step=64) |
|
run_button = gr.Button(label="Run") |
|
with gr.Column(): |
|
gallery = gr.Gallery(label="Generated images", show_label=False).style(height="auto") |
|
run_button.click(fn=canny, inputs=[input_image, resolution, low_threshold, high_threshold], outputs=[gallery]) |
|
|
|
with gr.Row(): |
|
gr.Markdown("## HED Edge") |
|
with gr.Row(): |
|
with gr.Column(): |
|
input_image = gr.Image(source='upload', type="numpy") |
|
resolution = gr.Slider(label="resolution", minimum=256, maximum=1024, value=512, step=64) |
|
run_button = gr.Button(label="Run") |
|
with gr.Column(): |
|
gallery = gr.Gallery(label="Generated images", show_label=False).style(height="auto") |
|
run_button.click(fn=hed, inputs=[input_image, resolution], outputs=[gallery]) |
|
|
|
with gr.Row(): |
|
gr.Markdown("## MLSD Edge") |
|
with gr.Row(): |
|
with gr.Column(): |
|
input_image = gr.Image(source='upload', type="numpy") |
|
value_threshold = gr.Slider(label="value_threshold", minimum=0.01, maximum=2.0, value=0.1, step=0.01) |
|
distance_threshold = gr.Slider(label="distance_threshold", minimum=0.01, maximum=20.0, value=0.1, step=0.01) |
|
resolution = gr.Slider(label="resolution", minimum=256, maximum=1024, value=384, step=64) |
|
run_button = gr.Button(label="Run") |
|
with gr.Column(): |
|
gallery = gr.Gallery(label="Generated images", show_label=False).style(height="auto") |
|
run_button.click(fn=mlsd, inputs=[input_image, resolution, value_threshold, distance_threshold], outputs=[gallery]) |
|
|
|
with gr.Row(): |
|
gr.Markdown("## MIDAS Depth and Normal") |
|
with gr.Row(): |
|
with gr.Column(): |
|
input_image = gr.Image(source='upload', type="numpy") |
|
alpha = gr.Slider(label="alpha", minimum=0.1, maximum=20.0, value=6.2, step=0.01) |
|
resolution = gr.Slider(label="resolution", minimum=256, maximum=1024, value=384, step=64) |
|
run_button = gr.Button(label="Run") |
|
with gr.Column(): |
|
gallery = gr.Gallery(label="Generated images", show_label=False).style(height="auto") |
|
run_button.click(fn=midas, inputs=[input_image, resolution, alpha], outputs=[gallery]) |
|
|
|
with gr.Row(): |
|
gr.Markdown("## Openpose") |
|
with gr.Row(): |
|
with gr.Column(): |
|
input_image = gr.Image(source='upload', type="numpy") |
|
hand = gr.Checkbox(label='detect hand', value=False) |
|
resolution = gr.Slider(label="resolution", minimum=256, maximum=1024, value=512, step=64) |
|
run_button = gr.Button(label="Run") |
|
with gr.Column(): |
|
gallery = gr.Gallery(label="Generated images", show_label=False).style(height="auto") |
|
run_button.click(fn=openpose, inputs=[input_image, resolution, hand], outputs=[gallery]) |
|
|
|
|
|
with gr.Row(): |
|
gr.Markdown("## Uniformer Segmentation") |
|
with gr.Row(): |
|
with gr.Column(): |
|
input_image = gr.Image(source='upload', type="numpy") |
|
resolution = gr.Slider(label="resolution", minimum=256, maximum=1024, value=512, step=64) |
|
run_button = gr.Button(label="Run") |
|
with gr.Column(): |
|
gallery = gr.Gallery(label="Generated images", show_label=False).style(height="auto") |
|
run_button.click(fn=uniformer, inputs=[input_image, resolution], outputs=[gallery]) |
|
|
|
|
|
block.launch(server_name='0.0.0.0') |
|
|