YOLO Vision 2026:

YOLOv3 и YOLOv3u#

Обзор#

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

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

  2. YOLOv3u: Это обновленная версия YOLOv3-Ultralytics, в которую интегрирована раздельная «голова» (split head) без использования анкеров (anchor-free) и оценок предметности (objectness-free), применяемая в моделях YOLOv8. YOLOv3u сохраняет ту же архитектуру бэкбона и шейпа, что и YOLOv3, но с обновленной головой обнаружения из YOLOv8.

Баннер модели обнаружения объектов YOLOv3

Ключевые особенности#

  • YOLOv3: Появилось использование трех различных масштабов для обнаружения с задействованием трех разных размеров ядер обнаружения: 13x13, 26x26 и 52x52. Это значительно повысило точность обнаружения объектов разного размера. Кроме того, в YOLOv3 добавлены такие функции, как многометочные предсказания для каждого ограничивающего прямоугольника и улучшенная сеть извлечения признаков.

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

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

YOLOv3 разработана специально для задач обнаружения объектов. Ultralytics поддерживает три варианта YOLOv3: yolov3u, yolov3-tinyu и yolov3-sppu. Буква u в названии означает, что они используют «голову» без анкеров из YOLOv8, в отличие от их исходной архитектуры на основе анкеров. Эти модели славятся своей эффективностью в различных реальных сценариях, балансируя между точностью и скоростью. Каждый вариант предлагает уникальные функции и оптимизации, делая их пригодными для широкого спектра приложений.

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

Тип моделиПредобученные весаПоддерживаемые задачиTrainingValidationInferenceЭкспорт
YOLOv3(u)yolov3u.ptОбнаружение объектов (Object Detection)
YOLOv3-Tiny(u)yolov3-tinyu.ptОбнаружение объектов (Object Detection)
YOLOv3u-SPP(u)yolov3-sppu.ptОбнаружение объектов (Object Detection)

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

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

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

Пример

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

from ultralytics import YOLO

# Load a COCO-pretrained YOLOv3u model
model = YOLO("yolov3u.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 YOLOv3u model on the 'bus.jpg' image
results = model("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}
}

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

FAQ#

Каковы различия между YOLOv3, YOLOv3-Ultralytics и YOLOv3u?#

YOLOv3 — это третья итерация алгоритма обнаружения объектов YOLO (You Only Look Once), разработанного Джозефом Редмоном, известная своим балансом точности и скорости, использующая три разных масштаба (13x13, 26x26 и 52x52) для обнаружений. YOLOv3-Ultralytics — это адаптация YOLOv3 от Ultralytics, добавляющая поддержку большего количества предварительно обученных моделей и облегчающая кастомизацию моделей. YOLOv3u — это усовершенствованный вариант YOLOv3-Ultralytics, объединяющий раздельную «голову» без анкеров и оценок предметности из YOLOv8, что повышает надежность и точность обнаружения для объектов разных размеров. Подробнее о вариантах см. в серии YOLOv3.

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

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

Пример
from ultralytics import YOLO

# Load a COCO-pretrained YOLOv3u model
model = YOLO("yolov3u.pt")

# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

Для получения более подробных вариантов обучения и руководств посети нашу документацию по режиму обучения.

Что делает YOLOv3u более точной для задач обнаружения объектов?#

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

Как использовать модели YOLOv3 для инференса?#

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

Пример
from ultralytics import YOLO

# Load a COCO-pretrained YOLOv3u model
model = YOLO("yolov3u.pt")

# Run inference with the YOLOv3u model on the 'bus.jpg' image
results = model("path/to/bus.jpg")

Обратись к документации по режиму инференса для получения дополнительной информации о запуск моделей YOLO.

Какие задачи поддерживаются YOLOv3 и его вариантами?#

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

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

Для получения подробной информации о цитировании обратись к разделу Цитаты и благодарности.

Комментарии