BestYOLO — это лучшая практика YOLO, ориентированная на научные исследования и соревнования!
В настоящее время BestYOLO представляет собой библиотеку с открытым исходным кодом, полностью улучшенную на основе YOLOv5 v7.0. Библиотека всегда будет ориентирована на практические приложения, нацелена на мобильность и простоту использования, а также упростит усовершенствование различных модулей. В настоящее время алгоритм обнаружения целей YOLOv5, основанный на модели Backbone torchvision.models, интегрирован, и постепенно все больше приложений YOLOv5 будут открываться с открытым исходным кодом.
?улучшать
- Backbone-ResNet18 соответствует resnet18
- Backbone-RegNet_y_400mf выровнять regnet_y_400mf
- Backbone-MobileNetV3 small выровнять mobilenet_v3_small
- Backbone-EfficientNet_B0 согласован с effectnet_b0
- Backbone-ResNet34 соответствует resnet34
- Backbone-ResNet50 выравнивает resnet50
- Backbone-EfficientNetV2_s согласовано с effectnet_v2_s
- Backbone-EfficientNet_B1 согласован с effectnet_b1
- Backbone-MobileNetV2 соответствует mobilenet_v2
- Backbone-wide_resnet50_2 выравнивание Wide_resnet50_2
- Backbone-VGG11_BN выровнять vgg11_bn
- Backbone-Convnext Tiny align convnext_tiny
Все модели Backbone поддерживают включение предварительно обученных весов путем добавления pretrained=True
к каждой модели common.py. Все предварительно обученные веса в torchvision.models
обучаются на основе набора данных ImageNet-1K!
модели | слои | параметры | размер модели (МБ) |
---|
йолов5н | 214 | 1766623 | 3,9 |
МобилНетВ3с | 313 | 2137311 | 4.7 |
effectnet_b0 | 443 | 6241531 | 13,0 |
РегНети400 | 450 | 5000191 | 10,5 |
Реснет18 | 177 | 12352447 | 25.1 |
Реснет34 | 223 | 22460607 | 45,3 |
Реснет50 | 258 | 27560895 | 55,7 |
ЭффективныйNetV2_s | 820 | 22419151 | 45,8 |
effectnet_b1 | 539 | 6595615 | 13,8 |
mobilenet_v2 | 320 | 4455295 | 9.4 |
Wide_resnet50_2 | 258 | 70887103 | 142,3 |
vgg11_bn | 140 | 10442879 | 21,9 |
convnext_tiny | 308 | 29310175 | 59,0 |
Вы можете попробовать одновременно установить depth_multiple
и width_multiple
в файле конфигурации .yaml
значение 1, возможно, это даст хорошие результаты.
SPP — это объединение пространственных пирамид, которое используется для достижения выходных данных с адаптивным размером. (Выходной размер традиционных слоев объединения, таких как максимальное объединение и среднее объединение, связан с входным размером, но когда мы, наконец, создаем полностью связный слой для реализации классификации, нам нужно указать полностью подключенный вход, поэтому нам нужен способ пусть нейронная сеть получает выходные данные фиксированного размера на определенном уровне, и этот метод лучше не изменять (изменение размера приведет к искажению), поэтому появился SPP. Он был впервые предложен Хэ Каймингом и применен к RCNN. модель). Сегодняшний SPP превратился в сегодняшнюю Multi-Scale-ROI-Align на fast-rcnn и в SPPF на Yolo.
- yolov5n(СПФФ)
- yolov5n-SPP
- yolov5n-SimSPPF
- yolov5n-ASPP
- yolov5n-RFB
- yolov5n-SPPCSPC
- yolov5n-SPPCSPC_group
- yolov5n-SimCSSPSPPF
модели | слои | параметры |
---|
yolov5n(СПФФ) | 214 | 1766623 |
yolov5n-SPP | 217 | 1766623 |
yolov5n-SimSPPF | 216 | 1766623 |
yolov5n-ASPP | 214 | 3831775 |
yolov5n-RFB | 251 | 1932287 |
yolov5n-SPPCSPC | 232 | 3375071 |
yolov5n-SPPCSPC_group | 232 | 2047967 |
yolov5n-SimCSSPSPPF | 229 | 3375071 |
- йолов5н
- yolov5n-FPN-AC
- yolov5n-PAN-AC
- yolov5n-FPN+PAN-AC
- yolov5n-FPN-АС
- yolov5n-ПАН-АС
- yolov5n-FPN+ПАН-АС
модели | слои | параметры |
---|
йолов5н | 214 | 1766623 |
yolov5n-FPN-AC | 188 | 1858399 |
yolov5n-PAN-AC | 186 | 1642591 |
yolov5n-FPN+PAN-AC | 160 | 1734367 |
yolov5n-FPN-АС | 204 | 2106847 |
yolov5n-ПАН-АС | 194 | 1891039 |
yolov5n-FPN+ПАН-АС | 184 | 2231263 |
- Оптимальное транспортное назначение
- Сопровождаемое обучение Оптимальное транспортное назначение
- Софт-НМС
Не используйте Soft-NMS
для обучения. Это занимает слишком много времени. Включите его на этапе val
. Это подходит для небольших перекрывающихся данных.
- Отдельная голова
- DCNv2
- ВБФ
- DCNv3
- НЗД
приложение
Развертывание и использование TFjs
TensorRT развертывает YOLOv5
Использование графического интерфейса Pyqt
- Помощник по созданию набора данных YOLOv5
- YOLOv5 в одной коробке с несколькими этикетками
?Навык
- Обучение и тестирование модели YOLOv5, а также обучающий контент по развертыванию нескольких терминалов
- Понять реализацию YOLOv5-OneFlow от нуля до единицы
- YOLOV5 Проблема расчета FPS
- Знакомство с шейным модулем серии YOLO
- Подробное объяснение улучшения данных YOLOv5 (hyp.scratch-low.yaml и augmentations.py).
- В любую версию YOLOv5 добавлена визуализация тепловой карты Grad-CAM.
- Метод шифрования и дешифрования веса модели, обученный YOLOv5
- Серия YOLOv5: 6. Измените Soft-NMS, Soft-CIoUNM...
- Серия YOLOv5: объединение пространственных пирамид улучшает SPPF/SPPFCSPC...
- YOLOv5 | Независимый слой самообслуживания для визуальных задач
- Шифрование кода проекта YOLOv5
- YOLOv5: добавлен вывод о частоте пропущенных обнаружений и частоте ложных обнаружений.
- Анализ YOLOv5 | Нарисуйте таблицу сравнения данных файла results.csv
- Хитрости стратегии выборки изображений YOLOv5 — выборка по весу каждой категории набора данных
- Как YOLOv5 выполняет обнаружение региональных целей (пошаговое руководство)
- Комплексный обзор статей по двумерному обнаружению целей (37 статей)
- Я прочитал более 30 профильных китайских журналов, которые за одну ночь улучшили YOLO.
- Сборник основных статей о последних улучшениях CNKI в YOLO. Краткий обзор 22 инноваций |
- Малый убийца обнаружения целей: yolov5-pip и sahi
- Главный убийца обнаружения небольших целей: улучшение набора данных
Следует отметить, что данные обучения и вывода остаются в одной и той же форме данных, то есть вы не можете обучать неразрезанные графы и делать выводы на основе разрезанных графов!
- Справочник по выбору незрелого оптимизатора:
?обратитесь к
- https://github.com/ultralytics/yolov5/tree/v7.0
- https://github.com/ppogg/YOLOv5-Lite
- https://github.com/deepcam-cn/yolov5-face
- https://github.com/Gumpest/YOLOv5-Multibackbone-Compression
- https://github.com/jizhishutong/YOLOU
- https://github.com/Bobo-y/flexible-yolov5
- https://github.com/iscyy/yoloair
- https://github.com/WangQvQ/Yolov5_Magic
- https://github.com/Hongyu-Yue/yoloV5_modify_smalltarget
- https://github.com/wuzhihao7788/yolodet-pytorch
- https://github.com/iscyy/yoloair2
- https://github.com/positive666/yolo_research
- https://github.com/Javacr/PyQt5-YOLOv5
- https://github.com/yang-0201/YOLOv6_pro
- https://github.com/yhwang-hub/dl_model_deploy
- https://github.com/FeiYull/TensorRT-Alpha
- https://github.com/sjinzh/awesome-yolo-object-detection
- https://github.com/z1069614715/objectdetection_script
- https://github.com/icey-zhang/SuperYOLO
- https://github.com/akashAD98/awesome-yolo-object-detection
?Работа
- https://github.com/cv516Buaa/tph-yolov5
- https://github.com/icey-zhang/SuperYOLO
- https://github.com/luogen1996/OneTeacher
- https://github.com/AlibabaResearch/efficientteacher
- https://github.com/YOLOonMe/EMA-attention-module
- https://github.com/maggiez0138/yolov5_quant_sample
- https://github.com/OutBreak-hui/YoloV5-Flexible-and-Inference
- https://github.com/Johnathan-Xie/ZSD-YOLO
- https://github.com/chengshuxiao/YOLOv5-ODConvNeXt
- https://github.com/LSH9832/edgeyolo
- https://github.com/Koldim2001/YOLO-Patch-Based-Inference
?Цитировать
@ article { 2023 bestyolo ,
title = {{ BestYOLO }: Making research and competition easier },
author = { Rongsheng Wang },
repo = { github https : // github . com / WangRongsheng / BestYOLO },
year = { 2023 }
}
способствовать