Обнаружение объектов
Обнаружение объектов - это задача, которая заключается в определении местоположения и класса объектов в изображении или видеопотоке.
Результатом работы детектора объектов является набор ограничительных рамок, в которые заключены объекты на изображении, а также метки классов и баллы доверия для каждой рамки. Обнаружение объектов - хороший выбор, когда вам нужно определить интересующие вас объекты в сцене, но не нужно точно знать, где находится объект или его точную форму.
Смотреть: Обнаружение объектов с помощью предварительно обученной модели Ultralytics YOLO .
Наконечник
YOLO11 Модели обнаружения - это модели по умолчанию YOLO11 , т.е. yolo11n.pt
и предварительно обучены на COCO.
Модели
YOLO11 Здесь показаны предварительно обученные модели Detect. Модели Detect, Segment и Pose предварительно обучены на наборе данных COCO, а модели Classify предварительно обучены на наборе данных ImageNet.
Модели автоматически загружаются из последнейверсии Ultralytics при первом использовании.
Модель | размер (пикселей) |
mAPval 50-95 |
Скорость CPU ONNX (мс) |
Скорость T4TensorRT10 (мс) |
params (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
YOLO11n | 640 | 39.5 | 56.1 ± 0.8 | 1.5 ± 0.0 | 2.6 | 6.5 |
YOLO11s | 640 | 47.0 | 90.0 ± 1.2 | 2.5 ± 0.0 | 9.4 | 21.5 |
YOLO11m | 640 | 51.5 | 183.2 ± 2.0 | 4.7 ± 0.1 | 20.1 | 68.0 |
YOLO11l | 640 | 53.4 | 238.6 ± 1.4 | 6.2 ± 0.1 | 25.3 | 86.9 |
YOLO11x | 640 | 54.7 | 462.8 ± 6.7 | 11.3 ± 0.2 | 56.9 | 194.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
Поезд
Обучение YOLO11n на наборе данных COCO8 в течение 100 эпох при размере изображения 640. Полный список доступных аргументов см. на странице Конфигурация.
Пример
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.
Вэл
Проверка обученной модели YOLO11n точность на наборе данных COCO8. Аргументы не требуются, так как 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
Предсказать
Используйте обученную модель YOLO11n для прогнозирования изображений.
Пример
Смотреть полностью predict
подробности о режиме в Предсказать страница.
Экспорт
Экспортируйте модель YOLO11n в другой формат, например ONNX, CoreML и т. д.
Пример
Доступные форматы экспорта YOLO11 приведены в таблице ниже. Вы можете экспортировать в любой формат с помощью кнопки format
аргумент, т.е. format='onnx'
или format='engine'
. Вы можете прогнозировать или проверять непосредственно на экспортированных моделях, т.е. yolo predict model=yolo11n.onnx
. Примеры использования показаны для вашей модели после завершения экспорта.
Формат | format Аргумент |
Модель | Метаданные | Аргументы |
---|---|---|---|---|
PyTorch | - | yolo11n.pt |
✅ | - |
TorchScript | torchscript |
yolo11n.torchscript |
✅ | imgsz , optimize , batch |
ONNX | onnx |
yolo11n.onnx |
✅ | imgsz , half , dynamic , simplify , opset , batch |
OpenVINO | openvino |
yolo11n_openvino_model/ |
✅ | imgsz , half , int8 , batch |
TensorRT | engine |
yolo11n.engine |
✅ | imgsz , half , dynamic , simplify , workspace , int8 , batch |
CoreML | coreml |
yolo11n.mlpackage |
✅ | imgsz , half , int8 , nms , batch |
TF SavedModel | saved_model |
yolo11n_saved_model/ |
✅ | imgsz , keras , int8 , batch |
TF GraphDef | pb |
yolo11n.pb |
❌ | imgsz , batch |
TF Lite | tflite |
yolo11n.tflite |
✅ | imgsz , half , int8 , batch |
TF Край TPU | edgetpu |
yolo11n_edgetpu.tflite |
✅ | imgsz |
TF.js | tfjs |
yolo11n_web_model/ |
✅ | imgsz , half , int8 , batch |
PaddlePaddle | paddle |
yolo11n_paddle_model/ |
✅ | imgsz , batch |
MNN | mnn |
yolo11n.mnn |
✅ | imgsz , batch , int8 , half |
NCNN | ncnn |
yolo11n_ncnn_model/ |
✅ | imgsz , half , batch |
IMX500 | imx |
yolov8n_imx_model/ |
✅ | imgsz , int8 |
Смотреть полностью export
подробности в Экспорт страница.
ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ
Как обучить модель YOLO11 на пользовательском наборе данных?
Обучение модели YOLO11 на пользовательском наборе данных состоит из нескольких этапов:
- Подготовьте набор данных: Убедитесь, что ваш набор данных имеет формат YOLO . Для получения рекомендаций обратитесь к нашему Руководству по набору данных.
- Загрузите модель: Используйте библиотеку Ultralytics YOLO для загрузки предварительно обученной модели или создания новой модели из YAML-файла.
- Обучение модели: Выполнить
train
метод в Python илиyolo detect train
команда в CLI.
Пример
Подробные параметры конфигурации можно найти на странице Конфигурация.
Какие предварительно обученные модели доступны на сайте YOLO11?
Ultralytics YOLO11 предлагает различные предварительно обученные модели для обнаружения, сегментации и оценки положения объектов. Эти модели предварительно обучены на наборе данных COCO или ImageNet для задач классификации. Вот некоторые из доступных моделей:
Подробный список и показатели производительности приведены в разделе "Модели".
Как проверить точность обученной модели YOLO ?
Чтобы проверить точность обученной модели YOLO11 , вы можете использовать .val()
метод в Python или yolo detect val
команда в CLI. Это позволит получить такие метрики, как mAP50-95, mAP50 и другие.
Пример
Более подробную информацию о валидации можно найти на странице Val.
В какие форматы можно экспортировать модель YOLO11 ?
Ultralytics YOLO11 позволяет экспортировать модели в различные форматы, такие как ONNX, TensorRT, CoreML и другие, чтобы обеспечить совместимость с различными платформами и устройствами.
Пример
Ознакомьтесь с полным списком поддерживаемых форматов и инструкциями на странице "Экспорт".
Почему для обнаружения объектов следует использовать Ultralytics YOLO11 ?
Ultralytics YOLO11 разработан для того, чтобы обеспечить самую современную производительность при обнаружении, сегментации и оценке положения объектов. Вот некоторые ключевые преимущества:
- Предварительно обученные модели: Используйте модели, предварительно обученные на популярных наборах данных, таких как COCO и ImageNet, для ускорения разработки.
- Высокая точность: Достигает впечатляющих показателей mAP, обеспечивая надежное обнаружение объектов.
- Скорость: Оптимизирован для проведения выводов в режиме реального времени, что делает его идеальным для приложений, требующих быстрой обработки.
- Гибкость: Экспорт моделей в различные форматы, такие как ONNX и TensorRT , для развертывания на различных платформах.
Ознакомьтесь с нашим блогом, чтобы найти примеры использования и истории успеха, демонстрирующие YOLO11 в действии.