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

使用 MNN 集成轻松部署 Ultralytics YOLO11

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

Abirami VinaAbirami Vina6 分钟阅读
通过 MNN 集成部署 Ultralytics YOLO11

如今,AI 创新已不再局限于远程服务器环境。AI 解决方案正集成到传感器和智能手机等边缘设备中。得益于这一技术转变,数据现在可以直接在生成位置进行处理,从而实现更快的响应、提升隐私保护,并减少对持续云连接的依赖。

因此,边缘 AI正在许多行业中迅速发展。随着更多系统转向更快速、更本地化的处理,边缘 AI 软件市场预计到 2031 年将达到 88.8 亿美元。

尤其是计算机视觉——一种专注于理解图像和视频的 AI 分支——正在边缘侧迅速普及。从统计包装食品的数量到帮助车辆检测行人,计算机视觉为各个行业的无数实际应用提供支持。

这得益于计算机视觉模型。例如,Ultralytics YOLO11 支持多种视觉 AI 任务,包括目标检测、实例分割、姿态估计和目标跟踪。它专为快速高效而设计,即使在硬件资源有限的设备上也能出色运行。

使用 Ultralytics YOLO11 检测和跟踪包装中的食品

图 1. 使用 Ultralytics YOLO11 检测和跟踪包装中的食品。

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

最高效的选项之一是 MNN(移动神经网络),这是一款专为低资源设备设计的轻量级推理引擎。将 Ultralytics YOLO11 导出为 MNN 格式后,模型便可直接在手机、嵌入式系统和其他边缘平台上运行,满足对设备端快速处理的需求。

在本文中,我们将介绍 MNN 集成的工作原理、常见用例,以及如何开始使用导出的 Ultralytics YOLO11 模型运行推理。

MNN 概览:深度学习框架#

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

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

MNN 框架一览

图 2. MNN 框架一览(来源)。

Ultralytics 支持的 MNN 集成可让你轻松将 YOLO11 模型导出为 MNN 格式。简单来说,这意味着你可以将模型从原生 PyTorch 格式转换为 MNN 格式。

转换完成后,你可以将模型部署到支持 MNN 框架的设备上,以高效地在设备端运行推理。使用 MNN 格式的一个主要优势是,它简化了在模型大小、速度和资源效率至关重要的场景中部署 Ultralytics YOLO11 的流程。

MNN 推理后端的主要特性#

在深入了解如何使用 MNN 集成之前,我们先来看看 MNN 框架为何适合在真实设备上运行 AI 模型。该框架专为应对边缘环境的独特限制而构建,同时仍能提供快速、可靠的性能。

值得一提的是,阿里巴巴内部已有 30 多款应用使用 MNN,包括淘宝、天猫、优酷、钉钉和闲鱼,应用场景涵盖直播、短视频、图像搜索和设备端安全检查等多个领域。MNN 支持大规模部署,在生产环境中每天运行数百万次推理。

以下是 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 MNN 文档,了解更多详情和示例。

使用导出为 MNN 格式的 Ultralytics YOLO11 模型分析交通

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

由 Ultralytics YOLO11 和 MNN 支持的边缘 AI 模型部署应用场景#

通过 MNN 部署 Ultralytics YOLO11,即使在云端处理不切实际或不可行的环境中,也能快速、高效地执行对象检测等计算机视觉任务。下面来看看这一集成在实际场景中的特别用途。

用于植物病害识别的移动边缘 AI#

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

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

Ultralytics YOLO11 检测叶片上由植物病害锈病造成的迹象

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

制造业中的高效设备端推理#

在制造业工厂繁忙的生产线上,准确追踪包装至关重要。Ultralytics 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和零售业中的计算机视觉的信息!

作者

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 的未来!

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