人工智能解决方案正变得越来越普遍,甚至在灾难管理、废物管理和消防等高风险领域也是如此。随着采用率的不断提高,人工智能模型的部署环境也越来越多样化--不仅在服务器或云端,还直接部署在现场操作的设备上。
例如,由小型处理器驱动的无人机和带有边缘组件的设备可以在灾区发挥关键作用。这些设备配备热像仪,可以在现场收集和分析数据,找到被困在废墟下的人员。计算机视觉是人工智能的一个分支,可以解读图像和视频中的视觉信息。
然而,在边缘设备上部署视觉人工智能模型并不像看起来那么简单。人工智能模型需要进行优化,以便在计算能力和内存有限的硬件上高效运行。这就是为什么像 NCNN 这样的人工智能框架至关重要的原因。它们有助于转换和优化模型,以便在低功耗设备上实现实时性能,同时又不影响准确性。
特别是,Ultralytics YOLO11等Ultralytics YOLO模型可以使用Ultralytics支持的 NCNN 集成,轻松导出为 NCNN 模型格式。将 YOLO11 转换为 NCNN 模型格式后,模型运行速度更快,占用内存更少,并且可以在不同设备上流畅运行,而不会降低精度。
在本文中,我们将探讨 Ultralytics 支持的NCNN 集成,并介绍如何将 YOLO11 模型导出为 NCNN 模型格式。让我们开始吧!
NCNN 是腾讯开发的开源神经网络推理框架。它专为移动和边缘环境设计,以最小的占用空间实现高性能推理。因此,它非常适合部署在资源受限的设备上,如智能手机、无人机和物联网(IoT)设备。
NCNN 框架因其高效性、可移植性和针对移动 CPU(中央处理器)的优化而在人工智能和深度学习领域大受欢迎。它使开发人员能够在内存和处理能力有限的经济型设备上运行神经网络模型。NCNN 设计简单灵活,支持多种计算机视觉模型,可在多个平台上运行,包括 Android、Linux、iOS 和 macOS。
以下是使 NCNN 成为具有影响力和广泛应用的神经网络推理框架的一些主要特点:
既然我们已经讨论了什么是 NCNN,那就让我们仔细看看如何将 YOLO11 模型导出为 NCNN 格式。
在导出模型之前,第一步是使用软件包安装程序 pip 安装Ultralytics Python软件包。在终端或命令提示符下运行 "pip install ultralytics "即可完成安装。如果使用的是 Jupyter Notebook 或 Google Colab,请在命令前添加感叹号,如下所示:"!pip install ultralytics"。
Ultralytics 软件包为各种计算机视觉任务提供了训练、测试、微调和导出视觉人工智能模型的工具。如果在安装过程中或导出模型时遇到任何问题,Ultralytics 官方文档和常见问题指南是排除故障的重要资源。
安装 Ultralytics 软件包后,您就可以加载 YOLO11 模型并将其导出为 NCNN 格式。下面的示例使用了一个预训练模型("yolo11n.pt"),并将其导出为 NCNN 格式,将输出保存在名为"/yolo11n_ncn_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 可以发挥真正的作用。
配备摄像头和嵌入式微型计算机的安全头盔可用于建筑和消防等领域,以提高安全性和意识。实时视觉人工智能模型(如 YOLO11)可在这些设备上运行,以检测各种类型的物体和设备。例如,这种头盔可以帮助消防员在能见度低的条件下探测到人员、障碍物或危险。
然而,在可穿戴设备上直接运行全尺寸模型可能会导致性能缓慢和电池电量迅速耗尽。在这种情况下,使用 NCNN 集成是一个明智的选择。它可以实现低延迟、高能效的推理。
使用 Ultralytics 支持的 NCNN 集成导出 YOLO11 模型是将 Vision AI 引入低功耗环境的简单方法。无论是灾区的无人机、智能垃圾分类箱,还是远程农场的牲畜监控,YOLO 和 NCNN 都能实现快速、高效和便携的实时人工智能推断。这种方法有助于使人工智能系统在最重要的时候更加易用和可靠。
想了解有关人工智能的更多信息?探索我们的GitHub 存储库,与我们的社区建立联系,了解我们的许可选项,启动您的计算机视觉项目。在我们的解决方案页面,了解零售业的人工智能和医疗保健领域的计算机视觉等创新如何塑造未来。