Ultralytics YOLO27: 加入候补名单。
获取 YOLO 许可
Ultralytics YOLO

通过 CoreML 将 Ultralytics YOLO11 部署到 Apple 设备

了解如何轻松地通过 CoreML 将 Ultralytics YOLO11 部署到 Apple 设备上,为实时 iOS 应用启用快速离线计算机视觉任务。

Abirami VinaAbirami Vina6 分钟阅读
了解如何轻松地通过 CoreML 将 Ultralytics YOLO11 部署到 Apple 设备上,为实时 iOS 应用启用快速离线计算机视觉任务。

随着 Apple 推出 Apple Intelligence 等功能,很明显,端侧 AI 正成为我们使用手机的重要组成部分。对开发者来说,这一转变意味着用户正在采用具备计算机视觉等功能的 iOS 应用,以获得更智能、响应更迅速的体验。

计算机视觉是一种人工智能 (AI) 技术,能让计算机理解和分析图像或视频等视觉信息。在移动设备上,它可以通过手机摄像头实时检测、分类目标并与目标交互。像 Ultralytics YOLO11 这样的视觉 AI 模型可以根据应用需求进行定制训练,以识别特定目标。

不过,Ultralytics YOLO11 并不能开箱即用地在 iOS 上运行。要在 iPhone 或其他 Apple 设备上部署 YOLO11,特别是用于离线场景时,需要将其转换为针对 Apple 生态系统优化的格式。

CoreML 正是为解决这类问题而设计的。CoreML 是 Apple 的机器学习框架,旨在让模型能够本地运行并直接集成到 iOS 和 macOS 应用中。在 Ultralytics 的支持下,CoreML 集成让你能够轻松导出模型,以便在 iPhone 上本地部署。

本文将详细介绍如何将 Ultralytics YOLO11 模型导出为 CoreML 格式。我们还将探索实时应用案例,展示在 iOS 设备上直接运行计算机视觉模型的优势。

什么是 CoreML?#

CoreML 是 Apple 开发的机器学习 (ML) 框架,让开发者可以将训练好的 ML 模型直接集成到 Apple 生态系统中的各类应用,包括 iOS(iPhone 和 iPad)、macOS(Mac)、watchOS(Apple Watch)和 tvOS(Apple TV)。它旨在让 Apple 设备上的机器学习变得易于使用且高效,使模型可以直接在设备上运行,无需互联网连接。

CoreML 的核心是统一的模型格式,支持图像分类、目标检测、语音识别和自然语言处理等多种 AI 任务。该框架经过优化,可充分利用 Apple 硬件,借助 CPU(中央处理器)、GPU(图形处理器)和 ANE(Apple Neural Engine)快速高效地执行模型。

CoreML 支持多种模型类型,并兼容 TensorFlow、PyTorch、scikit-learn、XGBoost 和 LibSVM 等常见机器学习库。这让开发者更容易将先进的 ML 功能引入日常应用,同时确保应用能在各种 Apple 设备上流畅运行。

CoreML 支持来自其他常见 AI 框架的模型

图 1. CoreML 支持来自其他常见 AI 框架的模型(来源)。

CoreML 的主要功能#

以下是让 CoreML 成为在 Apple 应用中集成 AI 的可靠工具的一些主要功能:

  • 模型优化:CoreML 支持量化和剪枝等压缩技术,以减小模型体积并提升运行时效率。
  • 设备端个性化:Apple 的 ML 框架支持设备端个性化,可根据用户交互在本地训练和更新模型。
  • 异步预测:该框架允许应用在后台运行预测任务,在处理 AI 任务的同时保持用户界面流畅、响应迅速。
  • 多任务学习:CoreML 支持能够同时执行多项任务的模型,例如在同一张图像中检测物体并识别文本。

如何将 Ultralytics YOLO11 导出为 CoreML 格式#

现在我们已经更好地了解了 CoreML 框架,接下来看看如何使用 Ultralytics 支持的 CoreML 集成,将 YOLO11 模型导出为 CoreML 格式。

第 1 步:设置环境#

要使用 Ultralytics 提供的集成功能,首先安装 Ultralytics Python 软件包。这是一个轻量、易用的库,可简化 Ultralytics YOLO 模型的训练、评估、预测和导出等任务。

你可以在命令终端中运行“pip install ultralytics”来安装 Ultralytics Python 软件包。如果你使用 Jupyter Notebook 或 Google Colab 等环境,请在命令前加上感叹号 (!):“!pip install ultralytics”。

如果在安装过程中或导出到 CoreML 时遇到问题,请查阅 Ultralytics 官方文档或常见问题指南寻求帮助。

第 2 步:将 Ultralytics YOLO11 导出为 CoreML#

软件包成功安装后,你就可以加载 Ultralytics YOLO11 模型并将其转换为 CoreML 格式了。

如果你不确定该使用哪个预训练 YOLO11 模型,可以在 Ultralytics Platform 上查看 YOLO11 模型尺寸。每种尺寸在速度、体积和准确性之间都有不同的权衡,你可以为项目挑选最合适的型号。如果你已在自己的数据集上训练了 YOLO11 模型,也可以使用该定制训练模型。

下面的代码片段使用了一个名为 "yolo11n.pt" 的预训练 YOLO11 模型文件。导出过程中,该文件会转换为名为 "yolo11n.mlpackage" 的 CoreML 软件包。

“yolo11n”模型是 nano 版本,针对速度和低资源占用进行了优化。根据项目需求,你也可以选择其他尺寸的模型,例如小型“s”、中型“m”、大型“l”或超大型“x”。每个版本在速度和准确性之间都有不同的权衡。同样的导出步骤也适用于更新的模型,例如 Ultralytics YOLO26。

from ultralytics import YOLO

model = YOLO("yolo11n.pt")
model.export(format="coreml")

第 3 步:使用导出的 CoreML 模型运行推理#

导出为 CoreML 格式后,Ultralytics YOLO11 就能轻松集成到 iOS 应用中,从而在 iPhone、iPad 和 Mac 等设备上执行目标检测等实时计算机视觉任务。

例如,下面的代码片段演示了如何加载导出的 CoreML 模型并执行推理。推理是指使用训练好的模型对新数据进行预测。在这个示例中,模型会分析一张家人一起玩球的图像。

coreml_model = YOLO("yolo11n.mlpackage")
results = coreml_model("https://images.pexels.com/photos/4933841/pexels-photo-4933841.jpeg", save=True)

运行代码后,输出图像会保存在 "runs/detect/predict" 文件夹中。

使用导出的 Ultralytics YOLO11 CoreML 格式模型检测目标

图 2. 使用导出的 Ultralytics YOLO11 CoreML 格式模型检测目标。图片由作者提供。

导出的 CoreML 模型可以在哪里使用?#

将 Ultralytics YOLO11 导出为 CoreML 格式后,你就可以灵活构建各种计算机视觉应用,并让应用在 iPhone、iPad 和 Mac 上高效运行。接下来,我们来看看这种集成在哪些真实场景中特别有用。

由 CoreML 模型驱动的增强现实和游戏应用#

增强现实 (AR)通过在实时摄像头画面上叠加虚拟元素,将数字内容与现实世界融合。它正成为移动游戏的重要组成部分,带来更具互动性和沉浸感的体验。

将 Ultralytics YOLO11 导出为 CoreML 格式后,iOS 开发者可以构建 AR 游戏,通过手机摄像头识别长椅、树木或标志等现实世界中的物体。随后,游戏可以在这些物体上叠加金币、线索或生物等虚拟物品,丰富玩家周围的环境。

在幕后,这一功能依靠目标检测和目标跟踪实现。Ultralytics YOLO11 可以实时检测和识别物体,而跟踪功能则会在摄像头移动时持续追踪这些物体,确保虚拟元素始终与现实世界对齐。

玩家可以举起手机探索周围环境,并与看到的内容互动,从而收集物品或完成快速挑战。所有这些都可以直接在设备上运行,无需互联网连接,让体验流畅而引人入胜。

集成 CoreML 模型、支持实时 ANPR 的 iOS 应用#

自动车牌识别 (ANPR)是一种用于检测和读取车辆牌照的计算机视觉应用,常见于安防、交通监控和门禁系统。借助 CoreML 和 YOLO11 等模型,ANPR 现在可以在 iOS 设备上高效运行。

在注重安全的场景中,iPhone 上的 ANPR 应用尤其有用。例如,它可以帮助团队快速判断进入限制区域的车辆是否经过授权。

此类应用可以通过 CoreML 集成 Ultralytics YOLO11 等视觉 AI 模型,利用设备摄像头实时检测车辆并定位车牌。检测到车牌后,光学字符识别 (OCR) 技术可以读取车牌号码。随后,应用可以将该号码与本地或云端数据库进行比对,以验证通行权限或标记未经授权的车辆。

视觉 AI 用于检测和读取车牌号码

图 3. 视觉 AI 可用于检测和读取车牌号码。(来源)。

面向无障碍的应用可以利用 CoreML 模型#

AI 对无障碍领域产生了巨大影响,帮助消除视障人士面临的障碍。借助 CoreML 和 Ultralytics YOLO11 等计算机视觉模型,开发者可以构建 iOS 应用,实时描述用户周围的世界,让日常任务变得更轻松,并提升用户的独立性。

例如,视障人士可以用 iPhone 摄像头拍摄周围环境。应用会使用目标检测识别车辆、行人或路标等关键元素,并用语音描述看到的内容。这在穿行繁忙街道或了解紧急情况等场景中都能派上用场。

Ultralytics YOLO11 检测到四个人在购物中心手挽手行走,每个人都被人物方框框出

图 4. 使用 Ultralytics YOLO11 检测行人的示例

要点#

将 Ultralytics YOLO11 导出为 CoreML 格式,为实时应用开辟了新机会,包括在 iOS 设备上离线进行目标检测。从游戏和安全到无障碍应用,这种组合让开发者能够构建完全在设备上运行的智能、高效且注重隐私的应用。

只需几个简单步骤,你就能转换 Ultralytics YOLO11 模型,为 iPhone 添加可靠的计算机视觉功能。更重要的是,这些功能无需互联网连接即可运行。总的来说,CoreML 集成将先进 AI 的强大能力带入日常移动应用,让应用运行更快、响应更迅速,并能随处运行。

想进一步了解 AI?浏览我们的 GitHub 代码库,加入我们的社区,并查看我们的许可选项,为你的计算机视觉项目起步。前往我们的解决方案页面,了解零售业中的 AI和物流领域的计算机视觉等创新如何塑造未来。

作者

Abirami Vina
Abirami Vina

内容创作者 · Ultralytics

Abirami Vina 职业生涯始于计算机视觉工程师,由此在视觉 AI 和机器学习领域打下了坚实基础。她是 Ultralytics 的内容创作者,也是 Scribe of AI 的创始人兼首席撰稿人,为专注 AI 的公司撰写高质量技术内容。她热衷于让 AI 更易理解、更具吸引力,通过自己的作品连接前沿技术与现实影响。

评论

提出问题、分享你的结果,或帮助其他人。

探索解决方案

体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

使用 Ultralytics YOLO 将无人机和航空影像转化为农业、水产养殖、保护工作和地理空间分析的实时洞察。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 将计算机视觉应用于航空航天领域,包括飞机检查、跑道 FOD 检测、机场地面作业和复合材料缺陷检测。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情

让我们携手构建 AI 的未来!

开启你的旅程,迎接机器学习的未来