1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/wuzhihao7788-yolodet-pytorch

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README_en.md

YOLODet-PyTorch

YOLODet-PyTorch — это комплект разработчика для создания детекторов объектов, основанный на фреймворке PyTorch. Он помогает разработчикам быстрее и эффективнее выполнять весь процесс обучения модели обнаружения, оптимизации точности и скорости, а также развёртывания. YOLODet-PyTorch реализует множество основных алгоритмов обнаружения целей YOLO с модульным дизайном и предоставляет множество модулей, таких как улучшение данных, сетевые компоненты и функции потерь.

В настоящее время все модели в библиотеке обнаружения требуют использования PyTorch 1.5 и выше или соответствующей версии для разработки.

Содержание

Введение

Особенности:

  • Разнообразие моделей: YOLODet предоставляет множество моделей, охватывающих воспроизведение последних алгоритмов обнаружения YOLO, включая алгоритмы обнаружения серии YOLO, такие как YOLOv5, YOLOv4, PP-YOLO, YOLOv3 и т. д.

  • Высокая гибкость: YOLODet разделяет различные компоненты с помощью модульного дизайна и может легко создавать различные модели обнаружения на основе файлов конфигурации.

Поддерживаемые модели:

  • YOLOv5 (s, m, l, x) (docs/yolov5.md)
  • YOLOv4 (стандартный, SAM) (docs/yolov4.md)
  • PP-YOLO (docs/pp-yolo.md)
  • YOLOv3 (docs/yolov3.md)

Дополнительные бэкенды:

  • DarkNet
  • CSPDarkNet
  • ResNet
  • YOLOv5Darknet

Методы улучшения данных:

  • Mosaic
  • MixUp
  • Resize
  • LetterBox
  • RandomCrop
  • RandomFlip
  • RandomHSV
  • RandomBlur
  • RandomNoise
  • RandomAffine
  • RandomTranslation
  • Normalize
  • ImageToTensor
  • Подробнее см. здесь (docs/TRANSFORMS.md).

Поддержка функций потерь:

  • bbox loss (IOU, GIOU, DIOU, CIOU)
  • confidence loss (YOLOv4, YOLOv5, PP-YOLO)
  • IOU_Aware_Loss (PP-YOLO)
  • FocalLoss

Поддержка навыков обучения:

  • Экспоненциальное скользящее среднее (https://www.tensorflow.org/api_docs/python/tf/train/ExponentialMovingAverage)
  • Разминка
  • Градиентная сдвижка
  • Кумулятивное обновление градиента
  • Многомасштабное обучение
  • Регулировка скорости обучения: фиксированная, ступенчатая, экспоненциальная, полиномиальная, обратная, косинусная
  • Label Smooth
  • Подробное объяснение: Экспериментальное сравнение показало, что определение положительных и отрицательных образцов и определение функции потерь YOLOv5 ускоряют сходимость модели, значительно превосходя исходное определение положительных и отрицательных образцов в серии yolo. Если ресурсов карты недостаточно и вы хотите быстро сойденить модель, вы можете использовать определение положительных и отрицательных выборок и функцию потерь yolov5, соответствующий параметр — yolo_loss_type=yolov5.
  • Дополнительное дополнение к определению положительных образцов YOLOv5: Пока отношение истинного кадра к заданному кадру привязки находится в пределах 4 раз при разных масштабах, кадр привязки может отвечать за прогнозирование истинного значения кадра. И в соответствии со смещением gx и gy в центре сетки будут добавлены две дополнительные координаты сетки для прогнозирования. Благодаря этой серии операций количество положительных образцов увеличивается, и скорость сходимости модели ускоряется. Для исходной серии YOLO для истинного кадра только кадр привязки с наибольшим пересечением IOU на этом масштабе отвечает за предсказание истинного кадра при разных масштабах, а другие кадры привязки не отвечают. Поэтому из-за меньшего размера положительного образца модель сходится медленнее.

Расширенные функции:

  • Группа норм
  • Модулированный деформируемый свёрточный слой
  • Фокус
  • Пространственное объединение пирамид
  • FPN-PAN
  • Коорд конв
  • Дроп блок
  • SAM

Описание структуры кода

yolodet-pytorch
├──cfg              #The directory where the model configuration file is located (yolov5, yolov4, etc.)
├──tools            #toolkit, contains training code, test code and inference code entry.
└──yolodet
``` ## **Фреймворк YOLO для обнаружения объектов: основная кодовая база**

| ├── apis # Предоставляет интерфейс для обучения, тестирования и логического вывода фреймворка и модели обнаружения   |
| :-- |:--:|
| │ ├── dataset # Содержит общие методы, такие как DateSet, DateLoader и улучшение данных |
| │ └── models # Здесь собраны основные компоненты фреймворка YOLO для обнаружения |
|    │ ├── detectors # Сборка всех типов детекторов |
|    | ├── backbones # Все места сбора магистральных сетей |
|    | ├── necks # Все места сбора шейп-сетей |
|    | ├── heads # Место сборки голов |
|    | ├── loss # Место сбора всех функций потерь |
|    | ├── hooks # Место сборки крючков (корректировка скорости обучения, сохранение модели, журнал обучения, обновление веса и т. д.) |
|    | └── utils # Все инструменты и методы сбора |

## **Установка**
Пожалуйста, обратитесь к файлу INSTALL.md в папке docs для установки и подготовки набора данных.

## **Быстрый старт**
Для ознакомления с базовым использованием YOLODet обратитесь к файлу GETTING_STARTED.md в папке docs.

## **Предварительно обученная модель**
Нажмите здесь, чтобы просмотреть предварительно обученную модель.

## **Важно**
Из-за того, что тестовый фреймворк создан для личного досуга, из любви к глубокому обучению, написан самостоятельно, а также из-за нехватки денежных средств и графических ресурсов, предоставляется полная обучающая модель для больших наборов данных MSCOCO. В будущем будет предоставлена полная версия тренировочной модели зала, пожалуйста, ожидайте её. Для моделей с небольшими наборами данных, которые я протестировал и проверил, и которые я использовал для обучения в реальном проекте, проблем нет, и точность и скорость могут быть гарантированы.

## **Спасибо**
- Обратитесь к mmdetection от open-mmlab за структуру кода в этом фреймворке обнаружения и сделайте несколько ссылок, это объяснено в комментариях к коду.
- Инструмент визуализации структуры нейронной сети: Netron https://github.com/lutzroeder/Netron.
- Статья YOLOv4: https://arxiv.org/abs/2004.10934.
- Исходный код: https://github.com/AlexeyAB/darknet.
- Подробнее: http://pjreddie.com/darknet/yolo/.
- YOLOv5: https://github.com/ultralytics/yolov5.
- PP-YOLO: https://arxiv.org/abs/2007.12099.
- Код PP-YOLO: https://github.com/PaddlePaddle/PaddleDetection.

## **Как внести свой вклад в код**
Вы можете предоставить код для YOLODet, и ваши отзывы будут высоко оценены. Я буду постоянно улучшать и совершенствовать фреймворк обнаружения объектов всей серии YOLO на основе PyTorch, и надеюсь, что больше единомышленников и практиков смогут принять участие и совместно поддерживать этот проект. Если вы заинтересованы в этом, пожалуйста, свяжитесь со мной по электронной почте: wuzhihao7788@gmail.com. Я с нетерпением жду совместной работы над улучшением и прогрессом.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Расширить Свернуть
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://gitlife.ru/oschina-mirror/wuzhihao7788-yolodet-pytorch.git
git@gitlife.ru:oschina-mirror/wuzhihao7788-yolodet-pytorch.git
oschina-mirror
wuzhihao7788-yolodet-pytorch
wuzhihao7788-yolodet-pytorch
master