使用 MNN 集成无缝部署 Ultralytics YOLO11

阿比拉米-维纳

4 分钟阅读

2025 年 6 月 25 日

了解如何利用 MNN 集成导出和部署 Ultralytics YOLO11 模型,以便在移动、嵌入式和低功耗平台上进行快速推理。

如今,人工智能创新已经超越了远程服务器环境。人工智能解决方案正被集成到传感器和智能手机等边缘设备中。由于这种技术转变,现在可以直接在数据产生的地方处理数据,从而实现更快的响应、更好的隐私保护,并减少对持续云连接的依赖。

因此,边缘人工智能在许多行业都获得了越来越多的关注。随着越来越多的系统转向更快、更本地化的处理方式,预计到 2031 年,边缘人工智能软件市场规模将达到 88.8 亿美元。

计算机视觉是人工智能的一个分支,专注于理解图像和视频,目前正被迅速应用于边缘领域。从清点包装中的食品到帮助车辆检测行人,计算机视觉为不同领域的无数实际应用提供了支持。

计算机视觉模型使这成为可能。例如,Ultralytics YOLO11是一个支持各种视觉人工智能任务的模型,如物体检测、实例分割、物体跟踪和姿态估计。该模型设计快速高效,在硬件资源有限的设备上也能良好运行。

图 1.使用 YOLO11 检测和跟踪正在包装的食品(资料来源)。

除了适合边缘部署外,通过 Ultralytics 支持的各种集成,YOLO11 还可以导出为适合不同硬件环境的各种格式。 

最有效的选择之一是 MNN(移动神经网络),这是一个专为低资源设备设计的轻量级推理引擎。将 YOLO11 输出到 MNN,可使其直接在手机、嵌入式系统和其他边缘平台上运行,在这些平台上,快速的设备处理至关重要。

在本文中,我们将探讨MNN 集成的工作原理,重点介绍常见用例,并介绍如何开始使用导出的 YOLO11 模型运行推论。让我们开始吧!

MNN 概述:深度学习框架

在手机、工业传感器和便携式系统等小型设备上运行计算机视觉模型并不总是那么简单。这些设备通常内存有限,处理器速度较慢,而且有严格的功耗限制。 

移动神经网络(MNN)是阿里巴巴开发的轻量级高性能推理引擎,旨在使人工智能模型在低资源硬件上高效运行,同时保持实时性能。MNN 支持包括 Android、iOS 和 Linux 在内的多种平台,并可在中央处理器(CPU)和图形处理器(GPU)等多种硬件类型上运行。

图 2.MNN 框架概览(资料来源)。

Ultralytics 支持的 MNN 集成功能可以将 YOLO11 模型轻松导出为 MNN 格式。简单地说,这意味着模型可以从 YOLO 格式转换为 MNN 格式。 

转换后,它们可以部署在支持 MNN 框架的设备上,以实现高效的设备推理。使用 MNN 格式的一个主要好处是,它简化了 YOLO11 在大小、速度和资源效率至关重要的情况下的部署。

MNN 推断后台的主要功能

在深入了解如何使用 MNN 集成之前,让我们先来看看 MNN 框架是在真实设备上运行人工智能模型的最佳选择。它专为处理边缘环境的独特限制而构建,同时还能提供快速可靠的性能。

有趣的是,MNN 在阿里巴巴内部被用于 30 多个应用中,包括淘宝、天猫、优酷、丁说、鲜鱼等,应用场景广泛,如视频直播、短视频内容、图片搜索和设备安全检查等。它支持大规模部署,每天可在生产环境中运行数百万次推断。

以下是 MNN 框架的一些主要特点:

  • 后端自动选择:
  • 多线程执行:
  • 支持模型量化
  • 轻便快捷: MNN 占用空间非常小,核心库在 Android 上约为 400 KB,在 iOS 上约为 5 MB,因此非常适合移动和嵌入式设备。

了解 MNN 集成的工作原理

接下来,让我们了解一下如何将 YOLO11 模型导出为 MNN 格式。

第一步是安装Ultralytics Python 软件包,它提供了将 YOLO11 模型导出为 MNN 格式所需的一切。您可以在终端或使用命令提示符运行 "pip install ultralytics "来完成安装。如果您使用的是 Jupyter Notebook 或 Google Colab,请在命令前添加感叹号。

如果在安装过程中遇到任何问题,请参阅常见问题指南了解故障排除技巧。

环境设置完成后,您可以加载预先训练好的 YOLO11 模型(如 "yolo11n.pt"),并将其导出为 MNN 格式,如下图代码片段所示。如果您已经训练了自己的自定义 YOLO11 模型,只需将文件名替换为模型的路径即可导出。

from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.export(format="mnn")

将模型转换为 MNN 后,您可以根据应用需求在不同的移动和嵌入式平台上使用。

例如,假设您想在交通视频上测试导出的模型。在这种情况下,您可以加载 MNN 格式的 YOLO11 模型,直接在设备上检测车辆、行人和交通标志等物体,如下图所示。

mnn_model = YOLO("yolo11n.mnn")
results = mnn_model("https://videos.pexels.com/video-files/27783817/12223745_1920_1080_24fps.mp4", save=True)

推理完成后,带有检测对象的输出视频会自动保存在 "runs/detect/predict "文件夹中。此外,如果你想直接使用 MNN Python 软件包运行推理,可以查看Ultralytics官方文档,了解更多详情和示例。

图 3.使用导出为 MNN 格式的 YOLO11 模型分析流量。图片由作者提供。

由 YOLO11 和 MNN 支持的边缘人工智能模型部署用例

将 YOLO11 与 MNN 部署在一起,可以快速、高效地完成计算机视觉任务,例如在基于云的处理不现实或不可能的环境中进行物体检测。让我们来看看这种集成如何在实际应用场景中发挥特别的作用。

用于植物病害识别的移动边缘人工智能

使用图像分类的植物病害识别应用程序越来越受到园艺家、研究人员和自然爱好者的欢迎。只需一张照片,用户就能快速识别病害的早期迹象,如叶斑或褪色。由于这些应用程序通常在户外使用,互联网接入可能有限或不可用,因此依赖云处理可能并不可靠。

训练完成后,YOLO11 模型可导出为 MNN 格式,并直接在移动设备上运行。然后,该模型可以对植物种类进行分类,并在本地检测可见的病害症状,而无需向服务器发送任何数据。 

图 4.使用 YOLO11 检测叶片上锈病(一种植物病害)迹象的示例(资料来源)。

制造业中高效的设备推断

准确的包装跟踪对于生产设施中繁忙的生产线至关重要。YOLO11 可以在每个物品通过关键检查点时对其进行跟踪和计数,实时更新计数并标记任何差异。这有助于减少遗漏或下落不明的货物,支持更顺畅、更可靠的运营。

图 5.使用 YOLO11 跟踪和清点包裹(资料来源)。

在这种情况下,MNN 集成尤其具有影响力。一旦将 YOLO11 模型导出为 MNN 格式,它就可以直接在沿传送带安装的紧凑型低功耗设备上运行。 

由于所有处理都在本地进行,因此系统可以提供即时反馈,而且无需连接互联网。这就确保了工厂车间快速、可靠的性能,在保持高精度和控制的同时,使生产高效进行。

将 YOLO11 输出为 MNN 模型格式的优势

以下是 Ultralytics 提供的 MNN 集成的一些主要优势:

  • 更快的响应时间
  • 改进 数据隐私:数据留在设备上,减少了将敏感图像或视频发送到云端的需要。
  • 开源并积极维护:MNN 由阿里巴巴支持,并得到活跃社区的支持,性能可靠,并定期更新和改进。

使用多要素网络框架时应考虑的因素

在选择 MNN 作为您的部署框架之前,还必须评估它与您的项目要求、部署目标和技术限制的匹配程度。以下是一些需要考虑的关键因素:

  • 持续兼容性:
  • 调试工具较少:
  • 性能取决于硬件: 型号的速度和效率因设备而异。请测试您的目标硬件,以确保其满足您的性能目标。

主要收获

Ultralytics 支持 MNN 集成,可以轻松导出 YOLO11 模型,供移动和嵌入式设备使用。对于需要快速、可靠检测而又不依赖云访问或持续连接的应用来说,这是一个实用的选择。

这种设置有助于简化部署,同时保持性能并降低资源需求。无论您是在构建智能家居系统、现场工具还是紧凑型工业设备,将 YOLO11 输出到 MNN 都为直接在边缘设备上运行计算机视觉任务提供了一种灵活高效的方式。

加入我们不断壮大的社区!探索我们的GitHub 仓库,深入了解人工智能。准备好开始您的计算机视觉项目了吗?查看我们的许可选项。在我们的解决方案页面上了解更多有关人工智能在医疗保健零售业中的应用

让我们共同打造人工智能的未来

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

免费开始
链接复制到剪贴板