使用 Streamlit 和 Ultralytics YOLO11 运行交互式 AI 应用
了解如何通过简短脚本在 Streamlit Web 应用中运行 Ultralytics YOLO11 推理,并且无需编写前端代码即可构建交互式计算机视觉演示。
Abirami Vina7 分钟阅读
计算机视觉模型是影响深远的 AI 工具,能够让机器解读和分析视觉数据,并以很高的准确率执行目标检测、图像分类和实例分割等任务。不过,部署这些模型并让更多人能够使用它们,有时还需要额外的技术专长,例如 Web 开发或移动应用开发技能。
以 Ultralytics YOLO11为例。它支持多种任务,可用于各类应用。不过,对于缺少技术前端知识的 AI 工程师来说,构建并部署易用的界面可能有些困难。
Streamlit 是一个开源框架,旨在简化这一流程。它是一款基于 Python 的工具,无需复杂的前端开发即可构建交互式应用。与 Ultralytics YOLO11 配合使用时,用户只需很少的操作,就能上传图像、处理视频并查看实时结果。
Ultralytics 通过 Live Inference 解决方案进一步简化了这一流程,让 Streamlit 集成更加轻松。用户只需运行一条命令,就能启动预构建的 YOLO11 Streamlit 应用,无需手动设置或编写代码。
本文将介绍如何使用 Ultralytics 的 Live Inference 解决方案和 Streamlit 设置并运行 YOLO11,让实时 AI 部署变得更快捷、更易用。
什么是 Streamlit?#
Streamlit 是一个 Python 框架,能够简化交互式 Web 应用的创建。AI 开发者无需处理复杂的前端开发工作,就能构建由 AI 驱动的应用。
它专为与 AI 和机器学习模型协同工作而设计。开发者只需几行 Python 代码,就能创建一个界面,让用户上传图像、处理视频并与 AI 模型交互。

图 1. Streamlit 的主要功能。图片由作者提供。
它的一项主要功能是动态渲染。用户进行更改后,应用会自动更新,无需手动重新加载页面。
此外,Streamlit 轻量易用,可以在本地计算机和云平台上高效运行。因此,它非常适合部署 AI 应用、与他人分享模型,并提供直观的交互式用户体验。
Ultralytics YOLO11:多用途视觉 AI 模型#
在深入了解如何通过 Streamlit 应用运行 Ultralytics YOLO11 实时推理之前,我们先仔细看看 YOLO11 为什么如此可靠。
Ultralytics YOLO11 是一款用于实时计算机视觉任务的模型,例如目标检测、实例分割和姿态估计。它兼具高速性能和高准确率。

图 2. 使用 YOLO11 进行目标检测的示例。
YOLO11 的一大优势是易于使用。无需复杂的设置;开发者只需安装 Ultralytics Python 软件包,就能通过几行代码开始进行预测。
Ultralytics Python 软件包提供了丰富的功能,用户可以微调模型并调整检测设置。它还有助于优化模型在不同设备上的性能,让部署更加顺畅。
除了灵活性,Ultralytics Python 软件包还支持跨多个平台的集成,包括边缘设备、云环境和搭载 NVIDIA GPU 的系统。无论部署在小型嵌入式设备还是大型云服务器上,YOLO11 都能适配目标硬件,让更多人能够使用先进的视觉 AI。
使用 Streamlit 与 Ultralytics YOLO11 的优势#
你可能会想:我怎么知道 Streamlit 是否适合我?如果你想用简单且精简的代码运行 Ultralytics YOLO11,又不想处理前端开发,Streamlit 是个不错的选择,尤其适合原型开发、概念验证 (PoC) 项目或面向少量用户的部署。
它简化了使用 Ultralytics YOLO11 的流程,消除了不必要的复杂性,并提供直观的界面来进行实时交互。其他主要优势还包括:
- 可自定义的 AI 控件:你可以在界面中添加滑块、下拉菜单和按钮,让用户轻松微调检测设置并筛选特定对象。
- 与其他 AI 工具集成:Streamlit 支持与 NumPy、OpenCV、Matplotlib 及其他机器学习库集成,从而增强 AI 工作流能力。
- 交互式数据可视化: 内置的图表支持使用户能够直观地查看目标检测结果、分割结果或跟踪信息。
- 便于协作:Streamlit 应用可以通过简单的链接轻松分享给团队成员、利益相关者或客户,方便他们即时反馈并进行迭代。
在 Streamlit Web 应用中部署 Ultralytics YOLO11 的分步指南#
现在,我们已经了解了使用 Streamlit 与 Ultralytics YOLO11的优势,接下来一起看看如何通过 Streamlit 和 YOLO11 在浏览器中运行实时计算机视觉任务。
安装 Ultralytics Python 软件包#
第一步是安装 Ultralytics Python 软件包。你可以运行以下命令完成安装:
pip install ultralytics安装完成后,YOLO11 无需复杂配置即可使用。如果安装所需软件包时遇到问题,可以参阅我们的常见问题指南,获取故障排查提示和解决方案。
使用 Ultralytics YOLO11 启动 Streamlit 应用#
通常,你需要使用 Streamlit 组件编写 Python 脚本来运行 YOLO11。不过,Ultralytics 提供了一种简单的方法,可通过 Streamlit 运行 YOLO11。
使用 streamlit run path/to/file.py 运行以下 Python 脚本,即可在默认浏览器中启动 Streamlit 应用:
from ultralytics import solutions
inf = solutions.Inference(
model="yolo11n.pt", # 你可以使用 Ultralytics 支持的任何模型,也可以使用自定义训练的模型
)
inf.inference()无需额外配置。Streamlit 应用界面包含图像和视频上传区域、用于选择你感兴趣的 Ultralytics YOLO11 模型变体的下拉菜单,以及用于调整检测置信度的滑块。界面布局简洁清晰,用户无需编写额外代码即可运行推理。
在 Streamlit 应用中使用 Ultralytics YOLO11 运行推理#
现在,Streamlit 应用已经在浏览器中运行,接下来看看如何使用它通过 Ultralytics YOLO11 运行推理。
例如,假设我们要对视频文件进行目标检测分析。上传文件、选择模型并查看实时结果的步骤如下:
- 上传视频文件:在用户配置下拉菜单中选择“视频”,这样应用就会处理预先录制的文件,而不是摄像头画面。
- 选择 YOLO11 模型:在模型下拉菜单中选择“YOLO11l”,使用大型 YOLO11 模型进行目标检测。
- 开始检测过程:点击“开始”,让 Ultralytics YOLO11 逐帧分析视频并实时检测物体。
- 查看处理后的视频:观看视频显示在屏幕上并实时更新,其中检测到的对象会以边界框标出。
- 在 Streamlit 中与结果交互:使用界面调整设置或分析检测结果,无需额外配置或编写代码。

图 3. Ultralytics YOLO Streamlit 应用界面。
Streamlit 和 Ultralytics YOLO11 的应用场景#
我们已经了解了 Streamlit 非常适合用于创建原型、研究工具以及中小型应用。它提供了一种简单的方式来部署 AI 模型,无需复杂的前端开发。
不过,除非使用我们在上述步骤中配置的 Ultralytics YOLO Streamlit 应用,否则 YOLO11 并非总能开箱即用地通过 Streamlit 运行。在大多数情况下,你需要进行一些开发工作,根据具体需求自定义应用。Streamlit 虽然简化了部署,但你仍需配置必要组件,确保 YOLO11 顺利运行。
接下来看看两个实际案例,了解如何在真实场景中通过 Streamlit 有效部署 Ultralytics YOLO11。
使用 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 驱动的应用。
加入我们的社区,并浏览我们的 GitHub 代码库,了解更多 AI 相关洞察。查看我们的解决方案页面,进一步了解制造业中的 AI和医疗保健领域的计算机视觉等创新。查看我们的许可选项,立即开始使用!
作者
评论
提出问题、分享你的结果,或帮助其他人。










