Ultralytics 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. Галочки обозначают запланированную поддержку на момент выхода, а не текущую общедоступность; все перечисленные файлы моделей ещё не выпущены.
| Модель | Имена файлов | Задача | Обучение | Валидация | Инференс | Экспорт |
|---|---|---|---|---|---|---|
| YOLO27 | yolo27n.pt yolo27s.pt yolo27m.pt yolo27l.pt | Обнаружение | ✅ | ✅ | ✅ | ✅ |
| YOLO27-seg | yolo27n-seg.pt yolo27s-seg.pt yolo27m-seg.pt yolo27l-seg.pt | Сегментация экземпляров | ✅ | ✅ | ✅ | ✅ |
| YOLO27-sem | yolo27n-sem.pt yolo27s-sem.pt yolo27m-sem.pt yolo27l-sem.pt | Семантическая сегментация | ✅ | ✅ | ✅ | ✅ |
| YOLO27-depth | yolo27n-depth.pt yolo27s-depth.pt yolo27m-depth.pt yolo27l-depth.pt | Оценка глубины | ✅ | ✅ | ✅ | ✅ |
| YOLO27-cls | yolo27n-cls.pt yolo27s-cls.pt yolo27m-cls.pt yolo27l-cls.pt | Классификация | ✅ | ✅ | ✅ | ✅ |
| YOLO27-pose | yolo27n-pose.pt yolo27s-pose.pt yolo27m-pose.pt yolo27l-pose.pt | Поза/ключевые точки | ✅ | ✅ | ✅ | ✅ |
| YOLO27-obb | yolo27n-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) |
|---|---|---|---|---|---|---|
| YOLO27n | 640 | 42.6 | 16.1 ± 1.6 | 0.44 ± 0.00 | 3.0 | 7.2 |
| YOLO27s | 640 | 50.1 | 33.2 ± 0.1 | 0.64 ± 0.00 | 11.8 | 28.2 |
| YOLO27m | 640 | 56.1 | 74.8 ± 0.5 | 1.01 ± 0.00 | 22.8 | 65.0 |
| YOLO27l | 640 | 60.5 | 149.6 ± 1.4 | 1.86 ± 0.00 | 72.3 | 165.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.