🌟 全新的YOLOAir2024版本来袭,最新改进点更新🚀2025
YOLO Air : Makes improvements easy again
<div align="center">
<p>
<a align="center" href="https://github.com/iscyy/yoloair" target="_blank">
<img width="850" src="https://img-blog.csdnimg.cn/11d5f1f403f74cff9c2f70a0c3b92de4.png"></a>
<br><br>
</p>
<p>YOLOAir是一个基于PyTorch的YOLO算法库。统一模型代码框架、统一应用、统一改进、易于模块组合、构建更强大的网络模型。</p>
简体中文 | English

支持

特性🚀 • 使用🍉 • 文档📒 • 报告问题🌟 • 更新💪 • 讨论✌️
• YOLO改进方式教程及原理参考🚀•

</div>
Introduction
模型多样化: 基于不同网络模块构建不同检测网络模型。
模块组件化: 帮助用户自定义快速组合Backbone、Neck、Head,使得网络模型多样化,助力科研改进检测算法、模型改进,网络排列组合🏆。构建强大的网络模型。
统一模型代码框架、统一应用方式、统一调参、统一改进、集成多任务、易于模块组合、构建更强大的网络模型。
内置集成YOLOv5、YOLOv7、YOLOv6、YOLOX、YOLOR、Transformer、PP-YOLO、PP-YOLOv2、PP-YOLOE、PP-YOLOEPlus、Scaled_YOLOv4、YOLOv3、YOLOv4、YOLO-Face、TPH-YOLO、YOLOv5Lite、SPD-YOLO、SlimNeck-YOLO、PicoDet等模型网络结构...
集成多种检测算法 和 相关多任务模型 使用统一模型代码框架,集成在 YOLOAir 库中,统一应用方式。便于科研者用于论文算法模型改进,模型对比,实现网络组合多样化。包含轻量化模型和精度更高的模型,根据场景合理选择,在精度和速度俩个方面取得平衡。同时该库支持解耦不同的结构和模块组件,让模块组件化,通过组合不同的模块组件,用户可以根据不同数据集或不同业务场景自行定制化构建不同检测模型。
支持集成多任务,包括目标检测、实例分割、图像分类、姿态估计、人脸检测、目标跟踪等任务
<img src='https://img-blog.csdnimg.cn/1589c7f744004401b9d88132de35abe8.jpeg#pic_center' alt='ingishvcn'>
Star🌟、Fork 不迷路,同步更新。
项目地址🌟: https://github.com/iscyy/yoloair
部分改进说明教程🌟: https://github.com/iscyy/yoloair/wiki/Improved-tutorial-presentation
🌟 Beta Supported Updates
下列功能 YOLOAir-Beta版本内测 已支持🔥
🌟 To Do
- 支持多任务, 包括 目标检测、分类、分割、姿态估计、人脸检测、目标跟踪 等任务
主要特性🚀
🚀支持更多的YOLO系列算法模型改进(持续更新...)
YOLOAir 算法库汇总了多种主流YOLO系列检测模型,一套代码集成多种模型:
- 内置集成 YOLOv5 模型网络结构、YOLOv7 模型网络结构、 YOLOv6 模型网络结构、PP-YOLO 模型网络结构、PP-YOLOE 模型网络结构、PP-YOLOEPlus 模型网络结构、YOLOR 模型网络结构、YOLOX 模型网络结构、ScaledYOLOv4 模型网络结构、YOLOv4 模型网络结构、YOLOv3 模型网络结构、YOLO-FaceV2模型网络结构、TPH-YOLOv5模型网络结构、SPD-YOLO模型网络结构、SlimNeck-YOLO模型网络结构、YOLOv5-Lite模型网络结构、PicoDet模型网络结构等持续更新中...
🚀支持更多的网络模型组件
<details open>
<div align="center">
<b>YOLOAir Structural Module Components</b>
</div>
<table align="center">
<tbody>
<tr align="center" valign="bottom">
<td>
<b>Backbones</b>
</td>
<td>
<b>Necks</b>
</td>
<td>
<b>Head</b>
</td>
</tr>
<tr valign="top">
<td>
<ul>
<li>CSPDarkNet系列</li>
<li>HorNet系列</li>
<li>ResNet系列</li>
<li>RegNet系列</li>
<li>ShuffleNet系列</li>
<li>RepLKNet系列</li>
<li>MobileNet系列</li>
<li>EfficientNet系列</li>
<li>ConvNext系列</li>
<li>Ghost系列</li>
<li>RepVGG系列</li>
<li>transformer系列</li>
</ul>
</td>
<td>
<ul>
<li>PANet</li>
<li>RepPAN</li>
<li>BiFPN</li>
<li>CSPPAN</li>
<li>SlimNeck</li>
<li>ELANPAN</li>
<li>GSNeck</li>
</ul>
</td>
<td>
<ul>
<li>YOLOv4Head</li>
<li>YOLOv5Head</li>
<li>YOLOv6 Efficient decoupled head </li>
<li>YOLOv7 IDetect Head</li>
<li>YOLOv7 IAuxDetect Head</li>
<li>YOLOX DetectX Head</li>
<li>自适应空间特征融合 检测头ASFF Head</li>
<li>YOLOR 隐式学习 Head</li>
<li>EH-Head</li>
<li>Dual Weighting Head</li>
<li>FCOS Head</li>
<li>Dynamic Head</li>
...
</ul>
</td>
</tr>
</td>
</tr>
</tbody>
</table>
</details>
<details open>
<div align="center">
<b>YOLOAir Module Components</b>
</div>
<table align="center">
<tbody>
<tr align="center" valign="bottom">
<td>
<b>Attention注意力机制</b>
</td>
<td>
<b>标签分配策略</b>
</td>
<td>
<b>IoU损失函数</b>
</td>
</tr>
<tr valign="top">
<td>
<ul>
<li>Self Attention</li>
<li>Contextual Transformer</li>
<li>Bottleneck Transformer</li>
<li>S2-MLP Attention</li>
<li>AxialAttention</li>
<li>DANet</li>
<li>DoubleAttention</li>
<li>GlobalContextBlock</li>
<li>ParNetAttention</li>
<li>PolarizedSelfAttention</li>
<li>SpatialGroupEnhance copy</li>
<li>TripletAttention</li>
<li>SK Attention</li>
<li>CBAM Attention</li>
<li>SE Attention</li>
<li>Coordinate attention</li>
<li>NAM Attention</li>
<li>GAM Attention</li>
<li>ECA Attention</li>
<li>Shuffle Attention</li>
<li>CrissCrossAttention</li>
<li>SOCAttention</li>
<li>SimAM Attention</li>
<li>CrissCrossAttention</li>
</ul>
</td>
<td>
<ul>
<li>Multi Anchor策略</li>
<li>YOLOv5 标签分配策略</li>
<li>SimOTA 标签分配策略</li>
<li>YOLOv7 标签分配策略</li>
<li>FreeAnchor 标签分配策略</li>
<li>AutoAssign 标签分配策略</li>
<li>Dual Weighting 标签分配策略</li>
<li>Probabilistic Anchor Assignment 锚分配策略</li>
<li>其他改进的标签分配策略</li>
</ul>
</td>
<td>
<ul>
<li>CIoU</li>
<li>DIoU</li>
<li>GIoU</li>
<li>EIoU</li>
<li>SIoU</li>
<li>alpha IOU</li>
...
</ul>
</td>
</tr>
</td>
</tr>
</tbody>
</table>
</details>
<details open>
<div align="center">
<b>Module Components</b>
</div>
<table align="center">
<tbody>
<tr align="center" valign="bottom">
<td>
<b>Loss</b>
</td>
<td>
<b>NMS</b>
</td>
<td>
<b>数据增强</b>
</td>
</tr>
<tr valign="top">
<td>
<ul>
<li>ComputeLoss(v3)</li>
<li>ComputeLoss(v4)</li>
<li>ComputeLoss(v5)</li>
<li>ComputeLoss(v6)</li>
<li>ComputeLoss(X)</li>
<li>ComputeLossAuxOTA(v7)</li>
<li>ComputeLossOTA(v7)</li>
</ul>
</td>
<td>
<ul>
<li>NMS</li>
<li>Merge-NMS</li>
<li>Soft-NMS</li>
<li>CIoU_NMS</li>
<li>DIoU_NMS</li>
<li>GIoU_NMS</li>
<li>EIoU_NMS</li>
<li>SIoU_NMS</li>
<li>Soft-SIoUNMS</li>
<li>Soft-CIoUNMS</li>
<li>Soft-DIoUNMS</li>
<li>Soft-EIoUNMS</li>
<li>Soft-GIoUNMS</li>
<li>SimSPPF</li>
<li>SimSPPF</li>
<li>SimSPPF</li>
</ul>
</td>
<td>
<ul>
<li>Mosaic</li>
<li>Copy paste</li>
<li>Random affine(Rotation, Scale, Translation and Shear)</li>
<li>MixUp</li>
<li>HSV</li>
<li>Random horizontal flip</li>
...
</ul>
</td>
</tr>
</td>
</tr>
</tbody>
</table>
</details>
<details open>
<div align="center">
<b>YOLOAir Module Components</b>
</div>
<table align="center">
<tbody>
<tr align="center" valign="bottom">
<td>
<b>空间金字塔池化结构</b>
</td>
<td>
<b>模块化组件</b>
</td>
<td>
<b>AnchorBased / AnchorFree</b>
</td>
</tr>
<tr valign="top">
<td>
<ul>
<li>SPP</li>
<li>SPPF</li>
<li>ASPP</li>
<li>RFB</li>
<li>SPPCSPC</li>
<li>SPPFCSPC</li>
<li>SimSPPF</li>
</ul>
</td>
<td>
<ul>
<li>Conv, GhostConv, Bottleneck, GhostBottleneck, SPP, SPPF, DWConv, MixConv2d, Focus, CrossConv,BottleneckCSP, C3, C3TR, C3SPP, C3Ghost, C3HB, C3RFEM, MultiSEAM, SEAM, C3STR, SPPCSPC, RepConv, BoT3, Air, CA, CBAM, Involution, Stem, ResCSPC, ResCSPB, ResXCSPB, ResXCSPC, BottleneckCSPB, BottleneckCSPC, ASPP, BasicRFB, SPPCSPC_group, HorBlock, CNeB,C3GC ,C3C2, nn.ConvTranspose2d, DWConvblock, RepVGGBlock, CoT3, ConvNextBlock, SPPCSP, BottleneckCSP2, DownC, BottleneckCSPF, RepVGGBlock, ReOrg, DWT, MobileOne,HorNet...</l