Spaces:
Runtime error
Runtime error
File size: 2,187 Bytes
d70cad8 09a96ae d70cad8 c9d4aba 17385b8 d70cad8 f0d0508 76b5eb7 4ef5f6d |
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 |
# Are you wearing a mask?
import gradio as gr
import torch
import torchvision
import numpy as np
from PIL import Image
# Face masks
# TODO: Allow user selectable model?
model = torch.hub.load('ultralytics/yolov5', 'custom', "model_weights/face_masks_v8.pt")
def yolo(im, size=640):
g = (size / max(im.size)) # gain
im = im.resize((int(x * g) for x in im.size), Image.ANTIALIAS) # resize
results = model(im) # inference
results.render() # updates results.imgs with boxes and labels
return Image.fromarray(results.imgs[0])
inputs = gr.inputs.Image(type='pil', label="Original Image")
outputs = gr.outputs.Image(type="pil", label="Output Image")
title = "Are you wearing a mask?"
description = "Detecting masked and unmasked faces with YOLOv5. Take a picture, upload an image, or click an example image to use."
article = "<p style='text-align: center'>This app makes predictions using a YOLOv5s model that was fine tuned on a dataset of people with and without masks. All of the code for training the model is available on <a href='https://github.com/hlydecker/are-you-wearing-a-mask'>GitHub</a>. This app and the model behind it were created by Henry Lydecker, for a <a href='https://github.com/Sydney-Informatics-Hub/cv-demo'>course</a> he developed for the Sydney Informatics Hub, a Core Research Facility of The University of Sydney. Find out more about the YOLO model from the original creator, <a href='https://pjreddie.com/darknet/yolo/'>Joseph Redmon</a>. YOLOv5 is a family of compound-scaled object detection models trained on the COCO dataset and developed by Ultralytics, and includes simple functionality for Test Time Augmentation (TTA), model ensembling, hyperparameter evolution, and export to ONNX, CoreML and TFLite. <a href='https://github.com/ultralytics/yolov5'>Source code</a> | <a href='https://pytorch.org/hub/ultralytics_yolov5'>PyTorch Hub</a></p>"
# Example data: should there be more?
examples = [['data/picard.jpg'], ['data/crowd.jpeg'],['data/santa-claus-orig.jpg']]
gr.Interface(yolo, inputs, outputs, title=title, description=description, article=article, examples=examples, theme="huggingface").launch(enable_queue=True)
|