Ultralytics 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. Галочки обозначают планируемую поддержку после выпуска, а не текущую общедоступность; все перечисленные файлы моделей ещё не выпущены.
| Модель | Имена файлов | Задача | Обучение | Валидация | Инференс | Экспорт |
|---|---|---|---|---|---|---|
| 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 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) |
|---|---|---|---|---|---|---|
| YOLO27n | 640 | 42.3 | 16.1 ± 1.6 | 0.62 ± 0.00 | 3.0 | 7.2 |
| YOLO27s | 640 | 49.6 | 33.2 ± 0.1 | 0.79 ± 0.00 | 11.8 | 28.2 |
| YOLO27m | 640 | 55.8 | 67.2 ± 0.3 | 1.39 ± 0.00 | 22.8 | 65.0 |
| YOLO27l | 640 | 60.4 | 149.6 ± 1.4 | 2.32 ± 0.00 | 72.3 | 165.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.