Ultralytics YOLO27: 加入候补名单。
获取 YOLO 许可
Ultralytics YOLO

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

了解如何通过简短脚本在 Streamlit Web 应用中运行 Ultralytics YOLO11 推理,并且无需编写前端代码即可构建交互式计算机视觉演示。

Abirami VinaAbirami Vina7 分钟阅读
使用 Streamlit 和 Ultralytics YOLO11 运行交互式 AI 应用

计算机视觉模型是影响深远的 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 模型交互。

Streamlit 的主要功能

图 1. Streamlit 的主要功能。图片由作者提供。

它的一项主要功能是动态渲染。用户进行更改后,应用会自动更新,无需手动重新加载页面。

此外,Streamlit 轻量易用,可以在本地计算机和云平台上高效运行。因此,它非常适合部署 AI 应用、与他人分享模型,并提供直观的交互式用户体验。

Ultralytics YOLO11:多用途视觉 AI 模型#

在深入了解如何通过 Streamlit 应用运行 Ultralytics YOLO11 实时推理之前,我们先仔细看看 YOLO11 为什么如此可靠。

Ultralytics 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 中与结果交互:使用界面调整设置或分析检测结果,无需额外配置或编写代码。

Ultralytics YOLO 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,企业可以减少人工工作、提高准确性,并以极低的投入探索自动化。

使用 Ultralytics YOLO11 检测冰箱中的瓶子

图 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和医疗保健领域的计算机视觉等创新。查看我们的许可选项,立即开始使用!

作者

Abirami Vina
Abirami Vina

内容创作者 · Ultralytics

Abirami Vina 职业生涯始于计算机视觉工程师,由此在视觉 AI 和机器学习领域打下了坚实基础。她是 Ultralytics 的内容创作者,也是 Scribe of AI 的创始人兼首席撰稿人,为专注 AI 的公司撰写高质量技术内容。她热衷于让 AI 更易理解、更具吸引力,通过自己的作品连接前沿技术与现实影响。

评论

提出问题、分享你的结果,或帮助其他人。

探索解决方案

体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

使用 Ultralytics YOLO 将无人机和航空影像转化为农业、水产养殖、保护工作和地理空间分析的实时洞察。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 将计算机视觉应用于航空航天领域,包括飞机检查、跑道 FOD 检测、机场地面作业和复合材料缺陷检测。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情

让我们携手构建 AI 的未来!

开启你的旅程,迎接机器学习的未来