Link to this sectionYOLO12: Детектирование объектов с фокусом на механизмы внимания#
Link to this sectionОбзор#
YOLO12, выпущенная в начале 2025 года, представляет архитектуру с упором на механизмы внимания, которая отходит от традиционных подходов на базе CNN, использовавшихся в предыдущих моделях YOLO, но при этом сохраняет скорость вывода в реальном времени, необходимую для многих приложений. Эта модель достигает высокой точности детектирования объектов благодаря новым методологическим инновациям в механизмах внимания и общей архитектуре сети, сохраняя при этом быстродействие. Несмотря на эти преимущества, YOLO12 остается проектом сообщества, который может демонстрировать нестабильность при обучении, повышенное потребление памяти и более низкую пропускную способность CPU из-за тяжелых блоков внимания, поэтому Ultralytics рекомендует использовать YOLO11 или YOLO26 для большинства производственных задач.
Watch: How to Use YOLO12 for Object Detection with the Ultralytics Package | Is YOLO12 Fast or Slow? 🚀
Link to this sectionОсновные характеристики#
- Механизм Area Attention: новый подход к self-attention, эффективно обрабатывающий большие рецептивные поля. Он разделяет карты признаков на l равных областей (по умолчанию 4), горизонтально или вертикально, избегая сложных операций и сохраняя широкое эффективное рецептивное поле. Это значительно снижает вычислительные затраты по сравнению со стандартным self-attention.
- Residual Efficient Layer Aggregation Networks (R-ELAN): улучшенный модуль агрегации признаков на основе ELAN, разработанный для решения проблем оптимизации, особенно в крупномасштабных моделях с фокусом на внимание. R-ELAN включает в себя:
- Поблочные остаточные соединения с масштабированием (по аналогии с масштабированием слоев).
- Переработанный метод агрегации признаков, создающий структуру, подобную «узкому месту» (bottleneck).
- Оптимизированная архитектура внимания: YOLO12 упрощает стандартный механизм внимания для большей эффективности и совместимости с фреймворком YOLO. Это включает:
- Использование FlashAttention для минимизации накладных расходов при доступе к памяти.
- Удаление позиционного кодирования для получения более простой и быстрой модели.
- Настройку коэффициента MLP (с типичных 4 до 1.2 или 2) для лучшего баланса вычислений между слоями внимания и полносвязными слоями.
- Уменьшение глубины стековых блоков для улучшения оптимизации.
- Использование операций свертки (где это уместно) ради их вычислительной эффективности.
- Добавление 7x7 сепарабельной свертки («позиционный перцептрон») в механизм внимания для неявного кодирования позиционной информации.
- Комплексная поддержка задач: YOLO12 поддерживает ряд ключевых задач компьютерного зрения: детектирование объектов, сегментацию экземпляров, классификацию изображений, оценку позы и ориентированное детектирование объектов (OBB).
- Повышенная эффективность: достигает более высокой точности с меньшим количеством параметров по сравнению со многими предыдущими моделями, демонстрируя улучшенный баланс между скоростью и точностью.
- Гибкое развертывание: разработана для внедрения на различных платформах, от периферийных устройств до облачной инфраструктуры.

Link to this sectionПоддерживаемые задачи и режимы#
YOLO12 поддерживает множество задач компьютерного зрения. В таблице ниже показана поддержка задач и операционные режимы (вывод, валидация, обучение и экспорт), доступные для каждой из них:
Только веса для детектирования (yolo12n.pt, yolo12s.pt, yolo12m.pt, yolo12l.pt, yolo12x.pt) выпущены на ultralytics/assets. Архитектуры для сегментации, классификации, оценки позы и OBB определены в ultralytics/cfg/models/12/, поэтому эти варианты поддерживают обучение с нуля из конфигурации .yaml, но предобученные файлы .pt для них пока отсутствуют. Для получения предобученных чекпоинтов сегментации, позы, классификации или OBB Ultralytics рекомендует использовать YOLO11 или YOLO26.
| Тип модели | Задача | Предобученные веса | Логический вывод | Валидация | Обучение | Экспорт (Export) |
|---|---|---|---|---|---|---|
| YOLO12 | Детекция | ✅ | ✅ | ✅ | ✅ | ✅ |
| YOLO12-seg | Сегментация | ❌ | ✅ | ✅ | ✅ | ✅ |
| YOLO12-pose | Оценка позы | ❌ | ✅ | ✅ | ✅ | ✅ |
| YOLO12-cls | Классификация | ❌ | ✅ | ✅ | ✅ | ✅ |
| YOLO12-obb | OBB | ❌ | ✅ | ✅ | ✅ | ✅ |
All YOLO12 architectures support every mode once a trained checkpoint is available. The Pretrained Weights column indicates only whether Ultralytics publishes an official pretrained .pt on ultralytics/assets: for segmentation, pose, classification, and OBB, you must train your own checkpoint from the corresponding .yaml before running inference, validation, or export.
Link to this sectionМетрики производительности#
YOLO12 демонстрирует значительные улучшения точности во всех масштабах моделей, с некоторыми компромиссами в скорости по сравнению с самыми быстрыми предыдущими моделями YOLO. Ниже представлены количественные результаты для детектирования объектов на наборе данных COCO val:
Link to this sectionЭффективность детектирования (COCO val2017)#
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT (мс) | параметры (М) | FLOPs (Б) | Сравнение (mAP/Скорость) |
|---|---|---|---|---|---|---|---|
| YOLO12n | 640 | 40.6 | - | 1.64 | 2.6 | 6.5 | +2.1%/-9% (vs. YOLOv10n) |
| YOLO12s | 640 | 48.0 | - | 2.61 | 9.3 | 21.4 | +0.1%/+42% (vs. RT-DETRv2) |
| YOLO12m | 640 | 52.5 | - | 4.86 | 20.2 | 67.5 | +1.0%/-3% (vs. YOLO11m) |
| YOLO12l | 640 | 53.7 | - | 6.77 | 26.4 | 88.9 | +0.4%/-8% (vs. YOLO11l) |
| YOLO12x | 640 | 55.2 | - | 11.79 | 59.1 | 199.0 | +0.6%/-4% (vs. YOLO11x) |
- Скорость вывода измерена на GPU NVIDIA T4 с использованием точности TensorRT FP16.
- Сравнения показывают относительное улучшение mAP и процентное изменение скорости (положительное значение означает увеличение скорости, отрицательное — снижение). Сравнения сделаны с опубликованными результатами для YOLOv10, YOLO11 и RT-DETR, где это применимо.
Link to this sectionПримеры использования#
В этом разделе приведены примеры обучения и вывода с использованием YOLO12. За более подробной документацией по этим и другим режимам (включая Валидацию и Экспорт) обращайся к специализированным страницам Predict и Train.
Примеры ниже сфокусированы на моделях YOLO12 Detect (для детектирования объектов). Для других поддерживаемых задач (сегментация, классификация, ориентированное детектирование объектов и оценка позы) обратись к соответствующей документации: Segment, Classify, OBB и Pose.
Предобученные модели *.pt (использующие PyTorch) и файлы конфигурации *.yaml можно передать в класс YOLO(), чтобы создать экземпляр модели в Python:
from ultralytics import YOLO
# Load a COCO-pretrained YOLO12n model
model = YOLO("yolo12n.pt")
# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference with the YOLO12n model on the 'bus.jpg' image
results = model("path/to/bus.jpg")Link to this sectionКлючевые улучшения#
-
Улучшенное извлечение признаков:
- Area Attention: эффективно обрабатывает большие рецептивные поля, снижая вычислительные затраты.
- Оптимизированный баланс: улучшенный баланс между вычислениями внимания и полносвязных сетей.
- R-ELAN: расширяет агрегацию признаков с помощью архитектуры R-ELAN.
-
Инновации в оптимизации:
- Остаточные соединения: внедряет остаточные соединения с масштабированием для стабилизации обучения, особенно в крупных моделях.
- Уточненная интеграция признаков: реализует улучшенный метод интеграции признаков внутри R-ELAN.
- FlashAttention: включает FlashAttention для снижения накладных расходов на доступ к памяти.
-
Архитектурная эффективность:
- Уменьшенное количество параметров: достигает меньшего числа параметров при сохранении или улучшении точности по сравнению со многими предыдущими моделями.
- Упрощенное внимание: использует упрощенную реализацию внимания без позиционного кодирования.
- Оптимизированные коэффициенты MLP: настраивает соотношения MLP для более эффективного распределения вычислительных ресурсов.
Link to this sectionТребования#
Реализация Ultralytics YOLO12 по умолчанию не требует FlashAttention. Однако FlashAttention можно опционально скомпилировать и использовать с YOLO12. Для компиляции FlashAttention необходим один из следующих GPU NVIDIA:
- GPU Turing (например, T4, серия Quadro RTX)
- GPU Ampere (например, серия RTX30, A30/40/100)
- GPU Ada Lovelace (например, серия RTX40)
- GPU Hopper (например, H100/H200)
Link to this sectionЦитирование и благодарности#
Если ты используешь YOLO12 в своих исследованиях, пожалуйста, процитируй оригинальную работу University at Buffalo и University of Chinese Academy of Sciences:
@article{tian2025yolo12,
title={YOLO12: Attention-Centric Real-Time Object Detectors},
author={Tian, Yunjie and Ye, Qixiang and Doermann, David},
journal={arXiv preprint arXiv:2502.12524},
year={2025}
}
@software{yolo12,
author = {Tian, Yunjie and Ye, Qixiang and Doermann, David},
title = {YOLO12: Attention-Centric Real-Time Object Detectors},
year = {2025},
url = {https://github.com/sunsmarterjie/yolov12},
license = {AGPL-3.0}
}Link to this sectionЧасто задаваемые вопросы (FAQ)#
Link to this sectionКак YOLO12 достигает детектирования объектов в реальном времени, сохраняя при этом высокую точность?#
YOLO12 включает несколько ключевых инноваций для баланса между скоростью и точностью. Механизм Area Attention эффективно обрабатывает большие рецептивные поля, снижая вычислительные затраты по сравнению со стандартным self-attention. Сети R-ELAN улучшают агрегацию признаков, решая задачи оптимизации в больших моделях с упором на внимание. Оптимизированная архитектура внимания, включая использование FlashAttention и удаление позиционного кодирования, дополнительно повышает эффективность. Эти особенности позволяют YOLO12 достигать передовой точности, сохраняя скорость вывода в реальном времени, что критически важно для многих приложений.
Link to this sectionКакие задачи компьютерного зрения поддерживает YOLO12?#
YOLO12 — это универсальная модель, поддерживающая широкий спектр базовых задач компьютерного зрения. Она отлично справляется с детектированием объектов, сегментацией экземпляров, классификацией изображений, оценкой позы и ориентированным детектированием объектов (OBB) (подробности). Такая комплексная поддержка задач делает YOLO12 мощным инструментом для различных областей, от робототехники и беспилотного вождения до медицинской визуализации и промышленного контроля. Обрати внимание, что предобученные веса .pt в настоящее время опубликованы только для детектирования; архитектуры для сегментации, позы, классификации и OBB предоставляются в виде конфигураций .yaml для обучения с нуля.
Link to this sectionКак YOLO12 соотносится с другими моделями YOLO и конкурентами, такими как RT-DETR?#
YOLO12 демонстрирует значительные улучшения точности во всех масштабах моделей по сравнению с предыдущими моделями YOLO, такими как YOLOv10 и YOLO11, с некоторыми компромиссами в скорости по сравнению с самыми быстрыми предыдущими моделями. Например, YOLO12n достигает улучшения mAP на +2.1% по сравнению с YOLOv10n и на +1.2% по сравнению с YOLO11n на наборе данных COCO val2017. По сравнению с такими моделями, как RT-DETR, YOLO12s предлагает улучшение mAP на +1.5% и существенное увеличение скорости на +42%. Эти показатели подчеркивают сильный баланс YOLO12 между точностью и эффективностью. Подробные сравнения см. в разделе метрик производительности.
Link to this sectionКаковы аппаратные требования для запуска YOLO12, особенно для использования FlashAttention?#
По умолчанию реализация Ultralytics YOLO12 не требует FlashAttention. Однако FlashAttention можно опционально скомпилировать и использовать с YOLO12 для минимизации накладных расходов при доступе к памяти. Для компиляции FlashAttention необходим один из следующих GPU NVIDIA: GPU Turing (например, T4, серия Quadro RTX), GPU Ampere (например, серия RTX30, A30/40/100), GPU Ada Lovelace (например, серия RTX40) или GPU Hopper (например, H100/H200). Эта гибкость позволяет пользователям использовать преимущества FlashAttention, когда аппаратные ресурсы позволяют это сделать.
Link to this sectionГде я могу найти примеры использования и более подробную документацию для YOLO12?#
Эта страница содержит базовые примеры использования для обучения и вывода. За полной документацией по этим и другим режимам, включая Валидацию и Экспорт, обращайся к специализированным страницам Predict и Train. Для получения информации по конкретным задачам (сегментация, классификация, ориентированное детектирование объектов и оценка позы) смотри соответствующую документацию: Segment, Classify, OBB и Pose. Эти ресурсы предоставляют углубленное руководство по эффективному использованию YOLO12 в различных сценариях.