Ultralytics YOLO27:
Ultralytics YOLO

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

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

ABAbirami Vina6 min read
通过 CoreML 将 Ultralytics YOLO11 部署到 Apple 设备

随着 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 神经引擎)快速高效地执行模型。

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

CoreML 支持来自其他热门 AI 框架的模型

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

CoreML 的主要功能#

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

  • 模型优化 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 支持的模型。每个模型在速度、大小和准确率之间都有不同的平衡,你可以选择最适合项目的模型。如果你已经在自己的数据集上训练了 YOLO11 模型,也可以使用自定义训练的 YOLO11 模型。

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

"yolo11n" 模型是 nano 版本,针对速度和低资源占用进行了优化。根据项目需求,你也可以选择其他模型尺寸,例如小型 "s"、中型 "m"、大型 "l" 或超大型 "x"。每个版本在性能和准确率之间都有不同的平衡。

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 开发者可以构建增强现实游戏,使用手机摄像头识别长椅、树木或标志等现实世界中的对象。随后,游戏可以在这些对象上叠加硬币、线索或生物等虚拟物品,从而丰富玩家周围的环境。

在幕后,这一功能依靠对象检测和对象跟踪实现。Ultralytics YOLO11 实时检测并识别对象,而跟踪功能会在摄像头移动时持续捕捉这些对象,确保虚拟元素与现实世界保持对齐。

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

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

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

在注重安全的环境中,iPhone 上安装 ANPR 应用尤其有用。例如,它可以帮助团队快速确定进入受限区域的车辆是否已获授权。

此类应用可以使用 Ultralytics YOLO11 等视觉 AI 模型,通过 CoreML 集成,利用设备摄像头实时检测车辆并定位其车牌。检测到车牌后,光学字符识别 (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物流中的计算机视觉 等创新如何塑造未来。

Explore solutions

用于航拍影像的计算机视觉

用于航拍影像的计算机视觉

使用 Ultralytics YOLO 将无人机和航拍影像转化为针对农业、水产养殖、环境监测、自然保护及地理空间分析的实时洞察。
了解更多
航空航天中的计算机视觉

航空航天中的计算机视觉

借助 Ultralytics YOLO 模型将视觉 AI 引入空中监测。使用计算机视觉解决方案赋能无人机、航空航天工作流、环境保护与地理空间行业。
了解更多

使用 Ultralytics YOLO 模型保护每个站点。视觉 AI 赋能周界监控、威胁检测、车牌识别和工作场所安全。
了解更多
机器人计算机视觉

机器人计算机视觉

借助 Ultralytics YOLO 模型打造更智能的机器。机器人技术中的视觉 AI 可实现自主导航、感知、目标跟踪和实时控制。
了解更多
物流计算机视觉

物流计算机视觉

使用 Ultralytics YOLO 模型提升物流效率。视觉 AI 可实现包裹检测、分拣、车辆跟踪和仓库安全实时监控。
了解更多
零售计算机视觉

零售计算机视觉

使用 Ultralytics YOLO 模型重新构想零售。视觉 AI 为库存跟踪、货架监控、队列管理和更智能的客户洞察提供支持。
了解更多
医疗领域的计算机视觉

医疗领域的计算机视觉

使用 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可实现更快的医学影像处理、更智能的诊断和患者监护。
了解更多
制造业中的计算机视觉

制造业中的计算机视觉

使用 Ultralytics YOLO 模型优化制造业。视觉 AI 可推动质量控制、缺陷检测、PPE 合规和装配线自动化。
了解更多
汽车行业中的计算机视觉

汽车行业中的计算机视觉

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

农业中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 带入智能农业。为作物监测、牲畜追踪和精准农业提供支持,提升产量与智能化水平。
了解更多
用于航拍影像的计算机视觉

用于航拍影像的计算机视觉

使用 Ultralytics YOLO 将无人机和航拍影像转化为针对农业、水产养殖、环境监测、自然保护及地理空间分析的实时洞察。
了解更多
航空航天中的计算机视觉

航空航天中的计算机视觉

借助 Ultralytics YOLO 模型将视觉 AI 引入空中监测。使用计算机视觉解决方案赋能无人机、航空航天工作流、环境保护与地理空间行业。
了解更多

使用 Ultralytics YOLO 模型保护每个站点。视觉 AI 赋能周界监控、威胁检测、车牌识别和工作场所安全。
了解更多
机器人计算机视觉

机器人计算机视觉

借助 Ultralytics YOLO 模型打造更智能的机器。机器人技术中的视觉 AI 可实现自主导航、感知、目标跟踪和实时控制。
了解更多
物流计算机视觉

物流计算机视觉

使用 Ultralytics YOLO 模型提升物流效率。视觉 AI 可实现包裹检测、分拣、车辆跟踪和仓库安全实时监控。
了解更多
零售计算机视觉

零售计算机视觉

使用 Ultralytics YOLO 模型重新构想零售。视觉 AI 为库存跟踪、货架监控、队列管理和更智能的客户洞察提供支持。
了解更多
医疗领域的计算机视觉

医疗领域的计算机视觉

使用 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可实现更快的医学影像处理、更智能的诊断和患者监护。
了解更多
制造业中的计算机视觉

制造业中的计算机视觉

使用 Ultralytics YOLO 模型优化制造业。视觉 AI 可推动质量控制、缺陷检测、PPE 合规和装配线自动化。
了解更多
汽车行业中的计算机视觉

汽车行业中的计算机视觉

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

农业中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 带入智能农业。为作物监测、牲畜追踪和精准农业提供支持,提升产量与智能化水平。
了解更多
用于航拍影像的计算机视觉

用于航拍影像的计算机视觉

使用 Ultralytics YOLO 将无人机和航拍影像转化为针对农业、水产养殖、环境监测、自然保护及地理空间分析的实时洞察。
了解更多
航空航天中的计算机视觉

航空航天中的计算机视觉

借助 Ultralytics YOLO 模型将视觉 AI 引入空中监测。使用计算机视觉解决方案赋能无人机、航空航天工作流、环境保护与地理空间行业。
了解更多

使用 Ultralytics YOLO 模型保护每个站点。视觉 AI 赋能周界监控、威胁检测、车牌识别和工作场所安全。
了解更多
机器人计算机视觉

机器人计算机视觉

借助 Ultralytics YOLO 模型打造更智能的机器。机器人技术中的视觉 AI 可实现自主导航、感知、目标跟踪和实时控制。
了解更多
物流计算机视觉

物流计算机视觉

使用 Ultralytics YOLO 模型提升物流效率。视觉 AI 可实现包裹检测、分拣、车辆跟踪和仓库安全实时监控。
了解更多
零售计算机视觉

零售计算机视觉

使用 Ultralytics YOLO 模型重新构想零售。视觉 AI 为库存跟踪、货架监控、队列管理和更智能的客户洞察提供支持。
了解更多
医疗领域的计算机视觉

医疗领域的计算机视觉

使用 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可实现更快的医学影像处理、更智能的诊断和患者监护。
了解更多
制造业中的计算机视觉

制造业中的计算机视觉

使用 Ultralytics YOLO 模型优化制造业。视觉 AI 可推动质量控制、缺陷检测、PPE 合规和装配线自动化。
了解更多
汽车行业中的计算机视觉

汽车行业中的计算机视觉

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

农业中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 带入智能农业。为作物监测、牲畜追踪和精准农业提供支持,提升产量与智能化水平。
了解更多

让我们共同构建 AI 的未来!

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