Spaces:
Sleeping
Sleeping
import os | |
os.system("pip3 install cython_bbox gdown 'git+https://github.com/cocodataset/cocoapi.git#subdirectory=PythonAPI'") | |
from torchyolo import YoloHub | |
import gradio as gr | |
from utils import attempt_download_from_hub | |
""" | |
Paper Implementation | |
#"kadirnar/OcSort" | |
#"kadirnar/SORT" | |
#"kadirnar/ByteTracker" | |
#"kadirnar/strongsort" | |
""" | |
def object_tracker( | |
source: str, | |
model_type: str, | |
model_path: str, | |
tracker_type: str, | |
tracker_config_path: str, | |
StrongSort_OsNet_Path: str = None, | |
): | |
model = YoloHub( | |
config_path="default_config.yaml", | |
model_type=model_type, | |
model_path=model_path, | |
) | |
if tracker_type == "STRONGSORT": | |
StrongSort_OsNet_Path = attempt_download_from_hub(StrongSort_OsNet_Path) | |
model.predict( | |
source=source, | |
tracker_type=tracker_type, | |
tracker_weight_path=StrongSort_OsNet_Path, | |
tracker_config_path=tracker_config_path, | |
) | |
return 'output.mp4' | |
inputs = [ | |
gr.Video(), | |
gr.inputs.Dropdown( | |
label="Model Type", | |
choices=["yolov5", "yolov6", "yolov8"], | |
default="yolov5", | |
), | |
gr.inputs.Dropdown( | |
label="Model Path", | |
choices=[ | |
"kadirnar/yolov5s6-v6.0", | |
"kadirnar/yolov6m-v3.0", | |
"kadirnar/yolov8n-v8.0", | |
], | |
default="kadirnar/yolov5s6-v6.", | |
), | |
gr.inputs.Dropdown( | |
label="Tracker Type", | |
choices=["NORFAIR", "STRONGSORT", "OCSORT", "BYTETRACK", "SORT"], | |
default="NORFAIR", | |
), | |
gr.inputs.Dropdown( | |
label="Tracker Config Path", | |
choices=[ | |
"tracker/norfair_track.yaml", | |
"tracker/strong_sort.yaml", | |
"tracker/oc_sort.yaml", | |
"tracker/byte_track.yaml", | |
"tracker/sort_track.yaml", | |
], | |
default="tracker/norfair_track.yaml", | |
), | |
gr.inputs.Dropdown( | |
label="Tracker Weight Path", | |
choices=[ | |
"kadirnar/osnet_x0_5_imagenet", | |
"kadirnar/osnet_x1_0_imagenet", | |
"kadirnar/osnet_x0_25_imagenet" | |
], | |
default="kadirnar/osnet_x0_5_imagenet", | |
), | |
] | |
examples = [ | |
[ | |
"test.mp4", | |
"yolov5", | |
"kadirnar/yolov5s6-v6.0", | |
"SORT", | |
"tracker/sort_track.yaml", | |
], | |
[ | |
"testv2.mp4", | |
"yolov6", | |
"kadirnar/yolov6m-v3.0", | |
"OCSORT", | |
"tracker/oc_sort.yaml" | |
] | |
] | |
outputs = gr.Video() | |
title = "TorchYolo: YOLO Series Object Detection and Track Algorithm Library" | |
demo_app = gr.Interface( | |
fn=object_tracker, | |
inputs=inputs, | |
examples=examples, | |
outputs=outputs, | |
title=title, | |
cache_examples=False, | |
theme='huggingface', | |
) | |
demo_app.launch(debug=True, enable_queue=True) |