Внедрение Ultralytics YOLO11 на устройства Apple через CoreML
Посмотри, как легко внедрить Ultralytics YOLO11 на устройства Apple с помощью CoreML и реализовать быстрые офлайн-задачи компьютерного зрения для iOS-приложений в реальном времени.

С внедрением Apple таких функций, как Apple Intelligence, становится очевидно, что локальный ИИ становится центральной частью того, как мы используем телефоны. Для разработчиков этот сдвиг означает, что пользователи всё чаще выбирают iOS-приложения, использующие такие возможности, как компьютерное зрение, для создания более умного и отзывчивого пользовательского опыта.
Компьютерное зрение — это область искусственного интеллекта (ИИ), позволяющая компьютерам понимать и анализировать визуальную информацию, например изображения или видео. На мобильных устройствах оно может использоваться в реальном времени для обнаружения, классификации объектов и взаимодействия с ними через камеру телефона. Модели Vision AI, такие как Ultralytics YOLO11, можно дообучить для распознавания конкретных объектов в зависимости от нужд твоего приложения.
Однако YOLO11 не предназначен для работы на iOS «из коробки». Чтобы развернуть YOLO11 на iPhone или других устройствах Apple, особенно для работы в офлайн-режиме, его необходимо конвертировать в формат, оптимизированный для экосистемы Apple.
Это именно та задача, для решения которой был создан CoreML. CoreML — это фреймворк машинного обучения от Apple, разработанный для локального запуска моделей и бесшовной интеграции в приложения для iOS и macOS. Интеграция с CoreML, поддерживаемая Ultralytics, позволяет легко экспортировать модель для локального развертывания на iPhone.
В этой статье мы подробно рассмотрим, как экспортировать модель YOLO11 в формат CoreML. Мы также изучим варианты использования в реальном времени, демонстрирующие преимущества запуска моделей компьютерного зрения непосредственно на устройствах iOS. Давай начнем!
Link to this sectionЧто такое CoreML?#
CoreML — это фреймворк машинного обучения (ML), разработанный Apple, который позволяет разработчикам интегрировать обученные ML-модели непосредственно в приложения экосистемы Apple, включая iOS (iPhone и iPad), macOS (Mac), watchOS (Apple Watch) и tvOS (Apple TV). Он создан для того, чтобы сделать машинное обучение доступным и эффективным на устройствах Apple, позволяя моделям работать локально без необходимости интернет-соединения.
В основе CoreML лежит унифицированный формат моделей, поддерживающий широкий спектр задач ИИ, таких как классификация изображений, обнаружение объектов, распознавание речи и обработка естественного языка. Фреймворк оптимизирован для максимально эффективного использования оборудования Apple, задействуя CPU (центральный процессор), GPU (графический процессор) и ANE (Apple Neural Engine) для быстрого и эффективного выполнения моделей.
CoreML поддерживает различные типы моделей и совместим с популярными библиотеками машинного обучения, включая TensorFlow, PyTorch, scikit-learn, XGBoost и LibSVM. Это упрощает разработчикам внедрение передовых возможностей ИИ в повседневные приложения, обеспечивая при этом их плавную работу на устройствах Apple.

Рис 1. CoreML поддерживает модели из других популярных ИИ-фреймворков (Источник).
Link to this sectionКлючевые особенности CoreML#
Вот несколько ключевых особенностей, которые делают CoreML надежным инструментом для интеграции ИИ в приложения для Apple:
- Оптимизация моделей: CoreML поддерживает методы сжатия, такие как квантование и прунинг, чтобы уменьшить размер модели и повысить эффективность времени выполнения.
- Персонализация на устройстве: ML-фреймворк от Apple поддерживает локальную персонализацию, позволяя обучать и обновлять модели прямо на устройстве на основе взаимодействия с пользователем.
- Асинхронные предсказания: Этот фреймворк позволяет твоему приложению выполнять предсказания в фоновом режиме, сохраняя плавность интерфейса при обработке задач ИИ.
- Многозадачное обучение: CoreML поддерживает модели, способные выполнять несколько задач одновременно, например, обнаруживать объекты и распознавать текст на одном изображении.
Link to this sectionКак экспортировать YOLO11 в формат CoreML#
Теперь, когда у тебя есть лучшее понимание фреймворка CoreML, давай разберем, как использовать интеграцию CoreML, поддерживаемую Ultralytics, для экспорта модели YOLO11 в формат CoreML.
Link to this sectionШаг 1: Настройка среды#
Для доступа к функциям интеграции, предоставляемым Ultralytics, начни с установки пакета Ultralytics для Python. Это легкая и простая в использовании библиотека, которая упрощает выполнение таких задач, как обучение, оценка, предсказание и экспорт моделей Ultralytics YOLO.
Ты можешь установить пакет Ultralytics для Python, выполнив команду «pip install ultralytics» в терминале. Если ты используешь среду вроде Jupyter Notebook или Google Colab, добавь восклицательный знак (!) перед командой: «!pip install ultralytics».
Если во время установки или экспорта в CoreML у тебя возникнут проблемы, загляни в официальную документацию Ultralytics или в руководство по распространенным проблемам.
Link to this sectionШаг 2: Экспорт YOLO11 в CoreML#
Как только пакет успешно установлен, ты готов к загрузке модели YOLO11 и её конвертации в формат CoreML.
Если ты не уверен, какую предобученную модель YOLO11 использовать, изучи ассортимент поддерживаемых моделей, предлагаемых Ultralytics. Каждая из них предлагает разный баланс скорости, размера и точности, и ты можешь выбрать ту, которая лучше всего подходит для твоего проекта. Ты также можешь использовать свою собственную модель YOLO11, если уже обучил её на своем наборе данных.
В приведенном ниже фрагменте кода используется предобученная модель YOLO11 с именем "yolo11n.pt". В процессе экспорта она конвертируется в пакет CoreML под названием "yolo11n.mlpackage."
Модель "yolo11n" — это нано-версия, оптимизированная для скорости и низкого потребления ресурсов. В зависимости от нужд проекта ты можешь выбрать другие размеры моделей, такие как "s" для маленьких, "m" для средних, "l" для больших или "x" для сверхбольших. Каждая версия предлагает свой баланс производительности и точности.
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.export(format="coreml")Link to this sectionШаг 3: Запуск инференса с использованием экспортированной модели CoreML#
После экспорта в формат CoreML, 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".

Рис 2. Использование экспортированной модели YOLO11 в формате CoreML для обнаружения объектов. Изображение от автора.
Link to this sectionГде можно использовать экспортированные модели CoreML?#
Экспорт YOLO11 в CoreML дает гибкость для создания разнообразных приложений компьютерного зрения, которые эффективно работают на iPhone, iPad и Mac. Далее давай рассмотрим несколько реальных сценариев, где эта интеграция может быть особенно полезна.
Link to this sectionПриложения дополненной реальности и игры на основе моделей CoreML#
Дополненная реальность (AR) объединяет цифровой контент с реальным миром путем наложения виртуальных элементов на изображение с камеры. Она становится важной частью мобильных игр, создавая более интерактивный и глубокий пользовательский опыт.
Благодаря YOLO11, экспортированному в формат CoreML, iOS-разработчики могут создавать AR-игры, которые распознают реальные объекты, такие как скамейки, деревья или вывески, используя камеру телефона. Затем игра может накладывать на эти объекты виртуальные предметы — монеты, подсказки или существ — для дополнения окружения игрока.
За кулисами это работает за счет обнаружения и трекинга объектов. YOLO11 обнаруживает и идентифицирует объекты в реальном времени, а трекинг удерживает их в поле зрения при движении камеры, гарантируя, что виртуальные элементы остаются выровненными с реальным миром.
Игроки могут направлять свои телефоны, исследовать окружение и взаимодействовать с тем, что видят, чтобы собирать предметы или выполнять быстрые задания. Всё это может работать непосредственно на устройстве без необходимости в интернет-соединении, делая процесс плавным и увлекательным.
Link to this sectioniOS-приложения с интеграцией моделей CoreML для ANPR в реальном времени#
Автоматическое распознавание номерных знаков (ANPR) — это приложение компьютерного зрения, используемое для обнаружения и чтения автомобильных номеров. Оно часто применяется в системах безопасности, мониторинга дорожного движения и контроля доступа. С CoreML и моделями типа YOLO11, ANPR теперь может эффективно работать на устройствах iOS.
Наличие ANPR-приложения на iPhone может быть особенно полезно в средах, где важна безопасность. Например, это поможет командам быстро определить, является ли автомобиль, въезжающий на охраняемую территорию, авторизованным.
Такое приложение может использовать модель Vision AI, например YOLO11, интегрированную через CoreML, для обнаружения транспортных средств и поиска их номерных знаков в реальном времени через камеру устройства. После обнаружения номера технология оптического распознавания символов (OCR) может считать номерной знак. Затем приложение может сравнить этот номер с локальной или облачной базой данных для проверки доступа или пометки неавторизованных автомобилей.

Рис 3. Vision AI можно использовать для обнаружения и чтения номеров транспортных средств. (Источник).
Link to this sectionПриложения для людей с ограниченными возможностями могут использовать модели CoreML#
ИИ оказал огромное влияние на доступность, помогая преодолевать барьеры для людей с нарушениями зрения. С помощью таких инструментов, как CoreML и модели компьютерного зрения, такие как YOLO11, разработчики могут создавать iOS-приложения, которые описывают мир вокруг пользователей в реальном времени, делая повседневные задачи проще и способствуя большей независимости.
Например, человек с нарушениями зрения может навести камеру своего iPhone на окружающую обстановку. Приложение использует обнаружение объектов, чтобы распознать ключевые элементы, такие как транспортные средства, люди или дорожные знаки, и озвучивает увиденное. Это можно использовать в ситуациях вроде навигации по оживленной улице или ориентирования в экстренном случае.

Рис 4. Пример использования YOLO11 для обнаружения людей
Link to this sectionОсновные выводы#
Экспорт YOLO11 в формат CoreML открывает новые возможности для приложений реального времени, включая офлайн-обнаружение объектов на устройствах iOS. От сельского хозяйства и безопасности до обеспечения доступности — эта комбинация позволяет разработчикам создавать умные, эффективные и конфиденциальные приложения, работающие полностью на самом устройстве.
Всего за несколько простых шагов ты можешь конвертировать свою модель YOLO11 и добавить надежные функции компьютерного зрения на iPhone. Самое приятное то, что всё это работает без необходимости в интернет-соединении. В целом, интеграция CoreML дает возможность использовать мощь продвинутого ИИ в повседневных мобильных приложениях, делая их быстрее, отзывчивее и готовыми к работе где угодно.
Хочешь узнать больше об ИИ? Изучи наш репозиторий на GitHub, присоединяйся к нашему сообществу и ознакомься с нашими вариантами лицензирования, чтобы ускорить старт твоего проекта по компьютерному зрению. Узнай, как инновации, такие как ИИ в розничной торговле и компьютерное зрение в логистике, формируют будущее, на наших страницах решений.






