BestYOLO é uma estrutura de melhores práticas YOLO orientada por pesquisa científica e competição!
Atualmente, BestYOLO é uma biblioteca de código aberto totalmente aprimorada com base no YOLOv5 v7.0. A biblioteca estará sempre orientada para aplicações práticas, visando portabilidade e facilidade de uso, e simplificará o aprimoramento de diversos módulos. Atualmente, o algoritmo de detecção de alvo YOLOv5 baseado no modelo torchvision.models Backbone foi integrado e mais aplicativos YOLOv5 serão gradualmente de código aberto.
?melhorar
- Backbone-ResNet18 se alinha com resnet18
- Backbone-RegNet_y_400mf alinhar regnet_y_400mf
- Backbone-MobileNetV3 pequeno alinhamento mobilenet_v3_small
- Backbone-EfficientNet_B0 alinhadoefficientnet_b0
- Backbone-ResNet34 se alinha com resnet34
- Backbone-ResNet50 alinha resnet50
- Backbone-EfficientNetV2_s eficientenet_v2_s alinhado
- Backbone-EfficientNet_B1 alinhadoefficientnet_b1
- Backbone-MobileNetV2 alinha-se com mobilenet_v2
- Backbone-wide_resnet50_2 alinhar wide_resnet50_2
- Backbone-VGG11_BN alinhar vgg11_bn
- Backbone-Convnext Tiny alinhar convnext_tiny
Todos os modelos Backbone suportam a ativação de pesos pré-treinados adicionando pretrained=True
a cada modelo common.py. Os pesos pré-treinados em torchvision.models
são todos treinados com base no conjunto de dados ImageNet-1K!
modelos | camadas | parâmetros | tamanho do modelo (MB) |
---|
yolov5n | 214 | 1766623 | 3.9 |
MobileNetV3s | 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 |
EficienteNetV2_s | 820 | 22419151 | 45,8 |
eficientenet_b1 | 539 | 6595615 | 13,8 |
rede móvel_v2 | 320 | 4455295 | 9.4 |
wide_resnet50_2 | 258 | 70887103 | 142,3 |
vgg11_bn | 140 | 10442879 | 21.9 |
convnext_tiny | 308 | 29310175 | 59,0 |
Você pode tentar definir depth_multiple
e width_multiple
no arquivo de configuração .yaml
para 1 ao mesmo tempo, talvez tenha bons resultados.
SPP é um agrupamento de pirâmide espacial, que é usado para obter uma saída de tamanho adaptativo. (O tamanho de saída das camadas de pooling tradicionais, como pool máximo e pool médio, está vinculado ao tamanho de entrada, mas quando finalmente criamos uma camada totalmente conectada para implementar a classificação, precisamos especificar a entrada totalmente conectada, portanto, precisamos de uma maneira de deixe a rede neural A rede obter uma saída de dimensão fixa em uma determinada camada, e é melhor não redimensionar esse método (o redimensionamento causará distorção), então o SPP foi proposto pela primeira vez por He Kaiming e aplicado ao RCNN. modelo). O SPP de hoje evoluiu para o Multi-Scale-ROI-Align de hoje em um rcnn mais rápido e se desenvolveu para o SPPF no Yolo.
- yolov5n(SPPF)
- yolov5n-SPP
- yolov5n-SimSPPF
- yolov5n-ASPP
- yolov5n-RFB
- yolov5n-SPPCSPC
- yolov5n-SPPCSPC_group
- yolov5n-SimCSSPSPPF
modelos | camadas | 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 | camadas | 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 |
- Atribuição de Transporte Ideal
- Treinamento assistido Atribuição de Transporte Ideal
- Soft-NMS
Não use Soft-NMS
para treinamento. Demora muito. Ative-o no estágio val
. É adequado para dados sobrepostos de alvos pequenos.
- Cabeça desacoplada
- DCNv2
- WBF
- DCNv3
- NOD
aplicativo
- Miniaplicativo WeChat YOLOv5
- Assistente de produção de conjunto de dados YOLOv5
- YOLOv5 caixa única, vários rótulos
?Habilidade
- Treinamento e teste do modelo YOLOv5 e conteúdo de ensino de implantação multiterminal
- Entenda a implementação do YOLOv5-OneFlow de zero a um
- Problema de cálculo de FPS YOLOV5
- Introdução ao módulo Neck da série YOLO
- Explicação detalhada do aprimoramento de dados YOLOv5 (hyp.scratch-low.yaml e aumentations.py)
- Qualquer versão do YOLOv5 adiciona visualização de mapa de calor Grad-CAM
- Método de criptografia e descriptografia de peso do modelo treinado por YOLOv5
- Série YOLOv5: 6. Modificar Soft-NMS, Soft-CIoUNM...
- Série YOLOv5: Pool de pirâmide espacial melhora SPPF/SPPFCSPC...
- YOLOv5 | Camada independente de autoatenção para tarefas visuais
- Criptografia de código do projeto YOLOv5
- YOLOv5: Adicionar taxa de detecção perdida e saída de taxa de detecção falsa
- Análise YOLOv5 | Desenhar gráfico de comparação de dados do arquivo results.csv
- Truques de amostragem de estratégia de amostragem de imagens YOLOv5 de acordo com o peso de cada categoria do conjunto de dados
- Como o YOLOv5 realiza a detecção de alvos regionais (tutorial passo a passo)
- Uma revisão abrangente de artigos sobre detecção de alvos 2D (37 artigos)
- Li mais de 30 periódicos chineses que melhoraram o YOLO da noite para o dia.
- Uma coleção de artigos principais sobre as últimas melhorias do CNKI no YOLO Uma rápida visão geral de 22 inovações
- Assassino de detecção de alvo pequeno: yolov5-pip e sahi
- O grande assassino da detecção de pequenos alvos: aprimoramento de dados
Deve-se observar que os dados de treinamento e inferência permanecem na mesma forma de dados, ou seja, não é possível treinar por meio de gráficos não cortados e inferir com base em gráficos cortados!
- Uma referência de seleção de otimizador imaturo:
?consulte
- 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/positiva666/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
?Trabalhar
- 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
?Citar
@ article { 2023 bestyolo ,
title = {{ BestYOLO }: Making research and competition easier },
author = { Rongsheng Wang },
repo = { github https : // github . com / WangRongsheng / BestYOLO },
year = { 2023 }
}
contribuir