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

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.



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

Комментарии