使用 MNN 集成无缝部署 Ultralytics YOLO11
了解如何通过 MNN 集成导出和部署 Ultralytics YOLO11 模型,从而在移动、嵌入式和低功耗平台上实现快速推理。

如今,AI 创新已不再局限于远程服务器环境。AI 解决方案正被集成到传感器和智能手机等边缘设备中。得益于这一技术转变,数据现在可以直接在生成位置进行处理,从而实现更快的响应、更好的隐私保护,并减少对持续云连接的依赖。
因此,边缘 AI 正在许多行业中获得越来越多的关注。随着更多系统转向更快、更本地化的处理,边缘 AI 软件市场预计到 2031 年将达到 88.8 亿美元。
尤其是计算机视觉——这一专注于理解图像和视频的 AI 分支——正在边缘侧快速普及。从在食品包装过程中清点食品,到帮助车辆检测行人,计算机视觉支持着不同行业中 countless 的实际应用。
计算机视觉模型使这一切成为可能。例如,Ultralytics YOLO11 是一个支持多种视觉 AI 任务的模型,例如目标检测、实例分割、目标跟踪和姿态估计。它专为快速高效而设计,即使在硬件资源有限的设备上也能表现出色。

图 1. 使用 Ultralytics YOLO11 检测和跟踪包装中的食品(来源)。
除了适合边缘部署外,通过 Ultralytics 支持的各种集成,YOLO11 还可以导出为适用于不同硬件环境的各种格式。
其中一个高效选项是 MNN(移动神经网络),这是一个专为低资源设备设计的轻量级推理引擎。将 Ultralytics YOLO11 导出为 MNN 后,它可以直接在手机、嵌入式系统和其他边缘平台上运行,满足快速设备端处理的需求。
本文将介绍 MNN 集成的工作方式,重点讲解常见用例,并逐步说明如何使用导出的 Ultralytics YOLO11 模型开始运行推理。让我们开始吧!
MNN 概览:深度学习框架#
在手机、工业传感器和便携式系统等小型设备上运行计算机视觉模型并不总是简单的。这些设备通常内存有限、处理器速度较慢,并且有严格的功耗限制。
移动神经网络(MNN)是由阿里巴巴开发的轻量级高性能推理引擎,旨在让 AI 模型在低资源硬件上高效运行,同时保持实时性能。MNN 支持包括 Android、iOS 和 Linux 在内的多种平台,并可运行在中央处理器(CPUs)和图形处理器(GPUs)等多种硬件上。

图 2. MNN 框架一览(来源)。
Ultralytics 支持的 MNN 集成让你可以轻松将 YOLO11 模型导出为 MNN 格式。简单来说,这意味着模型可以从 YOLO 格式转换为 MNN 格式。
转换后,模型可以部署在支持 MNN 框架的设备上,以实现高效的设备端推理。使用 MNN 格式的一个主要好处是,它简化了在尺寸、速度和资源效率至关重要的场景中部署 Ultralytics YOLO11 的过程。
MNN 推理后端的主要特性#
在深入了解如何使用 MNN 集成之前,我们先来看看 MNN 框架为何适合在真实设备上运行 AI 模型。它能够应对边缘环境的独特限制,同时提供快速可靠的性能。
值得一提的是,MNN 已在阿里巴巴内部用于 30 多个应用,包括淘宝、天猫、优酷、钉钉和闲鱼,覆盖直播、短内容、图像搜索和设备端安全检查等多种场景。它支持大规模部署,并在生产环境中每天运行数百万次推理。
以下是 MNN 框架的一些主要特性:
- 后端自动选择: MNN 可以根据运行所在的硬件,自动选择最合适的执行后端,例如 CPU 或 GPU。
- 多线程执行:它支持多线程,可以充分利用多核处理器来加快推理速度。
- 支持模型量化:它支持使用 FP16 或 INT8 量化显著减小模型大小,从而在减少内存使用的同时提高推理速度。
- 轻量且快速: MNN 的占用空间非常小,核心库在 Android 上约为 400 KB,在 iOS 上约为 5 MB,因此非常适合移动设备和嵌入式设备。
了解 MNN 集成的工作方式#
接下来,我们将逐步介绍如何将 Ultralytics 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 格式的 Ultralytics 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 格式的 Ultralytics YOLO11 模型分析交通状况。图片由作者提供。
Ultralytics YOLO11 和 MNN 支持的边缘 AI 模型部署用例#
使用 MNN 部署 Ultralytics YOLO11,可以在云端处理不切实际或无法实现的环境中,执行快速高效的计算机视觉任务,例如目标检测。让我们看看这一集成如何在真实场景中发挥特别的作用。
用于植物病害识别的移动边缘 AI#
使用图像分类的植物病害识别应用正受到园艺爱好者、研究人员和自然爱好者的欢迎。用户只需拍摄一张照片,就能快速识别叶斑或变色等早期病害迹象。由于这些应用通常在互联网访问受限或不可用的户外区域使用,依赖云端处理可能并不可靠。
训练完成后,Ultralytics YOLO11 模型可以导出为 MNN 格式,并直接在移动设备上运行。随后,模型可以在本地对植物种类进行分类并检测可见的病害症状,而无需向服务器发送任何数据。

图 4. 使用 YOLO11 检测叶片上锈病(植物病害)迹象的示例(来源)。
制造业中的高效设备端推理#
在繁忙的制造业生产线上,准确跟踪包装至关重要。Ultralytics YOLO11 可用于跟踪和统计每件物品通过关键检查点时的数量,实时更新计数并标记任何差异。这有助于减少漏发或无法核对的货物,并支持更顺畅、更可靠的运营。

图 5. 使用 YOLO11 跟踪和统计包装数量(来源)。
MNN 集成在这一场景中尤其具有影响力。将 Ultralytics YOLO11 模型导出为 MNN 格式后,它可以直接在安装于传送带沿线的紧凑型低功耗设备上运行。
由于所有处理都在本地完成,系统可以即时提供反馈,且无需互联网连接。这确保了工厂车间的快速可靠性能,在保持高精度和可控性的同时,让生产高效运转。
将 Ultralytics YOLO11 导出为 MNN 模型格式的优势#
以下是 Ultralytics 提供的 MNN 集成的一些主要优势:
- 更快的响应时间:由于推理在设备上运行,预测可以近乎实时地完成,延迟极低。
- 更好的数据隐私:数据保留在设备上,减少了将敏感图像或视频发送到云端的需要。
- 开源且积极维护: MNN 由阿里巴巴支持,并拥有活跃的社区,因此可靠且会定期通过性能改进进行更新。
使用 MNN 框架时需要考虑的因素#
在选择 MNN 作为部署框架之前,还必须评估它与项目需求、部署目标和技术限制的匹配程度。以下是一些需要考虑的主要因素:
- 持续兼容性: 框架更新或目标平台发生变化后,可能需要重新测试或进行调整,以确保一切顺利运行。
- 调试工具较少: 与规模更大的框架相比,MNN 用于调试和检查模型行为的工具较为有限,这可能会增加故障排除的难度。
- 性能取决于硬件: 模型的速度和效率会因设备而异。请在目标硬件上进行测试,确保其满足你的性能目标。
要点总结#
Ultralytics 对 MNN 集成的支持让你可以轻松导出 YOLO11 模型,以便在移动设备和嵌入式设备上使用。对于需要快速可靠检测、又不依赖云端访问或持续连接的应用来说,这是一个实用的选择。
这一设置有助于简化部署,同时保持性能并降低资源需求。无论你是在构建智能家居系统、现场工具还是紧凑型工业设备,将 Ultralytics YOLO11 导出为 MNN 都能提供一种灵活高效的方式,让你直接在边缘设备上运行计算机视觉任务。
加入不断壮大的社区!探索我们的 GitHub 仓库,深入了解 AI。准备开始你的计算机视觉项目了吗?查看我们的许可选项。在我们的解决方案页面上进一步了解医疗保健领域的 AI和零售业中的计算机视觉!









