基于yolov8+deepsort+gradio实现目标追踪演示
【效果展示】
【测试环境】
ultralytics==8.2.95
gradio==4.26.0
torch==1.9.0+cu111
理论上支持最新ultralytics版本
【实现部分代码】
with gr.Blocks() as demo:with gr.Tab("追踪"):# 使用Markdown显示文本信息,介绍界面的功能gr.Markdown("""# 目标检测与跟踪基于yolov8+deepsort实现目标追踪""")# 行容器,水平排列元素with gr.Row():# 列容器,垂直排列元素with gr.Column():input_path = gr.Video(label="输入视频") # 视频输入控件,用于上传视频文件model = gr.Dropdown(model_list, value=0, label="模型") # 下拉菜单控件,用于选择模型detect_class = gr.Dropdown(detect_classes, value=0, label="类别", type='index') # 下拉菜单控件,用于选择要检测的目标类别output_dir = gr.Textbox(label="输出路径", value=tempfile.mkdtemp()) # 文本框控件,用于指定输出视频的保存路径,默认为一个临时生成的目录with gr.Row():# 创建两个按钮控件,分别用于开始处理和停止处理start_button = gr.Button("开始")stop_button = gr.Button("停止")with gr.Column():output = gr.Video() # 视频显示控件,展示处理后的输出视频output_path = gr.Textbox(label="输出路径") # 文本框控件,用于显示输出视频的文件路径# 添加示例到GUI中,允许用户选择预定义的输入进行快速测试gr.Examples(examples,label="样例",inputs=[input_path, output_dir, detect_class, model],outputs=[output, output_path],fn=start_processing, # 指定处理示例时调用的函数cache_examples=False) # 禁用示例缓存# 将按钮与处理函数绑定start_button.click(start_processing, inputs=[input_path, output_dir, detect_class, model], outputs=[output, output_path])stop_button.click(stop_processing)
【完整源码下载地址】
https://download.csdn.net/download/FL1623863129/89783430