将 Ultralytics YOLO11 模型导出为 NCNN 模型格式,以便在功率和计算资源有限的边缘设备上运行高效、低延迟的 AI 推理。
将 Ultralytics YOLO11 模型导出为 NCNN 模型格式,以便在功率和计算资源有限的边缘设备上运行高效、低延迟的 AI 推理。
人工智能解决方案正变得越来越普遍,即使在灾害管理、废物管理和消防等高风险领域也是如此。随着采用率持续增长,人工智能模型正被部署在更多样化的环境中——不仅在服务器或云端,还直接部署在现场运行的设备上。
例如,由小型处理器驱动的带有边缘组件的无人机和设备可以在灾区发挥关键作用。这些设备配备热像仪,可以收集和分析现场数据,以定位被困在废墟下的人员。这可以通过计算机视觉来实现,计算机视觉是人工智能的一个分支,可以解释来自图像和视频的视觉信息。
然而,在边缘设备上部署视觉 AI 模型并不像看起来那么简单。AI 模型需要经过优化,才能在计算能力和内存有限的硬件上高效运行。因此,像 NCNN 这样的 AI 框架至关重要。它们有助于转换和优化模型,使其在低功耗设备上实现实时性能,而不会牺牲准确性。
特别是,Ultralytics YOLO 模型(如 Ultralytics YOLO11)可以使用 Ultralytics 支持的 NCNN 集成轻松导出为 NCNN 模型格式。将 YOLO11 转换为 NCNN 模型格式可以使模型运行更快、占用更少的内存,并在不同的设备上流畅运行,而不会损失精度。
在本文中,我们将探讨 Ultralytics 支持的 NCNN 集成,并逐步介绍如何将 YOLO11 模型导出为 NCNN 模型格式。让我们开始吧!
NCNN 是腾讯开发的开源神经网络推理框架。它专为移动和边缘环境而设计,以最小的占用空间实现高性能推理。这使其非常适合部署在资源受限的设备上,例如智能手机、无人机和物联网 (IoT) 设备。
NCNN 框架因其效率、可移植性以及针对移动 CPU(中央处理器)的优化而在 AI 和深度学习社区中广受欢迎。它使开发人员能够在内存和处理能力有限的经济型设备上运行神经网络模型。NCNN 设计简单灵活,支持各种计算机视觉模型,并可在包括 Android、Linux、iOS 和 macOS 在内的多个平台上运行。

以下是一些使NCNN成为一个有影响力的、广泛使用的神经网络推理框架的关键特性:
既然我们已经讨论了NCNN是什么,那么让我们仔细看看如何将YOLO11模型导出为NCNN格式。
在导出模型之前,第一步是使用包安装程序pip安装Ultralytics Python包。这可以通过在您的终端或命令提示符中运行“pip install ultralytics”来完成。如果您在Jupyter Notebook或Google Colab中工作,请在该命令前添加一个感叹号,如下所示:“!pip install ultralytics”。
Ultralytics 软件包提供了用于训练、测试、微调和导出视觉 AI 模型的工具,以用于各种计算机视觉任务。如果您在安装期间或导出模型时遇到任何问题,官方 Ultralytics 文档和常见问题解答指南是很好的故障排除资源。
安装 Ultralytics 软件包后,您可以加载您的 YOLO11 模型并将其导出为 NCNN 格式。下面的示例使用预训练模型 ("yolo11n.pt") 并将其导出为 NCNN 格式,将输出保存在名为 "/yolo11n_ncnn_model" 的文件夹中。
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.export(format="ncnn") 导出的 YOLO11 模型随后可以部署在各种轻量级设备上,例如智能手机、嵌入式系统或物联网平台。部署过程也非常简化。
例如,考虑下面的代码片段,它展示了如何加载导出的模型并运行推理。 推理是指使用经过训练的模型对新的、未见过的数据进行预测的过程。 在此示例中,该模型在从公共 URL 获取的骑自行车的男子图像上进行测试。
ncnn_model = YOLO("./yolo11n_ncnn_model")
results = ncnn_model("https://images.pexels.com/photos/19431209/pexels-photo-19431209/free-photo-of-a-man-riding-a-bike-on-a-road.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2.jpg", save=True)运行代码后,您将在“runs/detect/predict”文件夹中找到输出图像。

当您探索 Ultralytics 支持的各种集成时,您可能会注意到有多个导出选项可用。那么,您应该在何时选择 NCNN 格式?
当需要在资源有限的设备上部署 YOLO11 模型时,NCNN 导出格式是一个可靠的选择。它对于直接在设备上运行的实时应用程序特别有用,例如边缘设备,而无需连接到云。这意味着该模型可以直接在现场处理诸如目标检测之类的任务。
以下是一些 NCNN 非常适合的常见场景:

接下来,让我们深入探讨将 YOLO11 模型导出到 NCNN 可以带来实际改变的一些实际用例。
配备摄像头和嵌入式微型计算机的安全头盔可用于建筑和消防等领域,以提高安全性和意识。实时视觉AI模型(如YOLO11)可以在这些设备上运行,以检测各种类型的物体和设备。例如,这种头盔可以帮助消防员在低能见度条件下检测人员、障碍物或危险。
然而,直接在可穿戴设备上运行完整尺寸的模型可能会导致性能下降并快速耗尽电池电量。在这种情况下,使用 NCNN 集成是一个明智的选择。它可以实现低延迟、高能效的推理。
同样,智能垃圾箱可以与摄像头和紧凑型边缘 AI 处理器集成,以识别和分类丢弃的材料。可以对 YOLO11 等视觉 AI 模型进行定制训练,以检测不同类型的垃圾材料,如纸张、塑料、橡胶等。
一旦识别出废物,就可以根据其可重复使用性自动将其分类到单独的隔间中。通过使用边缘 AI 以及 NCNN 格式导出的 YOLO11 模型,这些垃圾箱可以在本地处理数据 - 无需互联网连接。这使它们能够自主运行并以最小的延迟做出实时分类决策。

有时,偏远地区的农业区域缺乏稳定的互联网连接,甚至没有持续的电力供应,这限制了它们在线运行 AI 应用程序的能力。在这种情况下,可以使用边缘设备和无人机来处理各种任务。
一个很好的例子是监测牲畜,如牛、羊和家禽。这可以使用像 YOLO11 这样的视觉 AI 模型来完成,该模型可以用来跟踪动物的运动,检测受伤、生病或异常行为的迹象,并在动物丢失时提醒农民。NCNN 集成还可以直接在边缘设备上运行和处理这些数据,使其非常适合在偏远或离网地区的农场进行图像和视频分析。

使用 Ultralytics 支持的 NCNN 集成导出 YOLO11 模型是将视觉 AI 引入低功耗环境的直接方法。 无论是灾区的无人机、智能垃圾分类箱,还是偏远农场的牲畜监控,YOLO 和 NCNN 都能实现快速、高效和便携的实时 AI 推理。 这种方法有助于使 AI 系统在最重要的时候更易于访问和依赖。
想了解更多关于人工智能的信息吗?请浏览我们的 GitHub 仓库,与 我们的社区 建立联系,并查看 我们的许可选项,以快速启动您的计算机视觉项目。在我们的解决方案页面上,了解 人工智能在零售业 和 计算机视觉在医疗保健领域 等创新技术如何塑造未来。