Meet YOLO26: next-gen vision AI.

Link to this sectionYOLO12: Обнаружение объектов на основе внимания#

Link to this sectionОбзор#

YOLO12, выпущенная в начале 2025 года, представляет архитектуру, ориентированную на механизмы внимания. Она отходит от традиционных подходов на базе CNN, использовавшихся в предыдущих моделях YOLO, но сохраняет скорость вывода в реальном времени, необходимую для многих приложений. Эта модель достигает высокой точности обнаружения объектов благодаря новым методологическим инновациям в механизмах внимания и общей архитектуре сети, сохраняя при этом производительность реального времени. Несмотря на эти преимущества, YOLO12 остается выпуском, ориентированным на сообщество, который может демонстрировать нестабильность при обучении, повышенное потребление памяти и более низкую пропускную способность CPU из-за тяжелых блоков внимания. Поэтому Ultralytics рекомендует YOLO11 или YOLO26 для большинства рабочих задач в продакшене.

Модель от сообщества

YOLO12 поддерживается преимущественно для сравнительного анализа и исследований. Если тебе нужна стабильность обучения, предсказуемое использование памяти и оптимизированный вывод на CPU, выбирай для внедрения 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 Mechanism): Новый подход к self-attention, эффективно обрабатывающий большие рецептивные поля. Он делит карты признаков на l областей равного размера (по умолчанию 4) по горизонтали или вертикали, избегая сложных операций и сохраняя широкое эффективное рецептивное поле. Это значительно снижает вычислительные затраты по сравнению со стандартным self-attention.
  • Residual Efficient Layer Aggregation Networks (R-ELAN): Улучшенный модуль агрегации признаков на основе ELAN, разработанный для решения проблем оптимизации, особенно в крупномасштабных моделях, ориентированных на внимание. R-ELAN внедряет:
    • Блочные остаточные (residual) соединения с масштабированием (по аналогии с масштабированием слоев).
    • Переработанный метод агрегации признаков, создающий структуру, подобную узкому месту (bottleneck).
  • Оптимизированная архитектура внимания: YOLO12 упрощает стандартный механизм внимания для большей эффективности и совместимости с фреймворком YOLO. Сюда входят:
    • Использование FlashAttention для минимизации накладных расходов при доступе к памяти.
    • Удаление позиционного кодирования для получения более чистого и быстрого вида модели.
    • Корректировка коэффициента MLP (с типичных 4 до 1.2 или 2) для лучшего баланса вычислений между механизмами внимания и полносвязными слоями (feed-forward).
    • Уменьшение глубины стековых блоков для улучшенной оптимизации.
    • Использование сверточных операций (там, где это уместно) из-за их вычислительной эффективности.
    • Добавление сепарабельной свертки 7x7 («позиционный перцептор») в механизм внимания для неявного кодирования позиционной информации.
  • Всесторонняя поддержка задач: YOLO12 поддерживает ряд ключевых задач компьютерного зрения: обнаружение объектов, сегментацию экземпляров, классификацию изображений, оценку поз и ориентированное обнаружение объектов (OBB).
  • Повышенная эффективность: Достигает более высокой точности при меньшем количестве параметров по сравнению со многими предыдущими моделями, демонстрируя улучшенный баланс между скоростью и точностью.
  • Гибкое внедрение: Разработана для развертывания на различных платформах, от периферийных устройств до облачной инфраструктуры.

Визуализация сравнения YOLO12

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.

Тип моделиЗадачаПредобученные весаInferenceValidationTrainingЭкспорт
YOLO12Детекция
YOLO12-segСегментация
YOLO12-posePose
YOLO12-clsКлассификация
YOLO12-obbOBB

Все архитектуры YOLO12 поддерживают любой режим, как только у тебя появится обученная контрольная точка. Столбец Pretrained Weights показывает только то, публикует ли Ultralytics официальный предобученный файл .pt на ultralytics/assets: для сегментации, оценки позы, классификации и OBB тебе нужно обучить собственную контрольную точку на основе соответствующего файла .yaml перед запуском инференса, валидации или экспорта.

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

YOLO12 демонстрирует значительные улучшения точности во всех масштабах моделей, с некоторыми компромиссами в скорости по сравнению с самыми быстрыми предыдущими моделями YOLO. Ниже приведены количественные результаты обнаружения объектов на валидационном наборе данных COCO:

Link to this sectionПроизводительность обнаружения (COCO val2017)#

Производительность
Модельразмер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT
(мс)
параметры
(М)
FLOPs
(Б)
Сравнение
(mAP/Скорость)
YOLO12n64040.6-1.642.66.5+2.1%/-9% (vs. YOLOv10n)
YOLO12s64048.0-2.619.321.4+0.1%/+42% (vs. RT-DETRv2)
YOLO12m64052.5-4.8620.267.5+1.0%/-3% (vs. YOLO11m)
YOLO12l64053.7-6.7726.488.9+0.4%/-8% (vs. YOLO11l)
YOLO12x64055.2-11.7959.1199.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Ключевые улучшения#

  1. Расширенное извлечение признаков:

    • Area Attention: Эффективно обрабатывает большие рецептивные поля, снижая вычислительные затраты.
    • Оптимизированный баланс: Улучшенный баланс между вычислениями внимания и нейронной сети прямого распространения.
    • R-ELAN: Улучшает агрегацию признаков с помощью архитектуры R-ELAN.
  2. Инновации в оптимизации:

    • Остаточные (residual) соединения: Внедряет остаточные соединения с масштабированием для стабилизации обучения, особенно в крупных моделях.
    • Уточненная интеграция признаков: Внедряет улучшенный метод интеграции признаков внутри R-ELAN.
    • FlashAttention: Включает FlashAttention для снижения накладных расходов при доступе к памяти.
  3. Архитектурная эффективность:

    • Уменьшенное количество параметров: Достигает меньшего количества параметров при сохранении или улучшении точности по сравнению со многими предыдущими моделями.
    • Оптимизированное внимание: Использует упрощенную реализацию внимания, избегая позиционного кодирования.
    • Оптимизированные соотношения MLP: Регулирует коэффициенты MLP для более эффективного распределения вычислительных ресурсов.

Link to this sectionТребования#

Реализация Ultralytics YOLO12 по умолчанию не требует FlashAttention. Однако FlashAttention может быть опционально скомпилирован и использован с YOLO12. Для компиляции FlashAttention необходим один из следующих GPU NVIDIA:

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 sectionFAQ#

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: Turing (например, T4, серия Quadro RTX), Ampere (например, серия RTX30, A30/40/100), Ada Lovelace (например, серия RTX40) или Hopper (например, H100/H200). Эта гибкость позволяет пользователям использовать преимущества FlashAttention, когда позволяют аппаратные ресурсы.

Link to this sectionГде я могу найти примеры использования и более подробную документацию по YOLO12?#

На этой странице приведены базовые примеры использования для обучения и вывода. Для получения полной документации по этим и другим режимам, включая Валидацию и Экспорт, обратись к специальным страницам Predict и Train. Для информации по конкретным задачам (сегментация, классификация, ориентированное обнаружение объектов и оценка поз) обратись к соответствующей документации: Segment, Classify, OBB и Pose. Эти ресурсы предоставляют глубокое руководство по эффективному использованию YOLO12 в различных сценариях.

Комментарии