返回
在 Streamlit 中部署 YOLOv5 目标检测
人工智能
2023-09-26 05:54:04
引言
目标检测是计算机视觉中一项关键任务,涉及识别和定位图像或视频中的对象。近年来,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 优化