¡BestYOLO es un marco de mejores prácticas de YOLO orientado por la investigación científica y la competencia!
Actualmente, BestYOLO es una biblioteca de código abierto completamente mejorada basada en YOLOv5 v7.0. La biblioteca siempre estará orientada a aplicaciones prácticas, apuntando a la portabilidad y facilidad de uso, y simplificará la mejora de varios módulos. Actualmente, se ha integrado el algoritmo de detección de objetivos YOLOv5 basado en el modelo Backbone de torchvision.models, y gradualmente se abrirán más aplicaciones YOLOv5.
?mejorar
- Backbone-ResNet18 se alinea con resnet18
- Backbone-RegNet_y_400mf alinear regnet_y_400mf
- Backbone-MobileNetV3 pequeña alineación mobilenet_v3_small
- Backbone-EfficientNet_B0 alineado conficientnet_b0
- Backbone-ResNet34 se alinea con resnet34
- Backbone-ResNet50 alinea resnet50
- Backbone-EfficientNetV2_s eficientenet_v2_s alineado
- Backbone-EfficientNet_B1 alineado con eficientenet_b1
- Backbone-MobileNetV2 se alinea con mobilenet_v2
- Backbone-wide_resnet50_2 alinear wide_resnet50_2
- Backbone-VGG11_BN alinear vgg11_bn
- Backbone-Convnext Tiny alinear convnext_tiny
Todos los modelos de Backbone admiten la habilitación de pesos previamente entrenados agregando pretrained=True
a cada modelo common.py. ¡Todos los pesos previamente entrenados en torchvision.models
se entrenan en función del conjunto de datos ImageNet-1K!
modelos | capas | parámetros | Tamaño del modelo (MB) |
---|
yolov5n | 214 | 1766623 | 3.9 |
MóvilNetV3s | 313 | 2137311 | 4.7 |
eficientenet_b0 | 443 | 6241531 | 13.0 |
RegNety400 | 450 | 5000191 | 10.5 |
ResNet18 | 177 | 12352447 | 25.1 |
ResNet34 | 223 | 22460607 | 45.3 |
ResNet50 | 258 | 27560895 | 55,7 |
EfficientNetV2_s | 820 | 22419151 | 45,8 |
eficientenet_b1 | 539 | 6595615 | 13.8 |
móvilnet_v2 | 320 | 4455295 | 9.4 |
ancho_resnet50_2 | 258 | 70887103 | 142.3 |
vgg11_bn | 140 | 10442879 | 21.9 |
convnext_tiny | 308 | 29310175 | 59.0 |
Puede intentar configurar depth_multiple
y width_multiple
en el archivo de configuración .yaml
en 1 al mismo tiempo, tal vez tenga buenos resultados.
SPP es una agrupación piramidal espacial, que se utiliza para lograr una salida de tamaño adaptable. (El tamaño de salida de las capas de agrupación tradicionales, como la agrupación máxima y la agrupación promedio, está vinculado al tamaño de entrada, pero cuando finalmente creamos una capa completamente conectada para implementar la clasificación, necesitamos especificar la entrada completamente conectada, por lo que necesitamos una forma de Deje que la red neuronal La red obtenga una salida de dimensión fija en una determinada capa, y es mejor no cambiar el tamaño de este método (el cambio de tamaño causará distorsión), por lo que surgió SPP Fue propuesto por primera vez por He Kaiming y aplicado a RCNN. modelo). El SPP actual se ha convertido en el Multi-Scale-ROI-Align actual en rcnn más rápido y se ha convertido en SPPF en Yolo.
- yolov5n(SPPF)
- yolov5n-SPP
- yolov5n-SimSPPF
- yolov5n-ASPP
- yolov5n-RFB
- yolov5n-SPPCSPC
- yolov5n-SPPCSPC_group
- yolov5n-SimCSSPSPPF
modelos | capas | parámetros |
---|
yolov5n(SPPF) | 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 |
- yolov5n
- yolov5n-FPN-AC
- yolov5n-PAN-AC
- yolov5n-FPN+PAN-AC
- yolov5n-FPN-AS
- yolov5n-PAN-AS
- yolov5n-FPN+PAN-AS
modelos | capas | parámetros |
---|
yolov5n | 214 | 1766623 |
yolov5n-FPN-AC | 188 | 1858399 |
yolov5n-PAN-AC | 186 | 1642591 |
yolov5n-FPN+PAN-AC | 160 | 1734367 |
yolov5n-FPN-AS | 204 | 2106847 |
yolov5n-PAN-AS | 194 | 1891039 |
yolov5n-FPN+PAN-AS | 184 | 2231263 |
- Asignación de transporte óptima
- Formación asistida Asignación Óptima de Transporte
- NMS suave
No utilice Soft-NMS
para el entrenamiento. Lleva demasiado tiempo. Habilítelo en val
. Es adecuado para datos superpuestos de objetivos pequeños.
- cabeza desacoplada
- DCNv2
- FMB
- DCNv3
- NWD
solicitud
- Subprograma YOLOv5 WeChat
- Asistente de producción de conjuntos de datos YOLOv5
- YOLOv5 caja única con múltiples etiquetas
?Habilidad
- Contenido didáctico de capacitación y pruebas del modelo YOLOv5 y implementación multiterminal
- Comprenda la implementación de YOLOv5-OneFlow de cero a uno
- Problema de cálculo de FPS de YOLOV5
- Introducción al módulo Neck de la serie YOLO
- Explicación detallada de la mejora de datos de YOLOv5 (hyp.scratch-low.yaml y augmentations.py)
- Cualquier versión de YOLOv5 agrega visualización de mapas de calor Grad-CAM
- Método de cifrado y descifrado de peso del modelo entrenado por YOLOv5
- Serie YOLOv5: 6. Modificar Soft-NMS, Soft-CIoUNM...
- Serie YOLOv5: la agrupación piramidal espacial mejora SPPF/SPPFCSPC...
- YOLOv5 | Capa de autoatención independiente para tareas visuales
- Cifrado del código del proyecto YOLOv5
- YOLOv5: Agregar tasa de detección perdida y salida de tasa de detección falsa
- Análisis YOLOv5 | Dibujar cuadro comparativo de datos del archivo results.csv
- Trucos de la estrategia de muestreo de imágenes YOLOv5: muestreo según el peso de cada categoría del conjunto de datos
- Cómo YOLOv5 realiza la detección de objetivos regionales (tutorial paso a paso)
- Una revisión exhaustiva de los artículos sobre detección de objetivos 2D (37 artículos)
- Leí más de 30 revistas básicas chinas que mejoraron YOLO de la noche a la mañana.
- Una colección de artículos básicos sobre las últimas mejoras de CNKI a YOLO | Una descripción general rápida de 22 innovaciones
- Asesino de detección de objetivos pequeños: yolov5-pip y sahi
- El gran asesino de la detección de objetivos pequeños: la mejora de los datos
Cabe señalar que los datos de entrenamiento e inferencia permanecen en la misma forma de datos, es decir, ¡no se puede entrenar a través de gráficos sin cortes e inferir basándose en gráficos cortados!
- Una referencia de selección de optimizador inmadura:
?referirse a
- 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
?Trabajar
- https://github.com/cv516Buaa/tph-yolov5
- https://github.com/icey-zhang/SuperYOLO
- https://github.com/luogen1996/OneTeacher
- https://github.com/AlibabaResearch/ficientteacher
- 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
?Cita
@ article { 2023 bestyolo ,
title = {{ BestYOLO }: Making research and competition easier },
author = { Rongsheng Wang },
repo = { github https : // github . com / WangRongsheng / BestYOLO },
year = { 2023 }
}
contribuir