使用 Streamlit 和 Ultralytics YOLO11 运行交互式 AI 应用
学习如何在 Streamlit 界面内运行 YOLO11 推理,并为计算机视觉任务构建一个交互式 AI 界面,而无需编码专业知识。

计算机视觉模型是具有影响力的 AI 工具,能够让机器理解和分析视觉数据,高精度地执行目标检测、图像分类和实例分割等任务。然而,它们有时需要额外的技术专业知识,比如网页开发或移动应用技能,以便进行部署并让更广泛的受众使用。
以 Ultralytics YOLO11 为例。它是一个支持多种任务且在各种应用中都很有用的模型。然而,如果没有一些前端技术知识,为无缝交互构建和部署用户友好的界面对某些 AI 工程师来说可能会觉得有点挑战。
Streamlit 是一个开源框架,旨在简化这一过程。它是一个基于 Python 的工具,用于构建交互式应用程序,而无需进行复杂的前端开发。当与 Ultralytics YOLO11 配合使用时,它能让用户以极小的努力上传图像、处理视频并实时可视化结果。
Ultralytics 通过其实时推理解决方案将这一点推进了一步,让 Streamlit 集成更加简单。只需一条命令,用户就可以启动一个预构建的 Streamlit app for YOLO11,从而无需进行手动设置和编写代码。
在本文中,我们将逐步介绍如何利用 Ultralytics 的 Live Inference 解决方案与 Streamlit 来设置并运行 YOLO11,从而使实时 AI 部署变得更快捷、更易上手。
什么是 Streamlit?#
Streamlit 是一个简化交互式 Web 应用创建流程的 Python 框架。AI 开发人员可以构建 AI 驱动的应用,而无需处理前端开发的复杂细节。
它专为与 AI 和机器学习模型无缝协作而设计。只需几行 Python 代码,开发人员即可创建一个用户可以上传图像、处理视频并与 AI 模型交互的界面。

图 1. Streamlit 的主要功能。图片作者:作者。
其核心功能之一是动态渲染。当用户进行更改时,应用会自动更新,无需手动重新加载页面。
此外,由于其轻量级且易于使用,Streamlit 在本地机器和云平台上都能高效运行。这使其成为部署 AI 应用、与他人共享模型以及提供直观、交互式用户体验的绝佳选择。
Ultralytics YOLO11:多功能的视觉 AI 模型#
在深入探讨如何使用 Streamlit 应用通过 Ultralytics YOLO11 运行实时推理之前,让我们仔细看看是什么让 YOLO11 如此可靠。
Ultralytics YOLO11 是一个专为实时计算机视觉任务(例如目标检测、实例分割和姿态估计)设计的模型。它以惊人的准确性提供高速性能。

Fig 2. 使用 YOLO11 进行目标检测的示例。
YOLO11 最大的优势之一是易用性。无需复杂的设置;开发人员只需安装 Ultralytics Python 包,仅需几行代码即可开始进行预测。
Ultralytics Python 包提供了丰富的功能,允许用户微调模型并调整检测设置。它还有助于优化不同设备上的性能,从而实现更平稳的部署。
除了灵活性之外,Ultralytics Python package 还支持跨多个平台的集成,包括边缘设备、云环境和启用了 NVIDIA GPU 的系统。无论部署在小型嵌入式设备上还是大规模云服务器上,YOLO11 都能轻松适应,让先进的视觉 AI 比以往任何时候都更容易触及。
使用 Streamlit 和 Ultralytics YOLO11 的优势#
你可能在想,我怎么知道 Streamlit 是否适合我的部署方案?如果你正在寻找一种简单、代码高效的方式来运行 Ultralytics YOLO11,又不想处理前端开发,Streamlit 是一个不错的选择 —— 特别适合用于原型设计、概念验证(PoC)项目,或面向较少用户的部署。
它通过消除不必要的复杂性并提供直观的实时交互界面,简化了使用 Ultralytics YOLO11 的流程。以下是一些其他主要优势:
-
可自定义的 AI 控件: 你可以在界面中添加滑块、下拉菜单和按钮,让用户能够轻松微调检测设置并过滤特定目标。
-
与其他 AI 工具的集成: Streamlit 支持与 NumPy、OpenCV、 Matplotlib 和其他机器学习库集成,从而增强了 AI 工作流的处理能力。
-
交互式数据可视化: 内置对图表和图形的支持,用户可以毫不费力地可视化目标检测、分割结果或跟踪见解。
-
利于协作: Streamlit 应用可以通过简单的链接轻松与团队成员、利益相关者或客户共享,从而实现即时反馈和迭代。
将 Ultralytics YOLO11 部署到 Streamlit Web 应用的分步指南#
既然我们已经探讨了将 Streamlit 与 Ultralytics YOLO11 配合使用的好处,接下来让我们一步步了解如何使用 Streamlit 和 YOLO11 在浏览器中运行实时计算机视觉任务。
安装 Ultralytics Python 包#
第一步是安装 Ultralytics Python package。这可以通过使用以下命令来完成:
安装完成后,YOLO11 即可随时使用,无需任何复杂的设置。如果在安装所需软件包时遇到任何问题,你可以参考我们的常见问题指南获取故障排除技巧和解决方案。
启动带有 Ultralytics YOLO11 的 Streamlit 应用#
通常情况下,你需要编写一个使用 Streamlit 组件的 Python 脚本来运行 YOLO11。不过,Ultralytics 提供了一种通过 Streamlit 运行 YOLO11 的简单方法。
运行以下 Python 脚本将立即在你的默认 Web 浏览器中启动 Streamlit 应用:
无需额外配置。Streamlit 应用程序界面包括一个用于图像和视频的上载部分、一个用于选择你感兴趣的 Ultralytics YOLO11 模型变体的下拉菜单,以及用于调整检测置信度的滑块。一切都井井有条,使用户无需编写额外代码即可轻松运行推理。
在 Streamlit 应用上使用 Ultralytics YOLO11 运行推理#
现在 Streamlit 应用程序已经在你的网络浏览器中运行了,让我们来探讨如何使用它来配合 Ultralytics YOLO11 运行推理。
例如,假设我们要分析一个视频文件以进行目标检测。以下是上传文件、选择模型并查看实时结果的步骤:
- 上传视频文件: 从用户配置下拉菜单中选择“video”,这会告诉应用处理预录制的文件而不是摄像头画面。
- 选择 YOLO11 模型:从模型下拉菜单中选择“YOLO11l”,以便使用大型 YOLO11 模型进行目标检测。
- 开始检测过程:点击“开始”,允许 Ultralytics YOLO11 逐帧分析视频并实时检测物体。
- 查看处理后的视频:观察视频在屏幕上显示并伴随实时更新,同时通过边界框标出检测到的目标。
- 在 Streamlit 中与结果交互:使用界面调整设置或分析检测结果,全程无需额外设置或编码。

图 3. Ultralytics YOLO Streamlit 应用界面。
使用 Streamlit 和 Ultralytics YOLO11 的应用场景#
我们已经了解了 Streamlit 如何非常适合创建原型、研究工具以及中小型应用。它提供了一种在无需复杂前端开发的情况下部署 AI 模型的简单方法。
然而,除非你使用我们在上述步骤中设置的 Ultralytics YOLO Streamlit 应用,否则将 YOLO11 与 Streamlit 配合使用并不总是开箱即用的解决方案。在大多数情况下,需要一定的开发工作来定制应用以满足特定需求。虽然 Streamlit 简化了部署,但你仍然需要配置必要的组件以确保 YOLO11 平稳运行。
让我们探讨两个关于 Ultralytics YOLO11 如何在实际场景中通过 Streamlit 有效部署的实用示例。
使用 Ultralytics YOLO11 进行库存盘点的目标计数#
跟踪零售店、储藏室或办公用品区的库存可能既耗时又容易出错。通过将 Ultralytics YOLO11 与 Streamlit 结合使用,企业可以快速高效地实现物体计数自动化,使其成为在大规模部署之前进行概念验证(PoC)的绝佳选择。
通过这种设置,用户可以上传图像或使用实时摄像头画面,Ultralytics YOLO11 可以帮助即时检测并计算物体数量。实时计数可以显示在 Streamlit 界面中,提供了一种无需手动干预即可监控库存水平的简便方法。
例如,店主可以扫描货架,立即查看有多少瓶子、盒子或包装商品,而无需手动清点。通过利用 Ultralytics YOLO11 和 Streamlit,企业可以减少人工工作量,提高准确性,并以最少的投资探索自动化。

图 4. 使用 Ultralytics YOLO11 检测冰箱中的瓶子。
利用 Ultralytics YOLO11 和 Streamlit 提升安全性#
确保办公室、仓库或活动场地中受限区域的安全可能很困难,特别是通过人工监控时。通过将 Ultralytics YOLO11 与 Streamlit 结合使用,企业可以建立一个简单的 AI 驱动的安全系统来实时检测未经授权的访问。
摄像头画面可以连接到 Streamlit 界面,在这里使用 Ultralytics YOLO11 来识别和跟踪进入受限区域的人员。如果检测到未经授权的人员,系统可以触发警报或记录事件以供审查。
例如,仓库管理员可以监控高安全性存储区域的访问情况,或者办公室可以在无需持续监督的情况下跟踪限制区域内的活动。
对于想要在投入使用更大、完全自动化的系统之前探索视觉 AI 驱动的安全监控的企业来说,这可能是一个令人耳目一新的项目。通过将 Ultralytics YOLO11 与 Streamlit 集成,企业可以增强安全性、最大限度地减少人工监控,并更有效地响应未经授权的访问。
监控使用 Streamlit 构建的交互式 AI 应用的提示#
使用 Streamlit 等工具部署计算机视觉模型有助于创造交互式且用户友好的体验。然而,在设置好实时界面后,确保系统高效运行并在长期内提供准确的结果至关重要。
以下是部署后需要考虑的一些关键因素:
- **定期监控:**跟踪检测准确率、推理速度和资源使用情况。如果性能下降,请调整模型参数或升级硬件。
- 管理多用户和可扩展性: 随着用户需求的增长,优化基础设施对于维持性能至关重要。云平台和可扩展的部署解决方案有助于确保运行平稳。
- 保持模型更新: 保持模型和库的更新可以提高准确性、安全性和对新功能的访问。
关键要点#
Ultralytics 通过一个无需编码、单条命令即可运行的现成 Streamlit 实时界面简化了 YOLO11 的部署。这使得用户能够立即开始使用实时目标检测。
该界面还包含内置的自定义功能,使用户能够轻松切换模型、调整检测精度以及过滤目标。所有操作都在一个简单、用户友好的界面内进行,无需进行手动 UI 开发。通过结合
凭借 Ultralytics YOLO11 的功能和 Streamlit 简便的部署,企业和开发者可以快速制作原型、测试并完善 AI 驱动的应用程序。
加入我们的community并浏览我们的GitHub repository以获取有关AI的更多见解。查看我们的解决方案页面,以了解有关诸如AI in manufacturing和computer vision in healthcare等创新的更多信息。查看我们的licensing options并立即开始!






