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 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"], default="yolov5", ), gr.inputs.Dropdown( label="Model Path", choices=[ "aijack/v5s" ], default="aijack/v5s", ), gr.inputs.Dropdown( label="Tracker Type", choices=["OCSORT"], default="OCSORT", ), gr.inputs.Dropdown( label="Tracker Config Path", choices=[ "tracker/oc_sort.yaml", ], default="tracker/oc_sort.yaml", ), gr.inputs.Dropdown( label="Tracker Weight Path", choices=[ "aijack/osnet" ], default="aijack/osnet", ), ] examples = [ [ "01.mp4", "yolov5", "aijack/v5s", "OCSORT", "tracker/oc_sort.yaml", ] ] outputs = gr.Video() title = "YOLOV5 Object Detection and Track Algorithm Library" article = "
Claireye | 2023
" demo_app = gr.Interface( fn=object_tracker, inputs=inputs, examples=examples, outputs=outputs, title=title, article = article, cache_examples=False ) demo_app.launch(debug=True, enable_queue=True)