Spaces:
Running
Running
File size: 1,450 Bytes
7b36907 |
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 35 36 37 38 39 |
import gradio as gr
import subprocess
import os
def crowd_counting(image):
# Save the uploaded image
image_path = "test/uploaded.jpg"
image.save(image_path)
# Run the crowd counting model using subprocess
command = "python3 detect.py --weights weights/crowdhuman_yolov5m.pt --source {} --head --project runs/output --exist-ok".format(image_path)
subprocess.run(command, shell=True)
# Read the total_boxes from the file
total_boxes_path = "runs/output/output.txt"
with open(total_boxes_path, "r") as f:
total_boxes = f.read()
# Get the output image
output_image = "runs/output/output.jpg"
# Return the output image and total_boxes
return output_image, total_boxes
# Define the input and output interfaces
inputs = gr.inputs.Image(type="pil", label="Input Image")
outputs = [gr.outputs.Image(type="pil", label="Output Image"), gr.outputs.Textbox(label="Total (Head) Count")]
# Define the title and description
title = "Crowd Counting"
description = "<div style='text-align: center;'>This is a crowd counting application that uses a deep learning model to count the number of heads in an image.<br>Made by HTX (Q3) </div>"
# Create the Gradio interface without the flag button
gradio_interface = gr.Interface(fn=crowd_counting, inputs=inputs, outputs=outputs, title=title, description=description, allow_flagging="never")
# Run the Gradio interface
gradio_interface.launch() |