Meet YOLO26: next-gen vision AI.

Link to this sectionЭкспорт CoreML для моделей YOLO26#

Apple устанавливает специализированные AI-чипы — Neural Engine — во все современные iPhone, iPad и Mac, а CoreML — это единственный способ их программирования. Экспорт моделей Ultralytics YOLO26 в CoreML превращает обученную контрольную точку .pt в нативный .mlpackage, который выполняет все шесть задач YOLO на устройстве за миллисекунды, без необходимости подключения к сети и передачи данных за пределы устройства.

Запускай YOLO на Apple Neural Engine уже сегодня с помощью официальных мобильных приложений

Официальный iOS SDK Ultralytics YOLO и плагин Flutter запускают экспорт CoreML на Apple Neural Engine «из коробки» — поддерживаются инференс камеры в реальном времени, предсказание по одному изображению и автоматическая загрузка моделей для всех шести задач YOLO26. Для развертывания на NPU Android ознакомься с интеграцией Qualcomm QNN.



Watch: How to Export Ultralytics YOLO26 to CoreML for 2x Fast Inference on Apple Devices 🚀

Link to this sectionЧто такое CoreML?#

Apple CoreML deployment pipeline

CoreML (в стиле Apple «Core ML») — это фреймворк Apple для машинного обучения на устройстве. Он загружает модели в современном формате ML Program — это пакет .mlpackage, который создает экспортер Ultralytics, — и распределяет их между CPU, GPU и Apple Neural Engine (ANE), специализированным NPU в каждом чипе Apple Silicon. Поскольку все выполняется локально, инференс работает офлайн, не добавляет задержек сети и сохраняет пользовательские данные на устройстве.

CoreML напрямую интегрируется с фреймворком Vision от Apple, который управляет масштабированием и ориентацией изображений перед их подачей в модель — именно так iOS SDK Ultralytics передает кадры с камеры в YOLO практически с нулевыми затратами на предобработку.

Link to this sectionЗачем экспортировать YOLO26 в CoreML?#

  • Скорость Neural Engine: детекция YOLO26n выполняется от начала до конца за 3.8 мс на iPhone 17 Pro для отдельных изображений и ~16 мс/кадр при непрерывном использовании камеры в реальном времени (см. таблицу и примечания ниже) — это комфортный режим реального времени с запасом производительности для работы твоего приложения.
  • Без NMS по архитектуре: YOLO26 является end-to-end решением, поэтому для экспортированного графа не требуется конвейер NMS, а декодирование занимает менее миллисекунды. Более старые модели, такие как YOLO11, могут включать конвейер CoreML NMS с помощью nms=True.
  • Приватно и офлайн: все вычисления остаются на устройстве — никаких обращений к облаку, никаких API-ключей, полная конфиденциальность данных.
  • Один экспорт — вся экосистема: один и тот же файл .mlpackage работает на iOS, iPadOS, macOS, watchOS, tvOS и visionOS, а также поддерживает официальный iOS SDK и плагин Flutter от Ultralytics.

Link to this sectionИзмеренная производительность#

Инференс от начала до конца для одного изображения для официальных моделей YOLO26n INT8 CoreML на iPhone 17 Pro (Apple A19, iOS 26.5). Каждая ячейка показывает общее время (предобработка + инференс + постобработка, исключая аннотирование) с разбивкой по этапам ниже. В iOS Vision выполняет масштабирование входных данных внутри запроса на инференс, поэтому предобработка указана как 0, а ее стоимость включена в инференс.

МодельЗадачаразмер
(пиксели)
CPU
.cpuOnly
(мс)
Neural Engine
.cpuAndNeuralEngine
(мс)
YOLO26nОбнаружение6409.1
0.0 / 9.1 / 0.0
3.8
0.0 / 3.8 / 0.0
YOLO26n-segСегментация64012.3
0.0 / 12.1 / 0.2
4.8
0.0 / 4.5 / 0.3
YOLO26n-semСемантика1024121.8
0.0 / 21.0 / 0.8
12.1
0.0 / 11.3 / 0.8
YOLO26n-clsКлассификация2242.2
0.0 / 2.2 / 0.0
2.0
0.0 / 2.0 / 0.0
YOLO26n-poseПоза64012.0
0.0 / 11.9 / 0.0
3.8
0.0 / 3.8 / 0.0
YOLO26n-obbOBB102421.7
0.0 / 21.7 / 0.0
7.2
0.0 / 7.2 / 0.0
  • 1 Экспорт семантического CoreML встраивает ArgMax в граф и возвращает компактную карту классов в полном разрешении ([1, 1024, 1024]) вместо float-логитов, поэтому постобработка представляет собой цветовое сканирование длительностью менее миллисекунды, а маски отображаются с высокой четкостью пикселей.
  • Значения скорости — это задержка при обработке одного изображения — среднее арифметическое 15 запусков после 3 прогревочных прогонов на bus.jpg, измеренное с помощью пошагового тайминга iOS SDK через инструмент тестирования Flutter plugin в режиме профилирования (оптимизированный нативный код). Постоянная работа камеры в реальном времени занимает больше времени (добавление рамок к каждому кадру и температурная стабилизация): YOLO26n detect измеряется примерно в 16 мс/кадр в приложении живой камеры на том же устройстве — см. документацию по производительности iOS SDK для профилирования в установившемся режиме.
  • Соответствующая таблица для CPU/GPU/NPU Snapdragon находится в разделе интеграции Qualcomm QNN.

Link to this sectionЭкспорт моделей YOLO26 в CoreML#

Link to this sectionУстановка#

Чтобы установить необходимый пакет, выполни:

Установка
# Install the required package for YOLO26
pip install ultralytics

Конвертер coremltools устанавливается автоматически при первом экспорте. Экспорт работает на macOS или x86 Linux; подробные инструкции и лучшие практики смотри в нашем руководстве по установке и руководстве по распространенным проблемам.

Link to this sectionИспользование#

Формат CoreML поддерживает режимы Экспорт, Предсказание и Валидация. Инференс и валидация с CoreML работают только на macOS. Экспортируй свою модель, а затем загрузи ее для выполнения инференса или проверки точности.

Экспорт
from ultralytics import YOLO

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

# Export to CoreML (FP16 by default); int8=True matches the official app models
model.export(format="coreml", int8=True)  # creates 'yolo26n.mlpackage'
Предсказание
from ultralytics import YOLO

# Load the exported CoreML model (macOS)
model = YOLO("yolo26n.mlpackage")

# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
Валидация
from ultralytics import YOLO

# Load the exported CoreML model (macOS)
model = YOLO("yolo26n.mlpackage")

# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")

Link to this sectionАргументы экспорта#

АргументТипПо умолчаниюОписание
formatstr'coreml'Целевой формат для экспортированной модели, определяющий совместимость с различными средами развертывания.
imgszint или tuple640Желаемый размер изображения для входных данных модели. Может быть целым числом для квадратных изображений или кортежем (height, width) для конкретных размеров.
halfboolFalseВключает квантование весов FP16, уменьшая размер модели вдвое с незначительным влиянием на точность — это хороший выбор по умолчанию для Neural Engine.
int8boolFalseВключает квантование весов INT8 для самых маленьких моделей; официальные модели приложений Ultralytics поставляются в формате INT8.
nmsboolFalseВстраивает конвейер CoreML NMS. Не требуется для YOLO26, работающей без NMS; используй для более ранних моделей, таких как YOLO11.
dynamicboolFalseПозволяет использовать динамические размеры входных данных, повышая гибкость при обработке изображений с различными размерами.
batchint1Задает размер пакета (batch) для вывода экспортированной модели или максимальное количество изображений, которые модель будет обрабатывать одновременно в режиме predict.
devicestrNoneУказывает устройство для экспорта: GPU (device=0), CPU (device=cpu), MPS для Apple silicon (device=mps).

Для получения дополнительной информации о процессе экспорта посети страницу документации Ultralytics по экспорту.

Link to this sectionНацеливание на Neural Engine#

CoreML выбирает оборудование через MLModelConfiguration.computeUnits. iOS SDK Ultralytics по умолчанию использует .cpuAndNeuralEngine на iOS 16+ вместо .all: в приложении камеры в реальном времени GPU уже занят композитингом превью и оверлеев, поэтому исключение его из работы позволяет избежать конфликтов и джиттера времени кадра, пока ANE выполняет основную работу. Выбирай .cpuOnly только для проверки совместимости — таблица выше показывает, сколько это стоит.

Link to this sectionРазвертывание экспортированных моделей YOLO26 CoreML#

Самый быстрый путь — это официальный iOS SDK Ultralytics YOLO, тот же пакет Swift, на котором работают приложение Ultralytics для iOS и плагин Flutter. Он автоматически распознает имена официальных моделей, загружает и кэширует .mlpackage и возвращает полностью декодированные результаты:

import UltralyticsYOLO

// Loads the official INT8 model (downloaded and cached on first use), then runs inference
let yolo = YOLO("yolo26n", task: .detect) { result in
    if case .success(let model) = result {
        let results = model(uiImage)  // boxes, labels, confidences, timing
    }
}

Для приложений с камерой используй готовый YOLOView из SDK для инференса в реальном времени с нативными оверлеями или используй плагин Flutter для кроссплатформенных приложений, использующих одну кодовую базу с Android.

Интегрировать «сырой» файл .mlpackage самостоятельно также несложно с помощью стека Apple — загрузи его через MLModel, оберни в VNCoreMLRequest и передавай изображения через VNImageRequestHandler. Эти ресурсы охватывают детали:

Поставляй модель либо встроенной в бандл приложения (мгновенная доступность, идеально для моделей nano/small), либо загружаемой при первом запуске и кэшируемой (меньший размер бинарного файла, легкие обновления модели) — официальные приложения используют второй подход с релизными ассетами GitHub.

Link to this sectionРекомендуемый рабочий процесс#

  1. Обучай свою модель с помощью режима обучения Ultralytics или начни с официальных весов YOLO26
  2. Экспортируй с помощью model.export(format="coreml", int8=True) на macOS или x86 Linux
  3. Проверяй точность с помощью model.val() на Mac и профилируй с помощью отчета о производительности Xcode Core ML на целевом устройстве
  4. Развертывай с помощью iOS SDK, плагина Flutter или собственной интеграции Vision, нацеливаясь на .cpuAndNeuralEngine

Link to this sectionРезюме#

В этом руководстве ты узнал, как экспортировать модели Ultralytics YOLO26 в формат .mlpackage для CoreML, квантовать их для Apple Neural Engine и развертывать с задержками в считанные миллисекунды — через официальный iOS SDK и плагин Flutter или через собственную интеграцию Vision. Для других целей развертывания просмотри страницу руководства по интеграции и сравни форматы с режимом Benchmark.

Link to this sectionFAQ#

Link to this sectionКак экспортировать модели YOLO26 в формат CoreML?#

Запусти model.export(format="coreml") в Python или yolo export model=yolo26n.pt format=coreml из CLI на macOS или x86 Linux. Добавь int8=True, чтобы соответствовать официальным моделям приложений. Экспорт создает программу yolo26n.mlpackage, готовую для Xcode, iOS SDK или плагина Flutter.

Link to this sectionНужно ли мне nms=True при экспорте YOLO26?#

Нет. YOLO26 работает без NMS от начала до конца, поэтому экспортированный граф уже выдает финальные детекции, а затраты на декодирование составляют гораздо меньше миллисекунды. Опция nms=True существует для более ранних моделей, таких как YOLO11, где она встраивает конвейер CoreML NMS, чтобы твоему приложению не пришлось реализовывать подавление.

Link to this sectionКакую точность использовать — FP16 или INT8?#

Официальные модели приложений Ultralytics поставляются в INT8, что минимизирует размер загрузки и обеспечивает скорость, указанную в таблице выше. half=True (FP16) — это консервативная альтернатива практически без потери точности. Проверь свой точный экспорт с помощью model.val() на Mac перед поставкой.

Link to this sectionКак убедиться, что инференс выполняется на Neural Engine?#

Установи MLModelConfiguration.computeUnits = .cpuAndNeuralEngine (по умолчанию в iOS SDK на iOS 16+). Избегай .all в приложениях с камерой — GPU занят композитингом превью, и планирование инференса там вызывает джиттер времени кадра. Подтверди размещение с помощью отчета о производительности Xcode Core ML.

Link to this sectionМогу ли я запускать и проверять модели CoreML с помощью Ultralytics CLI?#

Да, на macOS: yolo predict model=yolo26n.mlpackage source=image.jpg и yolo val model=yolo26n.mlpackage data=coco8.yaml работают так же, как и с любым другим форматом. Выполнение CoreML требует оборудования Apple, поэтому эти режимы недоступны на Linux и Windows.

Link to this sectionКакой самый быстрый способ запустить YOLO26 в приложении iOS или Flutter?#

Используй официальный iOS SDK Ultralytics YOLO (Swift Package) или плагин Flutter. Оба варианта загружают официальные модели по имени с автоматической загрузкой и кэшированием, запускают их на Neural Engine и включают полноценные пользовательские интерфейсы камеры в реальном времени — таблица измеренной производительности выше была создана именно с этим стеком.

Комментарии