Перейти к содержанию

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 в основном поддерживают задачи обнаружения объектов. Эти модели можно использовать на различных этапах развертывания и разработки моделей, таких как вывод, проверка, обучение и экспорт. Для получения полного набора поддерживаемых задач и более подробной информации посетите нашу документацию по задачам обнаружения объектов.

Где я могу найти ресурсы для цитирования 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}
}

Более подробную информацию о цитировании см. в разделе "Цитаты и благодарности".

📅 Создано 1 год назад ✏️ Обновлено 2 месяца назад

Комментарии