|
import os |
|
|
|
import gradio as gr |
|
|
|
from face import _FACE_MODELS, _DEFAULT_FACE_MODEL, _gr_detect_faces |
|
|
|
if __name__ == '__main__': |
|
with gr.Blocks() as demo: |
|
with gr.Tabs(): |
|
with gr.Tab('Face Detection'): |
|
with gr.Row(): |
|
with gr.Column(): |
|
gr_face_input_image = gr.Image(type='pil', label='Original Image') |
|
gr_face_model = gr.Dropdown(_FACE_MODELS, value=_DEFAULT_FACE_MODEL, label='Model') |
|
gr_face_infer_size = gr.Slider(480, 1600, value=1216, step=32, label='Max Infer Size') |
|
with gr.Row(): |
|
gr_face_iou_threshold = gr.Slider(0.0, 1.0, 0.7, label='IOU Threshold') |
|
gr_face_score_threshold = gr.Slider(0.0, 1.0, 0.25, label='Score Threshold') |
|
|
|
gr_face_submit = gr.Button(value='Submit', variant='primary') |
|
|
|
with gr.Column(): |
|
gr_face_output_image = gr.Image(type='pil', label="Labeled") |
|
|
|
gr_face_submit.click( |
|
_gr_detect_faces, |
|
inputs=[ |
|
gr_face_input_image, gr_face_model, |
|
gr_face_infer_size, gr_face_score_threshold, gr_face_iou_threshold, |
|
], |
|
outputs=[gr_face_output_image], |
|
) |
|
|
|
demo.queue(os.cpu_count()).launch() |
|
|