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

С появлением Apple таких функций, как Apple Intelligence, очевидно, что ИИ на устройстве становится важной частью того, как мы пользуемся телефонами. Для разработчиков этот сдвиг означает, что пользователи выбирают приложения для iOS, использующие такие возможности, как компьютерное зрение, чтобы получать более интеллектуальный и отзывчивый пользовательский опыт.
Компьютерное зрение — это разновидность искусственного интеллекта (AI), которая позволяет компьютерам понимать и анализировать визуальную информацию, например изображения или видео. На мобильных устройствах его можно использовать в реальном времени для обнаружения объектов, их классификации и взаимодействия с ними через камеру телефона. Модели Vision AI, такие как Ultralytics YOLO11, можно дообучать для распознавания определённых объектов в зависимости от задач твоего приложения.
Однако Ultralytics YOLO11 не готов к запуску на iOS сразу после установки. Чтобы развернуть YOLO11 на iPhone или других устройствах Apple, особенно для работы в автономном режиме, его необходимо преобразовать в формат, оптимизированный для экосистемы Apple.
Именно такую задачу призван решать CoreML. CoreML — это разработанный Apple фреймворк машинного обучения, предназначенный для локального запуска моделей и бесшовной интеграции с приложениями для iOS и macOS. Интеграция с CoreML, поддерживаемая Ultralytics, упрощает экспорт модели для локального развертывания на iPhone.
В этой статье мы подробнее рассмотрим, как экспортировать модель Ultralytics YOLO11 в формат CoreML. Мы также изучим варианты использования в реальном времени, демонстрирующие преимущества запуска моделей компьютерного зрения непосредственно на устройствах iOS. Начнём!
Что такое CoreML?#
CoreML — это разработанный Apple фреймворк машинного обучения (ML), который позволяет разработчикам встраивать обученные модели 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. Это упрощает добавление расширенных возможностей ML в повседневные приложения и обеспечивает их стабильную работу на устройствах Apple.

Рис. 1. CoreML поддерживает модели из других популярных фреймворков ИИ (источник).
Ключевые возможности CoreML#
Ниже перечислены некоторые ключевые возможности, которые делают CoreML надёжным инструментом для интеграции ИИ в приложения Apple:
- Оптимизация моделей: CoreML поддерживает такие методы сжатия, как квантование и прореживание, чтобы уменьшить размер модели и повысить эффективность её выполнения.
- Персонализация на устройстве: ML-фреймворк Apple поддерживает персонализацию на устройстве, позволяя обучать и обновлять модели локально на основе взаимодействий пользователя.
- Асинхронные предсказания: этот фреймворк позволяет приложению выполнять предсказания в фоновом режиме, сохраняя плавность и отзывчивость интерфейса во время обработки задач ИИ.
- Многозадачное обучение: CoreML поддерживает модели, способные одновременно выполнять несколько задач, например обнаруживать объекты и распознавать текст на одном изображении.
Как экспортировать Ultralytics YOLO11 в формат CoreML#
Теперь, когда мы лучше понимаем фреймворк CoreML, давай разберёмся, как использовать интеграцию с CoreML, поддерживаемую Ultralytics, для экспорта модели YOLO11 в формат CoreML.
Шаг 1. Настройка окружения#
Чтобы получить доступ к возможностям интеграции, предоставляемым Ultralytics, сначала установи пакет Ultralytics для Python. Это лёгкая и простая в использовании библиотека, которая упрощает такие задачи, как обучение, оценка, предсказание и экспорт моделей Ultralytics YOLO.
Установить пакет Ultralytics для Python можно, выполнив в терминале команду “pip install ultralytics”. Если ты используешь такую среду, как Jupyter Notebook или Google Colab, добавь восклицательный знак (!) перед командой: “!pip install ultralytics”.
Если во время установки или экспорта в CoreML возникнут проблемы, обратись к официальной документации Ultralytics или к руководству Распространённые проблемы.
Шаг 2. Экспорт Ultralytics YOLO11 в CoreML#
После успешной установки пакета можно загрузить модель Ultralytics YOLO11 и преобразовать её в формат CoreML.
Если ты не уверен, какую предварительно обученную модель YOLO11 выбрать, изучи поддерживаемые модели Ultralytics. Каждая из них обеспечивает свой баланс скорости, размера и точности, поэтому ты сможешь выбрать наиболее подходящий вариант для своего проекта. Также можно использовать модель YOLO11, обученную на собственном наборе данных.
В приведённом ниже фрагменте кода используется файл предварительно обученной модели YOLO11 с именем "yolo11n.pt". В процессе экспорта он преобразуется в пакет CoreML под названием "yolo11n.mlpackage."
Модель "yolo11n" — это nano-версия, оптимизированная для высокой скорости и низкого потребления ресурсов. В зависимости от задач проекта можно также выбрать другие размеры моделей: "s" — small, "m" — medium, "l" — large или "x" — extra-large. Каждая версия обеспечивает свой баланс производительности и точности.
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".

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

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

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









