基于Ultralytics的YOLOV8V10改进项目.(69.9¥)
目前自带的一些改进方案(持续更新)
为了感谢各位对本项目的支持,本项目的赠品是yolov5-PAGCP通道剪枝算法.具体使用教程
专栏改进汇总
YOLOV8系列
二次创新系列
-
ultralytics/cfg/models/v8/yolov8-RevCol.yaml
使用(ICLR2023)Reversible Column Networks对yolov8主干进行重设计,里面的支持更换不同的C2f-Block.
-
EMASlideLoss
使用EMA思想与SlideLoss进行相结合.
-
ultralytics/cfg/models/v8/yolov8-dyhead-DCNV3.yaml
使用DCNV3替换DyHead中的DCNV2.
-
ultralytics/cfg/models/v8/yolov8-C2f-EMBC.yaml
使用Efficientnet中的MBConv与EffectiveSE改进C2f.
-
ultralytics/cfg/models/v8/yolov8-GhostHGNetV2.yaml
使用Ghost_HGNetV2作为YOLOV8的backbone.
-
ultralytics/cfg/models/v8/yolov8-RepHGNetV2.yaml
使用Rep_HGNetV2作为YOLOV8的backbone.
-
ultralytics/cfg/models/v8/yolov8-C2f-DWR-DRB.yaml
使用UniRepLKNet中的DilatedReparamBlock对DWRSeg中的Dilation-wise Residual(DWR)的模块进行二次创新后改进C2f.
-
ultralytics/cfg/models/v8/yolov8-ASF-P2.yaml
在ultralytics/cfg/models/v8/yolov8-ASF.yaml的基础上进行二次创新,引入P2检测层并对网络结构进行优化.
-
ultralytics/cfg/models/v8/yolov8-CSP-EDLAN.yaml
使用DualConv打造CSP Efficient Dual Layer Aggregation Networks改进yolov8.
-
ultralytics/cfg/models/v8/yolov8-bifpn-SDI.yaml
使用U-NetV2中的 Semantics and Detail Infusion Module对BIFPN进行二次创新.
-
ultralytics/cfg/models/v8/yolov8-goldyolo-asf.yaml
利用华为2023最新GOLD-YOLO中的Gatherand-Distribute与ASF-YOLO中的Attentional Scale Sequence Fusion进行二次创新改进yolov8的neck.
-
ultralytics/cfg/models/v8/yolov8-dyhead-DCNV4.yaml
使用DCNV4对DyHead进行二次创新.(请关闭AMP进行训练,使用教程请看20240116版本更新说明)
-
ultralytics/cfg/models/v8/yolov8-HSPAN.yaml
对MFDS-DETR中的HS-FPN进行二次创新后得到HSPAN改进yolov8的neck.
-
ultralytics/cfg/models/v8/yolov8-GDFPN.yaml
使用DAMO-YOLO中的RepGFPN与ICCV2023 DySample进行二次创新改进Neck.
-
ultralytics/cfg/models/v8/yolov8-HSPAN-DySample.yaml
对MFDS-DETR中的HS-FPN进行二次创新后得到HSPAN再进行创新,使用ICCV2023 DySample改进其上采样模块.
-
ultralytics/cfg/models/v8/yolov8-ASF-DySample.yaml
使用ASF-YOLO中的Attentional Scale Sequence Fusion与ICCV2023 DySample组合得到Dynamic Sample Attentional Scale Sequence Fusion.
-
ultralytics/cfg/models/v8/yolov8-C2f-DCNV2-Dynamic.yaml
利用自研注意力机制MPCA强化DCNV2中的offset和mask.
-
ultralytics/cfg/models/v8/yolov8-C2f-iRMB-Cascaded.yaml
使用EfficientViT CVPR2023中的CascadedGroupAttention对EMO ICCV2023中的iRMB进行二次创新来改进C2f.
-
ultralytics/cfg/models/v8/yolov8-C2f-iRMB-DRB.yaml
使用UniRepLKNet中的DilatedReparamBlock对EMO ICCV2023中的iRMB进行二次创新来改进C2f.
-
ultralytics/cfg/models/v8/yolov8-C2f-iRMB-SWC.yaml
使用shift-wise conv对EMO ICCV2023中的iRMB进行二次创新来改进C2f.
-
ultralytics/cfg/models/v8/yolov8-DBBNCSPELAN.yaml
使用Diverse Branch Block CVPR2021对YOLOV9中的RepNCSPELAN进行二次创新后改进yolov8.
-
ultralytics/cfg/models/v8/yolov8-OREPANCSPELAN.yaml
使用Online Convolutional Re-parameterization (CVPR2022)对YOLOV9中的RepNCSPELAN进行二次创新后改进yolov8.
-
ultralytics/cfg/models/v8/yolov8-DRBNCSPELAN.yaml
使用UniRepLKNet中的DilatedReparamBlock对YOLOV9中的RepNCSPELAN进行二次创新后改进yolov8.
-
ultralytics/cfg/models/v8/yolov8-DynamicHGNetV2.yaml
使用CVPR2024 parameternet中的DynamicConv对CVPR2024 RTDETR中的HGBlokc进行二次创新.
-
ultralytics/cfg/models/v8/yolov8-C2f-RVB-EMA.yaml
使用CVPR2024 RepViT中的RepViTBlock和EMA注意力机制改进C2f.
-
ultralytics/cfg/models/v8/yolov8-ELA-HSFPN.yaml
使用Efficient Local Attention改进HSFPN.
-
ultralytics/cfg/models/v8/yolov8-CA-HSFPN.yaml
使用Coordinate Attention CVPR2021改进HSFPN.
-
ultralytics/cfg/models/v8/yolov8-CAA-HSFPN.yaml
使用CVPR2024 PKINet中的CAA模块HSFPN.
-
ultralytics/cfg/models/v8/yolov8-CSMHSA.yaml
对Mutil-Head Self-Attention进行创新得到Cross-Scale Mutil-Head Self-Attention.
- 由于高维通常包含更高级别的语义信息,而低维包含更多细节信息,因此高维信息作为query,而低维信息作为key和Value,将两者结合起来可以利用高维的特征帮助低维的特征进行精细过滤,可以实现更全面和丰富的特征表达。
- 通过使用高维的上采样信息进行Query操作,可以更好地捕捉到目标的全局信息,从而有助于增强模型对目标的识别和定位能力。
-
ultralytics/cfg/models/v8/yolov8-CAFMFusion.yaml
利用具有HCANet中的CAFM,其具有获取全局和局部信息的注意力机制进行二次改进content-guided attention fusion.
-
ultralytics/cfg/models/v8/yolov8-C2f-Faster-CGLU.yaml
使用TransNeXt CVPR2024中的Convolutional GLU对CVPR2023中的FasterNet进行二次创新.
-
ultralytics/cfg/models/v8/yolov8-C2f-Star-CAA.yaml
使用StarNet CVPR2024中的StarBlock和CVPR2024 PKINet中的CAA改进C2f.
-
ultralytics/cfg/models/v8/yolov8-bifpn-GLSA.yaml
使用GLSA模块对bifpn进行二次创新.
-
ultralytics/cfg/models/v8/yolov8-BIMAFPN.yaml
利用BIFPN的思想对MAF-YOLO的MAFPN进行二次改进得到BIMAFPN.
自研系列
-
ultralytics/cfg/models/v8/yolov8-LAWDS.yaml
Light Adaptive-weight downsampling.自研模块,具体讲解请看百度云链接中的视频.
-
ultralytics/cfg/models/v8/yolov8-C2f-EMSC.yaml
Efficient Multi-Scale Conv.自研模块,具体讲解请看百度云链接中的视频.
-
ultralytics/cfg/models/v8/yolov8-C2f-EMSCP.yaml
Efficient Multi-Scale Conv Plus.自研模块,具体讲解请看百度云链接中的视频.
-
Lightweight Shared Convolutional Detection Head
自研轻量化检测头.
detect:ultralytics/cfg/models/v8/yolov8-LSCD.yaml
seg:ultralytics/cfg/models/v8/yolov8-seg-LSCD.yaml
pose:ultralytics/cfg/models/v8/yolov8-pose-LSCD.yaml
obb:ultralytics/cfg/models/v8/yolov8-obb-LSCD.yaml- GroupNorm在FOCS论文中已经证实可以提升检测头定位和分类的性能.
- 通过使用共享卷积,可以大幅减少参数数量,这使得模型更轻便,特别是在资源受限的设备上.
- 在使用共享卷积的同时,为了应对每个检测头所检测的目标尺度不一致的问题,使用Scale层对特征进行缩放.
综合以上,我们可以让检测头做到参数量更少、计算量更少的情况下,尽可能减少精度的损失.
-
Task Align Dynamic Detection Head
自研任务对齐动态检测头.
detect:ultralytics/cfg/models/v8/yolov8-TADDH.yaml
seg:ultralytics/cfg/models/v8/yolov8-seg-TADDH.yaml
pose:ultralytics/cfg/models/v8/yolov8-pose-TADDH.yaml
obb:ultralytics/cfg/models/v8/yolov8-obb-TADDH.yaml- GroupNorm在FCOS论文中已经证实可以提升检测头定位和分类的性能.
- 通过使用共享卷积,可以大幅减少参数数量,这使得模型更轻便,特别是在资源受限的设备上.并且在使用共享卷积的同时,为了应对每个检测头所检测的目标尺度不一致的问题,使用Scale层对特征进行缩放.
- 参照TOOD的思想,除了标签分配策略上的任务对齐,我们也在检测头上进行定制任务对齐的结构,现有的目标检测器头部通常使用独立的分类和定位分支,这会导致两个任务之间缺乏交互,TADDH通过特征提取器从多个卷积层中学习任务交互特征,得到联合特征,定位分支使用DCNV2和交互特征生成DCNV2的offset和mask,分类分支使用交互特征进行动态特征选择.
-
ultralytics/cfg/models/v8/yolov8-FDPN.yaml
自研特征聚焦扩散金字塔网络(Focusing Diffusion Pyramid Network)
- 通过定制的特征聚焦模块与特征扩散机制,能让每个尺度的特征都具有详细的上下文信息,更有利于后续目标的检测与分类。
- 定制的特征聚焦模块可以接受三个尺度的输入,其内部包含一个Inception-Style的模块,其利用一组并行深度卷积来捕获丰富的跨多个尺度的信息。
- 通过扩散机制使具有丰富的上下文信息的特征进行扩散到各个检测尺度.
-
ultralytics/cfg/models/v8/yolov8-FDPN-DASI.yaml
使用HCFNet中的Dimension-Aware Selective Integration Module对自研的Focusing Diffusion Pyramid Network再次创新.
-
ultralytics/cfg/models/v8/yolov8-RGCSPELAN.yaml
自研RepGhostCSPELAN.
- 参考GhostNet中的思想(主流CNN计算的中间特征映射存在广泛的冗余),采用廉价的操作生成一部分冗余特征图,以此来降低计算量和参数量。
- 舍弃yolov5与yolov8中常用的BottleNeck,为了弥补舍弃残差块所带来的性能损失,在梯度流通分支上使用RepConv,以此来增强特征提取和梯度流通的能力,并且RepConv可以在推理的时候进行融合,一举两得。
- 可以通过缩放因子控制RGCSPELAN的大小,使其可以兼顾小模型和大模型。
-
Lightweight Shared Convolutional Separamter BN Detection Head
基于自研轻量化检测头上,参考NASFPN的设计思路把GN换成BN,并且BN层参数不共享.
detect:ultralytics/cfg/models/v8/yolov8-LSCSBD.yaml
seg:ultralytics/cfg/models/v8/yolov8-seg-LSCSBD.yaml
pose:ultralytics/cfg/models/v8/yolov8-pose-LSCSBD.yaml
obb:ultralytics/cfg/models/v8/yolov8-obb-LSCSBD.yaml- 由于不同层级之间特征的统计量仍存在差异,Normalization layer依然是必须的,由于直接在共享参数的检测头中引入BN会导致其滑动平均值产生误差,而引入 GN 又会增加推理时的开销,因此我们参考NASFPN的做法,让检测头共享卷积层,而BN则分别独立计算。
-
ultralytics/cfg/models/v8/yolov8-EIEStem.yaml
- 通过SobelConv分支,可以提取图像的边缘信息。由于Sobel滤波器可以检测图像中强度的突然变化,因此可以很好地捕捉图像的边缘特征。这些边缘特征在许多计算机视觉任务中都非常重要,例如图像分割和物体检测。
- EIEStem模块还结合空间信息,除了边缘信息,EIEStem还通过池化分支提取空间信息,保留重要的空间信息。结合边缘信息和空间信息,可以帮助模型更好地理解图像内容。
- 通过3D组卷积高效实现Sobel算子。
-
ultralytics/cfg/models/v8/yolov8-C2f-EIEM.yaml
提出了一种新的EIEStem模块,旨在作为图像识别任务中的高效前端模块。该模块结合了提取边缘信息的SobelConv分支和提取空间信息的卷积分支,能够学习到更加丰富的图像特征表示。
- 边缘信息学习: 卷积神经网络 (CNN)通常擅长学习空间信息,但是对于提取图像中的边缘信息可能稍显不足。EIEStem 模块通过SobelConv分支,显式地提取图像的边缘特征。Sobel滤波器是一种经典的边缘检测滤波器,可以有效地捕捉图像中强度的突然变化,从而获得重要的边缘信息。
- 空间信息保留: 除了边缘信息,图像中的空间信息也同样重要。EIEStem模块通过一个额外的卷积分支 (conv_branch) 来提取空间信息。与SobelCon 分支不同,conv_branch提取的是原始图像的特征,可以保留丰富的空间细节。
- 特征融合: EIEStem模块将来自SobelConv分支和conv_branch提取的特征进行融合 (concatenate)。 这种融合操作使得学习到的特征表示既包含了丰富的边缘信息,又包含了空间信息,能够更加全面地刻画图像内容。
-
ultralytics/cfg/models/v8/yolov8-ContextGuideFPN.yaml
Context Guide Fusion Module(CGFM)是一个创新的特征融合模块,旨在改进YOLOv8中的特征金字塔网络(FPN)。该模块的设计考虑了多尺度特征融合过程中上下文信息的引导和自适应调整。
- 上下文信息的有效融合:通过SE注意力机制,模块能够在特征融合过程中捕捉并利用重要的上下文信息,从而增强特征表示的有效性,并有效引导模型学习检测目标的信息,从而提高模型的检测精度。
- 特征增强:通过权重化的特征重组操作,模块能够增强重要特征,同时抑制不重要特征,提升特征图的判别能力。
- 简单高效:模块结构相对简单,不会引入过多的计算开销,适合在实时目标检测任务中应用。
这期视频讲解在B站:https://www.bilibili.com/video/BV1Vx4y1n7hZ/
-
ultralytics/cfg/models/v8/yolov8-LSDECD.yaml
基于自研轻量化检测头上(LSCD),使用detail-enhanced convolution进一步改进,提高检测头的细节捕获能力,进一步改善检测精度.
detect:ultralytics/cfg/models/v8/yolov8-LSDECD.yaml
segment:ultralytics/cfg/models/v8/yolov8-seg-LSDECD.yaml
pose:ultralytics/cfg/models/v8/yolov8-pose-LSDECD.yaml
obb:ultralytics/cfg/models/v8/yolov8-obb-LSDECD.yaml- DEA-Net中设计了一个细节增强卷积(DEConv),具体来说DEConv将先验信息整合到普通卷积层,以增强表征和泛化能力。然后,通过使用重参数化技术,DEConv等效地转换为普通卷积,不需要额外的参数和计算成本。
-
ultralytics/cfg/models/v8/yolov8-C2f-SMPCGLU.yaml
Self-moving Point Convolutional GLU模型改进C2f.
SMP来源于CVPR2023-SMPConv,Convolutional GLU来源于TransNeXt CVPR2024.- 普通的卷积在面对数据中的多样性和复杂性时,可能无法捕捉到有效的特征,因此我们采用了SMPConv,其具备最新的自适应点移动机制,从而更好地捕捉局部特征,提高特征提取的灵活性和准确性。
- 在SMPConv后添加CGLU,Convolutional GLU 结合了卷积和门控机制,能够选择性地通过信息通道,提高了特征提取的有效性和灵活性。
-
Re-CalibrationFPN
为了加强浅层和深层特征的相互交互能力,推出重校准特征金字塔网络(Re-CalibrationFPN).
P2345:ultralytics/cfg/models/v8/yolov8-ReCalibrationFPN-P2345.yaml(带有小目标检测头的ReCalibrationFPN)
P345:ultralytics/cfg/models/v8/yolov8-ReCalibrationFPN-P345.yaml
P3456:ultralytics/cfg/models/v8/yolov8-ReCalibrationFPN-P3456.yaml(带有大目标检测头的ReCalibrationFPN)- 浅层语义较少,但细节丰富,有更明显的边界和减少失真。此外,深层蕴藏着丰富的物质语义信息。因此,直接融合低级具有高级特性的特性可能导致冗余和不一致。为了解决这个问题,我们提出了SBA模块,它有选择地聚合边界信息和语义信息来描绘更细粒度的物体轮廓和重新校准物体的位置。
- 相比传统的FPN结构,SBA模块引入了高分辨率和低分辨率特征之间的双向融合机制,使得特征之间的信息传递更加充分,进一步提升了多尺度特征融合的效果。
- SBA模块通过自适应的注意力机制,根据特征图的不同分辨率和内容,自适应地调整特征的权重,从而更好地捕捉目标的多尺度特征。
-
ultralytics/cfg/models/v8/yolov8-CSP-PTB.yaml
Cross Stage Partial - Partially Transformer Block
在计算机视觉任务中,Transformer结构因其强大的全局特征提取能力而受到广泛关注。然而,由于Transformer结构的计算复杂度较高,直接将其应用于所有通道会导致显著的计算开销。为了在保证高效特征提取的同时降低计算成本,我们设计了一种混合结构,将输入特征图分为两部分,分别由CNN和Transformer处理,结合了卷积神经网络(CNN)和Transformer机制的模块,旨在增强特征提取的能力。
我们提出了一种名为CSP_PTB(Cross Stage Partial - Partially Transformer Block)的模块,旨在结合CNN和Transformer的优势,通过对输入通道进行部分分配来优化计算效率和特征提取能力。- 融合局部和全局特征:多项研究表明,CNN的感受野大小较少,导致其只能提取局部特征,但Transformer的MHSA能够提取全局特征,能够同时利用两者的优势。
- 保证高效特征提取的同时降低计算成本:为了能引入Transformer结构来提取全局特征又不想大幅度增加计算复杂度,因此提出Partially Transformer Block,只对部分通道使用TransformerBlock。
- MHSA_CGLU包含Mutil-Head-Self-Attention和ConvolutionalGLU(TransNext CVPR2024),其中Mutil-Head-Self-Attention负责提取全局特征,ConvolutionalGLU用于增强非线性特征表达能力,ConvolutionalGLU相比于传统的FFN,具有更强的性能。
- 可以根据不同的模型大小和具体的运行情况调节用于Transformer的通道数。
-
ultralytics/cfg/models/v8/yolov8-SOEP.yaml
小目标在正常的P3、P4、P5检测层上略显吃力,比较传统的做法是加上P2检测层来提升小目标的检测能力,但是同时也会带来一系列的问题,例如加上P2检测层后计算量过大、后处理更加耗时等问题,日益激发需要开发新的针对小目标有效的特征金字塔,我们基于原本的PAFPN上进行改进,提出SmallObjectEnhancePyramid,相对于传统的添加P2检测层,我们使用P2特征层经过SPDConv得到富含小目标信息的特征给到P3进行融合,然后使用CSP思想和基于AAAI2024的OmniKernel进行改进得到CSP-OmniKernel进行特征整合,OmniKernel模块由三个分支组成,即三个分支,即全局分支、大分支和局部分支、以有效地学习从全局到局部的特征表征,最终从而提高小目标的检测性能。(该模块需要在train.py中关闭amp、且在ultralytics/engine/validator.py 115行附近的self.args.half设置为False、跑其余改进记得修改回去!)
出现这个报错的:RuntimeError: cuFFT error: CUFFT_INTERNAL_ERROR,如果你是40系显卡,需要更新torch大于2.0,并且cuda大于12.0. -
ultralytics/cfg/models/v8/yolov8-CGRFPN.yaml
Context-Guided Spatial Feature Reconstruction Feature Pyramid Network.
- 借鉴ECCV2024-CGRSeg中的Rectangular Self-Calibration Module经过精心设计,用于空间特征重建和金字塔上下文提取,它在水平和垂直方向上捕获全局上下文,并获得轴向全局上下文来显式地建模矩形关键区域.
- PyramidContextExtraction Module使用金字塔上下文提取模块(PyramidContextExtraction),有效整合不同层级的特征信息,提升模型的上下文感知能力。
- FuseBlockMulti 和 DynamicInterpolationFusion 这些模块用于多尺度特征的融合,通过动态插值和多特征融合,进一步提高了模型的多尺度特征表示能力和提升模型对复杂背景下目标的识别能力。
-
ultralytics/cfg/models/v8/yolov8-FeaturePyramidSharedConv.yaml
- 多尺度特征提取
通过使用不同膨胀率的卷积层,模块能够提取不同尺度的特征。这对捕捉图像中不同大小和不同上下文的信息非常有利。
低膨胀率捕捉局部细节,高膨胀率捕捉全局上下文。 - 参数共享
使用共享的卷积层 self.share_conv,大大减少了需要训练的参数数量。相比于每个膨胀率使用独立的卷积层,共享卷积层能够减少冗余,提升模型效率。
减少了模型的存储和计算开销,提升了计算效率。 - 高效的通道变换
通过1x1卷积层 self.cv1 和 self.cv2,模块能够高效地调整通道数,并进行特征融合。1x1卷积层在减少参数量的同时还能保留重要的特征信息。 - 更细粒度的特征提取
FeaturePyramidSharedConv 使用卷积操作进行特征提取,能够捕捉更加细粒度的特征。相比之下,SPPF 的池化操作可能会丢失一些细节信息。
卷积操作在特征提取时具有更高的灵活性和表达能力,可以更好地捕捉图像中的细节和复杂模式。
- 多尺度特征提取
-
APT(Adaptive Power Transformation)-TAL.
为了使不同gt预测对的匹配质量和损失权重更具鉴别性,我们通过自定义的PowerTransformer显著增强高质量预测框的权重,抑制低质量预测框的影响,并使模型在学习的过程可以更关注质量高的预测框。
BackBone系列
-
ultralytics/cfg/models/v8/yolov8-efficientViT.yaml
(CVPR2023)efficientViT替换yolov8主干.
-
ultralytics/cfg/models/v8/yolov8-fasternet.yaml
(CVPR2023)fasternet替换yolov8主干.
-
ultralytics/cfg/models/v8/yolov8-timm.yaml
使用timm支持的主干网络替换yolov8主干.
-
ultralytics/cfg/models/v8/yolov8-convnextv2.yaml
使用convnextv2网络替换yolov8主干.
-
ultralytics/cfg/models/v8/yolov8-EfficientFormerV2.yaml
使用EfficientFormerV2网络替换yolov8主干.(需要看常见错误和解决方案的第五点)
-
ultralytics/cfg/models/v8/yolov8-vanillanet.yaml
vanillanet替换yolov8主干.
-
ultralytics/cfg/models/v8/yolov8-LSKNet.yaml
LSKNet(2023旋转目标检测SOTA的主干)替换yolov8主干.
-
ultralytics/cfg/models/v8/yolov8-swintransformer.yaml
SwinTransformer-Tiny替换yolov8主干.
-
ultralytics/cfg/models/v8/yolov8-repvit.yaml
RepViT替换yolov8主干.
-
ultralytics/cfg/models/v8/yolov8-CSwinTransformer.yaml
使用CSWin-Transformer(CVPR2022)替换yolov8主干.(需要看常见错误和解决方案的第五点)
-
ultralytics/cfg/models/v8/yolov8-HGNetV2.yaml
使用HGNetV2作为YOLOV8的backbone.
-
ultralytics/cfg/models/v8/yolov8-unireplknet.yaml
使用UniRepLKNet替换yolov8主干.
-
ultralytics/cfg/models/v8/yolov8-TransNeXt.yaml
使用TransNeXt改进yolov8的backbone.(需要看常见错误和解决方案的第五点)
-
ultralytics/cfg/models/rt-detr/yolov8-rmt.yaml
使用CVPR2024 RMT改进rtdetr的主干.
-
ultralytics/cfg/models/v8/yolov8-pkinet.yaml
使用CVPR2024 PKINet改进backbone.(需要安装mmcv和mmengine)
-
ultralytics/cfg/models/v8/yolov8-mobilenetv4.yaml
使用MobileNetV4改进yolov8-backbone.
-
ultralytics/cfg/models/v8/yolov8-starnet.yaml
使用StarNet CVPR2024改进yolov8-backbone.
SPPF系列
-
ultralytics/cfg/models/v8/yolov8-FocalModulation.yaml
使用Focal Modulation替换SPPF.
-
ultralytics/cfg/models/v8/yolov8-SPPF-LSKA.yaml
使用LSKA注意力机制改进SPPF,增强多尺度特征提取能力.
-
ultralytics/cfg/models/v8/yolov8-AIFI.yaml
使用RT-DETR中的Attention-based Intrascale Feature Interaction(AIFI)改进yolov8.
-
ultralytics/cfg/models/v8/yolov8-AIFIRepBN.yaml
使用ICML-2024 SLAB中的RepBN改进AIFI.
Neck系列
-
ultralytics/cfg/models/v8/yolov8-bifpn.yaml
添加BIFPN到yolov8中.
其中BIFPN中有三个可选参数:- Fusion
其中BIFPN中的Fusion模块支持五种: weight, adaptive, concat, bifpn(default), SDI
其中weight, adaptive, concat出自paper链接-Figure 3, SDI出自U-NetV2 - node_mode
支持大部分C2f-XXX结构. - head_channel
BIFPN中的通道数,默认设置为256.
- Fusion
-
ultralytics/cfg/models/v8/yolov8-slimneck.yaml
使用VoVGSCSP\VoVGSCSPC和GSConv替换yolov8 neck中的C2f和Conv.
-
Asymptotic Feature Pyramid Networkreference
a. ultralytics/cfg/models/v8/yolov8-AFPN-P345.yaml
b. ultralytics/cfg/models/v8/yolov8-AFPN-P345-Custom.yaml
c. ultralytics/cfg/models/v8/yolov8-AFPN-P2345.yaml
d. ultralytics/cfg/models/v8/yolov8-AFPN-P2345-Custom.yaml
其中Custom中的block支持大部分C2f-XXX结构. -
ultralytics/cfg/models/v8/yolov8-RCSOSA.yaml
使用RCS-YOLO中的RCSOSA替换C2f.
-
ultralytics/cfg/models/v8/yolov8-goldyolo.yaml
利用华为2023最新GOLD-YOLO中的Gatherand-Distribute进行改进特征融合模块
-
ultralytics/cfg/models/v8/yolov8-GFPN.yaml
使用DAMO-YOLO中的RepGFPN改进Neck.
-
ultralytics/cfg/models/v8/yolov8-EfficientRepBiPAN.yaml
使用YOLOV6中的EfficientRepBiPAN改进Neck.
-
ultralytics/cfg/models/v8/yolov8-ASF.yaml
使用ASF-YOLO中的Attentional Scale Sequence Fusion改进yolov8.
-
ultralytics/cfg/models/v8/yolov8-SDI.yaml
使用U-NetV2中的 Semantics and Detail Infusion Module对yolov8中的feature fusion部分进行重设计.
-
ultralytics/cfg/models/v8/yolov8-HSFPN.yaml
使用MFDS-DETR中的HS-FPN改进yolov8的neck.
-
ultralytics/cfg/models/v8/yolov8-CSFCN.yaml
使用Context and Spatial Feature Calibration for Real-Time Semantic Segmentation中的Context and Spatial Feature Calibration模块改进yolov8.
-
ultralytics/cfg/models/v8/yolov8-CGAFusion.yaml
使用DEA-Net中的content-guided attention fusion改进yolov8-neck.
-
ultralytics/cfg/models/v8/yolov8-SDFM.yaml
使用PSFusion中的superficial detail fusion module改进yolov8-neck.
-
ultralytics/cfg/models/v8/yolov8-PSFM.yaml
使用PSFusion中的profound semantic fusion module改进yolov8-neck.
-
ultralytics/cfg/models/v8/yolov8-GLSA.yaml
使用GLSA模块改进yolov8的neck.
-
ultralytics/cfg/models/v8/yolov8-CTrans.yaml
使用[AAAI2022] UCTransNet中的ChannelTransformer改进yolov8-neck.(需要看常见错误和解决方案的第五点)
-
ultralytics/cfg/models/v8/yolov8-p6-CTrans.yaml
使用[AAAI2022] UCTransNet中的ChannelTransformer改进yolov8-neck.(带有p6版本)(需要看常见错误和解决方案的第五点)
-
ultralytics/cfg/models/v8/yolov8-MAFPN.yaml
使用MAF-YOLO的MAFPN改进Neck.
Head系列
-
ultralytics/cfg/models/v8/yolov8-dyhead.yaml
添加基于注意力机制的目标检测头到yolov8中.
-
ultralytics/cfg/models/v8/yolov8-EfficientHead.yaml
对检测头进行重设计,支持10种轻量化检测头.详细请看ultralytics/nn/extra_modules/head.py中的Detect_Efficient class.
-
ultralytics/cfg/models/v8/yolov8-aux.yaml
参考YOLOV7-Aux对YOLOV8添加额外辅助训练头,在训练阶段参与训练,在最终推理阶段去掉.
其中辅助训练头的损失权重系数可在ultralytics/utils/loss.py中的class v8DetectionLoss中的__init__函数中的self.aux_loss_ratio设定,默认值参考yolov7为0.25. -
ultralytics/cfg/models/v8/yolov8-seg-EfficientHead.yaml(实例分割)
对检测头进行重设计,支持10种轻量化检测头.详细请看ultralytics/nn/extra_modules/head.py中的Detect_Efficient class.
-
ultralytics/cfg/models/v8/yolov8-SEAMHead.yaml
使用YOLO-Face V2中的遮挡感知注意力改进Head,使其有效地处理遮挡场景.
-
ultralytics/cfg/models/v8/yolov8-MultiSEAMHead.yaml
使用YOLO-Face V2中的遮挡感知注意力改进Head,使其有效地处理遮挡场景.
-
ultralytics/cfg/models/v8/yolov8-PGI.yaml
使用YOLOV9的programmable gradient information改进YOLOV8.(PGI模块可在训练结束后去掉)
-
Lightweight Asymmetric Detection Head
detect:ultralytics/cfg/models/v8/yolov8-LADH.yaml
segment:ultralytics/cfg/models/v8/yolov8-seg-LADH.yaml
pose:ultralytics/cfg/models/v8/yolov8-pose-LADH.yaml
obb:ultralytics/cfg/models/v8/yolov8-obb-LADH.yaml
使用Faster and Lightweight: An Improved YOLOv5 Object Detector for Remote Sensing Images中的Lightweight Asymmetric Detection Head改进yolov8-head.
Label Assign系列
-
Adaptive Training Sample Selection匹配策略.
在ultralytics/utils/loss.py中的class v8DetectionLoss中自行选择对应的self.assigner即可.
PostProcess系列
-
soft-nms(IoU,GIoU,DIoU,CIoU,EIoU,SIoU,ShapeIoU)
soft-nms替换nms.(建议:仅在val.py时候使用,具体替换请看20240122版本更新说明)
-
ultralytics/cfg/models/v8/yolov8-nmsfree.yaml
仿照yolov10的思想采用双重标签分配和一致匹配度量进行训练,后处理不需要NMS!
上下采样算子
-
ultralytics/cfg/models/v8/yolov8-ContextGuidedDown.yaml
使用CGNet中的Light-weight Context Guided DownSample进行下采样.
-
ultralytics/cfg/models/v8/yolov8-SPDConv.yaml
使用SPDConv进行下采样.
-
ultralytics/cfg/models/v8/yolov8-dysample.yaml
使用ICCV2023 DySample改进yolov8-neck中的上采样.
-
ultralytics/cfg/models/v8/yolov8-CARAFE.yaml
使用ICCV2019 CARAFE改进yolov8-neck中的上采样.
-
ultralytics/cfg/models/v8/yolov8-HWD.yaml
使用Haar wavelet downsampling改进yolov8的下采样.(请关闭AMP情况下使用)
-
ultralytics/cfg/models/v8/yolov8-v7DS.yaml
使用YOLOV7 CVPR2023的下采样结构改进YOLOV8中的下采样.
-
ultralytics/cfg/models/v8/yolov8-ADown.yaml
使用YOLOV9的下采样结构改进YOLOV8中的下采样.
-
ultralytics/cfg/models/v8/yolov8-SRFD.yaml
使用A Robust Feature Downsampling Module for Remote Sensing Visual Tasks改进yolov8的下采样.
-
ultralytics/cfg/models/v8/yolov8-WaveletPool.yaml
使用Wavelet Pooling改进YOLOV8的上采样和下采样。
-
ultralytics/cfg/models/v8/yolov8-LDConv.yaml
使用LDConv改进下采样.
YOLOV8-C2f系列
-
ultralytics/cfg/models/v8/yolov8-C2f-Faster.yaml
使用C2f-Faster替换C2f.(使用FasterNet中的FasterBlock替换C2f中的Bottleneck)
-
ultralytics/cfg/models/v8/yolov8-C2f-ODConv.yaml
使用C2f-ODConv替换C2f.(使用ODConv替换C2f中的Bottleneck中的Conv)
-
ultralytics/cfg/models/v8/yolov8-C2f-ODConv.yaml
使用C2f-ODConv替换C2f.(使用ODConv替换C2f中的Bottleneck中的Conv)
-
ultralytics/cfg/models/v8/yolov8-C2f-Faster-EMA.yaml
使用C2f-Faster-EMA替换C2f.(C2f-Faster-EMA推荐可以放在主干上,Neck和head部分可以选择C2f-Faster)
-
ultralytics/cfg/models/v8/yolov8-C2f-DBB.yaml
使用C2f-DBB替换C2f.(使用DiverseBranchBlock替换C2f中的Bottleneck中的Conv)
-
ultralytics/cfg/models/v8/yolov8-C2f-CloAtt.yaml
使用C2f-CloAtt替换C2f.(使用CloFormer中的具有全局和局部特征的注意力机制添加到C2f中的Bottleneck中)(需要看常见错误和解决方案的第五点)
-
ultralytics/cfg/models/v8/yolov8-C2f-SCConv.yaml
SCConv(CVPR2020 http://mftp.mmcheng.net/Papers/20cvprSCNet.pdf)与C2f融合.
-
ultralytics/cfg/models/v8/yolov8-C2f-SCcConv.yaml
ScConv(CVPR2023 https://openaccess.thecvf.com/content/CVPR2023/papers/Li_SCConv_Spatial_and_Channel_Reconstruction_Convolution_for_Feature_Redundancy_CVPR_2023_paper.pdf)与C2f融合.
(取名为SCcConv的原因是在windows下命名是不区分大小写的) -
ultralytics/cfg/models/v8/yolov8-KernelWarehouse.yaml
使用Towards Parameter-Efficient Dynamic Convolution添加到yolov8中.
使用此模块需要注意,在epoch0-20的时候精度会非常低,过了20epoch会正常. -
ultralytics/cfg/models/v8/yolov8-C2f-DySnakeConv.yaml
DySnakeConv与C2f融合.
-
ultralytics/cfg/models/v8/yolov8-C2f-DCNV2.yaml
使用C2f-DCNV2替换C2f.(DCNV2为可变形卷积V2)
-
ultralytics/cfg/models/v8/yolov8-C2f-DCNV3.yaml
使用C2f-DCNV3替换C2f.(DCNV3为可变形卷积V3(CVPR2023,众多排行榜的SOTA))
官方中包含了一些指定版本的DCNV3 whl包,下载后直接pip install xxx即可.具体和安装DCNV3可看百度云链接中的视频. -
ultralytics/cfg/models/v8/yolov8-C2f-OREPA.yaml
使用C2f-OREPA替换C2f.Online Convolutional Re-parameterization (CVPR2022)
-
ultralytics/cfg/models/v8/yolov8-C2f-REPVGGOREPA.yaml
使用C2f-REPVGGOREPA替换C2f.Online Convolutional Re-parameterization (CVPR2022)
-
ultralytics/cfg/models/v8/yolov8-C2f-DCNV4.yaml
使用DCNV4改进C2f.(请关闭AMP进行训练,使用教程请看20240116版本更新说明)
-
ultralytics/cfg/models/v8/yolov8-C2f-ContextGuided.yaml
使用CGNet中的Light-weight Context Guided改进C2f.
-
ultralytics/cfg/models/v8/yolov8-C2f-MSBlock.yaml
使用YOLO-MS中的MSBlock改进C2f.
-
ultralytics/cfg/models/v8/yolov8-C2f-DLKA.yaml
使用deformableLKA改进C2f.
-
ultralytics/cfg/models/v8/yolov8-C2f-DAttention.yaml
使用Vision Transformer with Deformable Attention(CVPR2022)改进C2f.(需要看常见错误和解决方案的第五点)
使用注意点请看百度云视频.(DAttention(Vision Transformer with Deformable Attention CVPR2022)使用注意说明.) -
使用ParC-Net中的ParC_Operator改进C2f.(需要看常见错误和解决方案的第五点)
使用注意点请看百度云视频.(20231031更新说明) -
ultralytics/cfg/models/v8/yolov8-C2f-DWR.yaml
使用DWRSeg中的Dilation-wise Residual(DWR)模块,加强从网络高层的可扩展感受野中提取特征.
-
ultralytics/cfg/models/v8/yolov8-C2f-RFAConv.yaml
使用RFAConv中的RFAConv改进yolov8.
-
ultralytics/cfg/models/v8/yolov8-C2f-RFCBAMConv.yaml
使用RFAConv中的RFCBAMConv改进yolov8.
-
ultralytics/cfg/models/v8/yolov8-C2f-RFCAConv.yaml
使用RFAConv中的RFCAConv改进yolov8.
-
ultralytics/cfg/models/v8/yolov8-C2f-FocusedLinearAttention.yaml
使用FLatten Transformer(ICCV2023)中的FocusedLinearAttention改进C2f.(需要看常见错误和解决方案的第五点)
使用注意点请看百度云视频.(20231114版本更新说明.) -
ultralytics/cfg/models/v8/yolov8-C2f-MLCA.yaml
使用Mixed Local Channel Attention 2023改进C2f.(用法请看百度云视频-20231129版本更新说明)
-
ultralytics/cfg/models/v8/yolov8-C2f-AKConv.yaml
使用AKConv 2023改进C2f.(用法请看百度云视频-20231129版本更新说明)
-
ultralytics/cfg/models/v8/yolov8-C2f-UniRepLKNetBlock.yaml
使用UniRepLKNet中的UniRepLKNetBlock改进C2f.
-
ultralytics/cfg/models/v8/yolov8-C2f-DRB.yaml
使用UniRepLKNet中的DilatedReparamBlock改进C2f.
-
ultralytics/cfg/models/v8/yolov8-C2f-AggregatedAtt.yaml
使用TransNeXt中的聚合感知注意力改进C2f.(需要看常见错误和解决方案的第五点)
-
ultralytics/cfg/models/v8/yolov8-C2f-SWC.yaml
使用shift-wise conv改进yolov8中的C2f.
-
ultralytics/cfg/models/v8/yolov8-C2f-iRMB.yaml
使用EMO ICCV2023中的iRMB改进C2f.
-
ultralytics/cfg/models/v8/yolov8-C2f-VSS.yaml
使用最新的Mamba架构Mamba-UNet中的VSS对C2f中的BottleNeck进行改进,使其能更有效地捕获图像中的复杂细节和更广泛的语义上下文.
-
ultralytics/cfg/models/v8/yolov8-C2f-LVMB.yaml
使用最新的Mamba架构Mamba-UNet中的VSS与Cross Stage Partial进行结合,使其能更有效地捕获图像中的复杂细节和更广泛的语义上下文.
-
ultralytics/cfg/models/v8/yolov8-RepNCSPELAN.yaml
使用YOLOV9中的RepNCSPELAN进行改进yolov8.
-
ultralytics/cfg/models/v8/yolov8-C2f-DynamicConv.yaml
使用CVPR2024 parameternet中的DynamicConv改进C2f.
-
ultralytics/cfg/models/v8/yolov8-C2f-GhostDynamicConv.yaml
使用CVPR2024 parameternet中的GhostModule改进C2f.
-
ultralytics/cfg/models/v8/yolov8-C2f-RVB.yaml
使用CVPR2024 RepViT中的RepViTBlock改进C2f.
-
ultralytics/cfg/models/v8/yolov8-DGCST.yaml
使用Lightweight Object Detection中的Dynamic Group Convolution Shuffle Transformer改进yolov8.
-
ultralytics/cfg/models/v8/yolov8-C2f-RetBlock.yaml
使用CVPR2024 RMT中的RetBlock改进C2f.
-
ultralytics/cfg/models/v8/yolov8-C2f-PKI.yaml
使用CVPR2024 PKINet中的PKIModule和CAA模块改进C2f.
-
ultralytics/cfg/models/v8/yolov8-RepNCSPELAN_CAA.yaml
使用CVPR2024 PKINet中的CAA模块改进RepNCSPELAN.
-
ultralytics/cfg/models/v8/yolov8-C2f-fadc.yaml
-
ultralytics/cfg/models/v8/yolov8-C2f-PPA.yaml
使用HCFNet中的Parallelized Patch-Aware Attention Module改进C2f.
-
ultralytics/cfg/models/v8/yolov8-C2f-Star.yaml
使用StarNet CVPR2024中的StarBlock改进C2f.
-
ultralytics/cfg/models/v8/yolov8-C2f-KAN.yaml
KAN In! Mamba Out! Kolmogorov-Arnold Networks.
目前支持:- FastKANConv2DLayer
- KANConv2DLayer
- KALNConv2DLayer
- KACNConv2DLayer
- KAGNConv2DLayer
-
ultralytics/cfg/models/v8/yolov8-C2f-DEConv.yaml
使用DEA-Net中的detail-enhanced convolution改进C2f.
-
ultralytics/cfg/models/v8/yolov8-C2f-Heat.yaml
使用vHeat中的HeatBlock改进C2f.
-
ultralytics/cfg/models/v8/yolov8-C2f-WTConv.yaml
使用ECCV2024 Wavelet Convolutions for Large Receptive Fields中的WTConv改进C2f-BottleNeck.
-
ultralytics/cfg/models/v8/yolov8-C2f-FMB.yaml
使用ECCV2024 SMFANet的Feature Modulation block改进C2f.
-
ultralytics/cfg/models/v8/yolov8-C2f-gConv.yaml
使用Rethinking Performance Gains in Image Dehazing Networks的gConvblock改进C2f.
-
ultralytics/cfg/models/v8/yolov8-C2f-WDBB.yaml
使用YOLO-MIF中的WDBB改进c2f.
-
ultralytics/cfg/models/v8/yolov8-C2f-DeepDBB.yaml
使用YOLO-MIF中的DeepDBB改进c2f.
组合系列
-
ultralytics/cfg/models/v8/yolov8-fasternet-bifpn.yaml
fasternet与bifpn的结合.
其中BIFPN中有三个可选参数:- Fusion
其中BIFPN中的Fusion模块支持五种: weight, adaptive, concat, bifpn(default), SDI
其中weight, adaptive, concat出自paper链接-Figure 3, SDI出自U-NetV2 - node_mode
其中目前(后续会更新喔)支持这些结构 - head_channel
BIFPN中的通道数,默认设置为256.
- Fusion
-
ultralytics/cfg/models/v8/yolov8-ELA-HSFPN-TADDH.yaml
使用Efficient Local Attention改进HSFPN,使用自研动态动态对齐检测头改进Head.
-
ultralytics/cfg/models/v8/yolov8-FDPN-TADDH.yaml
自研结构的融合.
- 自研特征聚焦扩散金字塔网络(Focusing Diffusion Pyramid Network)
- 自研任务对齐动态检测头(Task Align Dynamic Detection Head)
-
ultralytics/cfg/models/v8/yolov8-starnet-C2f-Star-LSCD.yaml
轻量化模型组合.
- CVPR2024-StarNet Backbone.
- C2f-Star.
- Lightweight Shared Convolutional Detection Head.
YOLOV10系列
以下配置文件都基于v10n,如果需要使用其他大小的模型(s,m,b,l,x)可以看项目视频百度云链接-YOLOV10模型大小切换教程.
二次创新系列
-
SlideLoss and EMASlideLoss.Yolo-Face V2
在ultralytics/utils/loss.py中的class v8DetectionLoss进行设定.
-
ultralytics/cfg/models/v10/yolov10n-RevCol.yaml
使用(ICLR2023)Reversible Column Networks对yolov10主干进行重设计,里面的支持更换不同的C2f-Block.
-
ultralytics/cfg/models/v10/yolov10n-BIMAFPN.yaml
利用BIFPN的思想对MAF-YOLO的MAFPN进行二次改进得到BIMAFPN.
自研系列
-
ultralytics/cfg/models/v10/yolov10n-C2f-EMSC.yaml
Efficient Multi-Scale Conv.自研模块,具体讲解请看百度云链接中的视频.
-
ultralytics/cfg/models/v10/yolov10n-C2f-EMSCP.yaml
Efficient Multi-Scale Conv Plus.自研模块,具体讲解请看百度云链接中的视频.
-
ultralytics/cfg/models/v10/yolov10n-LAWDS.yaml
Light Adaptive-weight downsampling.自研模块,具体讲解请看百度云链接中的视频.
-
ultralytics/cfg/models/v10/yolov10n-LSCD.yaml
自研轻量化检测头.(Lightweight Shared Convolutional Detection Head)
- GroupNorm在FCOS论文中已经证实可以提升检测头定位和分类的性能.
- 通过使用共享卷积,可以大幅减少参数数量,这使得模型更轻便,特别是在资源受限的设备上.
- 在使用共享卷积的同时,为了应对每个检测头所检测的目标尺度不一致的问题,使用Scale层对特征进行缩放.
综合以上,我们可以让检测头做到参数量更少、计算量更少的情况下,尽可能减少精度的损失.
-
ultralytics/cfg/models/v10/yolov10n-CGRFPN.yaml
Context-Guided Spatial Feature Reconstruction Feature Pyramid Network.
- 借鉴ECCV2024-CGRSeg中的Rectangular Self-Calibration Module经过精心设计,用于空间特征重建和金字塔上下文提取,它在水平和垂直方向上捕获全局上下文,并获得轴向全局上下文来显式地建模矩形关键区域.
- PyramidContextExtraction Module使用金字塔上下文提取模块(PyramidContextExtraction),有效整合不同层级的特征信息,提升模型的上下文感知能力。
- FuseBlockMulti 和 DynamicInterpolationFusion 这些模块用于多尺度特征的融合,通过动态插值和多特征融合,进一步提高了模型的多尺度特征表示能力和提升模型对复杂背景下目标的识别能力。
-
ultralytics/cfg/models/v10/yolov10n-FeaturePyramidSharedConv.yaml
- 多尺度特征提取
通过使用不同膨胀率的卷积层,模块能够提取不同尺度的特征。这对捕捉图像中不同大小和不同上下文的信息非常有利。
低膨胀率捕捉局部细节,高膨胀率捕捉全局上下文。 - 参数共享
使用共享的卷积层 self.share_conv,大大减少了需要训练的参数数量。相比于每个膨胀率使用独立的卷积层,共享卷积层能够减少冗余,提升模型效率。
减少了模型的存储和计算开销,提升了计算效率。 - 高效的通道变换
通过1x1卷积层 self.cv1 和 self.cv2,模块能够高效地调整通道数,并进行特征融合。1x1卷积层在减少参数量的同时还能保留重要的特征信息。 - 更细粒度的特征提取
FeaturePyramidSharedConv 使用卷积操作进行特征提取,能够捕捉更加细粒度的特征。相比之下,SPPF 的池化操作可能会丢失一些细节信息。
卷积操作在特征提取时具有更高的灵活性和表达能力,可以更好地捕捉图像中的细节和复杂模式。
- 多尺度特征提取
-
APT(Adaptive Power Transformation)-TAL.
为了使不同gt预测对的匹配质量和损失权重更具鉴别性,我们通过自定义的PowerTransformer显著增强高质量预测框的权重,抑制低质量预测框的影响,并使模型在学习的过程可以更关注质量高的预测框。
BackBone系列
-
ultralytics/cfg/models/v10/yolov10n-efficientViT.yaml
(CVPR2023)efficientViT替换yolov10主干.
-
ultralytics/cfg/models/v10/yolov10n-fasternet.yaml
(CVPR2023)fasternet替换yolov10主干.
-
ultralytics/cfg/models/v10/yolov10n-timm.yaml
使用timm支持的主干网络替换yolov10主干.
-
ultralytics/cfg/models/v10/yolov10n-convnextv2.yaml
使用convnextv2网络替换yolov10主干.
-
ultralytics/cfg/models/v10/yolov10n-EfficientFormerV2.yaml
使用EfficientFormerV2网络替换yolov10主干.(需要看常见错误和解决方案的第五点)
-
ultralytics/cfg/models/v10/yolov10n-vanillanet.yaml
vanillanet替换yolov10主干.
-
ultralytics/cfg/models/v10/yolov10n-LSKNet.yaml
LSKNet(2023旋转目标检测SOTA的主干)替换yolov10主干.
-
ultralytics/cfg/models/v10/yolov10n-swintransformer.yaml
SwinTransformer-Tiny替换yolov10主干.
-
ultralytics/cfg/models/v10/yolov10n-repvit.yaml
CVPR2024 RepViT替换yolov10主干.
-
ultralytics/cfg/models/v10/yolov10n-CSwinTransformer.yaml
使用CSWin-Transformer(CVPR2022)替换yolov10主干.(需要看常见错误和解决方案的第五点)
-
ultralytics/cfg/models/v10/yolov10n-HGNetV2.yaml
使用HGNetV2作为YOLOV10的backbone.
-
ultralytics/cfg/models/v10/yolov10n-unireplknet.yaml
使用UniRepLKNet替换yolov10主干.
-
ultralytics/cfg/models/v10/yolov10n-TransNeXt.yaml
使用TransNeXt改进yolov10的backbone.(需要看常见错误和解决方案的第五点)
-
ultralytics/cfg/models/v10/yolov10n-rmt.yaml
使用CVPR2024 RMT改进yolov10的主干.
-
ultralytics/cfg/models/v10/yolov10n-pkinet.yaml
使用CVPR2024 PKINet改进backbone.(需要安装mmcv和mmengine)
-
ultralytics/cfg/models/v10/yolov10n-mobilenetv4.yaml
使用MobileNetV4改进yolov10的backbone.
-
ultralytics/cfg/models/v10/yolov10n-starnet.yaml
使用StarNet CVPR2024改进yolov10-backbone.
SPPF系列
-
ultralytics/cfg/models/v10/yolov10n-FocalModulation.yaml
使用Focal Modulation替换SPPF.
-
ultralytics/cfg/models/v10/yolov10n-SPPF-LSKA.yaml
使用LSKA注意力机制改进SPPF,增强多尺度特征提取能力.
-
ultralytics/cfg/models/v10/yolov10n-AIFIRep.yaml
使用ICML-2024 SLAB与AIFI改进yolov10.
Neck系列
-
ultralytics/cfg/models/v10/yolov10n-bifpn.yaml
添加BIFPN到yolov10中.
其中BIFPN中有三个可选参数:- Fusion
其中BIFPN中的Fusion模块支持五种: weight, adaptive, concat, bifpn(default), SDI
其中weight, adaptive, concat出自paper链接-Figure 3, SDI出自U-NetV2 - node_mode
其中支持这些结构 - head_channel
BIFPN中的通道数,默认设置为256.
- Fusion
-
ultralytics/cfg/models/v10/yolov10n-slimneck.yaml
使用VoVGSCSP\VoVGSCSPC和GSConv替换yolov10 neck中的C2f和Conv.
-
ultralytics/cfg/models/v10/yolov10n-goldyolo.yaml
利用华为2023最新GOLD-YOLO中的Gatherand-Distribute进行改进特征融合模块.
-
ultralytics/cfg/models/v10/yolov10n-MAFPN.yaml
使用MAF-YOLO的MAFPN改进Neck.
Head系列
Label Assign系列
PostProcess系列
上下采样算子
-
ultralytics/cfg/models/v10/yolov10n-ContextGuidedDown.yaml
使用CGNet中的Light-weight Context Guided DownSample进行下采样.
-
ultralytics/cfg/models/v10/yolov10n-SPDConv.yaml
使用SPDConv进行下采样.
-
ultralytics/cfg/models/v10/yolov10n-dysample.yaml
使用ICCV2023 DySample改进yolov10-neck中的上采样.
-
ultralytics/cfg/models/v10/yolov10n-CARAFE.yaml
使用ICCV2019 CARAFE改进yolov10-neck中的上采样.
-
ultralytics/cfg/models/v10/yolov10n-HWD.yaml
使用Haar wavelet downsampling改进yolov8的下采样.(请关闭AMP情况下使用)
-
ultralytics/cfg/models/v8=10/yolov10n-v7DS.yaml
使用YOLOV7 CVPR2023的下采样结构改进YOLOV10中的下采样.
-
ultralytics/cfg/models/v10/yolov10n-ADown.yaml
使用YOLOV9的下采样结构改进YOLOV10中的下采样.
-
ultralytics/cfg/models/v10/yolov10n-SRFD.yaml
使用A Robust Feature Downsampling Module for Remote Sensing Visual Tasks改进yolov10的下采样.
-
ultralytics/cfg/models/v10/yolov10n-WaveletPool.yaml
使用Wavelet Pooling改进YOLOV10的上采样和下采样。
-
ultralytics/cfg/models/v10/yolov10n-LDConv.yaml
使用LDConv改进下采样.
C2f系列
-
ultralytics/cfg/models/v10/yolov10n-C2f-WTConv.yaml
使用ECCV2024 Wavelet Convolutions for Large Receptive Fields中的WTConv改进C2f-BottleNeck.
-
ultralytics/cfg/models/v10/yolov10n-attention.yaml
可以看项目视频-如何在yaml配置文件中添加注意力层
多种注意力机制在yolov10中的使用. 多种注意力机制github地址
目前内部整合的注意力可看链接 -
ultralytics/cfg/models/v10/yolov10n-C2f-FMB.yaml
使用ECCV2024 SMFANet的Feature Modulation block改进C2f.
-
ultralytics/cfg/models/v10/yolov10n-C2f-Faster.yaml
使用C2f-Faster替换C2f.(使用FasterNet中的FasterBlock替换C2f中的Bottleneck)
-
ultralytics/cfg/models/v10/yolov10n-C2f-ODConv.yaml
使用C2f-ODConv替换C2f.(使用ODConv替换C2f中的Bottleneck中的Conv)
-
ultralytics/cfg/models/v10/yolov10n-C2f-Faster-EMA.yaml
使用C2f-Faster-EMA替换C2f.(C2f-Faster-EMA推荐可以放在主干上,Neck和head部分可以选择C2f-Faster)
-
ultralytics/cfg/models/v10/yolov10n-C2f-DBB.yaml
使用C2f-DBB替换C2f.(使用DiverseBranchBlock替换C2f中的Bottleneck中的Conv)
-
ultralytics/cfg/models/v10/yolov10n-C2f-CloAtt.yaml
使用C2f-CloAtt替换C2f.(使用CloFormer中的具有全局和局部特征的注意力机制添加到C2f中的Bottleneck中)(需要看常见错误和解决方案的第五点)
-
ultralytics/cfg/models/v10/yolov10n-C2f-gConv.yaml
使用Rethinking Performance Gains in Image Dehazing Networks的gConvblock改进C2f.
-
ultralytics/cfg/models/v10/yolov10n-C2f-SCConv.yaml
SCConv(CVPR2020 http://mftp.mmcheng.net/Papers/20cvprSCNet.pdf)与C2f融合.
-
ultralytics/cfg/models/v10/yolov10n-C2f-SCcConv.yaml
ScConv(CVPR2023 https://openaccess.thecvf.com/content/CVPR2023/papers/Li_SCConv_Spatial_and_Channel_Reconstruction_Convolution_for_Feature_Redundancy_CVPR_2023_paper.pdf)与C2f融合.
(取名为SCcConv的原因是在windows下命名是不区分大小写的) -
ultralytics/cfg/models/v10/yolov10n-KernelWarehouse.yaml
使用Towards Parameter-Efficient Dynamic Convolution添加到yolov10中.
使用此模块需要注意,在epoch0-20的时候精度会非常低,过了20epoch会正常. -
ultralytics/cfg/models/v10/yolov10n-C2f-DySnakeConv.yaml
DySnakeConv与C2f融合.
-
ultralytics/cfg/models/v10/yolov10n-C2f-WDBB.yaml
使用YOLO-MIF中的WDBB改进c2f.
-
ultralytics/cfg/models/v10/yolov10n-C2f-DeepDBB.yaml
使用YOLO-MIF中的DeepDBB改进c2f.
组合系列
-
ultralytics/cfg/models/v10/yolov10n-starnet-bifpn.yaml
使用StarNet CVPR2024和bifpn改进yolov10.
Mamba-YOLO
-
集成Mamba-YOLO.(需要编译请看百度云视频-20240619版本更新说明)
ultralytics/cfg/models/mamba-yolo/Mamba-YOLO-T.yaml
ultralytics/cfg/models/mamba-yolo/Mamba-YOLO-B.yaml
ultralytics/cfg/models/mamba-yolo/Mamba-YOLO-L.yaml
ultralytics/cfg/models/mamba-yolo/yolo-mamba-seg.yaml
注意力系列
- EMA
- SimAM
- SpatialGroupEnhance
- BiLevelRoutingAttention, BiLevelRoutingAttention_nchw
- TripletAttention
- CoordAtt
- CBAM
- BAMBlock
- EfficientAttention(CloFormer中的注意力)
- LSKBlock
- SEAttention
- CPCA
- deformable_LKA
- EffectiveSEModule
- LSKA
- SegNext_Attention
- DAttention(Vision Transformer with Deformable Attention CVPR2022)
- FocusedLinearAttention(ICCV2023)
- MLCA
- TransNeXt_AggregatedAttention
- LocalWindowAttention(EfficientViT中的CascadedGroupAttention注意力)
- Efficient Local AttentionEfficient Local Attention
- CAA(CVPR2024 PKINet中的注意力)
- CAFM
- AFGCAttentionNeural Networks ECCV2024
Loss系列
- SlideLoss,EMASlideLoss.(可动态调节正负样本的系数,让模型更加注重难分类,错误分类的样本上)
- IoU,GIoU,DIoU,CIoU,EIoU,SIoU,MPDIoU,ShapeIoU.
- Inner-IoU,Inner-GIoU,Inner-DIoU,Inner-CIoU,Inner-EIoU,Inner-SIoU,Inner-ShapeIoU.
- Wise-IoU(v1,v2,v3)系列(IoU,WIoU,EIoU,GIoU,DIoU,CIoU,SIoU,MPDIoU,ShapeIoU).
- Inner-Wise-IoU(v1,v2,v3)系列(IoU,WIoU,EIoU,GIoU,DIoU,CIoU,SIoU,MPDIoU,ShapeIoU).
- FocalLoss,VarifocalLoss,QualityfocalLoss
- Focaler-IoU系列(IoU,GIoU,DIoU,CIoU,EIoU,SIoU,WIoU,MPDIoU,ShapeIoU)
- Powerful-IoU,Powerful-IoUV2,Inner-Powerful-IoU,Inner-Powerful-IoUV2,Focaler-Powerful-IoU,Focaler-Powerful-IoUV2,Wise-Powerful-IoU(v1,v2,v3),Wise-Powerful-IoUV2(v1,v2,v3)论文链接
- Normalized Gaussian Wasserstein Distance.
更新公告
-
20230620-yolov8-v1.1
- 增加EMA,C2f-Faster-EMA.
- val.py增加batch选择.
- train.py增加resume断点续训.
-
20230625-yolov8-v1.2
- 使用说明和视频增加断点续训教程.
- 增加 使用C2f-DBB替换C2f.(使用DiverseBranchBlock替换C2f中的Bottleneck中的Conv) C2f-DBB同样可以用在bifpn中的node.
- 使用说明中增加常见错误以及解决方案.
-
20230627-yolov8-v1.3
- 增加Adaptive Training Sample Selection匹配策略.
- val.py增加save_txt参数.
- 更新使用教程.
-
20230701-yolov8-v1.4
- val.py中增加imgsz参数,可以自定义val时候的图片尺寸,默认为640.
- 增加plot_result.py,用于绘制对比曲线图,详细请看使用说明13点.
- 支持计算COCO评价指标.详细请看使用说明12点.
- 增加yolov8-slimneck.其中VoVGSCSP\VoVGSCSPC支持在bifpn中使用,支持GSConv的替换.
-
20230703-yolov8-v1.5
- 修正计算gflops.
- 增加YOLOV5-AnchorFree改进,详细可看使用教程.md
- 增加yolov8-attention.yaml,并附带视频如何在yaml中添加注意力层
- 更新train.py --info参数的功能,增加打印每一层的参数,增加模型融合前后的层数,参数量,计算量对比。
-
20230705-yolov8-v1.6
- yolov5和yolov8 支持 Asymptotic Feature Pyramid Network.
-
20230714-yolov8-v1.7
- 把添加的所有模块全部转移到ultralytics/nn/extra_modules,以便后面进行同步代码。
- 增加yolov5-bifpn。
- 修正ultralytics/models/v8/yolov8-efficientViT.yaml,经粉丝反映,EfficientViT存在同名论文,本次更新的EfficientViT更适合目标检测,之前的efficientViT的原文是在语义分割上进行提出的。
- 更新使用教程。
- 更新import逻辑,现在不需要安装mmcv也可以进行使用,但是没有安装mmcv的使用dyhead会进行报错,降低上手难度。
-
20230717-yolov8-v1.8
- 修正vanillanet主干进行fuse后没法计算GFLOPs的bug.
- 添加yolov8-C2f-CloAtt,yolov5-C3-CloAtt.
- 添加yolov8-vanillanet.yaml.
-
20230723-yolov8-v1.9
- 利用(ICLR2023)Reversible Column Networks对yolov5,yolov8的结构进行重设计.
- 支持旋转目标检测2023SOTA的LSKNet主干.
- 支持旋转目标检测2023SOTA的LSKNet主干中的LSKBlock注意力机制.
- 更新使用教程中的常见错误.
- 使用教程中增加常见疑问.
-
20230730-yolov8-v1.10
- 增加yolov8-C2f-SCConv,yolov5-C3-SCConv.(CVPR 2020 http://mftp.mmcheng.net/Papers/20cvprSCNet.pdf)
- 增加yolov8-C2f-ScConv,yolov5-C3-ScConv.(CVPR 2023 https://openaccess.thecvf.com/content/CVPR2023/papers/Li_SCConv_Spatial_and_Channel_Reconstruction_Convolution_for_Feature_Redundancy_CVPR_2023_paper.pdf)
- 更新使用教程.
- 更新视频百度云链接,增加SCConv和ScConv的使用教程.
-
20230730-yolov8-v1.11
- yolov8-C2f-ScConv,yolov5-C3-ScConv分别更名为yolov8-C2f-SCcConv,yolov5-C3-SCcConv,因为在windows下命名不会区分大小写,导致解压的时候会出现覆盖请求.
- 支持MPDiou,具体修改方法请看使用教程.
-
20230802-yolov8-v1.11.1
- 去除dataloader中的drop_last(ultralytics/yolo/data/build.py, build_dataloader func).
- 修正MPDiou.
-
20230806-yolov8-v1.12
- 添加全新自研模块(Light Adaptive-weight downsampling),具体可看使用教程.
-
20230808-yolov8-v1.13
- 添加全新自研模块(EMSC, EMSCP),具体可看使用教程.
- 添加RSC-YOLO中的RCSOSA到yolov5和yolov8中.
- 更新使用教程.
-
20230824-yolov8-v1.14
- 支持SlideLoss和EMASlideLoss(利用Exponential Moving Average优化mean iou,可当自研创新模块),使用方式具体看使用教程.
- 支持KernelWarehouse:Towards Parameter-Efficient Dynamic Convolution(2023最新发布的动态卷积).
- 支持最新可变形卷积-Dynamic Snake Convolution.
- 支持Normalized Gaussian Wasserstein Distance(NWD).
- 增加CPCANet中的CPCA注意力机制.
- 更新使用教程.
-
20230830-yolov8-v1.15
- 对检测头进行重设计,支持10种(参数量和计算量更低的)检测头,详细请看使用教程.
-
20230904-yolov8-v1.16
- 支持DCNV2,DCNV3.详细请看项目百度云视频.
- 使用DCNV3改进DyHead.(ultralytics/models/v5/yolov5-dyhead-DCNV3.yaml,ultralytics/models/v8/yolov8-dyhead-DCNV3.yaml)
- 根据YOLOV7-AUX辅助训练头思想,改进YOLOV8,增加辅助训练头,训练时候参与训练,检测时候去掉.(ultralytics/models/v5/yolov5-AuxHead.yaml, ultralytics/models/v8/yolov8-AuxHead.yaml)
- 增加C3-Faster(ultralytics/models/v5/yolov5-C3-Faster.yaml).
- 增加C3-ODConv(ultralytics/models/v5/yolov5-C3-ODConv.yaml).
- 增加C3-Faster-EMA(ultralytics/models/v5/yolov5-C3-Faster-EMA.yaml).
- 更新使用教程.
-
20230909-yolov8-v1.17
- 优化辅助训练头部分代码.
- 修复多卡训练中的一些bug.
- 更新使用教程.(百度云视频中增加关于C3-XXX和C2f-XXX移植到官方yolov5上的讲解)
- 支持TAL标签分配策略中使用NWD(具体可看使用教程).
-
20230915-yolov8-v1.18
- 新增Online Convolutional Re-parameterization (CVPR2022).(超越DBB和RepVGG) (C3-OREPA,C3-REPVGGOREPA,C2f-OREPA,C2f-REPVGGOREPA)
- 新增FocalModulation.
- 支持RepViT和SwinTransformer-Tiny主干.
- 利用OREPA优化自研模块(EMSC,EMSCP).
- 更新使用教程和百度云视频.
-
20230916-yolov8-v1.19
- 去除OREPA_1x1,该结构会让模型无法收敛或者NAN.
- 新增yolov8-fasternet-bifpn和yolov5-fasternet-bifpn.
- 更新使用教程和百度云视频.(更新OREPA的视频和增加如何看懂代码结构-以C2f-Faster-EMA为例).
-
20230919-yolov8-v1.19.1
- 修复C2f-ODConv在20epochs后精度异常问题.
- 修复BAM注意力机制中的padding问题.
- 修复EfficientAttention(CloFormer中的注意力)注意力机制不能在配置文件添加的问题.
- 去除C2f-EMSP-OREPA,C2f-EMSCP-OREPA,C3-EMSP-OREPA,C3-EMSCP-OREPA,这部分不稳定,容易出现NAN.
- 群公告中增加使用前必看的百度云视频链接.
-
20230924-yolov8-v1.20
- 增加自研注意力机制MPCA(基于CVPR2021 CA注意力机制).详细可看百度云视频.
- 使用自研注意力机制MPCA强化DCNV2中的offset和mask生成.详细可看百度云视频和使用教程.
- 把timm配置文件的预训练权重参数改为False,也即是默认不下载和使用预训练权重.
- 利用华为2023最新GOLD-YOLO中的Gatherand-Distribute进行改进特征融合模块.
-
20230927-yolov8-v1.21
- 使用YOLO-MS中的MSBlock改进C2f和C3模块,具体请看使用教程.
- 使用GCNet中的Light-weight Context Guided改进C2f和C3模块,具体请看使用教程.
- 使用GCNet中的Light-weight Context Guided Down替换YOLO中的下采样模块,具体请看使用教程.
-
20231010-yolov8-v1.22
- RepViT同步官方源码.
- 经实验发现网络全使用C2f-MSBlock和C3-MSBlock不稳定,因此在Neck部分还是使用C2f或C3,具体可参看对应的配置文件.
- 支持deformableLKA注意力机制,并进行改进C2f和C3,提出C2f_DLKA,C3_DLKA.
- 使用DAMO-YOLO中的RepGFPN改进yolov8中的Neck.
- 使用YOLOV6中的EfficientRepBiPAN改进yolov8中的Neck.
- 新增支持SPDConv进行下采样.
- 使用Efficientnet中的MBConv与EffectiveSE改进C2f和C3.
-
20231020-yolov8-v1.23
- 更新使用教程和百度云视频.(更新DAttention使用说明视频).
- 增加LSKA, SegNext_Attention, DAttention(Vision Transformer with Deformable Attention CVPR2022).
- 使用LSKA改进SPPF,增强多尺度特征提取能力.
- 使用[Vision Transformer with Deformable Attention(CVPR2022)]改进C2f,C3.
-
20231107-yolov8-v1.24
- 新增CVPR2022-CSwinTransformer主干.
- 新增yolov5-AIFI.yaml,yolov8-AIFI.yaml.
- 新增使用ParC-Net中的位置感知循环卷积改进C3,C2f.
- 新增使用DWRSeg中的Dilation-wise Residual(DWR)模块,加强从网络高层的可扩展感受野中提取特征.(yolov5-C3-DWR.yaml,yolov8-C2f-DWR.yaml)
- 把当前所有的改进同步到ultralytics-8.0.202版本上.
- 更新新版百度云链接视频.
- 新增热力图、FPS脚本.
-
20231114-yolov8-v1.25
- 新增EIou,SIou.
- 新增Inner-IoU,Inner-GIoU,Inner-DIoU,Inner-CIoU,Inner-EIoU,Inner-SIoU.
- 使用今年最新的MPDIoU与Inner-IoU相结合得到Inner-MPDIoU.
- 新增FLatten Transformer(ICCV2023)中的FocusedLinearAttention改进C3,C2f.
- 更新get_FPS脚本中的模型导入方式,避免一些device报错.
- 更新百度云链接视频-20231114版本更新说明.
-
20231114-yolov8-v1.26
- 修正MPDIOU中的mpdiou_hw参数.
- 更新使用教程.
-
20231129-yolov8-v1.27
- 新增Mixed Local Channel Attention改进C2f和C3.
- 新增AKConv改进C2f和C3.
- 更新使用教程.
- 更新百度云链接视频-20231129版本更新说明.
-
20231207-yolov8-v1.28
- 新增支持2023最新大卷积核CNN架构RepLKNet升级版-UniRepLKNet.
- 新增UniRepLKNet中的[UniRepLKNetBlock, DilatedReparamBlock]改进C3和C2f.
- 使用UniRepLKNet中的DilatedReparamBlock对DWRSeg中的Dilation-wise Residual(DWR)模块进行二次创新后改进C3和C2f.
- 修复get_FPS.py测速前没有进行fuse的问题.
- 更新使用教程.
- 更新百度云链接视频-20231207版本更新说明.
-
20231217-yolov8-v1.29
- 新增ASF-YOLO中的Attentional Scale Sequence Fusion,并在其基础上增加P2检测层并进行优化网络结构.
- 新增使用DualConv打造CSP Efficient Dual Layer Aggregation Networks.
- 更新使用教程.
- 更新百度云链接视频-20231217版本更新说明.
-
20231227-yolov8-v1.30
- 新增支持TransNeXt主干和TransNeXt中的聚焦感知注意力机制.
- 新增U-NetV2中的Semantics and Detail Infusion Module,分别对BIFPN和PAFPN中的feature fusion部分进行二次创新.
- 更新使用教程.
- 更新百度云链接视频-20231227版本更新说明.
-
20240104-yolov8-v1.31
- 新增Shape-IoU,Inner-Shape-IoU.
- 更新使用教程.
- 更新百度云链接视频-20230104版本更新说明.
-
20240111-yolov8-v1.32
- 支持FocalLoss,VarifocalLoss,QualityfocalLoss.
- 支持Wise-IoU(v1,v2,v3)系列(IoU,WIoU,EIoU,GIoU,DIoU,CIoU,SIoU,MPDIoU,ShapeIoU).
- 支持Inner-Wise-IoU(v1,v2,v3)系列(IoU,WIoU,EIoU,GIoU,DIoU,CIoU,SIoU,MPDIoU,ShapeIoU).
- 更新使用教程.
- 更新百度云链接视频-20230111版本更新说明.
-
20240116-yolov8-v1.33
- 使用ASF-YOLO中Attentional Scale Sequence Fusion与GOLD-YOLO中的Gatherand-Distribute进行二次创新结合.
- 支持最新的DCNV4,C2f-DCNV4,C3-DCNV4,并使用DCNV4对DyHead进行二次创新(DyHead_DCNV4).
- 修复不使用wise的情况下断点续训的bug.
- 更新使用教程.
- 更新百度云链接视频-20230116版本更新说明.
-
20240122-yolov8-v1.34
-
20240203-yolov8-v1.35
- 增加Focaler-IoU(IoU,GIoU,DIoU,CIoU,EIoU,SIoU,WIoU,MPDIoU,ShapeIoU).
- 增加RepGFPN与DySample的二次创新组合.
- 增加ASF-YOLO中的ASSF与DySample的二次创新组合.
- 增加HS-PAN与DySample的二次创新组合.
- 使用遮挡感知注意力SEAM,MultiSEAM改进Head,得到具有遮挡感知识别的SEAMHead,MultiSEAMHead.
- 优化plot_result.py,使用线性插值来填充inf或者nan的数据,降低出现乱码问题的概率.
- 更新使用教程.
- 更新百度云链接视频-20230203版本更新说明.
-
20240208-yolov8-v1.36
- 将所有改进代码同步到8.1.9上.
-
20240216-yolov8-v1.37
- 增加EMO模型中的iRMB模块,并使用(EfficientViT-CVPR2023)中的CascadedAttention对其二次创新得到iRMB_Cascaded.
- 新增Shift-ConvNets相关改进内容.(rtdetr-SWC.yaml,rtdetr-R50-SWC.yaml,yolov8-detr-C2f-SWC.yaml,yolov5-detr-C3-SWC.yaml)
- 使用UniRepLKNet中的DilatedReparamBlock对EMO中的iRMB进行二次创新.
- 使用Shift-ConvNets中的具有移位操作的卷积对EMO中的iRMB进行二次创新.
- 修复一些已知问题.
- 更新使用教程.
- 百度云视频增加20240216更新说明.
-
20240219-yolov8-v1.38
- 使用最新的Mamba架构(号称超越Transformer的新架构)改进C2f(提供两种改进方式).
- 新增Powerful-IoU,Powerful-IoUV2,Inner-Powerful-IoU,Inner-Powerful-IoUV2,Focaler-Powerful-IoU,Focaler-Powerful-IoUV2,Wise-Powerful-IoU(v1,v2,v3),Wise-Powerful-IoUV2(v1,v2,v3)系列.
- 修复一些已知问题.
- 更新使用教程.
- 百度云视频增加20240219更新说明.
-
20240222-yolov8-v1.39
- 新增YOLOV9中的RepNCSPELAN模块.
- 使用DBB,OREPA,DilatedReparamBlock对YOLOV9中的RepNCSPELAN模块进行二次创新.
- 更新使用教程.
- 百度云视频增加20240222更新说明.
-
20240229-yolov8-v1.40
- 新增YOLOV9中的ADown下采样模块.
- 新增YOLOV7中的下采样模块.
- 新增YOLOV9中的programmable gradient information,并且PGI模块可以在训练后去除.
- 更新使用教程.
- 百度云视频增加20240229更新说明.
-
20240303-yolov8-v1.41
- 新增CVPR2024-parameternet中的GhostModule与DynamicConv.
- 使用CVPR2024-parameternet中的DynamicConv对CVPR2024-RTDETR中的HGBlokc进行二次创新.
- 更新使用教程.
- 百度云视频增加20240303更新说明.
-
20240309-yolov8-v1.42
- 新增拆分CVPR2024 RepVIT里面的block,提出C2f-RVB、C2f-RVB-EMA.
- 新增Lightweight Object Detection论文中的Dynamic Group Convolution Shuffle Transformer.
- 新增自研Lightweight Shared Convolutional Detection Head,支持Detect、Seg、Pose、Obb.
- 更新使用教程.
- 百度云视频增加20240309更新说明.
-
20240314-yolov8-v1.43
- 新增自研Task Align Dynamic Detection Head,支持Detect、Seg、Pose、Obb.
- 更新使用教程,新增几个常见疑问回答.
- 修复shapeiou调用不生效的问题.
- 百度云视频增加20240314更新说明.
-
20240323-yolov8-v1.44
- 新增CVPR2024-RMT主干,并支持RetBlock改进C3、C2f.
- 新增2024年新出的Efficient Local Attention,并用其对HSFPN进行二次创新,并加入自研检测头TADDH.
- 使用CVPR2021-CoordAttention对HSFPN进行二次创新.
- 更新使用教程,增加多个常见疑问解答.
- 百度云视频增加20240323更新说明.
-
20240330-yolov8-v1.45
- 新增CVPR2024 PKINet主干.
- 新增CVPR2024 PKINet中的PKIModule和CAA模块,提出C2f-PKI.
- 使用CVPR2024 PKINet中的Context Anchor Attention改进RepNCSPELAN、HSFPN.
- 更新使用教程.
- 百度云视频增加20240330更新说明.
-
20240406-yolov8-v1.46
- 新增CVPR2024 Frequency-Adaptive Dilated Convolution.
- 新增自研Focusing Diffusion Pyramid Network.
- 更新使用教程.
- 百度云视频增加20240406更新说明.
-
20240408-yolov8-v1.47
- 修复自研Focusing Diffusion Pyramid Network的一个小bug.
- 新增使用自研特征聚焦扩散金字塔网络和自研任务对齐动态检测头相结合的配置文件yolov8-FDPN-TADDH.yaml
- 新增HCFNet针对小目标分割的Parallelized Patch-Aware Attention Module改进C2f.
- 新增HCFNet针对小目标分割的Dimension-Aware Selective Integration Module对自研Focusing Diffusion Pyramid Network再次进行创新.
- 更新使用教程.
- 百度云视频增加20240408更新说明.
-
20240414-yolov8-v1.48
- 新增Cross-Scale Mutil-Head Self-Attention,对Mutil-Head Self-Attention进行二次创新.
- 更新使用教程.
- 百度云视频增加20240414更新说明.
-
20240420-yolov8-v1.49
- 新增A Robust Feature Downsampling Module for Remote Sensing Visual Tasks中的下采样.
- 新增Context and Spatial Feature Calibration for Real-Time Semantic Segmentation中的Context and Spatial Feature Calibration.
- 更新使用教程.
- 百度云视频增加20240420更新说明.
-
20240428-yolov8-v1.50
- 修复20240420更新中的Context and Spatial Feature Calibration序号错误问题.
- 新增支持mobilenetv4-backbone.
- 新增支持content-guided attention fusion改进yolov8-neck.
- 新增支持使用CAFM对CGAFusion进行二次改进,得到CAFMFusion改进yolov8-neck.
- 更新使用教程.
- 百度云视频增加20240428更新说明.
-
20240501-yolov8-v1.51
- get_FPS.py脚本新增可以通过yaml测试推理速度.
- 新增自研RGCSPELAN,其比C3、ELAN、C2f、RepNCSPELAN更低参数量和计算量更快推理速度.
- 更新使用教程.
- 百度云视频增加20240501更新说明.
-
20240505-yolov8-v1.52
- 新增LADH.(Lightweight Asymmetric Detection Head).
- 使用CVPR2024-TransNext中的Convolutional GLU对CVPR2023-FasterBlock进行二次创新.
- 更新使用教程.
- 百度云视频增加20240505更新说明.
-
20240512-yolov8-v1.53
- 基于LSCD自研轻量化检测头再次进行改进得到LSCSBD.
- 新增PSFusion中的superficial detail fusion module、profound semantic fusion module改进yolov8-neck.
- 更新使用教程.
- 百度云视频增加20240512更新说明.
-
20240513-yolov8-v1.54
- 支持CVPR2024-StarNet,新一代SOTA轻量化模型.
- 使用CVPR2024-StarNet对C2f进行创新得到C2f-Star.
- 使用CVPR2024-StarNet与CVPR2024-PKINet进行组合创新得到C2f-Star-CAA.
- 增加轻量化模型组合配置文件,融合StarNet、C2f-Star、LSCD.
- 更新使用教程.
- 百度云视频增加20240513更新说明.
-
20240523-yolov8-v1.55
- KAN In! Mamba Out!,集成pytorch-kan-conv,支持多种KAN变种!
- 同步DCNV4-CVPR2024最新代码.
- 修复AIFI在某些组合会报错的问题.
- 更新使用教程.
- 百度云视频增加20240523更新说明.
-
20240526-yolov8-v1.56
- 支持YOLOV8-NMSFree,仿照yolov10的思想采用双重标签分配和一致匹配度量进行训练,后处理不需要NMS!
- 新增边缘信息增强模块自研模块,EIEStem、EIEM。
- 更新使用教程.
- 百度云视频增加20240526更新说明.
-
20240601-yolov8-v1.57
- 新增自研ContextGuideFPN.
- 新增detail-enhanced convolution改进c2f.
- 新增自研LSDECD,在LSCD的基础上引入可重参数化的detail-enhanced convolution.
- 新增自研SMPCGLU,里面的模块分别来自CVPR2023和CVPR2024.
- 更新使用教程.
- 百度云视频增加20240601更新说明.
-
20240609-yolov8-v1.58
- 新增支持物理传热启发的视觉表征模型vHeat中的vHeatBlock.
- 新增自研重校准特征金字塔网络(Re-CalibrationFPN),推出多个版本(P2345,P345,P3456).
- 更新使用教程.
- 百度云视频增加20240609更新说明.
-
20240613-yolov8-v1.59
- 新增WaveletPool改进上采样和下采样.
- 新增自研Cross Stage Partial - Partially Transformer Block模块.
- 更新使用教程.
- 百度云视频增加20240613更新说明.
-
20240619-yolov8-v1.60
- 集成mamba-yolo.
- 新增GLSA改进yolov8-neck.
- 新增GLSA对BIFPN进行二次创新.
- 更新使用教程.
- 百度云视频增加20240619更新说明.
-
20240627-yolov8-v1.61
- 新增UCTransNet中的ChannelTransformer改进yolov8-neck.
- 新增自研SmallObjectEnhancePyramid.
- 更新使用教程.
- 百度云视频增加20240627更新说明.
-
20240707-yolov8-v1.62
- 更新使用教程,增加常见疑问.
-
20240713-ultralytics-v1.63
- ultralytics版本已更新至8.2.50,后续会更新YOLOv8、YOLOv10的改进方案.
- 新增YOLOV10改进、后续会一步一步更新V10的配置文件.(目前更新了backbone系列,一些自研系列的改进到v10中)
- 更新使用教程.
- 百度云视频增加20240713更新说明.
- 百度云视频更新(断点续训教程、计算COCO指标教程、plot_result.py使用教程、项目使用教程必看系列、YOLOV10版本切换教程一)
- 补充了EMSC和EMSCP的结构图.
-
20240720-ultralytics-v1.64
- 修复一些已知问题.
- 新增自研Context-Guided Spatial Feature Reconstruction Feature Pyramid Network.
- 新增Wavelet Convolutions for Large Receptive Fields中的WTConv改进C2f.
- 新增UBRFC-Net中的Adaptive Fine-Grained Channel Attention.
- 更新使用教程.
- 百度云视频增加20240720更新说明.
- 增加v10多个改进、主要是上下采样系列.
-
20240729-ultralytics-v1.65
- 新增自研FeaturePyramidSharedConv.
- 新增ECCV2024-SMFANet中的Feature Modulation block.
- 增加v10多个改进.
- 更新使用教程.
- 百度云视频增加20240729更新说明.
-
20240803-ultralytics-v1.66
- 新增LDConv.
- 新增Rethinking Performance Gains in Image Dehazing Networks中的gConv.
- 新增MAF-YOLO中的MAFPN,并利用BIFPN的思想对MAFPN进行二次创新得到BIMAFPN.
- 更新使用教程.
- 百度云视频增加20240803更新说明.
-
20240813-ultralytics-v1.67
- 新增APT-TAL标签分配策略.
- 新增YOLO-MIF中的WDBB、DeepDBB的重参数化模块.
- 新增SLAB中的RepBN改进AIFI.
- 更新使用教程.
- 百度云视频增加20240813更新说明.