YOLOV8改进系列指南
基于Ultralytics的YOLOV8改进项目.(69.9¥)
为了感谢各位对V8项目的支持,本项目的赠品是yolov5-PAGCP通道剪枝算法.具体使用教程
专栏改进汇总
二次创新系列
-
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-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.自研模块,具体讲解请看百度云链接中的视频.
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.(需要看常见错误和解决方案的第五点)
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.
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.
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,使其有效地处理遮挡场景.
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-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情况下使用)
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-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
注意力系列
- 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注意力)
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)论文链接
更新公告
-
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
- 使用MFDS-DETR中的HS-FPN改进YOLOV5、YOLOV8中的Neck.
- 对MFDS-DETR中的HS-FPN进行二次创新后得到HSPAN改进YOLOV5、YOLOV8中的Neck.
- 增加CARAFE轻量化上采样算子.
- 增加DySample(ICCV2023)动态上采样算子.
- 增加Haar wavelet downsampling下采样算子.
- 支持soft-nms.(IoU,GIoU,DIoU,CIoU,EIoU,SIoU,ShapeIoU)
- 更新使用教程.
- 更新百度云链接视频-20230122版本更新说明.
-
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更新说明.
相关文章:

YOLOV8改进系列指南
基于Ultralytics的YOLOV8改进项目.(69.9) 为了感谢各位对V8项目的支持,本项目的赠品是yolov5-PAGCP通道剪枝算法.具体使用教程 专栏改进汇总 二次创新系列 ultralytics/cfg/models/v8/yolov8-RevCol.yaml 使用(ICLR2023)Reversible Column Networks对yolov8主干进行重设计,里…...

FlinkSql一个简单的测试程序
FlinkSql一个简单的测试程序 以下是一个简单的 Flink SQL 示例,展示了如何使用 Flink Table API 和 Flink SQL 进行基本的数据流处理。 定义数据实体 CC : - CC 类表示数据流中的元素,包含两个字段: character (字符&a…...

二、ActiveMQ安装
ActiveMQ安装 一、相关环境二、安装Java8三、下载安装包四、启动五、其他命令六、开放端口七、后台管理 一、相关环境 环境:Centos7.9安装ActiveMQ版本:5.15.9JDK8 二、安装Java8 安装教程:https://qingsi.blog.csdn.net/article/details/…...

通俗易懂的L0范数和L1范数及其Python实现
定义 L0 范数(L0-Norm) L0 范数并不是真正意义上的一个范数,因为它不满足范数的三角不等式性质,但它在数学优化和信号处理等领域有着实际的应用。L0 范数指的是向量中非零元素的个数。它通常用来度量向量的稀疏性。数学上表示为…...

如何在30天内使用python制作一个卡牌游戏
如何在30天内使用python制作一个卡牌游戏 第1-5天:规划和设计第6-10天:搭建游戏框架第11-20天:核心游戏机制开发第21-25天:游戏界面和用户体验第26-30天:测试和发布附加建议游戏类型游戏规则设计界面设计技术选型第6-…...

VsCode指定插件安装目录
VsCode指定插件安装目录 VsCode安装的默认目录是在用户目录(%HomePath%)下的.vscode文件夹下的extensions目录下,随着安装插件越来越多会占用大量C盘空间。 指定VsCode的插件目录 Vscode安装目录: D:\Microsoft VS Code\Code.exeVscode插件安装目录&a…...

解决npm淘宝镜像到期问题
1 背景 由于node安装插件是从国外服务器下载,如果没有“特殊手法”,就可能会遇到下载速度慢、或其它异常问题。 所以如果npm的服务器在中国就好了,于是我们乐于分享的淘宝团队干了这事。你可以用此只读的淘宝服务代替官方版本,且…...

【JAVA】java泛型 详解
java泛型 详解 一、参数化类型(Parameterized Type):二. 泛型类(Generic Class):三. 泛型方法(Generic Method):四. 通配符类型(Wildcard Type)&a…...

基于RBAC的权限管理的理论实现和权限管理的实现
权限管理的理论 首先需要两个页面支持,分别是角色管理和员工管理,其中角色管理对应的是角色和权限的配合,员工管理则是将登录的员工账号和员工所处的角色进行对应,即通过新增角色这个概念,让权限和员工并不直接关联&a…...

Atcoder ABC340 C - Divide and Divide
Divide and Divide(分而治之) 时间限制:2s 内存限制:1024MB 【原题地址】 所有图片源自Atcoder,题目译文源自脚本Atcoder Better! 点击此处跳转至原题 【问题描述】 【输入格式】 【输出格式】 【样例1】 【样例…...

趣学贝叶斯统计:概率密度分布(probability density function)
目录 1. 分布:PDF与PMFPDFPMF 2. 将概率密度函数应用于我们的问题用积分量化连续分布积分度量变化率:导数 3. R语言实践4. 小结 1. 分布:PDF与PMF PDF PDF定义在连续值上。在连续型随机变量的情况下,具体取某个数值的概率是0,因此PDF并不直…...

伦敦金行情分析需要学习吗?
对于伦敦金交易来说,目前大致分成两派,一派是实干派,认为做伦敦金交易重要的是实战,不需要学习太多东西,否则容易被理论知识所局限。另一派则是强调学习,没有理论知识,投资者很难做好伦敦金交易…...

Java实现停车场收费系统 JAVA+Vue+SpringBoot+MySQL
目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 停车位模块2.2 车辆模块2.3 停车收费模块2.4 IC卡模块2.5 IC卡挂失模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 停车场表3.2.2 车辆表3.2.3 停车收费表3.2.4 IC 卡表3.2.5 IC 卡挂失表 四、系统实现五、核心代码…...

服务器遭受 DDoS 攻击的常见迹象有哪些?
服务器遭受 DDoS 攻击的现象很常见,并且有时不容易预防,有部分原因是它们的形式多种多样,而且黑客手段越来越隐蔽。如果您怀疑自己可能遭受 DDoS 攻击,可以寻找多种迹象。以下是 DDoS 攻击的5个常见迹象: 1.网络流量无…...

【机器学习笔记】 15 机器学习项目流程
机器学习的一般步骤 数据清洗 数据清洗是指发现并纠正数据文件中可识别的错误的最后一道程序,包括检查数据一致性,处理无效值和缺失值等。与问卷审核不同,录入后的数据清理一般是由计算机而不是人工完成。 探索性数据分析(EDA 探索性数据…...

【C语言】位操作符与移位操作符练习
目录 前言: 1.一道变态的面试题 2.输入一个整数 n ,输出该数32位二进制表示中1的个数。其中负数用补码表示。 方法一: 方法二: 方法三: 3.打印整数二进制的奇数位和偶数位 前言: 前篇我们学习过C语言…...

第十四届“中关村青联杯”全国研究生数学建模竞赛-A题:无人机在抢险救灾中的优化运用
目录 摘 要: 1 问题重述 1.1 问题背景 1.2 待解决的问题 2 模型假设及符号说明...

Android 9.0 Launcher3桌面显示多个相同app图标的解决办法
1.前言 在9.0的系统ROM定制化开发中,在Launcher3的系统原生桌面中,在显示桌面的时候,在禁用和启用app的功能测试的时候,会发现有多个相同app的图标显示在桌面 这对Launcher3的体验效果不是很好,所以为了优化产品,需要解决这个bug,然后让产品更完善 2.桌面显示多个相同…...

WordPress主题YIA在广告位添加图片广告时下方有空白怎么办?
YIA主题设置中默认有4个广告位,而侧边栏的广告位由站长自行添加。boke112百科在这些广告位添加图片广告后发现图片下方有空白,导致下方的两个角没有变圆角,看起来也有点不好看。具体如下图所示: 其实,这个问题就是典型…...

5.15 BCC工具之kvm_hypercall.py解读
一,工具简介 在该示例中,我们可以了解到如何使用eBPF(扩展BPF,Berkeley Packet Filter的扩展)和bcc(BPF Compiler Collection)来分析KVM(Kernel-based Virtual Machine)中的超级调用(hypercall)。 即当exit_reason为VMCALL时,有状态的kvm_entry和kvm_exit记录以及…...

git 解除本地分支与其它分支(远程分支)的关联
开发中,我在同事的分支开一条分支,并将同事的分支作为关联分支,前两天还好,我一个人在干活,然而第3天,同事回来了,他在他那条分支也开发,这时就会出现2种情况, 1. 同时修…...

conda 所有的命令及其讲解
Conda 是一个开源的包管理器和环境管理器,可以用于安装、运行和升级跨平台的软件包和环境。Conda 很流行于数据科学、机器学习、科学计算等领域,因为它能够快速地安装、管理和部署软件包和环境。以下是 Conda 的一些主要命令及其简要说明: 环…...

mysql 数据库主从复制搭建
MySQL 主从复制主要用于实现高可用性和备份。在主从复制中,一个 MySQL 实例(称为主节点)将其数据更改复制到至少一个其他 MySQL 实例(称为从节点)上。主要借助于数据库二进制日志binlog进行数据的复制。 主从数据库对应…...

小白水平理解面试经典题目LeetCode 1025 Divisor Game【动态规划】
1025 除数游戏 小艾 和 小鲍 轮流玩游戏,小艾首先开始。 最初,黑板上有一个数字 n 。在每个玩家的回合中,该玩家做出的动作包括: 选择任意 x,使 0 < x < n 和 n % x 0 。将黑板上的数字 n 替换为 n - x 。 此…...

基于单片机的智能宠物喂食器设计
摘要:阐述智能宠物喂食器的实现方式,以STC89C52单片机为核心芯片,控制LCD的显示、语音芯片的启动和步进电机的运行。通过按键设置预设时间,当时间到达预设时间时,语音电路发出提示,步进电机工作,提供食物。此系统解决了主人由于各种原因不在家,使得宠物不能按时吃饭的问…...

探索单片机应用领域:从智能家居到工业自动化
单片机作为一种微型计算机芯片,在智能家居和工业自动化领域有着广泛的应用。以下将从智能家居和工业自动化两个方面分点论述单片机的应用。 智能家居领域: 1. 智能灯光控制: 单片机可以用于控制智能灯光系统,实现灯光的远程控制…...

Nginx介绍和使用
Nginx是一个高性能的HTTP和反向代理web服务器,其使用方法包括安装、配置以及与其他软件的配合使用。 Nginx被广泛认为是一个轻量级、占用资源少、并发处理能力强大的web服务器软件。它不仅可以作为HTTP服务器提供静态内容服务,还可以作为反向代理服务器…...

异步编程——CompletableFuture用法详解
文章目录 前言1. Future 线程池2. 什么是CompletableFuture 前言 我们异步执行一个任务时,需要用线程池Executor去创建,有两种方式: 如果不需要有返回值, 任务继承Thread类或实现Runnable接口;如果需要有返回值&…...

Linux常用命令(不断更新)
cd 切换目录 cd .. 返回上一级目录 cd ../.. 返回上两级目录 pwd 显示工作路径 ls -l 显示文件和目录的详细信息 ls -a 列出全部文件 ls -R 连同子目录的内容一起列出 ls -lh 显示权限 cp 复制 mv 移动 rm 删除 cat 查看文件内容 find 文件搜索 文件权限 …...

C++ 浮点数二分 数的三次方根
给定一个浮点数 n ,求它的三次方根。 输入格式 共一行,包含一个浮点数 n 。 输出格式 共一行,包含一个浮点数,表示问题的解。 注意,结果保留 6 位小数。 数据范围 −10000≤n≤10000 输入样例: 1000.00…...