深圳Yolo 视觉
深圳
立即加入

将 Ultralytics YOLO 模型引入 Axelera AI 硬件,赋能边缘 AI

了解 Ultralytics python 包与 Axelera AI 合作支持的新导出集成,以实现高效的高性能边缘 AI。

想部署一个计算机视觉项目吗?

了解授权

在 Ultralytics,我们看到随着 AI 的广泛普及,将计算机视觉模型直接部署到边缘设备的趋势日益增长。在我们与计算机视觉社区的线上交流以及近期科技会议的线下互动中,我们的团队发现,将视觉 AI 部署到更靠近数据生成源头的兴趣日益浓厚。

从智能零售环境和工业自动化到机器人技术,实时洞察变得至关重要,仅依靠云端已不再足够。

简而言之,边缘 AI 是指在设备本地运行 AI 模型,而不是将数据发送到集中式服务器进行处理。这使得降低延迟、提高可靠性以及实时响应现实世界事件成为可能。 

然而,在这些环境中部署高性能模型也伴随着其自身的挑战,因为有限的计算资源和功耗限制要求模型既高效又针对其运行的硬件进行优化。

诸如Ultralytics YOLO26等 Ultralytics YOLO 模型专为实时计算机视觉而设计,但要在边缘端充分发挥其潜力,需要软硬件的正确结合。这就是我们很高兴宣布与 Axelera AI 合作的原因。

我们与Axelera AI合作,推出了一项更新的导出集成,从而实现在Metis® AI处理单元 (AIPU)上高效、高性能地部署Ultralytics YOLO模型。

图1. Metis AI处理单元一览 (来源)

在本文中,我们将探讨Ultralytics YOLO模型如何轻松编译以在Metis上部署。让我们开始吧!

边缘AI是计算机视觉的未来

随着计算机视觉应用的不断发展,对更快、更高效处理的需求变得日益重要。传统的基于云的方法可能会引入延迟,依赖稳定的连接,并且可能无法满足许多智能视觉用例的实时需求。 

边缘AI通过使模型能够直接在本地设备上运行来解决这些挑战,从而让数据在更接近源头的地方进行处理。例如,考虑用于搜救行动的视觉驱动的无人机。 

这些系统需要实时分析视频流以detect人员、障碍物或危险,通常是在互联网连接有限或没有连接的偏远地区。通过直接在无人机上运行计算机视觉模型,边缘AI实现了更快的决策和更可靠的性能,而无需依赖云基础设施。

这一转变正在各行业中开启新的可能性。零售业中的实时目标detect、制造业中的自动化质量检测以及机器人技术中的感知等应用都受益于更快的响应时间和更高的可靠性。 

边缘AI正迅速成为在实际环境中部署可扩展且响应迅速的计算机视觉系统的关键推动力。

探索 Axelera AI 的 Metis AI 处理单元 

在深入探讨新的导出集成之前,让我们回顾一下,更多地了解Axelera AI的Metis AI处理单元以及它们在实现高效边缘AI方面所扮演的角色。

Axelera AI开发专用硬件,专门用于加速边缘AI推理。其中一个关键部分是Metis AIPU,即AI处理单元,这是一种专门为在边缘设备上高效运行神经网络而构建的处理器。

与通用CPU或甚至GPU不同,AIPU旨在处理AI工作负载的特定计算模式。这使得它们能够提供高性能,同时保持低功耗,这对于资源通常有限的边缘环境至关重要。

Axelera AI方法的特别创新之处在于其全栈设计。Metis采用数字内存计算 (D-IMC) 和RISC-V架构,以实现高性能和边缘计算所需的能效。Metis的四个核心可独立编程,这意味着每个芯片可以并行运行四个模型。除了硬件,Voyager SDK还包含一个编译器和运行时,它们协同工作以优化模型部署。 

这使得开发人员能够更高效地从训练好的模型过渡到可用于生产的推理。具体而言,Metis AIPU使得运行先进的计算机视觉模型(例如Ultralytics YOLO模型)成为可能,直接在企业、零售、医疗保健和制造环境的边缘设备上,直至农业和工业设备以及卫星。

导出Ultralytics YOLO模型用于Metis部署

Ultralytics python包提供了一个统一的接口,用于训练、评估和部署YOLO模型,涵盖一系列计算机视觉任务。YOLO模型通常使用PyTorch进行开发和训练,PyTorch非常适合实验和模型开发。

然而,当在专用边缘硬件上部署这些模型时,它们需要被转换为针对目标设备优化的格式。这正是Ultralytics python包支持的导出集成发挥作用的地方。

Ultralytics提供了一系列导出选项,允许YOLO模型根据部署目标的不同转换为不同的格式,例如ONNX、TensorRT以及其他特定硬件后端。这些集成通过处理必要的优化和转换步骤,简化了为实际应用准备模型的过程。

在此基础上,Ultralytics推出了与Axelera AI的更新导出集成,使得YOLO模型能够导出并在Metis AIPU上部署。

在导出过程中,模型被编译和量化,成为专门为Axelera硬件设计的优化表示形式。此过程生成“.axm”格式的编译模型,以及部署和推理所需的元数据。

图2. Ultralytics YOLO模型可在Metis AIPU上运行。(来源)

该集成支持广泛的计算机视觉任务,涵盖Ultralytics YOLOv8Ultralytics YOLO11和Ultralytics YOLO26模型,包括目标detect、姿势估计、实例segment、旋转框检测 (obb) 和图像分类。尽管大多数任务都可以通过导出工作流直接支持,但YOLO26的segment功能可以通过Voyager SDK的模型库使用。

这种扩展的支持为开发人员提供了灵活性,可以根据其应用部署不同类型的视觉模型,从实时detect物体到理解场景、track运动和分析复杂的视觉数据。

一旦导出,模型就可以部署和运行,在推理时无需依赖PyTorch。相反,它们使用Voyager SDK运行时执行,该运行时支持直接在边缘设备上构建用于视频处理、实时detect和track等任务的端到端管道。

Ultralytics YOLO 模型导出入门

既然我们对新的导出集成有了更深入的理解,接下来我们将详细介绍如何将 Ultralytics YOLO 模型导出为这种自定义格式,并在边缘端的 Metis 硬件上运行。

步骤 1:安装Ultralytics Python 软件包

首先,您需要安装 Ultralytics python 包。该包为 YOLO 模型的训练、评估和导出提供了简洁一致的接口。

您可以通过在终端或命令提示符中运行以下命令,使用 pip 进行安装:

pip install ultralytics

如果您在安装或导出过程中遇到任何问题,官方的 Ultralytics 文档常见问题指南 是极佳的故障排除资源。

步骤2:安装 Axelera 驱动程序和 Voyager SDK

要在 Axelera 硬件上导出和运行模型,您还需要安装 Axelera 驱动程序和 Voyager SDK。此步骤可实现与 Metis AIPU 的通信,并提供所需的运行时和编译器工具。

以下步骤必须在可访问 Axelera AI Metis 硬件的 Linux 环境中执行。请在您的系统上打开一个终端,或者,如果您在兼容的本地设置上运行 Jupyter Notebook,则使用一个 notebook 单元,然后执行以下命令。

首先,按如下方式添加 Axelera 仓库密钥:

sudo sh -c "curl -fsSL https://software.axelera.ai/artifactory/api/security/keypair/axelera/public | gpg --dearmor -o /etc/apt/keyrings/axelera.gpg"

接下来,如下所示,将 Axelera 仓库添加到您的系统:

sudo sh -c "echo 'deb [signed-by=/etc/apt/keyrings/axelera.gpg] https://software.axelera.ai/artifactory/axelera-apt-source/ ubuntu22 main' > /etc/apt/sources.list.d/axelera.list"

然后,按如下方式安装 Voyager SDK 并加载 Metis 驱动程序:

sudo apt update

sudo apt install -y metis-dkms=1.4.16

sudo modprobe metis

完成这些步骤后,您的系统将准备好在 Axelera AI Metis 设备上导出和运行 Ultralytics YOLO 模型。

步骤 3:导出 Ultralytics YOLO 模型

安装 Ultralytics 包后,您可以加载 YOLO 模型并将其导出为 Metis 的编译包。此过程将模型转换为针对 Axelera AI Metis 硬件部署优化的格式。

在下面的示例中,我们使用预训练的 YOLO26 nano 模型并将其导出为 Metis 格式。导出的模型将保存在名为 "/yolo26n_axelera_model" 的目录中。 

from ultralytics import YOLO

model = YOLO("yolo26n.pt")

model.export(format="axelera")  

步骤 4:使用导出的模型运行推理

导出模型后,您可以加载它并在未见过的图像或视频流上运行推理。这使得实时计算机视觉任务可以直接在Axelera AI Metis设备上执行。

例如,下面的代码片段展示了如何加载导出的模型并在一个公开可用的 URL 上运行推理。

axelera_model = YOLO("yolo26n_axelera_model")

results = axelera_model("https://ultralytics.com/images/bus.jpg", save=True)

在这种情况下,模型会分析输入图像并detect目标,将结果保存到“runs/detect/predict”目录。

Ultralytics YOLO 和 Axelera AI 硬件的应用场景

接下来,我们将讨论一些常见的边缘AI应用,Ultralytics YOLO 模型可以在实际场景中部署到 Axelera AI 硬件上。

Axelera AI 的 Metis AIPU 专为各种部署环境设计,涵盖从嵌入式系统、工业PC到机器人和边缘服务器。凭借高性能、高能效的推理能力,它们使计算机视觉应用能够在各行业中直接在设备上运行。Voyager SDK 还包含一个管道构建器,供机器学习和应用工程师将模型产品化以用于边缘部署。

零售业中运行于边缘的智能视觉系统

在零售环境中,实时了解客户行为可以带来显著的改变。 

利用运行在 Axelera AI 硬件上的 Ultralytics YOLO 模型,商店可以实时监控客流量、计数人数并分析店内移动模式。由于所有处理都在设备上进行,可以即时生成洞察,无需依赖云连接,从而帮助团队更快响应,同时维护数据隐私。

图3. 使用 YOLO26 在商场中detect并计数人数

利用边缘AI进行公用事业和基础设施检查

维护电力线等大规模基础设施既复杂又资源密集。这些网络通常覆盖广阔的区域,使得检查耗时、昂贵且具有潜在危险。当故障或早期磨损迹象未被detect时,它们可能升级为停电、设备损坏或安全风险。

无人机正越来越多地被用于提高检查效率。它们可以覆盖长距离,进入难以到达的区域,并捕获关键资产的高分辨率图像。

将无人机与边缘AI结合进一步增强了这些工作流程。运行在 Axelera AI 硬件上的 Ultralytics YOLO 模型能够在检查过程中进行实时分析,识别故障,classify组件,并在现场detect异常。这减少了人工审查的需要,并支持更快、更可靠的基础设施监控。

图4. 使用 YOLO26 detect电力线的不同部分

凭借实时视觉AI洞察赋能机器人技术

对于机器人技术而言,速度和响应能力至关重要。无论是在仓库中导航,还是在动态工业环境中操作,机器人都需要即时解读周围环境。 

运行在 Axelera AI 硬件上的 Ultralytics YOLO 模型使机器人能够实时解读周围环境,从detect障碍物到track人物以及识别物体。这使得系统能够更安全地移动,适应动态条件,并以更高的自主性运行,无需依赖持续的云连接。

在 Metis AIPU 上运行 Ultralytics YOLO 模型的主要优势

以下是利用新集成在 Axelera AI 的 Metis 硬件上部署 Ultralytics YOLO 模型的一些主要优势:

  • 与Ultralytics工作流程无缝集成: 将YOLO模型导出以进行Metis部署,可自然融入Ultralytics python包,简化了从训练到推理的过渡。
  • 支持多种计算机视觉任务: 您可以在YOLOv8、YOLO11和YOLO26上部署用于目标detect、姿势估计、segment、classify等任务的模型。
  • 并行运行模型: Metis AIPU设计有四个独立可编程的核心,能够并行运行四个独立的模型,以满足您的需求。
  • 可扩展到各种边缘AI应用: 从零售分析和工业检查到机器人技术和智能基础设施,该集成支持广泛的实际应用场景。

主要要点

Ultralytics YOLO 模型与 Axelera AI 的 Metis AIPU 相结合,使得将高性能计算机视觉引入边缘设备变得更加容易。通过简化部署并针对专用硬件优化模型,这种集成有助于弥合开发与实际应用之间的鸿沟。

随着边缘 AI 的持续发展,拥有高效、可扩展的部署方案将是构建响应迅速、可靠系统的关键。此次合作是迈向使先进视觉 AI 在各行业中更易于获取的重要一步。

想了解更多关于人工智能的信息吗?请浏览我们的 GitHub 仓库,与 我们的社区 建立联系,并查看 我们的许可选项,以快速启动您的计算机视觉项目。了解 人工智能在零售业计算机视觉在医疗保健领域 等创新技术如何塑造未来。

让我们一起共建AI的未来!

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