跳转至内容

使用 Ultralytics YOLO11 的 Streamlit 应用程序进行实时推理

简介

Streamlit 使构建和部署交互式 Web 应用程序变得简单。将其与 Ultralytics YOLO11 结合使用,可以直接在您的浏览器中进行实时对象检测和分析。YOLO11 的高精度和速度确保了实时视频流的无缝性能,使其成为安全、零售等领域应用的理想选择。



观看: 如何将 Streamlit 与 Ultralytics 结合使用以实现实时性 计算机视觉 在您的浏览器中

水产养殖 畜牧业
使用 Ultralytics YOLO11 进行鱼类检测 使用 Ultralytics YOLO11 进行动物检测
使用 Ultralytics YOLO11 进行鱼类检测 使用 Ultralytics YOLO11 进行动物检测

实时推理的优势

  • 无缝实时对象检测: Streamlit 结合 YOLO11 可直接从您的网络摄像头提要中实现实时对象检测。这可以实现即时分析和洞察,使其成为需要即时反馈的应用的理想选择。
  • 用户友好的部署: Streamlit 的交互式界面使得部署和使用该应用程序变得容易,而无需广泛的技术知识。 用户只需简单点击即可开始实时推理,从而增强了可访问性和可用性。
  • 高效的资源利用:YOLO11 优化的算法确保以最小的计算资源实现高速处理。 这种效率即使在标准硬件上也能实现流畅可靠的摄像头推理,从而使更广泛的受众可以使用先进的计算机视觉

Streamlit 应用代码

Ultralytics 安装

在开始构建应用程序之前,请确保已安装 Ultralytics Python 包。您可以使用命令 pip install ultralytics 进行安装。

使用 Streamlit 和 Ultralytics YOLO 进行推理

yolo solutions inference

yolo solutions inference model="path/to/model.pt"
from ultralytics import solutions

inf = solutions.Inference(
    model="yolo11n.pt",  # you can use any model that Ultralytics support, i.e. YOLO11, or custom trained model
)

inf.inference()

# Make sure to run the file using command `streamlit run path/to/file.py`

这将在您的默认Web浏览器中启动Streamlit应用程序。 您将看到主标题、副标题和带有配置选项的侧边栏。 选择所需的YOLO11模型,设置置信度和NMS阈值,然后单击“开始”按钮以开始实时目标检测。

工作原理

在底层,Streamlit 应用程序使用 Ultralytics 解决方案模块 来创建一个交互式界面。当您开始推理时,该应用程序:

  1. 从您的网络摄像头或上传的视频文件中捕获视频
  2. 通过YOLO11模型处理每一帧
  3. 使用您指定的置信度和 IoU 阈值应用对象检测
  4. 实时显示原始帧和带注释的帧
  5. 如果选择,可以选择启用对象跟踪

该应用程序提供了一个干净、用户友好的界面,其中包含用于调整模型参数以及随时启动/停止推理的控件。

结论

通过遵循本指南,您已经成功创建了一个使用 Streamlit 和 Ultralytics YOLO11 的实时对象检测应用程序。此应用程序允许您体验 YOLO11 在通过网络摄像头检测对象方面的强大功能,它具有用户友好的界面,并且可以随时停止视频流。

为了进一步增强功能,您可以探索添加更多功能,例如录制视频流、保存带注释的帧或与其他计算机视觉库集成。

与社区分享您的想法

与社区互动以了解更多信息、解决问题并分享您的项目:

在哪里可以找到帮助和支持

官方文档

  • Ultralytics YOLO11 文档: 请参阅官方 YOLO11 文档,获取关于各种计算机视觉任务和项目的综合指南和见解。

常见问题

如何使用 Streamlit 和 Ultralytics YOLO11 设置实时目标检测应用程序?

使用 Streamlit 和 Ultralytics YOLO11 设置实时对象检测应用程序非常简单。首先,请确保已使用以下命令安装 Ultralytics python 包:

pip install ultralytics

然后,您可以创建一个基本的 Streamlit 应用程序来运行实时推理:

Streamlit 应用

from ultralytics import solutions

inf = solutions.Inference(
    model="yolo11n.pt",  # you can use any model that Ultralytics support, i.e. YOLO11, YOLOv10
)

inf.inference()

# Make sure to run the file using command `streamlit run path/to/file.py`
yolo solutions inference

有关实际设置的更多详细信息,请参阅文档的Streamlit 应用程序代码部分

将 Ultralytics YOLO11 与 Streamlit 结合用于实时目标检测的主要优势是什么?

将 Ultralytics YOLO11 与 Streamlit 结合使用进行实时对象检测具有以下几个优势:

  • 无缝实时检测: 直接从网络摄像头获取高精度的实时对象检测。
  • 用户友好界面: Streamlit 直观的界面使得用户无需深入的技术知识即可轻松使用和部署。
  • 资源效率: YOLO11的优化算法确保以最少的计算资源实现高速处理。

实时推理的优势部分中了解更多关于这些优势的信息。

如何在我的 Web 浏览器中部署 Streamlit 对象检测应用程序?

在完成整合 Ultralytics YOLO11 的 Streamlit 应用程序编码后,您可以通过运行以下命令来部署它:

streamlit run path/to/file.py

此命令将在您的默认 Web 浏览器中启动该应用程序,使您能够选择 YOLO11 模型,设置置信度和 NMS 阈值,并通过简单的单击开始实时对象检测。有关详细指南,请参阅Streamlit 应用程序代码部分。

使用 Streamlit 和 Ultralytics YOLO11 进行实时对象检测有哪些用例?

使用 Streamlit 和 Ultralytics YOLO11 的实时目标检测可以应用于各个领域:

要了解更多深入的使用案例和示例,请浏览 Ultralytics 解决方案

Ultralytics YOLO11 与 YOLOv5 和 RCNN 等其他目标检测模型相比如何?

与 YOLOv5 和 RCNN 等早期模型相比,Ultralytics YOLO11 提供了以下几项增强功能:

  • 更高的速度和精度:改进了实时应用程序的性能。
  • 易于使用:简化的界面和部署。
  • 资源效率: 经过优化,以更少的计算需求获得更快的速度。

有关全面的比较,请查看Ultralytics YOLO11 文档和讨论模型性能的相关博客文章。



📅 创建于 1 年前 ✏️ 更新于 13 天前

评论