Meet YOLO26: next-gen vision AI.

Link to this sectionОбнаружение объектов#

YOLO object detection with bounding boxes

Обнаружение объектов — это задача, включающая идентификацию местоположения и класса объектов на изображении или в видеопотоке.

Результатом работы детектора объектов является набор ограничивающих рамок (bounding boxes), которые охватывают объекты на изображении, а также метки классов и показатели достоверности (confidence scores) для каждой рамки. Обнаружение объектов — хороший выбор, когда тебе нужно идентифицировать интересующие тебя объекты в сцене, но не обязательно точно знать их положение или точную форму.



Watch: Object Detection with Pretrained Ultralytics YOLO Model.
Совет

Модели YOLO26 Detect — это модели YOLO26 по умолчанию, например yolo26n.pt, которые предварительно обучены на COCO.

Link to this sectionМодели#

Здесь представлены предварительно обученные модели YOLO26 Detect. Модели Detect, Segment и Pose предварительно обучены на наборе данных COCO, модели Semantic — на Cityscapes, а модели Classify — на наборе данных ImageNet.

Модели при первом использовании автоматически загружаются из последнего релиза Ultralytics.

Модельразмер
(пиксели)
mAPval
50-95
mAPval
50-95(e2e)
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(М)
FLOPs
(Б)
YOLO26n64040.940.138.9 ± 0.71.7 ± 0.02.45.4
YOLO26s64048.647.887.2 ± 0.92.5 ± 0.09.520.7
YOLO26m64053.152.5220.0 ± 1.44.7 ± 0.120.468.2
YOLO26l64055.054.4286.2 ± 2.06.2 ± 0.224.886.4
YOLO26x64057.556.9525.8 ± 4.011.8 ± 0.255.7193.9
  • Значения mAPval указаны для одной модели и одного масштаба на наборе данных COCO val2017.
    Воспроизведи с помощью yolo val detect data=coco.yaml device=0
  • Скорость усреднена по изображениям COCO val с использованием инстанса Amazon EC2 P4d.
    Воспроизведи с помощью yolo val detect data=coco.yaml batch=1 device=0|cpu
  • Значения Params и FLOPs указаны для объединенной (fused) модели после model.fuse(), которая объединяет слои Conv и BatchNorm и, для моделей end-to-end, удаляет вспомогательную голову обнаружения one-to-many. Предварительно обученные чекпоинты сохраняют полную архитектуру обучения и могут показывать более высокие значения.

Link to this sectionОбучение#

Обучи YOLO26n на наборе данных COCO8 в течение 100 эпох при размере изображения 640. Полный список доступных аргументов смотри на странице Конфигурация.

Пример
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n.yaml")  # build a new model from YAML
model = YOLO("yolo26n.pt")  # load a pretrained model (recommended for training)
model = YOLO("yolo26n.yaml").load("yolo26n.pt")  # build from YAML and transfer weights

# Train the model
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

Подробности режима train смотри на странице Обучение (Train). Модели обнаружения также можно обучать на облачных GPU через платформу Ultralytics.

Link to this sectionФормат набора данных#

Подробную информацию о формате набора данных для обнаружения YOLO можно найти в Руководстве по наборам данных. Чтобы преобразовать существующий набор данных из других форматов (например, COCO и т.д.) в формат YOLO, используй инструмент JSON2YOLO от Ultralytics. Ты также можешь аннотировать и управлять наборами данных для обнаружения прямо на платформе Ultralytics с помощью инструментов разметки с поддержкой ИИ.

Link to this sectionВалидация#

Проверь точность обученной модели YOLO26n на наборе данных COCO8. Аргументы не нужны, так как model сохраняет свои data обучения и аргументы в качестве атрибутов модели.

Пример
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n.pt")  # load an official model
model = YOLO("path/to/best.pt")  # load a custom model

# Validate the model
metrics = model.val()  # no arguments needed, dataset and settings remembered
metrics.box.map  # map50-95
metrics.box.map50  # map50
metrics.box.map75  # map75
metrics.box.maps  # a list containing mAP50-95 for each category
metrics.box.image_metrics  # per-image metrics dictionary with precision, recall, F1, TP, FP, and FN

Link to this sectionПрогнозирование#

Используй обученную модель YOLO26n для выполнения предсказаний на изображениях.

Пример
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n.pt")  # load an official model
model = YOLO("path/to/best.pt")  # load a custom model

# Predict with the model
results = model("https://ultralytics.com/images/bus.jpg")  # predict on an image

# Access the results
for result in results:
    xywh = result.boxes.xywh  # center-x, center-y, width, height
    xywhn = result.boxes.xywhn  # normalized
    xyxy = result.boxes.xyxy  # top-left-x, top-left-y, bottom-right-x, bottom-right-y
    xyxyn = result.boxes.xyxyn  # normalized
    names = [result.names[cls.item()] for cls in result.boxes.cls.int()]  # class name of each box
    confs = result.boxes.conf  # confidence score of each box

Подробности режима predict смотри на странице Предсказание (Predict).

Link to this sectionВывод результатов#

Обнаружение объектов возвращает один объект Results для каждого изображения. Основное поле предсказания — result.boxes, которое содержит координаты рамок, ID классов и показатели достоверности для каждого обнаруженного объекта.

АтрибутТипФормаОписание
result.boxesBoxes(N)Рамки обнаружения.
result.boxes.datatorch.float32(N,6/7)Необработанные данные [x1,y1,x2,y2,conf,cls], плюс опциональный ID отслеживания.
result.boxes.xyxytorch.float32(N,4)Пиксельные рамки xyxy.
result.boxes.conftorch.float32(N,)Показатели достоверности.
result.boxes.clstorch.float32(N,)ID классов; приведи к int для получения названий.

Для полей Results, специфичных для каждой задачи, смотри раздел Результаты предсказания по задачам.

Link to this sectionЭкспорт#

Экспортируй модель YOLO26n в другой формат, такой как ONNX, CoreML и т.д.

Пример
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n.pt")  # load an official model
model = YOLO("path/to/best.pt")  # load a custom-trained model

# Export the model
model.export(format="onnx")

Доступные форматы экспорта YOLO26 приведены в таблице ниже. Ты можешь экспортировать в любой формат, используя аргумент format, например, format='onnx' или format='engine'. Ты можешь выполнять предсказание или валидацию напрямую на экспортированных моделях, например, yolo predict model=yolo26n.onnx. Примеры использования показаны для твоей модели после завершения экспорта.

ФорматАргумент formatМодельМетаданныеАргументы
PyTorch-yolo26n.pt-
TorchScripttorchscriptyolo26n.torchscriptimgsz, half, dynamic, optimize, nms, batch, device
ONNXonnxyolo26n.onnximgsz, half, int8, dynamic, simplify, opset, nms, batch, data, fraction, device
OpenVINOopenvinoyolo26n_openvino_model/imgsz, half, dynamic, int8, nms, batch, data, fraction, device
TensorRTengineyolo26n.engineimgsz, half, dynamic, simplify, workspace, int8, nms, batch, data, fraction, device
CoreMLcoremlyolo26n.mlpackageimgsz, dynamic, half, int8, nms, batch, device
TF SavedModelsaved_modelyolo26n_saved_model/imgsz, keras, int8, nms, batch, data, fraction, device
TF GraphDefpbyolo26n.pbimgsz, batch, device
TF Litetfliteyolo26n.tfliteimgsz, half, int8, nms, batch, data, fraction, device
TF Edge TPUedgetpuyolo26n_edgetpu.tfliteimgsz, int8, data, fraction, device
TF.jstfjsyolo26n_web_model/imgsz, half, int8, nms, batch, data, fraction, device
PaddlePaddlepaddleyolo26n_paddle_model/imgsz, batch, device
MNNmnnyolo26n.mnnimgsz, batch, int8, half, device
NCNNncnnyolo26n_ncnn_model/imgsz, half, batch, device
IMX500imxyolo26n_imx_model/imgsz, int8, data, fraction, nms, device
RKNNrknnyolo26n_rknn_model/imgsz, batch, name, int8, data, fraction, device
ExecuTorchexecutorchyolo26n_executorch_model/imgsz, batch, device
Axeleraaxelerayolo26n_axelera_model/imgsz, batch, int8, data, fraction, device
DEEPXdeepxyolo26n_deepx_model/imgsz, int8, data, optimize, device
Qualcomm QNNqnnyolo26n_qnn_model/imgsz, batch, name, int8, data, fraction, device

Полную информацию об export смотри на странице Export.

Link to this sectionЧасто задаваемые вопросы (FAQ)#

Link to this sectionМогу ли я обучать и развертывать модели обнаружения без написания кода?#

Да. Ultralytics Platform предоставляет рабочий процесс на базе браузера для аннотирования наборов данных, обучения моделей обнаружения на облачных GPU и их развертывания на конечных точках вывода. Ознакомься с кратким руководством по платформе, чтобы начать.

Link to this sectionКак обучить модель YOLO26 на моем собственном наборе данных?#

Обучение модели YOLO26 на пользовательском наборе данных включает несколько шагов:

  1. Подготовь набор данных: Убедись, что твой набор данных находится в формате YOLO. Для получения рекомендаций обратись к нашему Руководству по наборам данных.
  2. Загрузи модель: Используй библиотеку Ultralytics YOLO для загрузки предобученной модели или создания новой модели из файла YAML.
  3. Обучи модель: Выполни метод train в Python или команду yolo detect train в CLI.
Пример
from ultralytics import YOLO

# Load a pretrained model
model = YOLO("yolo26n.pt")

# Train the model on your custom dataset
model.train(data="my_custom_dataset.yaml", epochs=100, imgsz=640)

Для получения подробных параметров конфигурации посети страницу Конфигурация.

Link to this sectionКакие предобученные модели доступны в YOLO26?#

Ultralytics YOLO26 предлагает различные предобученные модели для обнаружения объектов, сегментации экземпляров, семантической сегментации и оценки позы. Эти модели предобучены на наборе данных COCO, Cityscapes для семантической сегментации или ImageNet для задач классификации. Вот некоторые из доступных моделей:

Подробный список и метрики производительности можно найти в разделе Модели.

Link to this sectionКак проверить точность моей обученной модели YOLO?#

Чтобы проверить точность твоей обученной модели YOLO26, ты можешь использовать метод .val() в Python или команду yolo detect val в CLI. Это даст тебе метрики, такие как mAP50-95, mAP50 и другие.

Пример
from ultralytics import YOLO

# Load the model
model = YOLO("path/to/best.pt")

# Validate the model
metrics = model.val()
print(metrics.box.map)  # mAP50-95

Для получения дополнительной информации о валидации посети страницу Val.

Link to this sectionВ какие форматы я могу экспортировать модель YOLO26?#

Ultralytics YOLO26 позволяет экспортировать модели в различные форматы, такие как ONNX, TensorRT, CoreML и другие, для обеспечения совместимости между различными платформами и устройствами.

Пример
from ultralytics import YOLO

# Load the model
model = YOLO("yolo26n.pt")

# Export the model to ONNX format
model.export(format="onnx")

Ознакомься с полным списком поддерживаемых форматов и инструкциями на странице Export.

Link to this sectionПочему мне стоит использовать Ultralytics YOLO26 для обнаружения объектов?#

Ultralytics YOLO26 разработан для обеспечения передовой производительности в задачах обнаружения объектов, сегментации экземпляров, семантической сегментации и оценки позы. Вот несколько ключевых преимуществ:

  1. Предобученные модели: Используй модели, предобученные на популярных наборах данных, таких как COCO и ImageNet, для более быстрой разработки.
  2. Высокая точность: Достигает впечатляющих показателей mAP, обеспечивая надежное обнаружение объектов.
  3. Скорость: Оптимизировано для вывода в реальном времени, что делает его идеальным для приложений, требующих быстрой обработки.
  4. Гибкость: Экспортируй модели в различные форматы, такие как ONNX и TensorRT, для развертывания на нескольких платформах.

Изучи наш Блог, где представлены сценарии использования и истории успеха, демонстрирующие YOLO26 в действии.

Комментарии