Ultralytics YOLO27: Запишись в список ожидания.
Начать

Ultralytics YOLO27

YOLO27 скоро появится

Модели YOLO27 проходят заключительные этапы исследований и разработок (R&D); их запуск ожидается позднее в этом году. Модели пока недоступны, и дата запуска не назначена. На этой странице представлен обзор будущих моделей; функции и результаты тестов могут измениться до выпуска. Примеры кода ниже предназначены для использования после выпуска моделей и поддержки в пакете и не будут работать с текущей общедоступной версией пакета. На данный момент веса моделей, конфигурации и код реализации не выпускаются. Вступи в лист ожидания YOLO27, чтобы первым узнать о запуске.

Обзор#

Ultralytics YOLO27 — это семейство моделей компьютерного зрения реального времени. В моделях обнаружения используются две дополняющие друг друга архитектуры: упрощённая архитектура CNN для компактных моделей N и S и архитектура без NMS на основе запросов для более крупных моделей M и L. Обе архитектуры развёртываются через один интерфейс. По умолчанию в моделях обнаружения N и S используется голова «один ко многим» с NMS; чтобы выбрать голову без NMS, используй nms=False.

YOLO27 — новое семейство моделей в линейке Ultralytics YOLO, следующее за YOLO26. Семейство включает четыре размера — N, S, M и L — и поддерживает обнаружение объектов, сегментацию экземпляров, семантическую сегментацию, оценку глубины, классификацию, оценку позы и обнаружение объектов с ориентированными рамками. Разделение на две архитектуры применяется для обнаружения объектов, сегментации экземпляров и оценки позы. Для семантической сегментации, оценки глубины, классификации и обнаружения объектов с ориентированными рамками используется архитектура CNN.

На четырёх масштабах детекции YOLO27 достигает 42.6-60.5 mAP на COCO при задержке 0.44-1.86 мс на NVIDIA RTX PRO 6000 — а YOLO27l показывает до 61.4 mAP при большем размере входного изображения — 800 пикселей. YOLO27l — первая модель Ultralytics, преодолевшая отметку 60 mAP на COCO, а компактные YOLO27n/s повышают точность относительно YOLO26n/s практически при той же скорости.

Быстрый старт (после выпуска)
from ultralytics import YOLO

model = YOLO("yolo27n.pt")  # загрузить предварительно обученную модель YOLO27n
results = model("path/to/bus.jpg")  # выполнить инференс

Основные особенности#

  • Обнаружение на двух масштабах Стандартные детекторы предсказывают объекты на трёх картах признаков — мелкого, среднего и крупного масштаба. В YOLO27 N и S средняя карта исключена: предсказания выполняются только по карте мелкого масштаба (для небольших объектов) и крупного масштаба (для больших объектов). Фиксированное масштабирование объединённых признаков поддерживает баланс между двумя масштабами. Это значительно сокращает вычисления в голове обнаружения и ускоряет модели, сохраняя надёжность обучения, как и в полной архитектуре с тремя масштабами.

  • Улучшенное обнаружение мелких объектов Ранняя высокодетализированная стадия признаков расширена, чтобы модель могла улавливать больше тонких деталей. В сочетании с сохранившейся картой предсказаний высокого разрешения это улучшает локализацию и регрессию для мелких объектов — самой сложной категории для компактных моделей.

  • Супервизия выравнивания объектов переднего плана Во время обучения дополнительная лёгкая ветвь учится отличать «объект» от «фона» в каждой точке. Она призвана сократить разрыв между более плотной супервизией «один ко многим», используемой при обучении, и головой «один к одному», которая формирует итоговые предсказания. Благодаря этому разрыв в точности снижается с 0.9/0.8 mAP у YOLO26n/s до всего 0.4 mAP у YOLO27n/s, поэтому развёрнутая голова «один к одному» сохраняет почти всю точность, достигнутую при обучении. Ветвь используется только во время обучения и удаляется при инференсе и экспорте, поэтому не создаёт дополнительных затрат при развёртывании.

  • Обнаружение на основе запросов без NMS В более крупных моделях плотное предсказание заменено трансформерным декодером, который уточняет фиксированный набор запросов объектов и напрямую выдаёт окончательные результаты обнаружения — дополнительная обработка с помощью подавления немаксимумов не требуется. В YOLO27m и YOLO27l этот декодер сочетается с основой UltraViT, которая использует самовнимание на самом глубоком этапе для захвата глобального контекста, за которым следует шея FPN/PAN.

  • Единый простой интерфейс Обе архитектуры используются через один и тот же интерфейс Python YOLO. Нужный конвейер обучения, валидации, предсказания и экспорта выбирается автоматически в зависимости от модели, поэтому код, написанный для одного масштаба YOLO27, без изменений работает и с другими.

Какую модель YOLO27 выбрать?#

Эти рекомендации помогут выбрать модель после выхода YOLO27. Для проектов сейчас используй YOLO26.

  • YOLO27n / YOLO27s — для периферийных устройств, дронов и видео в реальном времени: самые быстрые модели семейства с улучшенным обнаружением мелких объектов благодаря двухмасштабной архитектуре. Инструкции по развёртыванию на конкретных устройствах смотри для NVIDIA Jetson и Raspberry Pi.
  • YOLO27m — оптимальный баланс точности и скорости на GPU: точность выше, чем у YOLO26m, при сопоставимой задержке, поэтому это вариант по умолчанию для промышленного развёртывания на GPU.
  • YOLO27l — для приложений, где критична точность: первая модель Ultralytics с результатом выше 60 mAP на COCO. Она достигает 61.4 mAP при большем размере входного изображения и при этом работает в реальном времени на GPU.

Чтобы сравнить модели с другими семействами, смотри все модели Ultralytics. Чтобы измерить компромисс между точностью и скоростью на собственном оборудовании, а не на нашем, смотри режим бенчмаркинга.


Поддерживаемые задачи и режимы#

В таблице ниже представлена предварительная информация о планируемой поддержке задач и режимов для четырёх масштабов моделей YOLO27. Галочки обозначают запланированную поддержку на момент выхода, а не текущую общедоступность; все перечисленные файлы моделей ещё не выпущены.

МодельИмена файловЗадачаОбучениеВалидацияИнференсЭкспорт
YOLO27yolo27n.pt yolo27s.pt yolo27m.pt yolo27l.ptОбнаружение✅✅✅✅
YOLO27-segyolo27n-seg.pt yolo27s-seg.pt yolo27m-seg.pt yolo27l-seg.ptСегментация экземпляров✅✅✅✅
YOLO27-semyolo27n-sem.pt yolo27s-sem.pt yolo27m-sem.pt yolo27l-sem.ptСемантическая сегментация✅✅✅✅
YOLO27-depthyolo27n-depth.pt yolo27s-depth.pt yolo27m-depth.pt yolo27l-depth.ptОценка глубины✅✅✅✅
YOLO27-clsyolo27n-cls.pt yolo27s-cls.pt yolo27m-cls.pt yolo27l-cls.ptКлассификация✅✅✅✅
YOLO27-poseyolo27n-pose.pt yolo27s-pose.pt yolo27m-pose.pt yolo27l-pose.ptПоза/ключевые точки✅✅✅✅
YOLO27-obbyolo27n-obb.pt yolo27s-obb.pt yolo27m-obb.pt yolo27l-obb.ptОбнаружение ориентированных объектов✅✅✅✅

Модели YOLO27 Detect, Segment, Pose и OBB также работают с режимом Track, который использует режим predict для отслеживания нескольких объектов между кадрами видео.

Два варианта архитектуры

В YOLO27 для обнаружения объектов, сегментации экземпляров и оценки позы используются две архитектуры с единым интерфейсом: масштабы N и S работают на архитектуре CNN, а масштабы M и L — на архитектуре на основе запросов без NMS. Для семантической сегментации, оценки глубины, классификации и обнаружения объектов с ориентированными рамками используется архитектура CNN.


Метрики производительности#

Точность обнаружения оценивается на валидационном наборе COCO. Объяснения метрик mAP, точности и полноты см. в разделе Метрики производительности YOLO. Чтобы оценить точность за пределами COCO, см. бенчмарк Ultralytics, который измеряет макроусреднённую mAP50-95 на 37 реальных наборах данных для обнаружения объектов из разных областей, включая медицинскую визуализацию, дистанционное зондирование, промышленность и розничную торговлю. Скорость инференса измеряется на NVIDIA RTX PRO 6000 (TensorRT 11, FP16) для GPU и AMD EPYC 9655 (среда выполнения ONNX, FP32) для CPU. После выпуска показатели точности можно воспроизвести с помощью yolo val model=yolo27n.pt data=coco.yaml imgsz=640 nms=False save_json=True. В таблицах обнаружения объектов, сегментации экземпляров и оценки позы используются голова без NMS и оценка на COCO. Для проверки позы N/S используются прямоугольные пакеты (rect=True).

Предварительные результаты

Результаты исследований могут измениться в ходе заключительного этапа разработки и исследований. Вместе с релизом будут опубликованы общедоступные веса и инструкции по воспроизведению результатов.

Производительность

Примеры использования этих моделей, обученных на COCO и включающих 80 предварительно обученных классов, смотри в документации по обнаружению. В таблице указано разрешение входных данных 640 пикселей; в обзоре также приведены результаты YOLO27l при разрешении 800 пикселей.

Модельразмер
(пиксели)
mAPval50-95Скорость
CPU ONNX
(мс)
Скорость
RTX PRO 6000 TensorRT11
(мс)
параметры
(M)
FLOPs
(B)
YOLO27n64042.616.1 ± 1.60.44 ± 0.003.07.2
YOLO27s64050.133.2 ± 0.10.64 ± 0.0011.828.2
YOLO27m64056.474.8 ± 0.51.01 ± 0.0024.664.6
YOLO27l64060.5149.6 ± 1.41.86 ± 0.0072.3166.7

Значения Params и FLOPs указаны для объединённой модели после свёртывания Conv/BatchNorm и удаления неиспользуемой ветви обнаружения. Для измерений обнаружения объектов, сегментации экземпляров и оценки позы выбирается голова без NMS с помощью nms=False; точность N/S зависит от выбранной головы. В подсчёт FLOPs входят умножения матриц внимания декодера. Предварительно обученные контрольные точки сохраняют полную архитектуру обучения, поэтому их показатели могут быть выше.


Примеры использования#

В этом разделе приведены простые примеры обучения и инференса YOLO27. При работе с пользовательскими датасетами см. советы для достижения наилучших результатов обучения и руководство по настройке гиперпараметров.

Пример ниже предназначен для моделей YOLO27 Detect для обнаружения объектов.

Обучение и инференс (после релиза)

Предобученные модели PyTorch *.pt, а также файлы конфигурации *.yaml можно передать классу YOLO(), чтобы создать экземпляр модели в Python:

from ultralytics import YOLO

# Загрузить предобученную на COCO модель YOLO27n
model = YOLO("yolo27n.pt")

# Запустить инференс с моделью YOLO27n на изображении 'bus.jpg'
results = model("path/to/bus.jpg")

# Обучить модель на демонстрационном наборе данных COCO8 в течение 100 эпох
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

Часто задаваемые вопросы#

    • Детекция на двух масштабах (N/S): отказ от карты предсказаний среднего масштаба ускоряет голову детекции, сохраняя конкурентную точность
    • Улучшенная детекция мелких объектов (N/S): расширенный ранний этап извлечения признаков повышает точность локализации мелких объектов
    • Обучение с выравниванием по объектам переднего плана (N/S): сокращает разрыв в точности между стратегиями «один ко многим» и «один к одному» с 0.9/0.8 mAP у YOLO26n/s до 0.4 mAP у YOLO27n/s без затрат на инференс
    • Детекция без NMS на основе запросов (M/L): декодер Transformer напрямую формирует окончательные результаты детекции
    • Единый простой интерфейс: обе архитектуры работают через один и тот же класс YOLO
  • Пока нет — YOLO27 ещё не выпущена. Для текущих проектов продолжай использовать YOLO26. Предварительные результаты показывают повышение точности моделей всех размеров; YOLO27l превышает 60 mAP на COCO. Перед переходом оцени финальные выпущенные модели на своей рабочей нагрузке.

  • После релиза YOLO27 должна использовать тот же класс YOLO и тот же API для train/val/predict/export, что и YOLO26: нужный пайплайн (CNN или на основе запросов) выбирается автоматически в зависимости от модели. После появления поддержки YOLO27 и весов предполагается, что для выбора модели достаточно заменить yolo26n.pt на yolo27n.pt.

  • Большинство детекторов выполняют предсказания по трём картам признаков с разным разрешением. YOLO27 N и S используют карту высокого разрешения, необходимую для мелких объектов, и карту низкого разрешения, нужную для крупных объектов, но пропускают карту среднего разрешения. Это значительно сокращает вычисления в голове детекции, а описанные выше улучшения обучения позволяют сохранить конкурентный баланс точности и задержки.

  • YOLO27l — первая модель Ultralytics, преодолевшая отметку 60 mAP на COCO: она достигает 60.5 mAP при размере входного изображения 640 пикселей (1.9 мс на NVIDIA RTX PRO 6000) и 61.4 mAP при размере 800 пикселей (2.4 мс). В модели сочетаются backbone UltraViT, объединение признаков разных масштабов и детектор на основе запросов, который формирует итоговые детекции напрямую, без NMS.

  • YOLO27 проходит заключительный этап исследований и разработок; запуск ожидается позднее в этом году. Дата запуска пока не назначена. Веса модели и код реализации пока недоступны публично.

  • После выхода YOLO27 см. раздел Quickstart, чтобы установить или обновить пакет ultralytics, а затем загрузить модель, как показано ниже. Этот пример предназначен для использования после релиза:

    from ultralytics import YOLO
    
    # Загрузить предобученную нано-модель YOLO27
    model = YOLO("yolo27n.pt")
    
    # Запустить инференс на изображении
    results = model("image.jpg")

    Примеры обучения и инференса см. в разделе Примеры использования, а о режимах Val и Export — в руководствах Val и Export.

Комментарии9

Задай вопрос, поделись результатами или помоги кому-нибудь.

  1. sergshadrapGitHub

    Guys! You are doing incredible job , The thing I'd asked for is the total size for running model. When we speak about small devices embedded solutions that the -n model is intended to the size is very limited by the SoC properties and that is though to predict if it fits to the board or not. I think pointing the size is also important along the performance metrics for tiny models. Thanks again!

    1. Paula DerrengerUltralytics

      Thanks from the Ultralytics team and YOLO community—good suggestion. The preview lists YOLO27n at 3.0M parameters, but actual storage and runtime memory depend on the export format, precision, input size, and backend; exact measurements cannot be published until the models are released. We’ll consider adding artifact-size and memory benchmarks to the YOLO27 documentation, and please keep sharing embedded-device requirements here for team visibility.

    2. sergshadrapGitHub

      Thanks for you! Definitely nobody will ask about exact sizes of the models. What I meant is that most of the camera's SoCs ( for instance) we can split for three major segments, where the middle one is about Arm 1Ggz , 16m flash, and 128m Ram, the high is everything that has more advanced scu with multicores ,spaced flash and Ram and definitely folds more expensive and the low that everything below that. Trying to fit yolo26 to the gk7205v300 that exactly the middle one was a challenge even quantitized to 8. So ... what about the v27? Does it belong to the high-end only or I can try it for the middle one?

    3. Paula DerrengerUltralytics

      YOLO27n is intended for edge devices, so it is not high-end-only; its preliminary 3.0M parameters suggest INT8 weights around 3 MB, but 128 MB RAM may still be the limiting factor because activations and backend buffers depend on input size and runtime. For the GK7205V300, consider it a plausible target—not a confirmed fit—until the released model can be exported, profiled at reduced imgsz, and benchmarked on-device; YOLO27m/l are unlikely choices for those constraints. Please keep sharing your embedded results in this discussion so the Ultralytics team can track them alongside the YOLO27 documentation.

    4. Mohammed YasinUltralytics

      @sergshadrap How's the performance of YOLO26 on such SoCs? Because if it's too big to fit the SoC, then isn't it also too heavy to run? You can always reduce the size of the YOLO models by modifying the YAML file and removing some layers or reducing channels.

    5. sergshadrapGitHub

      Yeah , that is quite heavy stuff for 1 core 0.9 Ghz SoC , but I have it run . The most stable and sensible (for object recognition) configuration turns to be fp16 288x384 nano , that goes about 0.8 fps in continues run . That's pretty slow , but enough for my current cascade version, where IVE hardware detector is catching "something" and yolo refine the output. Would be glad to get a hint - how to reduce size and reduce layers/ channels. Now I'm on ncnn export tools , so it seems there is no fp8 variant for that tool? Forth to mention I'm on OpenIpc firmware and the majestic additionally quite a leaky guy , so with 128M of memory for all we're on the floor..

    6. Mohammed YasinUltralytics(изменено)

      You can create a copy of this YAML and reduce the float values. Lowering width (the second float value) brings the biggest drop in model file size. Of course, all of these also reduces accuracy. The modified YAML can be loaded and used with

      model = YOLO("path/to/yaml")

      The ending suffix letter like n determines which of the scale values are used from this YAML.

      https://github.com/ultralytics/ultralytics/blob/b739caa8d2a0b8c83f7f65c228d006e197d4e5dc/ultralytics/cfg/models/26/yolo26.yaml#L13

    7. sergshadrapGitHub

      If only I change the model , do I need to re-train the model completely or I could move the weights from existing with some algorithm?