💡💡💡YOLOv5/YOLOv7魔术师,独家首发创新(原创),持续更新,适用于Yolov5、Yolov7、Yolov8等各个Yolo系列,专栏文章提供每一步步骤和源码,轻松带你上手魔改网络
💡💡💡重点:通过本专栏的阅读,后续你也可以自己魔改网络,在网络不同位置(Backbone、head、detect、loss等)进行魔改,实现创新!!!
案列分享:
NEU-DET钢材表面缺陷共有六大类,分别为:'crazing','inclusion','patches','pitted_surface','rolled-in_scale','scratches'
map值0.742:
2.1 Inception-MetaNeXtStage
论文地址: https://arxiv.org/pdf/2303.16900.pdf
代码: GitHub - sail-sg/inceptionnext: InceptionNeXt: When Inception Meets ConvNeXt
单位:NUS, Sea AI Lab(颜水成等人)
摘要:受ViT的 long-range 建模能力的启发,大核卷积来扩大感受野用于提升模型性能,比如ConvNeXt了采用7x7深度卷积。虽然这种深度操作符只消耗少量FLOPs,但高内存访问成本,它在很大程度上损害了强大计算设备上的模型效率。为了解决这个问题,我们提出将大核深度卷积分解为沿通道维度的四个并行分支,即小平方内核、两个正交带核和一个恒等映射。通过这种新的Inception深度卷积,我们构建了一系列网络,即IncepitonNeXt,它们不仅具有高吞吐量,而且保持了有竞争力的性能。
图 1:准确性和训练之间的权衡吞吐量。 所有模型均在 DeiT 训练下进行训练超参数 [61、37、38、69]。 训练吞吐量在批量大小为 128 的 A100 GPU 上测量。ConvNeXt-T/kn 表示具有深度卷积的变体内核大小为 n × n。 InceptionNeXt-T 兼具两者ResNet-50 的速度和 ConvNeXt-T 的准确性。
将Inception的思想和ConvNeXt的设计相结合,从而实现了对大核深度卷积的有效分解。这种分解不仅减少了参数量和计算量,而且保留了大核深度卷积的优势,即扩大了感受野和提高了模型性能。
论文:https://arxiv.org/abs/2211.05778
理论部分参考知乎:CVPR2023 Highlight | 书生模型霸榜COCO目标检测,研究团队解读公开 - 知乎
不同于近来聚焦于大核的CNN方案,InternImage以形变卷积作为核心操作(不仅具有下游任务所需的有效感受野,同时具有输入与任务自适应空域聚合能力)。所提方案降低了传统CNN的严格归纳偏置,同时可以学习更强更鲁棒的表达能力。ImageNet、COCO以及ADE20K等任务上的实验验证了所提方案的有效性,值得一提的是:InternImage-H在COCO test-dev上取得了新的记录65.4mAP。
# Ultralytics YOLO 🚀, GPL-3.0 license
# YOLOv8 object detection model with P3-P5 outputs. For Usage examples see https://docs.ultralytics.com/tasks/detect
# Parameters
nc: 1 # number of classes
scales: # model compound scaling constants, i.e. 'model=yolov8n.yaml' will call yolov8.yaml with scale 'n'
# [depth, width, max_channels]
n: [0.33, 0.25, 1024] # YOLOv8n summary: 225 layers, 3157200 parameters, 3157184 gradients, 8.9 GFLOPs
s: [0.33, 0.50, 1024] # YOLOv8s summary: 225 layers, 11166560 parameters, 11166544 gradients, 28.8 GFLOPs
m: [0.67, 0.75, 768] # YOLOv8m summary: 295 layers, 25902640 parameters, 25902624 gradients, 79.3 GFLOPs
l: [1.00, 1.00, 512] # YOLOv8l summary: 365 layers, 43691520 parameters, 43691504 gradients, 165.7 GFLOPs
x: [1.00, 1.25, 512] # YOLOv8x summary: 365 layers, 68229648 parameters, 68229632 gradients, 258.5 GFLOPs
# YOLOv8.0n backbone
backbone:
# [from, repeats, module, args]
- [-1, 1, Conv, [64, 3, 2]] # 0-P1/2
- [-1, 1, Conv, [128, 3, 2]] # 1-P2/4
- [-1, 3, C2f, [128, True]]
- [-1, 1, Conv, [256, 3, 2]] # 3-P3/8
- [-1, 6, C2f, [256, True]]
- [-1, 1, Conv, [512, 3, 2]] # 5-P4/16
- [-1, 6, C2f, [512, True]]
- [-1, 1, Conv, [1024, 3, 2]] # 7-P5/32
- [-1, 3, C2f, [1024, True]]
- [-1, 1, SPPF, [1024, 5]] # 9
# YOLOv8.0n head
head:
- [-1, 1, nn.Upsample, [None, 2, 'nearest']]
- [[-1, 6], 1, Concat, [1]] # cat backbone P4
- [-1, 3, DCNV3, [512]] # 12
- [-1, 1, nn.Upsample, [None, 2, 'nearest']]
- [[-1, 4], 1, Concat, [1]] # cat backbone P3
- [-1, 3, DCNV3, [256]] # 15 (P3/8-small)
- [-1, 1, Conv, [256, 3, 2]]
- [[-1, 12], 1, Concat, [1]] # cat head P4
- [-1, 3, DCNV3, [512]] # 18 (P4/16-medium)
- [-1, 1, Conv, [512, 3, 2]]
- [[-1, 9], 1, Concat, [1]] # cat head P5
- [-1, 3, DCNV3, [1024]] # 21 (P5/32-large)
- [[15, 18, 21], 1, Detect, [nc]] # Detect(P3, P4, P5)
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。