YOLO Vision 2026:
集成

在 LiteRT 上导出 Ultralytics YOLO

了解全新的 LiteRT 导出集成如何将 Ultralytics YOLO 推理以单一统一的格式引入移动端、嵌入式、边缘及浏览器环境。

NUNuvola Ladi3 min read
在 LiteRT 上导出 Ultralytics YOLO

在 Ultralytics,我们发现越来越多的人开始转向直接在需要模型的设备上运行计算机视觉模型,而不是依赖云端连接。移动应用、嵌入式系统、物联网传感器和基于浏览器的工具越来越需要在本地运行推理,通常是在功耗和计算预算紧张的硬件上。这就是我们很高兴地宣布 Ultralytics YOLO 模型现在可以直接导出到 LiteRT 的原因。

满足这一需求需要一种能够在所有这些环境中通用的模型格式,而无需开发者为每种环境维护单独的导出流水线。

这种功能之前通过非官方的第三方软件包存在,但这次新的集成是我们与 Google 官方合作的成果。我们与 LiteRT 团队密切合作,构建了一个端到端的流水线,用于通过 LiteRT 将 Ultralytics YOLO 模型导出到 TFLite。通过这种集成,单个导出的 Ultralytics YOLO 模型即可部署在移动、嵌入式、边缘和浏览器环境中,将旧版 TFLite 和 TF.js 导出格式之前分别处理的内容统一为一个精简的格式。

什么是 LiteRT?#

LiteRT(Lite Runtime 的简称)是 Google 专为端侧 AI 推出的高性能运行时。它是 TensorFlow Lite (TFLite) 的下一代产品和新名称,并且运行开发者们已经熟悉的相同 .tflite 模型格式。

LiteRT 是一个专为端侧推理(也称为边缘计算)而设计的开源框架。它为开发者提供了在移动、嵌入式和物联网设备、传统计算机上执行训练后模型的工具,并且通过 LiteRT.js 可以在网页浏览器和 Node.js 中直接运行。LiteRT 导出格式针对目标检测分割姿态估计分类等任务对模型进行了优化,以便它们能够在各种设备上快速、离线地运行。

为什么要将 Ultralytics YOLO 模型导出到 LiteRT?#

现在,单一模型格式即可覆盖所有部署目标:

移动端和嵌入式。 Android、iOS、桌面、嵌入式 Linux 和微控制器 (MCU)。

边缘加速器。Coral Edge TPU 兼容以实现进一步加速。

浏览器和 Node.js。 LiteRT.js 通过 WebGPU/WASM 加速在 Web 上运行相同的 .tflite 模型,无需再进行单独的 TensorFlow.js 导出。

桌面端

这种整合至关重要,因为它消除了生产部署中真正的问题来源。团队现在无需为移动端维护一个导出流水线,为浏览器维护第二个,再为边缘加速器维护第三个,而是一次导出即可在所有 LiteRT 运行的环境中进行部署。

LiteRT 模型的主要特性#

端侧优化。 通过在本地处理数据减少延迟,通过不传输个人数据增强隐私,并最小化模型大小以节省空间。

多平台支持。 可在 Android、iOS、嵌入式 Linux、微控制器和现代 Web 浏览器上运行。

硬件加速。 利用 CPU 上的 XNNPACK,以及通过 OpenCL、Metal 和 WebGPU 进行 GPU 加速。GPU 加速默认以 FP16 运行以提高速度。

量化。 支持 FP32、静态 INT8、静态 INT16 激活和动态 INT8,以压缩模型并以极小的精度损失加快推理速度。

多语言支持。 兼容 Java/Kotlin、Swift、Objective-C、C++、Python 和 JavaScript。

LiteRT 导出入门#

Ultralytics Python 软件包Ultralytics 平台为跨所有五项计算机视觉任务训练、评估和部署 YOLO 模型提供了完整、统一的环境。LiteRT 导出格式支持导出预测验证模式,因此可以导出模型并立即在本地用于推理或准确性验证。

导出模型只需一个命令:

from ultralytics import YOLO

# Load a YOLO26 model
model = YOLO("yolo26n.pt")

# Export the model to LiteRT format
model.export(format="litert") # creates 'yolo26n.tflite'

对于部署到受限硬件的团队,LiteRT 还支持量化导出,允许模型进行压缩,从而以极小的精度损失实现更快的推理:

from ultralytics import YOLO

model = YOLO("yolo26n.pt")

# Dynamic INT8: int8 weights, FP32 activations - no calibration data needed
model.export(format="litert", quantize="w8a32")

# Static INT8: int8 weights + int8 activations - needs calibration data
model.export(format="litert", quantize=8, data="coco8.yaml")

模型导出后,可以直接加载并运行以进行推理:

from ultralytics import YOLO

# Load the exported LiteRT model
model = YOLO("yolo26n.tflite")

# Run inference
results = model("https://ultralytics.com/images/bus.jpg")

目前 Linux x86_64 和 macOS 支持 LiteRT 导出。导出的 .tflite 模型本身可以在所有 LiteRT 支持的平台上运行,包括移动设备、嵌入式设备、边缘设备和浏览器。

LiteRT_Fig1 图 1:ONNX 和 LiteRT 之间的性能比较。

上图展示了 YOLO26n 在检测、分割和姿态估计方面的平均推理时间比较,它通过 @ultralytics/yolo(Ultralytics 的 npm 软件包,用于通过 ONNX Runtime Web 在 WebGPU/WASM 上进行客户端推理)在浏览器中运行。基准测试在受控浏览器环境中的 2024 款 Apple MacBook Pro(Apple Silicon M4)上进行。

将 Ultralytics YOLO 带到边缘#

有了 LiteRT,在移动、嵌入式、边缘和浏览器环境中部署 Ultralytics YOLO 模型不再需要为每个目标分别维护导出流水线。一次导出,一种模型格式,实现从训练到生产的一致路径,无论推理需要在哪里进行。

对视觉 AI 感兴趣?了解我们的许可选项,将计算机视觉引入你的项目。访问我们的GitHub 仓库以探索完整的 Ultralytics 导出集成范围,并查看Ultralytics 平台开始构建你自己的端到端视觉 AI 工作流。

Explore solutions

让我们一起构建 AI 的未来!

开启你的机器学习未来之旅