了解如何使用ONNX 集成导出Ultralytics YOLO 模型(如Ultralytics YOLO11),以便在各种硬件上进行跨平台部署。
了解如何使用ONNX 集成导出Ultralytics YOLO 模型(如Ultralytics YOLO11),以便在各种硬件上进行跨平台部署。
当 AI 解决方案 首次受到关注时,大多数模型都部署在受控环境中的强大服务器上。然而,随着技术的进步,部署已远远超出数据中心的范围。
如今,AI 模型可以在从云服务器和桌面电脑到智能手机和边缘设备的各种设备上运行。这种转变支持更快的处理速度、离线功能以及更智能的系统,这些系统可以在更接近数据生成地点的地方运行。
其中一个特别明显的领域是计算机视觉,它是 AI 的一个分支,使机器能够解释视觉数据。它被用于驱动面部识别、自动驾驶和实时视频分析等应用。随着这些用例的增长,对能够在各种硬件和平台上流畅运行的模型的需求也在增长。
但是,在各种部署目标上部署计算机视觉模型并不总是那么简单。设备在硬件、操作系统和支持的框架方面各不相同,因此灵活性和兼容性至关重要。
这就是为什么可以选择导出计算机视觉模型,如 Ultralytics YOLO11等计算机视觉模型导出为不同格式的选项至关重要。例如,Ultralytics 支持的ONNX (开放神经网络交换)集成为弥合训练和部署之间的差距提供了一种实用的方法。ONNX 是一种开放格式,可使模型不受框架限制,并可跨平台部署。

在本文中,我们将详细介绍Ultralytics 支持的ONNX 集成,并探讨如何导出YOLO11 模型,以实现灵活的跨平台部署。
开放神经网络交换(Open Neural Network Exchange)是一个开源项目,定义了机器学习模型的标准格式。它最初由Microsoft 和 Facebook 共同开发,允许开发人员在一个框架(如PyTorch)中训练模型,然后在另一个框架(如TensorFlow)中运行。这使得人工智能开发变得更加灵活、更具协作性和更易于访问,尤其是在计算机视觉等领域。
ONNX 提供了一套通用的运算符和统一的文件格式,使模型在不同工具、框架、运行时和编译器之间的移动变得更加容易。通常情况下,在一个框架中训练出来的模型不容易与另一个框架兼容,但有了ONNX,您只需导出一次模型,就能将其部署到几乎任何地方:CPU(中央处理器)、GPU(图形处理器)、移动设备或边缘硬件上。
此外,ONNX Runtime 是一个高性能推理引擎,专门为运行ONNX 格式的模型而开发。它旨在让ONNX 模型在各种平台(包括服务器、移动设备和边缘硬件)上运行得更快、更高效。ONNX Runtime 与PyTorch、TensorFlow、TensorFlow Lite 和 scikit-learn 等流行框架兼容,可轻松集成到不同的工作流中,并在需要的地方部署模型。

在讨论如何将 YOLO11导出为ONNX 格式之前,我们先来了解一下ONNX 模型格式的一些主要特点。
无论您是在不同工具间切换、部署到不同设备还是升级系统,ONNX 都能帮助您保持一切顺利运行。以下是ONNX 模型格式的独特之处:
以ONNX 格式导出Ultralytics YOLO 模型(如Ultralytics YOLO11 )非常简单,只需几个步骤即可完成。
要开始使用,请使用 "pip "等软件包管理器安装Ultralytics Python 软件包。在命令提示符或终端运行"pip installultralytics"命令即可开始安装。
有了Ultralytics 软件包,你可以轻松地为各种计算机视觉任务训练、测试、微调、导出和部署模型,使整个过程更快、更高效。在安装过程中,如果遇到任何困难,可以参考常见问题指南,了解解决方案和技巧。
安装Ultralytics 软件包后,您可以使用下面的代码将YOLO11 模型加载并导出为ONNX 格式。本示例加载预训练的YOLO11 模型 (yolo11n.pt) 并将其导出为ONNX 文件 (yolo11n.onnx),以便在不同平台和设备上部署。
将模型转换为ONNX 格式后,您可以将其部署到各种平台上。
下面的示例展示了如何加载导出的YOLO11 模型 (yolo11nonnx) 并运行推理。推理简单地说就是使用训练有素的模型对新数据进行预测。在本例中,我们将使用一张公共汽车图片的 URL 来测试模型。
运行此代码后,以下输出图像将保存在detect 文件夹中。

Ultralytics Python 软件包支持将模型导出为多种格式,包括TorchScript、CoreML、TensorRT 和ONNX。那么,为什么要选择ONNX 呢?
ONNX 脱颖而出的原因在于它是一种与框架无关的格式。许多其他导出格式与特定工具或环境绑定,而ONNX 则使用标准化格式和一套共享操作符。这使它具有高度的可移植性,对硬件友好,是跨平台部署的理想选择--无论您使用的是云服务器、移动应用程序还是边缘设备。
以下是ONNX 集成成为YOLO11 项目理想选择的一些原因:
接下来,让我们来探讨一下在ONNX 集成的帮助下部署YOLO11 的一些实际应用。
在繁忙的仓库中,很难始终关注每个产品和包裹。计算机视觉系统可以帮助工人找到货架上的产品并获得诸如产品数量、类型等见解。此类系统可以帮助企业自动管理其庞大的库存,并节省仓库工人大量时间。
具体来说,在智能仓库中,导出到ONNX 的YOLO11 模型可用于使用摄像头和边缘设备实时识别和清点物品。导出的模型可以帮助扫描货架或托盘,detect 库存水平、缺失物品或空位。由于导出到ONNX 的模型轻便高效,因此可以直接在智能摄像头等小型边缘设备上运行,无需昂贵的服务器或持续的云访问。

世界各地的医院每天都会产生大量废物,从用过的手套和注射器到手术期间使用的设备(如一次性或受污染的手术工具,如剪刀和手术刀)。事实上,研究表明,医院每年产生约 500 万吨废物,即每天每张病床 29 磅的废物。
正确分类这些废物对卫生、安全和遵守法规至关重要。利用以ONNX 格式导出的YOLO11 模型,医院可以实时自动监控废物处理情况。
例如,放置在手术室或走廊等区域废物箱附近的摄像头可以监控物品被丢弃的过程。经过训练的定制YOLO11 模型可以识别不同类型的医疗废物,它可以分析录像并识别出被丢弃的物品。如果物品最终被扔进了错误的垃圾桶,比如将用过的注射器扔进了普通垃圾桶,系统可以设置为立即用灯光或声音提醒工作人员,帮助防止污染并确保合规。

了解何时是收获农作物的最佳时机,对于农产品的质量和农场的整体生产力都有很大的影响。 传统上,农民依靠经验和人工检查,但随着技术的进步,这种情况开始发生变化。
现在,有了以ONNX 格式输出的YOLO11 等计算机视觉创新技术,农民可以将自动化和精确性带入田间地头。通过使用无人机或安装在拖拉机或电线杆上的摄像头,农民可以捕捉到农作物(如西红柿、苹果或小麦)的图像。然后,YOLO11 可用于detect 作物的颜色、大小和分布等关键指标。根据这些信息,农民可以确定农作物是准备收获、仍在成熟还是已经过了收获高峰期。

ONNX 具有许多优点,如可移植性、跨平台兼容性和框架互操作性,但也有一些局限性需要注意。
将Ultralytics YOLO11 输出到ONNX ,就可以轻松地将训练好的计算机视觉模型部署到几乎任何地方--无论是笔记本电脑、移动设备,甚至是小型智能相机。有了ONNX 集成,您就不必受限于单一框架或平台,可以灵活地在最适合您应用的环境中运行模型。
这使得从训练到实际部署的过渡更快、更高效。无论您是在仓库中跟踪库存,还是确保医院废物得到正确处理,这种设置都有助于系统更顺畅地运行,减少错误,并节省宝贵的时间。
想了解更多关于计算机视觉和人工智能的信息吗?请浏览我们的GitHub 仓库,与我们的社区互动,并查看我们的许可选项,以快速启动您的计算机视觉项目。如果您正在探索制造业中的人工智能和汽车行业中的计算机视觉等创新应用,请访问我们的解决方案页面以了解更多信息。