Ultralytics YOLO27:

Ultralytics YOLO27#

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

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

Обзор#

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

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

В четырёх масштабах моделей для обнаружения объектов YOLO27 достигает 42.3–60.4 mAP на COCO при задержке 0.62–2.32 мс на NVIDIA RTX PRO 6000 — а YOLO27l достигает 61.2 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 В более крупных моделях плотные предсказания заменены декодером Transformer, который уточняет фиксированный набор запросов объектов и напрямую выдаёт итоговые обнаружения — без необходимости в постобработке с помощью подавления немаксимумов. В 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.2 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 также работают в режиме отслеживания, который использует режим predict для отслеживания нескольких объектов между кадрами видео.

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

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


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

Точность обнаружения объектов оценивается на валидационном наборе COCO. Объяснения метрик mAP, precision и recall см. в разделе Метрики производительности YOLO. Скорость инференса измеряется на NVIDIA RTX PRO 6000 (TensorRT 11, FP16) для GPU и AMD EPYC 9655 (среда выполнения ONNX, 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.316.1 ± 1.60.62 ± 0.003.07.2
YOLO27s64049.633.2 ± 0.10.79 ± 0.0011.828.2
YOLO27m64055.867.2 ± 0.31.39 ± 0.0022.865.0
YOLO27l64060.4149.6 ± 1.42.32 ± 0.0072.3165.3

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


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

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

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

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

Предварительно обученные модели *.pt на базе PyTorch, а также файлы конфигурации *.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): сокращает разрыв в точности между one-to-many и one-to-one с 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.4 mAP при входном разрешении 640 пикселей (2.3 мс на NVIDIA RTX PRO 6000) и 61.2 mAP при входном разрешении 800 пикселей (2.9 мс). В модели сочетаются основа UltraViT, многошкальное объединение признаков и детектор на основе запросов, который напрямую формирует итоговые детекции без NMS.

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

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

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

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

Комментарии