深圳Yolo 视觉
深圳
立即加入

Ultralytics 如何简化计算机视觉模型的部署

了解Ultralytics 如何整合计算机视觉模型部署所需的一切,从测试到可投入生产的 API。

借助Ultralytics扩展您的计算机视觉项目

开始使用

多年来Ultralytics 与计算机视觉社区Ultralytics 合作Ultralytics 开发各类模型和工具,让视觉人工智能技术触手可及。借助Ultralytics 我们更进一步,将整个计算机视觉开发工作流整合到一个统一的环境中,涵盖从数据集管理和标注,到模型训练、验证和部署的各个环节。

特别是,我们很高兴能让计算机视觉模型的部署变得更加简单。尽管计算机视觉正不断应用于现实世界,但在受控环境之外对图像和视频进行分析仍然是一项复杂的任务。 

与条件可预测的测试环境不同,实际应用场景涉及多变的光照条件、不断变化的输入数据以及难以预料的工作负载,这使得部署成为视觉工作流中最具挑战性的环节之一。

部署不仅仅是让模型可供使用。它还需要建立能够处理真实世界数据的流程,并确保随着使用量的增加和项目的扩展,一切都能平稳运行。 

团队还需要持续track 并保持系统的可靠性。这通常意味着需要在测试、集成、部署和监控等环节之间切换不同的 AI 工具,从而可能拖慢模型开发进度,并增加不必要的复杂性。

工作流程最终变得支离破碎。Ultralytics 将这一流程统一起来并加以简化。

它在一个统一的环境中内置了对模型服务、测试和监控的支持。团队可以利用基于浏览器的推理功能验证模型,通过共享推理服务将模型集成到应用程序中,并将其部署到具备性能监控功能的专用端点上。

图 1.Ultralytics 平台中的部署页面一览(来源

在本文中,我们将探讨Ultralytics 如何重新定义计算机视觉模型的部署流程,涵盖从测试和集成到生产环境部署及监控的各个环节让我们开始吧!

计算机视觉模型部署概述

在机器学习生命周期中,模型部署是模型从实验阶段过渡到实际应用的阶段。对于使用深度学习和卷积神经网络构建的计算机视觉模型而言,这通常意味着使其能够实时处理图像和视频。

部署后,这些模型会接收新数据,这些数据通常会经过调整大小、归一化或格式化等预处理步骤。经过处理的数据随后会被传入模型,模型会运用训练过程中学到的模式来生成高精度的预测结果。

根据具体应用场景,这可能涉及不同的计算机视觉任务。例如Ultralytics YOLO (如Ultralytics )支持多种视觉任务,包括目标检测、图像分类、实例分割、姿势估计 定向边界框(旋转框检测)检测。

为了使模型在实际应用中发挥作用,通常需要将其集成到能够高效处理预处理和推理的系统中。正因如此,部署基础设施变得至关重要。

在生产环境中,通常通过 REST API 或模型服务系统访问模型。这些接口允许应用程序通过编程方式发送数据并接收预测结果,从而更轻松地与依赖实时视觉理解的外部应用程序、物联网设备或机器人系统进行集成。

传统计算机视觉部署工具的局限性

计算机视觉模型的部署听起来似乎很简单,但迄今为止,实际情况却大不相同。以一种常见的部署方式为例:数据首先通过摄像头或传感器采集,发送至模型进行推理,然后作为预测结果返回给应用程序。

实际上,这些步骤通常由不同的工具和服务分别处理。一个系统可能负责数据采集,另一个系统负责模型服务,而扩展、监控和日志记录则由其他工具来完成。要确保这些组件保持连接并稳定运行,很快就会变得非常复杂。

随着使用量的增加,这种复杂性也在不断加剧。管理基础设施、处理依赖关系以及在端到端管道中保持一致的性能,这些都会拖慢开发进度,并增加在实际应用中部署计算机视觉模型的难度。

Ultralytics 将这些组件整合到一个统一的环境中。这为管理整个部署工作流提供了更连贯的方式,同时支持大规模环境下的性能和可靠性。

Ultralytics 支持的模型部署选项

除了统一模型部署流程Ultralytics 还为模型的部署和使用方式提供了灵活性。

为了支持计算机视觉模型部署的不同阶段,该平台提供了四种方案:基于浏览器的即时推理测试、通过 API 实现的共享推理(适用于开发场景)、用于在全球各区域进行可扩展生产部署的专用端点,以及模型导出功能(用于在外部基础设施或边缘设备上运行模型)。

那么,让我们来详细了解一下这些选项各自是如何运作的。

使用“预测”选项卡快速验证模型

在将模型投入生产之前,了解其在全新、未见数据上的表现至关重要。Ultralytics 内置了“预测”选项卡,让您无需任何配置、基础设施或依赖项,即可直接在浏览器中运行推理

“预测”选项卡使模型验证变得快速且交互性强。您可以上传图像、使用预加载的示例,或通过网络摄像头采集输入数据,一旦提供数据,推理过程就会自动运行。 

结果会即时显示,并附带可视化叠加层、置信度评分和详细输出,让您清晰了解模型的行为表现。

图 2. 使用“预测”选项卡验证模型的示例(来源

这意味着只需点击几下,您就可以在单一界面内测试不同的输入、调整参数并评估性能,然后再进行部署。

运行共享推理以进行测试或轻量级使用

假设您已经训练了一个模型,并通过“预测”选项卡对其进行了验证。接下来的步骤通常是将该模型集成到应用程序或工作流中。 

Ultralytics 无需您搭建基础设施或管理服务器,而是提供共享推理服务,让您能够通过简单的 REST API 将数据发送至模型,并接收预测结果。

在后台,共享推理是在覆盖几个核心区域的多租户系统上运行的,请求会自动路由到最近的可用服务。这有助于保持响应迅速的性能,同时让不同地区的用户能够一致地访问模型。

您可以使用标准的 HTTP 请求发送输入,并接收结构化的输出结果,从而能够轻松地将模型与应用程序、脚本或自动化工作流进行集成。这种配置非常适合开发、测试、集成,或在转向更具可扩展性的生产环境部署之前进行轻量级使用。

通过专用端点在全球范围内部署模型

当模型准备投入生产后,它需要能够可靠且大规模地处理实际流量。Ultralytics 通过专用端点支持这一需求,模型作为单租户服务在43 个全球区域中运行。在更接近终端用户的位置进行部署,有助于降低延迟,并在不同地区保持一致的性能。

每个端点都运行在专属的计算资源上,并拥有用于推理请求的唯一 URL。这种控制级别使得用户能够根据性能需求轻松调整部署方案,无论是轻量级用例,还是需要更多计算资源的高吞吐量应用。

图 3. 您可以通过Ultralytics 在 43 个全球区域部署模型(来源

然而,专用端点专为自主处理不断变化的工作负载而设计,其自动扩展功能可根据传入流量动态调整资源。在需求高峰期,它们会自动扩容;当使用量下降时,则自动缩容。由于默认启用了“缩容至零”功能,闲置的端点会自动关闭,并在收到新请求时自动重启,从而无需人工干预即可优化资源利用率。

使用Ultralytics 轻松导出模型

如今,随着越来越多的应用程序依赖于在智能手机、相机和嵌入式系统等设备上直接运行模型,边缘人工智能正变得越来越重要。本地运行模型还有助于满足数据隐私要求,因为图像或视频流等敏感数据可以在设备上直接处理,而无需发送至外部服务器。

在这些场景下,模型需要在Ultralytics 之外运行,因此模型导出成为部署流程中至关重要的一环。Ultralytics YOLO 通常使用Python PyTorch 进行训练,随后可导出为 17 种以上的不同格式,包括ONNX、TensorRT、CoreML 和OpenVINO。 

如此广泛的格式支持确保了在各种硬件设备上的兼容性,从高性能图形处理单元(GPU)到移动设备和嵌入式设备。此外,导出功能还支持针对特定环境进行性能调优。 

根据具体格式,模型可以实现更快的推理速度,例如通过TensorRT 提升GPU TensorRT 借助ONNX OpenVINO 优化CPU 。FP16 和 INT8 量化等选项可进一步缩减模型体积并提升吞吐量,这对边缘部署尤为有益。

在Ultralytics 导出功能已直接集成到工作流中,只需点击几下即可快速生成优化模型。团队可以从训练阶段无缝过渡到在外部系统上运行模型,而无需增加额外负担。

图 4.Ultralytics 上的部分导出格式。

选择合适的模型部署方案

Ultralytics 中的每种部署选项都支持工作流的不同阶段,从早期测试到生产环境使用。以下是关于何时使用每种选项的概述:

  • “预测”选项卡:通常在训练或微调完成后立即使用,此时您可以通过基于浏览器的推理来验证模型在新数据上的表现。
  • 共享推理:在此阶段,模型可通过 API 集成到应用程序中,从而在开发过程中测试实际交互情况。
  • 专用端点:这些端点用于生产环境部署,在此类场景下,模型需要稳定的性能、专用资源以及跨全球区域扩展的能力。
  • 模型导出:当模型需要在平台外部运行时,导出功能可支持将其部署到边缘设备、移动应用或自定义基础设施上。

团队通常会一步步地完成这些步骤,从验证开始,到集成,最后到生产环境部署,所有流程都在该平台内完成。

通过Ultralytics 监控已部署的模型

尽管部署至关重要,但视觉管道并未止步于此。一旦模型投入生产环境运行,持续监控便是确保其长期稳定运行的关键。

Ultralytics 提供了内置的监控工具,使团队能够清晰地了解其视觉 AI 模型随时间推移的表现,从而支持更规范的机器学习运维(MLOps)工作流。

“部署”页面包含一个仪表盘,用于跟踪关键指标,例如总请求数、活跃部署数、响应延迟和错误率。这些洞察有助于团队了解使用模式、评估系统响应能力,并确保不同工作负载下都能保持低延迟性能。

图5.Ultralytics 部署模型的监控变得轻松。(来源

每个专用端点还通过独立的部署视图提供详细的可观测性。这包括访问日志、模型健康状态以及实时性能数据。日志可用于排查问题、追踪失败的请求,并识别与依赖项或基础设施相关的潜在问题。

随着生产环境的演变,输入数据的变化、扩展需求或使用模式的转变等因素可能会影响模型的准确性和鲁棒性。通过持续监控性能指标,团队能够detect 、识别瓶颈,并采取纠正措施(如模型优化或资源调整),从而确保模型服务的一致性和可靠性。

在计算机视觉模型部署中构建可扩展性

在过去,扩展计算机视觉系统通常意味着将原本并非为协同工作而设计的流程和框架拼凑在一起。数据管道、训练循环、部署基础设施和监控系统往往各自为政,导致每个环节都存在摩擦。

真正的挑战不仅在于构建模型,更在于让模型持续运行。这包括将模型从数据环境部署到生产环境、适应新的输入数据、应对不断增长的需求,以及在不降低运行速度的前提下持续优化。

Ultralytics 突出之处在于,这种工作流已内置其中。它不再将每个阶段视为独立的步骤,而是将它们连接成一个连续的循环,模型可以在同一环境中完成开发、部署、监控和更新。

这种转变改变了团队的扩展方式。重点不再是协调工具或基础设施,而是随着系统规模的扩大,如何保持发展势头。

主要要点

要将计算机视觉模型等机器学习模型应用于实际场景,这些模型必须具备可靠性、可扩展性和易于管理性。Ultralytics 通过将模型服务、部署和监控等多种功能整合到一个统一的环境中,简化了这一过程。借助灵活的部署选项和内置工具,团队能够更快速、更简便地从实验阶段过渡到生产环境。

欢迎访问我们的社区并浏览我们的GitHub 仓库,了解更多信息。浏览我们的解决方案页面,了解各种应用案例,例如医疗保健领域的 AI以及物流领域的计算机视觉。了解我们的授权方案,立即开始构建吧! 

让我们携手共创人工智能的未来!

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