使用 Ultralytics YOLO26 进行 Streamlit 实时推理

介绍

Streamlit 让构建和部署交互式 Web 应用变得简单。将其与 Ultralytics YOLO26 相结合,你可以在浏览器中直接进行实时目标检测和分析。YOLO26 的高精度和高速性能确保了实时视频流的流畅运行,非常适合安防、零售等领域的应用。



Watch: How to Build a Live Inference App with Ultralytics YOLO26 & Streamlit | Detection & Segmentation 🚀
水产养殖畜牧业
使用 Ultralytics YOLO26 进行鱼类检测使用 Ultralytics YOLO26 进行动物检测
使用 Ultralytics YOLO26 进行鱼类检测使用 Ultralytics YOLO26 进行动物检测

实时推理的优势

  • 无缝实时目标检测:Streamlit 与 YOLO26 结合,可以直接通过网络摄像头进行实时目标检测。这能够实现即时的分析和洞察,非常适合需要即时反馈的应用
  • 用户友好的部署:Streamlit 的交互式界面使得无需深厚的技术知识即可轻松部署和使用该应用。用户只需轻轻点击即可启动实时推理,从而提高了可访问性和易用性。
  • 高效的资源利用:YOLO26 的优化算法确保了在极低计算资源下实现高速处理。这种高效性使得即使在标准硬件上也能流畅且可靠地进行摄像头推理,从而让更多人能够接触到先进的计算机视觉技术。

Streamlit 应用代码

Ultralytics 安装

在开始构建应用之前,请确保你已经安装了 Ultralytics Python 包。

pip install ultralytics
使用 Streamlit 和 Ultralytics YOLO 进行推理
yolo solutions inference

yolo solutions inference model="path/to/model.pt"

这些命令将启动随 Ultralytics 一起提供的默认 Streamlit 界面。如果你想在不编辑 Python 代码的情况下自定义体验,可以使用 yolo solutions inference --help 来查看更多参数,如 sourceconfpersist

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

工作原理

在底层,Streamlit 应用使用 Ultralytics solutions 模块来创建交互式界面。当你启动推理时,应用会执行以下操作:

  1. 从你的摄像头或上传的视频文件中捕获视频
  2. 通过 YOLO26 模型处理每一帧
  3. 使用你指定的置信度和 IoU 阈值应用目标检测
  4. 实时显示原始帧和标注后的帧
  5. 如果选中,可选开启目标跟踪功能

该应用提供了一个简洁、用户友好的界面,并配有控制按钮,用于调整模型参数以及随时开始/停止推理。

总结

通过学习本指南,你已经成功地创建了一个使用 Streamlit 和 Ultralytics YOLO26 的实时目标检测应用。该应用让你能够通过用户友好的界面体验 YOLO26 的强大检测能力,并能随时停止视频流。

若要进行更多增强,你可以探索添加其他功能,例如录制视频流、保存标注后的帧,或与其他计算机视觉库集成。

与社区分享你的想法

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

获取帮助和支持的渠道

官方文档

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

常见问题 (FAQ)

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

使用 Streamlit 和 Ultralytics YOLO26 设置实时目标检测应用非常简单。首先,确保你已使用以下命令安装了 Ultralytics Python 包:

pip install ultralytics

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

Streamlit 应用
from ultralytics import solutions

inf = solutions.Inference(
    model="yolo26n.pt",  # you can use any model that Ultralytics supports, e.g., YOLO26, YOLOv10
)

inf.inference()

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

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

使用 Ultralytics YOLO26 和 Streamlit 进行实时目标检测的主要优势是什么?

使用 Ultralytics YOLO26 和 Streamlit 进行实时目标检测具有以下几个优势:

  • 无缝实时检测:直接从摄像头流中实现高精度的实时目标检测。
  • 用户友好界面:Streamlit 的直观界面无需深入的技术知识即可轻松使用和部署。
  • 资源效率:YOLO26 的优化算法确保了在极低计算资源下实现高速处理。

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

如何将 Streamlit 目标检测应用部署到 Web 浏览器中?

编写完集成 Ultralytics YOLO26 的 Streamlit 应用代码后,你可以通过运行以下命令进行部署:

streamlit run path/to/file.py

该命令将在你的默认 Web 浏览器中启动应用,使你能够选择 YOLO26 模型、设置置信度和 NMS 阈值,并只需轻轻点击即可开始实时目标检测。有关详细指南,请参阅 Streamlit 应用代码部分。

使用 Streamlit 和 Ultralytics YOLO26 进行实时目标检测有哪些用例?

使用 Streamlit 和 Ultralytics YOLO26 进行的实时目标检测可应用于各个行业:

  • 安防:针对未经授权的访问进行实时监控和安全报警系统
  • 零售:顾客计数、货架管理和库存跟踪
  • 野生动物和农业:监测动物和作物状况,用于保护工作

如需深入了解更多用例和示例,请探索 Ultralytics 解决方案

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

与 YOLOv5 和 RCNN 等早期模型相比,Ultralytics YOLO26 提供了多项改进:

  • 更高的速度和精度:针对实时应用提升了性能。
  • 易用性:简化了接口和部署过程。
  • 资源效率:针对速度进行了优化,计算需求更低。

如需全面对比,请查看 Ultralytics YOLO26 文档以及讨论模型性能的相关博文。

评论