Перейти к содержимому

Обнаружение объектов

Примеры обнаружения объектов

Object detection is a task that involves identifying the location and class of objects in an image or video stream.

Результатом работы детектора объектов является набор ограничительных рамок, в которые заключены объекты на изображении, а также метки классов и баллы доверия для каждой рамки. Детектор объектов - это хороший выбор, когда тебе нужно определить интересующие тебя объекты в сцене, но при этом не нужно точно знать, где находится объект или его точную форму.



Смотри: Object Detection with Pre-trained Ultralytics YOLO Model.

Наконечник

YOLO11 Detect models are the default YOLO11 models, i.e. yolo11n.pt и предварительно обучены на COCO.

Модели

YOLO11 pretrained Detect models are shown here. Detect, Segment and Pose models are pretrained on the COCO dataset, while Classify models are pretrained on the ImageNet dataset.

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

МодельРазмер
(пикселей)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Speed
T4 TensorRT10
(ms)
params
(M)
FLOPs
(B)
YOLO11n64039.556.1 ± 0.81.5 ± 0.02.66.5
YOLO11s64047.090.0 ± 1.22.5 ± 0.09.421.5
YOLO11m64051.5183.2 ± 2.04.7 ± 0.120.168.0
YOLO11l64053.4238.6 ± 1.46.2 ± 0.125.386.9
YOLO11x64054.7462.8 ± 6.711.3 ± 0.256.9194.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

Поезд

Train YOLO11n on the COCO8 dataset for 100 epochs at image size 640. For a full list of available arguments see the Configuration page.

Пример

from ultralytics import YOLO

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

# Train the model
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Build a new model from YAML and start training from scratch
yolo detect train data=coco8.yaml model=yolo11n.yaml epochs=100 imgsz=640

# Start training from a pretrained *.pt model
yolo detect train data=coco8.yaml model=yolo11n.pt epochs=100 imgsz=640

# Build a new model from YAML, transfer pretrained weights to it and start training
yolo detect train data=coco8.yaml model=yolo11n.yaml pretrained=yolo11n.pt epochs=100 imgsz=640

Формат датасета

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

Вэл

Validate trained YOLO11n model accuracy on the COCO8 dataset. No arguments are needed as the model сохраняет свою подготовку data и аргументы в качестве атрибутов модели.

Пример

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.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 contains map50-95 of each category
yolo detect val model=yolo11n.pt  # val official model
yolo detect val model=path/to/best.pt  # val custom model

Предсказывай

Use a trained YOLO11n model to run predictions on images.

Пример

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.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
yolo detect predict model=yolo11n.pt source='https://ultralytics.com/images/bus.jpg'  # predict with official model
yolo detect predict model=path/to/best.pt source='https://ultralytics.com/images/bus.jpg'  # predict with custom model

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

Экспорт

Export a YOLO11n model to a different format like ONNX, CoreML, etc.

Пример

from ultralytics import YOLO

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

# Export the model
model.export(format="onnx")
yolo export model=yolo11n.pt format=onnx  # export official model
yolo export model=path/to/best.pt format=onnx  # export custom trained model

Available YOLO11 export formats are in the table below. You can export to any format using the format аргумент, то есть format='onnx' или format='engine'. Ты можешь предсказывать или проверять непосредственно на экспортированных моделях, то есть yolo predict model=yolo11n.onnx. Примеры использования будут показаны для твоей модели после завершения экспорта.

Форматformat АргументМодельМетаданныеАргументы
PyTorch-yolo11n.pt-
TorchScripttorchscriptyolo11n.torchscriptimgsz, optimize, batch
ONNXonnxyolo11n.onnximgsz, half, dynamic, simplify, opset, batch
OpenVINOopenvinoyolo11n_openvino_model/imgsz, half, int8, batch
TensorRTengineyolo11n.engineimgsz, half, dynamic, simplify, workspace, int8, batch
CoreMLcoremlyolo11n.mlpackageimgsz, half, int8, nms, batch
TF SavedModelsaved_modelyolo11n_saved_model/imgsz, keras, int8, batch
TF GraphDefpbyolo11n.pbimgsz, batch
TF Litetfliteyolo11n.tfliteimgsz, half, int8, batch
TF Край TPUedgetpuyolo11n_edgetpu.tfliteimgsz
TF.jstfjsyolo11n_web_model/imgsz, half, int8, batch
PaddlePaddlepaddleyolo11n_paddle_model/imgsz, batch
MNNmnnyolo11n.mnnimgsz, batch, int8, half
NCNNncnnyolo11n_ncnn_model/imgsz, half, batch
IMX500imxyolo11n_imx_model/imgsz, int8

Смотреть полностью export подробности в Экспорт Страница.

ВОПРОСЫ И ОТВЕТЫ

How do I train a YOLO11 model on my custom dataset?

Training a YOLO11 model on a custom dataset involves a few steps:

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

Пример

from ultralytics import YOLO

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

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

О подробных параметрах настройки читай на странице " Конфигурация ".

What pretrained models are available in YOLO11?

Ultralytics YOLO11 offers various pretrained models for object detection, segmentation, and pose estimation. These models are pretrained on the COCO dataset or ImageNet for classification tasks. Here are some of the available models:

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

How can I validate the accuracy of my trained YOLO model?

To validate the accuracy of your trained YOLO11 model, you can use the .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
yolo detect val model=path/to/best.pt

Чтобы узнать подробности валидации, посети страницу Val.

What formats can I export a YOLO11 model to?

Ultralytics YOLO11 allows exporting models to various formats such as ONNX, TensorRT, CoreML, and more to ensure compatibility across different platforms and devices.

Пример

from ultralytics import YOLO

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

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

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

Why should I use Ultralytics YOLO11 for object detection?

Ultralytics YOLO11 is designed to offer state-of-the-art performance for object detection, segmentation, and pose estimation. Here are some key advantages:

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

Explore our Blog for use cases and success stories showcasing YOLO11 in action.

📅 Created 1 year ago ✏️ Updated 1 month ago

Комментарии