使用 Ultralytics YOLO11 的 Streamlit 应用程序进行实时推理
简介
Streamlit 使构建和部署交互式 Web 应用程序变得简单。将其与 Ultralytics YOLO11 结合使用,可以直接在您的浏览器中进行实时对象检测和分析。YOLO11 的高精度和速度确保了实时视频流的无缝性能,使其成为安全、零售等领域应用的理想选择。
观看: 如何将 Streamlit 与 Ultralytics 结合使用以实现实时性 计算机视觉 在您的浏览器中
水产养殖 | 畜牧业 |
---|---|
![]() |
![]() |
使用 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 解决方案模块 来创建一个交互式界面。当您开始推理时,该应用程序:
- 从您的网络摄像头或上传的视频文件中捕获视频
- 通过YOLO11模型处理每一帧
- 使用您指定的置信度和 IoU 阈值应用对象检测
- 实时显示原始帧和带注释的帧
- 如果选择,可以选择启用对象跟踪
该应用程序提供了一个干净、用户友好的界面,其中包含用于调整模型参数以及随时启动/停止推理的控件。
结论
通过遵循本指南,您已经成功创建了一个使用 Streamlit 和 Ultralytics YOLO11 的实时对象检测应用程序。此应用程序允许您体验 YOLO11 在通过网络摄像头检测对象方面的强大功能,它具有用户友好的界面,并且可以随时停止视频流。
为了进一步增强功能,您可以探索添加更多功能,例如录制视频流、保存带注释的帧或与其他计算机视觉库集成。
与社区分享您的想法
与社区互动以了解更多信息、解决问题并分享您的项目:
在哪里可以找到帮助和支持
- GitHub Issues: 访问 Ultralytics GitHub 仓库 以提出问题、报告错误和建议功能。
- Ultralytics Discord 服务器:加入Ultralytics Discord 服务器,与其他用户和开发人员联系、获得支持、分享知识和集思广益。
官方文档
- 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 文档和讨论模型性能的相关博客文章。