考虑到一辆自动驾驶汽车在繁忙的街道上行驶时,只有几毫秒的时间来检测从路边走过的行人。与此同时,它可能还需要识别被树遮住一部分的停车标志,或者对附近驶入其车道的车辆做出快速反应。在这种情况下,速度和实时响应至关重要。
这正是人工智能(AI),特别是计算机视觉(帮助机器解释视觉数据的人工智能分支)发挥关键作用的地方。计算机视觉解决方案要想在现实环境中可靠地工作,通常需要快速处理信息、同时处理多项任务并高效地使用内存。
实现这一目标的方法之一是通过硬件加速,利用图形处理器(GPU)等专用设备更快地运行模型。英伟达™(NVIDIA®)图形处理器因其低延迟和高吞吐量的能力,在此类任务中尤为出名。
然而,在 GPU 上按原样运行模型并不总能保证最佳性能。视觉人工智能模型通常需要优化才能充分利用硬件设备的功能。为了充分发挥特定硬件的性能,我们需要对模型进行编译,以便使用硬件的特定指令集。
例如,TensorRT 是英伟达开发的一种导出格式和优化库,用于提高高端机器的性能。它采用先进技术,在保持准确性的同时大幅缩短推理时间。
在本文中,我们将探讨 Ultralytics 支持的TensorRT 集成,并介绍如何导出 YOLO11 模型,以便在英伟达硬件上进行更快、更高效的部署。让我们开始吧!
TensorRT 是英伟达™(NVIDIA®)开发的一款工具包,可帮助人工智能模型在英伟达™(NVIDIA®)GPU 上更快、更高效地运行。它专为速度和性能非常重要的实际应用而设计,例如自动驾驶汽车、制造业和制药业的质量控制。
TensorRT 包括编译器和模型优化器等工具,它们可以在幕后工作,确保模型以较低的延迟运行,并能处理较高的吞吐量。
Ultralytics 支持的 TensorRT 集成通过优化 YOLO 模型,使用降低精度等方法在 GPU 上更高效地运行。这是指使用 16 位浮点(FP16)或 8 位整数(INT8)等较低位格式来表示模型数据,从而减少内存使用并加快计算速度,同时将对精度的影响降至最低。
此外,兼容的神经网络层被融合到优化的 TensorRT 模型中,以减少内存使用,从而实现更快、更高效的推理。
在讨论如何使用 TensorRT 集成导出 YOLO11 之前,让我们先来看看 TensorRT 模型格式的一些关键功能:
将Ultralytics YOLO 模型(如 Ultralytics YOLO11)导出为 TensorRT 模型格式非常简单。让我们来了解一下相关步骤。
要开始使用,可以使用 "pip "之类的软件包管理器安装Ultralytics Python软件包。在命令提示符或终端运行"pip install ultralytics"命令即可。
成功安装 Ultralytics Python 软件包后,你就可以为各种计算机视觉任务训练、测试、微调、导出和部署模型,如物体检测、分类和实例分割。在安装软件包时,如果遇到任何困难,可以参考常见问题指南,了解解决方案和技巧。
下一步,您需要一台英伟达(NVIDIA)设备。使用下面的代码片段将 YOLOv11 加载并导出为 TensorRT 模型格式。它加载了 YOLO11 模型的预训练纳米变体 (yolo11n.pt),并将其导出为 TensorRT 引擎文件 (yolo11n.engine),使其可以在英伟达设备上部署。
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.export(format="engine")
将模型转换为 TensorRT 格式后,您就可以将其部署到各种应用中。
下面的示例展示了如何加载导出的 YOLO11 模型 (yolo11n.engine) 并使用它运行推理。推理包括使用训练有素的模型对新数据进行预测。在本例中,我们将使用一张狗的输入图像来测试模型。
tensorrt_model = YOLO("yolo11n.engine")
results = tensorrt_model("https://images.pexels.com/photos/1254140/pexels-photo-1254140.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2.jpg", save=True)
运行此代码后,以下输出图像将保存在runs/detect/predict文件夹中。
Ultralytics Python软件包支持多种集成,可以将YOLO模型导出为不同的格式,如TorchScript、CoreML、ONNX和TensorRT。那么,什么时候应该选择使用 TensorRT 集成呢?
以下是 TensorRT 模型格式有别于其他导出集成选项的几个因素:
以 TensorRT 格式导出的 Ultralytics YOLO 模型可广泛应用于现实世界的各种场景。在快速、高效的人工智能性能非常关键的情况下,这些优化模型尤其有用。让我们来探讨一些如何使用它们的有趣例子。
零售店中的许多工作,如扫描条形码、称重或包装商品等,仍由员工手工操作。然而,仅仅依靠员工可能会减慢运营速度,导致顾客不满,尤其是在结账时。排长队对购物者和店主来说都很不方便。智能自助收银台可以很好地解决这一问题。
这些计数器利用计算机视觉和 GPU 加快处理速度,有助于减少等待时间。计算机视觉使这些系统能够通过物体检测等任务来观察和了解环境。利用 TensorRT 等工具进行优化后,像 YOLO11 这样的高级模型在 GPU 设备上的运行速度会更快。
这些导出的模型非常适合智能零售设置,它们使用的是专为边缘人工智能应用设计的英伟达 Jetson Nano 等小巧但功能强大的硬件设备。
像 YOLO11 这样的计算机视觉模型可以进行定制训练,以检测制造业中的缺陷产品。训练完成后,模型可导出为 TensorRT 格式,以便在配备高性能人工智能系统的设施中进行部署。
当产品在传送带上移动时,摄像头会捕捉图像,以 TensorRT 格式运行的 YOLO11 模型会对图像进行实时分析,以发现缺陷。这种设置使公司能够快速准确地发现问题,从而减少错误并提高效率。
同样,制药等行业也在使用这类系统来识别医疗包装中的缺陷。事实上,到 2026 年,智能缺陷检测系统的全球市场规模将增至 50 亿美元。
虽然 TensorRT 集成带来了许多优势,如更快的推理速度和更低的延迟,但也有一些限制需要注意:
将 Ultralytics YOLO 模型导出为 TensorRT 格式后,其运行速度和效率大大提高,是检测工厂缺陷、支持智能结账系统或监控繁忙城区等实时任务的理想选择。
这种优化通过加快预测速度、降低内存和功耗,帮助模型在英伟达™(NVIDIA®)图形处理器上发挥更好的性能。虽然存在一些限制,但性能的提升使 TensorRT 集成成为在英伟达硬件上构建高速计算机视觉系统的最佳选择。
想了解有关人工智能的更多信息?探索我们的GitHub 存储库,与我们的社区建立联系,查看我们的许可选项,启动您的计算机视觉项目。请访问我们的解决方案页面,了解更多有关制造业中的人工智能 和物流业中的计算机视觉等创新的信息。