返回

在 Streamlit 中部署 YOLOv5 目标检测

人工智能

引言

目标检测是计算机视觉中一项关键任务,涉及识别和定位图像或视频中的对象。近年来,YOLO(You Only Look Once)算法凭借其实时推理速度和高精度,在目标检测领域取得了显著进展。随着 Streamlit 等低代码工具的兴起,部署机器学习模型变得前所未有的简单,即使对于没有编码经验的人来说也是如此。

Streamlit 简介

Streamlit 是一个开源 Python 框架,用于开发和部署机器学习应用程序。它使用简单易用的界面,即使是非技术人员也可以创建交互式、基于网络的应用程序。Streamlit 集成了各种功能,包括数据可视化、交互式小部件和模型部署,使创建和共享机器学习应用程序变得轻而易举。

部署 YOLOv5 目标检测

本教程将指导您如何使用 Streamlit 在 Web 应用程序中部署 YOLOv5 目标检测模型。我们将使用预训练的 YOLOv5 模型和 Streamlit 的简洁界面,让您无需编写任何复杂的代码即可体验 YOLOv5 的强大功能。

步骤 1:安装 Streamlit 和 YOLOv5

pip install streamlit yolov5

步骤 2:加载模型

import yolov5
model = yolov5.load("yolov5s.pt")  # 加载 YOLOv5s 模型

步骤 3:创建 Streamlit 应用程序

import streamlit as st

# 设置标题和文件上传小部件
st.title("YOLOv5 目标检测")
uploaded_file = st.file_uploader("上传图像")

步骤 4:处理上传的图像

if uploaded_file is not None:
    image = Image.open(uploaded_file)  # 将上传的图像读入内存
    results = model(image)  # 对图像进行目标检测

步骤 5:显示检测结果

# 遍历检测结果并显示边界框和标签
for result in results.pred:
    for box, cls, conf in zip(*result):
        x, y, w, h = box.int().tolist()
        st.write(f"边界框: ({x}, {y}, {w}, {h})")
        st.write(f"类别: {cls}")
        st.write(f"置信度: {conf}")

步骤 6:部署应用程序

if __name__ == "__main__":
    st.run()  # 部署应用程序

SEO 优化