敬请关注 YOLO Vision 2025!
2025年9月25日
英国夏令时 10:00 - 18:00
混合活动
Yolo Vision 2024

使用 Streamlit 和 Ultralytics YOLO11 运行交互式 AI 应用程序

Abirami Vina

5 分钟阅读

2025年3月18日

了解如何在 Streamlit 界面中运行 YOLO11 推理,并构建一个交互式 AI 界面,用于执行计算机视觉任务,而无需编码专业知识。

计算机视觉模型是具有影响力的 AI 工具,使机器能够解释和分析视觉数据,以高精度执行对象检测、图像分类和实例分割等任务。但是,它们有时可能需要额外的技术专业知识,例如 Web 开发或移动应用程序技能,才能部署并使其可供更广泛的受众使用。

Ultralytics YOLO11 为例。它是一个支持各种任务的模型,并且在一系列应用中都很有用。但是,如果没有一些技术前端知识,构建和部署一个用户友好的界面以实现无缝交互,对于一些 AI 工程师来说可能会感到有些挑战。

Streamlit 是一个旨在简化此过程的开源框架。它是一个基于 Python 的工具,用于构建交互式应用程序,无需复杂的前端开发。当与 YOLO11 结合使用时,它允许用户上传图像、处理视频并以最小的努力可视化实时结果。

Ultralytics 通过其 Live Inference 解决方案更进一步,使 Streamlit 集成变得更加容易。只需一个命令,用户即可启动预构建的 YOLO11 Streamlit 应用程序,无需手动设置和编码。 

在本文中,我们将介绍如何使用 Ultralytics 的 Streamlit 实时推理解决方案来设置和运行 YOLO11,从而使实时 AI 部署更快、更易于访问。

什么是 Streamlit?

Streamlit 是一个 Python 框架,可以简化交互式 Web 应用程序的创建。AI 开发人员可以构建 AI 驱动的应用程序,而无需处理前端开发的复杂性。 

它旨在与 AI 和机器学习模型无缝协作。只需几行 Python 代码,开发人员就可以创建一个界面,用户可以在其中上传图像、处理视频并与 AI 模型交互。

__wf_reserved_inherit
图 1. Streamlit 的主要特性。(图片由作者提供)

其主要功能之一是动态渲染。当用户进行更改时,应用程序会自动更新,而无需手动重新加载页面。

此外,由于 Streamlit 轻量级且易于使用,因此它可以在本地机器和云平台上高效运行。这使其成为部署 AI 应用程序、与他人共享模型以及提供直观、交互式用户体验的绝佳选择。

Ultralytics YOLO11:一款多功能的视觉 AI 模型

在深入探讨如何在 Streamlit 应用程序中使用 Ultralytics YOLO11 运行实时推理之前,让我们仔细看看是什么让 YOLO11 如此可靠。

Ultralytics YOLO11 是一种专为实时计算机视觉任务(如对象检测、实例分割和姿态估计)设计的模型。它以令人印象深刻的准确性提供高速性能。

__wf_reserved_inherit
图 2. 使用 YOLO11 进行目标检测的示例。

YOLO11最大的优势之一是它的易用性。无需复杂的设置;开发人员只需安装Ultralytics Python包,就可以用几行代码开始进行预测。

Ultralytics Python 软件包提供了一系列功能,允许用户微调模型并调整检测设置。它还有助于优化不同设备上的性能,从而实现更流畅的部署。

除了灵活性之外,Ultralytics Python 包还支持跨多个平台的集成,包括边缘设备、云环境和支持 NVIDIA GPU 的系统。无论部署在小型嵌入式设备还是大型云服务器上,YOLO11 都能轻松适应,使先进的视觉人工智能比以往任何时候都更容易获得。

将 Streamlit 与 Ultralytics YOLO11 结合使用的优势

您可能想知道,我如何知道 Streamlit 是否适合我的部署选项?如果您正在寻找一种简单、代码高效的方式来运行 YOLO11,而无需处理前端开发,那么 Streamlit 是一个不错的选择——尤其适用于原型设计、概念验证 (PoC) 项目或面向少量用户的部署。

它通过消除不必要的复杂性并为实时交互提供直观的界面,从而简化了使用 YOLOv8 的过程。以下是一些其他主要优势:

  • 可定制的 AI 控件:您可以在界面中添加滑块、下拉菜单和按钮,让用户可以轻松地微调检测设置和过滤特定对象。
  • 与其他 AI 工具集成: Streamlit 支持与 NumPy、OpenCV、Matplotlib 和其他机器学习库集成,从而增强了 AI 工作流程能力。
  • 交互式数据可视化: 对图表和图形的内置支持允许用户毫不费力地可视化对象检测、分割结果或跟踪洞察。
  • 协作友好: Streamlit 应用程序可以通过一个简单的链接轻松地与团队成员、利益相关者或客户共享,从而实现即时反馈和迭代。

在 Streamlit Web 应用程序中部署 YOLO11 的分步指南

既然我们已经探讨了将 Streamlit 与 YOLO11 结合使用的优势,现在让我们来看看如何使用 Streamlit 和 YOLO11 在浏览器中运行实时计算机视觉任务。

安装 Ultralytics Python 软件包

第一步是安装 Ultralytics Python 包。这可以使用以下命令完成:

安装完成后,YOLO11 即可使用,无需任何复杂的设置。如果在安装所需软件包时遇到任何问题,您可以参考我们的常见问题解答指南,获取故障排除提示和解决方案。

使用 YOLO11 启动 Streamlit 应用程序 

通常,您需要使用 Streamlit 组件开发一个 Python 脚本来运行 YOLO11。但是,Ultralytics 提供了一种使用 Streamlit 运行 YOLO11 的简单方法。 

运行以下 Python 脚本将立即在您的默认 Web 浏览器中启动 Streamlit 应用程序:

无需其他配置。Streamlit 应用程序界面包括一个用于上传图像和视频的部分,一个用于选择您感兴趣的 YOLO11 模型变体的下拉菜单,以及用于调整检测置信度的滑块。一切都井井有条,使用户无需编写额外的代码即可轻松运行推理。

在 Streamlit 应用程序上使用 YOLO11 运行推理

现在 Streamlit 应用程序已在您的 Web 浏览器中运行,让我们来了解如何使用它通过 YOLO11 运行推理。

例如,假设我们要分析视频文件以进行目标检测。以下是上传文件、选择模型和查看实时结果的步骤:

  • 上传视频文件: 从用户配置下拉列表中选择“视频”,这将告诉应用程序处理预先录制的文件而不是网络摄像头源。
  • 选择一个 YOLO11 模型: 从模型下拉菜单中选择“YOLO11l”,以使用大型 YOLO11 模型进行对象检测。
  • 启动检测流程:点击“开始”,YOLO11 将逐帧分析视频,并实时检测目标。
  • 查看处理后的视频:观看屏幕上实时更新的视频,其中会显示检测到的对象及其边界框。
  • 在 Streamlit 中与结果交互:使用该界面调整设置或分析检测结果,而无需额外的设置或编码。
__wf_reserved_inherit
图 3. Ultralytics YOLO Streamlit 应用程序界面。

使用 Streamlit 和 YOLO11 的用例

我们研究了 Streamlit 如何非常适合创建原型、研究工具以及中小型应用程序。它提供了一种简单的方式来部署 AI 模型,而无需复杂的前端开发。

然而,除非您使用我们在上述步骤中设置的Ultralytics YOLO Streamlit应用程序,否则使用Streamlit运行YOLO11并不总是一个开箱即用的解决方案。在大多数情况下,需要进行一些开发工作来自定义应用程序以适应特定需求。虽然Streamlit简化了部署,但您仍然需要配置必要的组件以确保YOLO11顺利运行。

让我们探讨两个实际案例,了解 Ultralytics YOLO11 如何在实际场景中与 Streamlit 有效部署。

使用 YOLO11 进行物体计数以进行库存检查

在零售商店、储藏室或办公用品区跟踪库存可能非常耗时且容易出错。通过将 YOLO11 与 Streamlit 结合使用,企业可以快速有效地自动执行对象计数,这使其成为在承诺大规模部署之前进行概念验证 (PoC) 的绝佳选择。

通过此设置,用户可以上传图像或使用实时摄像头源,YOLO11 可以帮助立即检测和计数对象。实时计数可以显示在 Streamlit 界面中,从而提供了一种无需人工干预即可监控库存水平的简便方法。

例如,店主可以扫描货架并立即查看有多少瓶、盒子或包装好的商品,而无需手动计数。通过利用 YOLO11 和 Streamlit,企业可以减少人工工作,提高准确性,并以最小的投资探索自动化。

__wf_reserved_inherit
图 4. 使用 YOLO11 检测冰箱中的瓶子。

利用 YOLO11 和 Streamlit 提升安全性

在办公室、仓库或活动场所中,保持限制区域的安全可能很困难,尤其是在手动监控的情况下。通过将 YOLO11 与 Streamlit 结合使用,企业可以建立一个简单的人工智能驱动的安全系统,以实时检测未经授权的访问。

摄像头馈送可以连接到 Streamlit 界面,在该界面中,YOLO11 用于识别和跟踪进入限制区域的人员。 如果检测到未经授权的人员,系统可以触发警报或记录该事件以供审核。

例如,仓库管理员可以监控对高安全性存储区域的访问,或者办公室可以跟踪限制区域内的移动,而无需持续监督。

对于希望在致力于构建更大、完全自动化的系统之前探索视觉人工智能驱动的安全监控的企业来说,这可能是一个令人大开眼界的项目。通过将 YOLO11 与 Streamlit 集成,企业可以增强安全性,最大限度地减少手动监控,并更有效地响应未经授权的访问。

使用 Streamlit 监控交互式 AI 应用程序的技巧

使用 Streamlit 等工具来部署计算机视觉模型有助于创建交互式且用户友好的体验。但是,在设置好实时界面后,重要的是要确保系统高效运行并随着时间的推移提供准确的结果。

以下是部署后需要考虑的一些关键因素:

  • 定期监控 跟踪检测准确率、推理速度和资源使用情况。如果性能下降,请调整模型参数或升级硬件。
  • 管理多个用户和可扩展性: 随着用户需求的增长,优化基础设施是保持性能的关键。云平台和可扩展的部署解决方案有助于确保平稳运行。
  • 保持模型更新: 保持模型和库的更新可以提高准确性、安全性和对新功能的访问。

主要要点

Ultralytics 通过一个即用型的 Streamlit 实时界面简化了 YOLO11 的部署,只需一个命令即可运行,无需编码。这使得用户可以立即开始使用实时目标检测。

该界面还包括内置的自定义功能,使用户可以轻松切换模型、调整检测精度和过滤对象。一切都在一个简单、用户友好的界面中进行管理,无需手动进行 UI 开发。通过结合

YOLO11 的强大功能与 Streamlit 易于部署的特性相结合,使企业和开发人员能够快速地对 AI 驱动的应用程序进行原型设计、测试和改进。 

加入我们的社区并浏览我们的GitHub 存储库,以获取更多关于 AI 的见解。查看我们的解决方案页面,以了解更多关于制造业中的 AI医疗保健中的计算机视觉等创新。查看我们的许可选项,立即开始吧!

让我们一起构建人工智能的未来!

开启您的机器学习未来之旅

免费开始
链接已复制到剪贴板