Ultralytics YOLO27: Запишись в список ожидания.
Get Started

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 этот декодер сочетается с проверенной свёрточной магистралью в стиле YOLO26, а в YOLO27l сохраняется та же шейка FPN/PAN, но используется магистраль UltraViT, в глубочайшей стадии которой применяется механизм внимания к себе для учёта глобального контекста.

  • Единый простой интерфейс Обе архитектуры используются через один и тот же интерфейс 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 для обнаружения, сегментации, оценки позы и OBB также работают в режиме отслеживания, который использует режим предсказания для отслеживания нескольких объектов между кадрами видео.

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

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


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

Точность детекции оценивается на валидационной выборке COCO. Объяснения метрик mAP, precision и recall смотри в разделе Метрики производительности YOLO. Чтобы оценить точность за пределами COCO, смотри бенчмарк Ultralytics: он измеряет макро mAP50-95 на 37 наборах данных для детекции в реальных условиях, охватывающих медицинскую визуализацию, дистанционное зондирование, промышленность, розничную торговлю и другие области. Скорость инференса измеряется на NVIDIA RTX PRO 6000 (TensorRT 11, FP16) для GPU и на AMD EPYC 9655 (ONNX Runtime, FP32) для CPU. После выпуска показатели точности можно воспроизвести с помощью yolo val model=yolo27n.pt data=coco.yaml.

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

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

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

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

Модельразмер
(пиксели)
mAPval
50-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.174.8 ± 0.51.01 ± 0.0022.865.0
YOLO27l64060.5149.6 ± 1.41.86 ± 0.0072.3165.3

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


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

В этом разделе приведены простые примеры обучения и инференса YOLO27. Полную документацию по этим и другим режимам см. на страницах документации Predict, Train, Val и Export. О работе с пользовательскими наборами данных см. Советы для достижения наилучших результатов обучения и Руководство по настройке гиперпараметров.

Обрати внимание: пример ниже предназначен для моделей YOLO27 Detect для обнаружения объектов. О других поддерживаемых задачах см. документацию по Segment и Classify.

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

Предобученные модели 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.

Комментарии