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

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: Ввел использование трех разных масштабов для обнаружения, используя три разных размера ядер обнаружения: 13x13, 26x26 и 52x52. Это значительно повысило точность обнаружения объектов разных размеров. Кроме того, в YOLOv3 добавлены такие функции, как прогнозирование по нескольким меткам для каждого ограничительного поля и улучшенная сеть экстрактора признаков.

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

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

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

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

Все три модели поддерживают обширный набор режимов, что обеспечивает универсальность на различных этапах развертывания и разработки модели. Эти режимы включают в себя "Вывод", "Проверка", " Обучение" и " Экспорт", предоставляя пользователям полный набор инструментов для эффективного обнаружения объектов.

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

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

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

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

Пример

PyTorch предварительно обученный *.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 - это третья итерация алгоритма обнаружения объектов YOLO (You Only Look Once), разработанного Джозефом Редмоном, известного своим балансом точности и скорости, использующего три разных масштаба (13x13, 26x26 и 52x52) для обнаружения. YOLOv3-Ultralytics - это Ultralytics' адаптация YOLOv3, которая добавляет поддержку большего количества предварительно обученных моделей и облегчает настройку моделей. YOLOv3u - это модернизированный вариант YOLOv3-Ultralytics, в который интегрирована безъякорная и безобъектная сплит-головка из YOLOv8, повышающая надежность и точность обнаружения объектов различных размеров. Более подробную информацию о вариантах можно найти в серии YOLOv3.

Как обучить модель 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}
}

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



Создано 2023-11-12, Обновлено 2024-07-04
Авторы: glenn-jocher (9)

Комментарии