如今,人工智能创新已经超越了远程服务器环境。人工智能解决方案正被集成到传感器和智能手机等边缘设备中。由于这种技术转变,现在可以直接在数据产生的地方处理数据,从而实现更快的响应、更好的隐私保护,并减少对持续云连接的依赖。
因此,边缘人工智能在许多行业都获得了越来越多的关注。随着越来越多的系统转向更快、更本地化的处理方式,预计到 2031 年,边缘人工智能软件市场规模将达到 88.8 亿美元。
计算机视觉是人工智能的一个分支,专注于理解图像和视频,目前正被迅速应用于边缘领域。从清点包装中的食品到帮助车辆检测行人,计算机视觉为不同领域的无数实际应用提供了支持。
计算机视觉模型使这成为可能。例如,Ultralytics YOLO11是一个支持各种视觉人工智能任务的模型,如物体检测、实例分割、物体跟踪和姿态估计。该模型设计快速高效,在硬件资源有限的设备上也能良好运行。
除了适合边缘部署外,通过 Ultralytics 支持的各种集成,YOLO11 还可以导出为适合不同硬件环境的各种格式。
最有效的选择之一是 MNN(移动神经网络),这是一个专为低资源设备设计的轻量级推理引擎。将 YOLO11 输出到 MNN,可使其直接在手机、嵌入式系统和其他边缘平台上运行,在这些平台上,快速的设备处理至关重要。
在本文中,我们将探讨MNN 集成的工作原理,重点介绍常见用例,并介绍如何开始使用导出的 YOLO11 模型运行推论。让我们开始吧!
在手机、工业传感器和便携式系统等小型设备上运行计算机视觉模型并不总是那么简单。这些设备通常内存有限,处理器速度较慢,而且有严格的功耗限制。
移动神经网络(MNN)是阿里巴巴开发的轻量级高性能推理引擎,旨在使人工智能模型在低资源硬件上高效运行,同时保持实时性能。MNN 支持包括 Android、iOS 和 Linux 在内的多种平台,并可在中央处理器(CPU)和图形处理器(GPU)等多种硬件类型上运行。
Ultralytics 支持的 MNN 集成功能可以将 YOLO11 模型轻松导出为 MNN 格式。简单地说,这意味着模型可以从 YOLO 格式转换为 MNN 格式。
转换后,它们可以部署在支持 MNN 框架的设备上,以实现高效的设备推理。使用 MNN 格式的一个主要好处是,它简化了 YOLO11 在大小、速度和资源效率至关重要的情况下的部署。
在深入了解如何使用 MNN 集成之前,让我们先来看看 MNN 框架是在真实设备上运行人工智能模型的最佳选择。它专为处理边缘环境的独特限制而构建,同时还能提供快速可靠的性能。
有趣的是,MNN 在阿里巴巴内部被用于 30 多个应用中,包括淘宝、天猫、优酷、丁说、鲜鱼等,应用场景广泛,如视频直播、短视频内容、图片搜索和设备安全检查等。它支持大规模部署,每天可在生产环境中运行数百万次推断。
以下是 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官方文档,了解更多详情和示例。
将 YOLO11 与 MNN 部署在一起,可以快速、高效地完成计算机视觉任务,例如在基于云的处理不现实或不可能的环境中进行物体检测。让我们来看看这种集成如何在实际应用场景中发挥特别的作用。
以下是 Ultralytics 提供的 MNN 集成的一些主要优势:
在选择 MNN 作为您的部署框架之前,还必须评估它与您的项目要求、部署目标和技术限制的匹配程度。以下是一些需要考虑的关键因素: