您好,欢迎来到爱go旅游网。
搜索
您的当前位置:首页YOLOv7 tiny 新增小目标检测层

YOLOv7 tiny 新增小目标检测层

来源:爱go旅游网

修改yolov7-tiny.yaml文件
①修改nc 自己数据集类别数;
②设置anchors 4 #[5,6, 8,14, 15,11] ## P2或者自动调用autoanchor.py
③新增 ###模块
④修改[[92,93,94,95], 1, IDetect, [nc, anchors]], # Detect(P2,P3, P4, P5)

 parameters

nc: 5  # number of classes 
depth_multiple: 1.0  # model depth multiple
width_multiple: 1.0  # layer channel multiple

# anchors

anchors: 4

  # - [10,13, 16,30, 33,23]  # P3/8

  # - [30,61, 62,45, 59,119]  # P4/16

  # - [116,90, 156,198, 373,326]  # P5/32

# yolov7-tiny backbone

backbone:

  #[from, number, module, args] c2, k=1, s=1, p=None, g=1, act=True

   [[-1, 1, Conv, [32, 3, 2, None, 1, nn.LeakyReLU(0.1)]],  # 0-P1/2 
   
   [-1, 1, Conv, [, 3, 2, None, 1, nn.LeakyReLU(0.1)]],  # 1-P2/4    
   
   [-1, 1, Conv, [32, 1, 1, None, 1, nn.LeakyReLU(0.1)]],
   [-2, 1, Conv, [32, 1, 1, None, 1, nn.LeakyReLU(0.1)]],
   [-1, 1, Conv, [32, 3, 1, None, 1, nn.LeakyReLU(0.1)]],
   [-1, 1, Conv, [32, 3, 1, None, 1, nn.LeakyReLU(0.1)]],
   [[-1, -2, -3, -4], 1, Concat, [1]],
   [-1, 1, Conv, [, 1, 1, None, 1, nn.LeakyReLU(0.1)]],  # 7

   [-1, 1, MP, []],  # 8-P3/8
   [-1, 1, Conv, [, 1, 1, None, 1, nn.LeakyReLU(0.1)]],
   [-2, 1, Conv, [, 1, 1, None, 1, nn.LeakyReLU(0.1)]],
   [-1, 1, Conv, [, 3, 1, None, 1, nn.LeakyReLU(0.1)]],
   [-1, 1, Conv, [, 3, 1, None, 1, nn.LeakyReLU(0.1)]],
   [[-1, -2, -3, -4], 1, Concat, [1]],
   [-1, 1, Conv, [128, 1, 1, None, 1, nn.LeakyReLU(0.1)]],  # 14

   [-1, 1, MP, []],  # 15-P4/16
   [-1, 1, Conv, [128, 1, 1, None, 1, nn.LeakyReLU(0.1)]],
   [-2, 1, Conv, [128, 1, 1, None, 1, nn.LeakyReLU(0.1)]],
   [-1, 1, Conv, [128, 3, 1, None, 1, nn.LeakyReLU(0.1)]],
   [-1, 1, Conv, [128, 3, 1, None, 1, nn.LeakyReLU(0.1)]],
   [[-1, -2, -3, -4], 1, Concat, [1]],
   [-1, 1, Conv, [256, 1, 1, None, 1, nn.LeakyReLU(0.1)]],  # 21

   [-1, 1, MP, []],  # 22-P5/32
   [-1, 1, Conv, [256, 1, 1, None, 1, nn.LeakyReLU(0.1)]],
   [-2, 1, Conv, [256, 1, 1, None, 1, nn.LeakyReLU(0.1)]],
   [-1, 1, Conv, [256, 3, 1, None, 1, nn.LeakyReLU(0.1)]],
   [-1, 1, Conv, [256, 3, 1, None, 1, nn.LeakyReLU(0.1)]],
   [[-1, -2, -3, -4], 1, Concat, [1]],
   [-1, 1, Conv, [512, 1, 1, None, 1, nn.LeakyReLU(0.1)]],  # 28
  ]

# yolov7-tiny head

head:
  [[-1, 1, Conv, [256, 1, 1, None, 1, nn.LeakyReLU(0.1)]],
   [-2, 1, Conv, [256, 1, 1, None, 1, nn.LeakyReLU(0.1)]],
   [-1, 1, SP, [5]],
   [-2, 1, SP, [9]],
   [-3, 1, SP, [13]],
   [[-1, -2, -3, -4], 1, Concat, [1]],
   [-1, 1, Conv, [256, 1, 1, None, 1, nn.LeakyReLU(0.1)]],
   [[-1, -7], 1, Concat, [1]],
   [-1, 1, Conv, [256, 1, 1, None, 1, nn.LeakyReLU(0.1)]],  # 37

   [-1, 1, Conv, [128, 1, 1, None, 1, nn.LeakyReLU(0.1)]],
   [-1, 1, nn.Upsample, [None, 2, 'nearest']],
   [21, 1, Conv, [128, 1, 1, None, 1, nn.LeakyReLU(0.1)]], # route backbone P4
   [[-1, -2], 1, Concat, [1]],

   [-1, 1, Conv, [, 1, 1, None, 1, nn.LeakyReLU(0.1)]],
   [-2, 1, Conv, [, 1, 1, None, 1, nn.LeakyReLU(0.1)]],
   [-1, 1, Conv, [, 3, 1, None, 1, nn.LeakyReLU(0.1)]],
   [-1, 1, Conv, [, 3, 1, None, 1, nn.LeakyReLU(0.1)]],
   [[-1, -2, -3, -4], 1, Concat, [1]],
   [-1, 1, Conv, [128, 1, 1, None, 1, nn.LeakyReLU(0.1)]],  # 47

   [-1, 1, Conv, [, 1, 1, None, 1, nn.LeakyReLU(0.1)]],
   [-1, 1, nn.Upsample, [None, 2, 'nearest']],
   [14, 1, Conv, [, 1, 1, None, 1, nn.LeakyReLU(0.1)]], # route backbone P3
   [[-1, -2], 1, Concat, [1]],
   
   ##########################
   # ELAN
   [-1, 1, Conv, [32, 1, 1, None, 1, nn.LeakyReLU(0.1)]],
   [-2, 1, Conv, [32, 1, 1, None, 1, nn.LeakyReLU(0.1)]],
   [-1, 1, Conv, [32, 3, 1, None, 1, nn.LeakyReLU(0.1)]],
   [-1, 1, Conv, [32, 3, 1, None, 1, nn.LeakyReLU(0.1)]],
   [[-1, -2, -3, -4], 1, Concat, [1]],
   [-1, 1, Conv, [, 1, 1, None, 1, nn.LeakyReLU(0.1)]],  # 57
   # CBL
   [-1, 1, Conv, [32, 1, 1, None, 1, nn.LeakyReLU(0.1)]],
   ## UP
   [-1, 1, nn.Upsample, [None, 2, 'nearest']],

   [7, 1, Conv, [32, 1, 1, None, 1, nn.LeakyReLU(0.1)]], # route backbone P4 
   #Concat
   [[-1, -2], 1, Concat, [1]],
   #ELAN
   [-1, 1, Conv, [16, 1, 1, None, 1, nn.LeakyReLU(0.1)]],
   [-2, 1, Conv, [16, 1, 1, None, 1, nn.LeakyReLU(0.1)]],
   [-1, 1, Conv, [16, 3, 1, None, 1, nn.LeakyReLU(0.1)]],
   [-1, 1, Conv, [16, 3, 1, None, 1, nn.LeakyReLU(0.1)]],
   [[-1, -2, -3, -4], 1, Concat, [1]],
   [-1, 1, Conv, [32, 1, 1, None, 1, nn.LeakyReLU(0.1)]],  # 67  x-small head
   #CBL 
   [-1, 1, Conv, [, 3, 2, None, 1, nn.LeakyReLU(0.1)]],
   [[-1, 57], 1, Concat, [1]], 
   ###############################

   [-1, 1, Conv, [32, 1, 1, None, 1, nn.LeakyReLU(0.1)]],
   [-2, 1, Conv, [32, 1, 1, None, 1, nn.LeakyReLU(0.1)]],
   [-1, 1, Conv, [32, 3, 1, None, 1, nn.LeakyReLU(0.1)]],
   [-1, 1, Conv, [32, 3, 1, None, 1, nn.LeakyReLU(0.1)]],
   [[-1, -2, -3, -4], 1, Concat, [1]],
   [-1, 1, Conv, [, 1, 1, None, 1, nn.LeakyReLU(0.1)]],  # 75  small head

   [-1, 1, Conv, [128, 3, 2, None, 1, nn.LeakyReLU(0.1)]],
   [[-1, 47], 1, Concat, [1]],

   [-1, 1, Conv, [, 1, 1, None, 1, nn.LeakyReLU(0.1)]],
   [-2, 1, Conv, [, 1, 1, None, 1, nn.LeakyReLU(0.1)]],
   [-1, 1, Conv, [, 3, 1, None, 1, nn.LeakyReLU(0.1)]],
   [-1, 1, Conv, [, 3, 1, None, 1, nn.LeakyReLU(0.1)]],
   [[-1, -2, -3, -4], 1, Concat, [1]],
   [-1, 1, Conv, [128, 1, 1, None, 1, nn.LeakyReLU(0.1)]],  # 83 middle head

   [-1, 1, Conv, [256, 3, 2, None, 1, nn.LeakyReLU(0.1)]],
   [[-1, 37], 1, Concat, [1]],

   [-1, 1, Conv, [128, 1, 1, None, 1, nn.LeakyReLU(0.1)]],
   [-2, 1, Conv, [128, 1, 1, None, 1, nn.LeakyReLU(0.1)]],
   [-1, 1, Conv, [128, 3, 1, None, 1, nn.LeakyReLU(0.1)]],
   [-1, 1, Conv, [128, 3, 1, None, 1, nn.LeakyReLU(0.1)]],
   [[-1, -2, -3, -4], 1, Concat, [1]],
   [-1, 1, Conv, [256, 1, 1, None, 1, nn.LeakyReLU(0.1)]],  # 91 large head
      
   [67, 1, Conv, [, 3, 1, None, 1, nn.LeakyReLU(0.1)]],
   [75, 1, Conv, [128, 3, 1, None, 1, nn.LeakyReLU(0.1)]],
   [83, 1, Conv, [256, 3, 1, None, 1, nn.LeakyReLU(0.1)]],
   [91, 1, Conv, [512, 3, 1, None, 1, nn.LeakyReLU(0.1)]],

   [[92,93,94,95], 1, IDetect, [nc, anchors]],   # Detect(P2,P3, P4, P5)
  ]

最后:

如果你想要进一步了解更多的相关知识,可以关注下面公众号联系~会不定期发布相关设计内容包括但不限于如下内容:信号处理、通信仿真、算法设计、matlab appdesigner,gui设计、simulink仿真......希望能帮到你!

 

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- igat.cn 版权所有 赣ICP备2024042791号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务