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

YOLOv3, YOLOv3-Ultralytics, и YOLOv3u

Обзор

В этом документе представлен обзор трех близких моделей обнаружения объектов, а именно YOLOv3, YOLOv3-Ultralytics, и YOLOv3u.

  1. YOLOv3: Это третья версия алгоритма обнаружения объектов You Only Look Once (YOLO). Изначально разработанный Джозефом Редмоном, YOLOv3 улучшил своих предшественников, введя такие функции, как многомасштабные предсказания и три разных размера ядер обнаружения.

  2. YOLOv3-Ultralytics: Это Ultralytics' реализация модели YOLOv3. Она воспроизводит оригинальную архитектуру YOLOv3 и предлагает дополнительные функциональные возможности, такие как поддержка большего количества предварительно обученных моделей и более простые возможности настройки.

  3. YOLOv3u: Это обновленная версия YOLOv3-Ultralytics , которая включает в себя безъякорную и безобъектную сплит-голову, используемую в моделях YOLOv8 . YOLOv3u сохраняет ту же архитектуру позвоночника и шеи, что и YOLOv3, но с обновленной головкой обнаружения из YOLOv8.

Ultralytics YOLOv3

Основные характеристики

  • YOLOv3: Introduced the use of three different scales for detection, leveraging three different sizes of detection kernels: 13x13, 26x26, and 52x52. This significantly improved detection accuracy for objects of different sizes. Additionally, YOLOv3 added features such as multi-label predictions for each bounding box and a better feature extractor network.

  • YOLOv3-Ultralytics: Ultralytics' реализация YOLOv3 обеспечивает ту же производительность, что и оригинальная модель, но в ней добавлена поддержка большего количества предварительно обученных моделей, дополнительные методы обучения и более простые возможности настройки. Это делает ее более универсальной и удобной для практического применения.

  • YOLOv3u: В этой обновленной модели применена безъякорная, безобъектная сплит-головка с сайта YOLOv8. Благодаря отсутствию необходимости в заранее заданных якорных ящиках и оценках объектности, такая конструкция головки обнаружения позволяет улучшить способность модели обнаруживать объекты разных размеров и форм. Это делает YOLOv3u более надежным и точным для задач обнаружения объектов.

Поддерживаемые задачи и режимы

Серия YOLOv3, включающая YOLOv3, YOLOv3-Ultralytics и YOLOv3u, разработана специально для задач по обнаружению объектов. Эти модели славятся своей эффективностью в различных реальных сценариях, балансом между точностью и скоростью. Каждый вариант предлагает уникальные возможности и оптимизации, что делает их подходящими для целого ряда приложений.

All three models support a comprehensive set of modes, ensuring versatility in various stages of model deployment and development. These modes include Inference, Validation, Training, and Export, providing users with a complete toolkit for effective object detection.

Тип моделиПоддерживаемые задачиЗаключениеВалидацияТренировкаЭкспорт
YOLOv3Обнаружение объектов
YOLOv3-.UltralyticsОбнаружение объектов
YOLOv3uОбнаружение объектов

Эта таблица дает наглядное представление о возможностях каждого варианта YOLOv3, подчеркивая их универсальность и пригодность для выполнения различных задач и режимов работы в рабочих процессах обнаружения объектов.

Примеры использования

В этом примере приведены простые примеры обучения и вывода YOLOv3. Полную документацию по этим и другим режимам можно найти на страницах Predict, Train, Val и Export docs.

Пример

PyTorch pretrained *.pt модели, а также конфигурации *.yaml файлы могут быть переданы в YOLO() класс, чтобы создать экземпляр модели в python:

from ultralytics import YOLO

# Load a COCO-pretrained YOLOv3n model
model = YOLO("yolov3n.pt")

# Display model information (optional)
model.info()

# 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 YOLOv3n model on the 'bus.jpg' image
results = model("path/to/bus.jpg")

CLI Для непосредственного запуска моделей доступны команды:

# Load a COCO-pretrained YOLOv3n model and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolov3n.pt data=coco8.yaml epochs=100 imgsz=640

# Load a COCO-pretrained YOLOv3n model and run inference on the 'bus.jpg' image
yolo predict model=yolov3n.pt source=path/to/bus.jpg

Цитаты и благодарности

Если ты используешь YOLOv3 в своих исследованиях, пожалуйста, ссылайся на оригинальные документы YOLO и репозиторий Ultralytics YOLOv3:

@article{redmon2018yolov3,
  title={YOLOv3: An Incremental Improvement},
  author={Redmon, Joseph and Farhadi, Ali},
  journal={arXiv preprint arXiv:1804.02767},
  year={2018}
}

Спасибо Джозефу Редмону и Али Фархади за разработку оригинального YOLOv3.

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

Чем отличаются YOLOv3, YOLOv3-Ultralytics, и YOLOv3u?

YOLOv3 is the third iteration of the YOLO (You Only Look Once) object detection algorithm developed by Joseph Redmon, known for its balance of accuracy and speed, utilizing three different scales (13x13, 26x26, and 52x52) for detections. YOLOv3-Ultralytics is Ultralytics' adaptation of YOLOv3 that adds support for more pre-trained models and facilitates easier model customization. YOLOv3u is an upgraded variant of YOLOv3-Ultralytics, integrating the anchor-free, objectness-free split head from YOLOv8, improving detection robustness and accuracy for various object sizes. For more details on the variants, refer to the YOLOv3 series.

Как обучить модель YOLOv3 с помощью Ultralytics?

Обучение модели YOLOv3 с помощью Ultralytics очень простое. Ты можешь обучить модель, используя либо Python , либо CLI:

Пример

from ultralytics import YOLO

# Load a COCO-pretrained YOLOv3n model
model = YOLO("yolov3n.pt")

# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Load a COCO-pretrained YOLOv3n model and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolov3n.pt data=coco8.yaml epochs=100 imgsz=640

Более подробные варианты тренировок и рекомендации ты найдешь в нашей документации по режиму обучения.

Что делает YOLOv3u более точным для задач по обнаружению объектов?

YOLOv3u улучшает YOLOv3 и YOLOv3-Ultralytics за счет включения безъякорной и безобъектной сплит-головы, используемой в моделях YOLOv8 . Эта модернизация устраняет необходимость в заранее заданных якорных ящиках и показателях объектности, повышая способность более точно обнаруживать объекты различных размеров и форм. Это делает YOLOv3u лучшим выбором для сложных и разнообразных задач по обнаружению объектов. За дополнительной информацией обращайся к разделу " Почему YOLOv3u ".

Как я могу использовать модели YOLOv3 для выводов?

Ты можешь делать выводы по моделям YOLOv3 как с помощью скриптов Python , так и с помощью команд CLI :

Пример

from ultralytics import YOLO

# Load a COCO-pretrained YOLOv3n model
model = YOLO("yolov3n.pt")

# Run inference with the YOLOv3n model on the 'bus.jpg' image
results = model("path/to/bus.jpg")
# Load a COCO-pretrained YOLOv3n model and run inference on the 'bus.jpg' image
yolo predict model=yolov3n.pt source=path/to/bus.jpg

Подробнее о запуске моделей YOLO читай в документации по режиму Inference.

Какие задачи поддерживает YOLOv3 и его варианты?

YOLOv3, YOLOv3-Ultralytics, и YOLOv3u в первую очередь поддерживают задачи обнаружения объектов. Эти модели можно использовать на различных этапах развертывания и разработки моделей, таких как Inference, Validation, Training и Export. Полный набор поддерживаемых задач и более подробную информацию ты можешь найти в нашей документации по задачам обнаружения объектов.

Где я могу найти ресурсы для цитирования YOLOv3 в своих исследованиях?

Если ты используешь YOLOv3 в своих исследованиях, пожалуйста, ссылайся на оригинальные статьи YOLO и репозиторий Ultralytics YOLOv3. Пример цитирования в формате BibTeX:

@article{redmon2018yolov3,
  title={YOLOv3: An Incremental Improvement},
  author={Redmon, Joseph and Farhadi, Ali},
  journal={arXiv preprint arXiv:1804.02767},
  year={2018}
}

О подробностях цитирования читай в разделе " Цитаты и благодарности ".

📅 Created 11 months ago ✏️ Updated 1 month ago

Комментарии