Skip to content
/ YOLOC Public
forked from iloveai8086/YOLOC

🚀🚀🚀YOLOC is Combining different modules to build an different Object detection model.Including YOLOv3、YOLOv4、Scaled_YOLOv4、YOLOv5、YOLOv6、YOLOv7、YOLOX、YOLOR、PPYOLO、PPYOLOE

License

Notifications You must be signed in to change notification settings

TZhirong/YOLOC

 
 

Repository files navigation

🎈🎈🎈YOLOC

Introduction

🚀YOLOC is Combining different modules to build an different Object detection model.

🌟Combining some modules and tricks to improve the YOLO detection model, the effect of using different datasets is inconsistent. Need to try and verify through specific experiments

YOLOC中支持的模块有:

  • 主流 🚀YOLOv3 模型网络结构;

  • 主流 🚀YOLOv4 模型网络结构;

  • 主流 🚀Scaled_YOLOv4 模型网络结构;

  • 主流 🚀YOLOv5 模型网络结构;

  • 主流 🚀YOLOv6 模型网络结构;

  • 主流 🚀YOLOv7 模型网络结构;

  • 主流 🚀YOLOX 模型网络结构;

  • 主流 🚀YOLOR 模型网络结构;

  • 🚀PicoDet 模型网络结构;

  • transformer架构的backbone、neck、head;

  • 改进的transformer系列的backbone、neck、head;

  • Attention系列的backbone、neck、head;

  • 基于anchor-free和anchor-based的检测器;

  • 🍉FPN、PANet、BiFPN等结构;

  • 🍉CIoU、DIoU、GIoU、EIoU、SIoU等损失函数;

  • 🍉NMS、Merge-NMS、Soft-NMS等NMS方法;

  • 🍉SE、CBAM、ECA、BAM、DANet...详细链接🔗 等30+ Attention注意力机制;

  • 🍉SiLU、Hardswish、Mish、MemoryEfficientMish、FReLU、AconC、MetaAconC等激活函数;

  • 🍉Conv, GhostConv, Bottleneck, GhostBottleneck, SPP, SPPF, DWConv, MixConv2d, Focus, CrossConv, BottleneckCSP, CBAM, ResBlock_CBAM, CoordAtt, CrossConv, C3, CTR3, Involution, C3SPP, C3Ghost, CARAFE, nn.ConvTranspose2d, DWConvTranspose2d, C3x, SPPCSPC, GhostSPPCSPC, BottleneckCSPA, BottleneckCSPB, ConvSig, BottleneckCSPC, RepConv, RepConv_OREPA, RepBottleneck, RepBottleneckCSPA, RepBottleneckCSPB, RepBottleneckCSPC, Res, ResCSPA, ResCSPB, ResCSPC, RepRes, RepResCSPA, RepResCSPB, RepResCSPC, ResX, ResXCSPA, ResXCSPB, ResXCSPC, RepResX, RepResXCSPA, RepResXCSPB, RepResXCSPC, Ghost, GhostCSPA, GhostCSPB, GhostCSPC, SwinTransformerBlock, STCSPA, STCSPB, STCSPC, SwinTransformer2Block, ST2CSPA, ST2CSPB, ST2CSPC, conv_bn_relu_maxpool, Shuffle_Block, RepVGGBlock, CBH, LC_Block, Dense, DWConvblock, BottleneckCSP2, DWT, BottleneckCSP2SAM, VoVCSP等网络模型组合模块 代码 ./models/common.py文件 内搜索🔍👉对应模块链接🔗 ... ...

  • 🚀yolo系列v3、v4、v5、v6、v7、x、r以及其他改进的网络结构

更新中

内置网络模型配置支持🚀

🎈YOLOv6

  • ✅ yolov6s
  • ✅ yolov6n
  • ✅ yolov6m
  • ✅ yolov6l
  • ✅ yolov6x ...

🎈YOLOX

  • ✅ yolox n
  • ✅ yolox tiny
  • ✅ yolox s
  • ✅ yolox m
  • ✅ yolox l
  • ✅ yolox x
  • ✅ yolox xs ...

🎈YOLOv7

  • ✅ yolov7
  • ✅ yolov7-tiny
  • ✅ yolov7-tiny-silu
  • ✅ yolov7x ...

🎈YOLOv5

  • ✅ yolov5n
  • ✅ yolov5s
  • ✅ yolov5m
  • ✅ yolov5l
  • ✅ yolov5x

🎈yolo_combining

  • ✅ yolov5s_cbam
  • ✅ yolov5Lite-s.yaml
  • ✅ yolov5Lite-g.yaml
  • ✅ yolov5Lite-c.yaml
  • ✅ yolov5Lite-e.yaml
  • ✅ yolov5-bifpn
  • ✅ yolov5-fpn
  • ✅ yolov5-p2
  • ✅ yolov5-p6
  • ✅ yolov5-p7
  • ✅ yolov5-panet
  • ✅ yolov5l6
  • ✅ yolov5m6
  • ✅ yolov5n6
  • ✅ yolov5s6
  • ✅ yolov5x6
  • ✅ yolov5s-ghost
  • ✅ yolov5-transformer 更多配置请查看 ./configs/yolo_combining 文件 ... ...

🎈Scaled_YOLOv4

  • ✅ yolov4-p5
  • ✅ yolov4-p6
  • ✅ yolov4-p7 ...

🎈YOLOR

  • ✅ yolor-csp
  • ✅ yolor-csp-x
  • ✅ r50-csp
  • ✅ x50-csp
  • ✅ yolor-d6
  • ✅ yolor-e6
  • ✅ yolor-p6
  • ✅ yolor-w6
  • ✅ yolor-ssss-dwt
  • ✅ yolor-ssss-s2d ...

🎈YOLOv3

  • ✅ yolov3-spp
  • ✅ yolov3-tiny
  • ✅ yolov3 ...

🎈YOLOv4

  • ✅ yolov4s-mish
  • ✅ yolov4m-mish
  • ✅ yolov4l-mish
  • ✅ yolov4x-mish
  • ✅ yolov4-csp
  • ✅ csp-p6-mish
  • ✅ csp-p7-mish ...

🎈PicoDet

  • ✅ PicoDet-l
  • ✅ PicoDet-m
  • ✅ PicoDet-s
  • ✅ PicoDet-x ...

🚀 可选择的YOLO组合

🌟损失函数

  • CIoU(默认)
# 代码
python train.py --loss_category CIoU
  • DIoU
# 代码
python train.py --loss_category DIoU
  • GIoU
# 代码
python train.py --loss_category GIoU
  • EIoU
# 代码
python train.py --loss_category EIoU
  • SIoU
# 代码
python train.py --loss_category SIoU

🌟NMS

  • NMS(默认)
# 代码
python val.py
  • Merge-NMS
# 代码
python val.py --merge
  • Soft-NMS
# 代码
python val.py --soft

🌟多种Attention注意力机制🚀🚀🚀

具体不同注意力机制Paper以及结构图👉👉👉点击链接🔗

Attention Series🚀🚀🚀

  1. 🎈External Attention
  2. 🎈Self Attention
  3. 🎈Simplified Self Attention
  4. 🎈Squeeze-and-Excitation Attention
  5. 🎈SK Attention
  6. 🎈CBAM Attention
  7. 🎈BAM Attention
  8. 🎈ECA Attention
  9. 🎈DANet Attention
  10. 🎈Pyramid Split Attention (PSA)
  11. 🎈Efficient Multi-Head Self-Attention(EMSA)
  12. 🎈Shuffle Attention
  13. 🎈MUSE Attention
  14. 🎈SGE Attention
  15. 🎈A2 Attention
  16. 🎈AFT Attention
  17. 🎈Outlook Attention
  18. 🎈ViP Attention
  19. 🎈CoAtNet Attention
  20. 🎈HaloNet Attention
  21. 🎈Polarized Self-Attention
  22. 🎈CoTAttention
  23. 🎈Residual Attention
  24. 🎈S2 Attention
  25. 🎈GFNet Attention
  26. 🎈Triplet Attention
  27. 🎈Coordinate Attention
  28. 🎈MobileViT Attention
  29. 🎈ParNet Attention
  30. 🎈UFO Attention
  31. 🎈MobileViTv2 Attention

🌟激活函数

  • SiLU
# SiLU activation https://arxiv.org/pdf/1606.08415.pdf
# 代码(./utils/activations.py文件内搜索🔍)
class SiLU(nn.Module):
    ...
  • Hardswish
# Hard-SiLU activation
# 代码(./utils/activations.py文件内搜索🔍)
class Hardswish(nn.Module):
    ...
  • Mish
# Mish activation https://github.com/digantamisra98/Mish
# 代码(./utils/activations.py文件内搜索🔍)
class Mish(nn.Module):
    ...
  • MemoryEfficientMish
# Mish activation memory-efficient
# 代码(./utils/activations.py文件内搜索🔍)
class MemoryEfficientMish(nn.Module):
    ...
  • FReLU
# FReLU activation https://arxiv.org/abs/2007.11824
# 代码(./utils/activations.py文件内搜索🔍)
class FReLU(nn.Module):
    ...
  • AconC
r""" ACON activation (activate or not)
    AconC: (p1*x-p2*x) * sigmoid(beta*(p1*x-p2*x)) + p2*x, beta is a learnable parameter
    according to "Activate or Not: Learning Customized Activation" <https://arxiv.org/pdf/2009.04759.pdf>.
    """
# 代码(./utils/activations.py文件内搜索🔍)
class AconC(nn.Module):
    ...
  • MetaAconC
r""" ACON activation (activate or not)
    MetaAconC: (p1*x-p2*x) * sigmoid(beta*(p1*x-p2*x)) + p2*x, beta is generated by a small network
    according to "Activate or Not: Learning Customized Activation" <https://arxiv.org/pdf/2009.04759.pdf>.
    """
# 代码(./utils/activations.py文件内搜索🔍)
class MetaAconC(nn.Module):
    ...

🔥YOLO系列热力图可视化

🔗OD_Heatmap链接

🍋 网络模型架构图

YOLOv7🚀🎈


YOLOv6🚀🎈


YOLOX🚀🎈


YOLOv5🚀🎈

详细


YOLOR🚀🎈


PP-YOLOE🚀🎈


PP-YOLO2🚀🎈


PP-YOLO🚀🎈


Scaled_YOLOv4🚀🎈


YOLOv4🚀🎈


YOLOv3🚀🎈

以上网络模型结构图来自以下参考链接🔗 链接1 链接2 链接3 链接4 链接5 链接6 链接7 链接8


🍉 Documentation

model配置yaml文件

教程

🎓 Acknowledgement

Expand

🌰 Statement

Expand
  • The content of this site is only for sharing notes. If some content is infringing, please use issue to contact to delete it

About

🚀🚀🚀YOLOC is Combining different modules to build an different Object detection model.Including YOLOv3、YOLOv4、Scaled_YOLOv4、YOLOv5、YOLOv6、YOLOv7、YOLOX、YOLOR、PPYOLO、PPYOLOE

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 98.4%
  • Shell 1.2%
  • Dockerfile 0.4%