yolov3-pytorch的上采样层改为反卷积

代码:https://github.com/ultralytics/yolov3

# parameters
nc: 1  # number of classes
depth_multiple: 1.0  # model depth multiple(控制模型的深度)
width_multiple: 1.0  # layer channel multiple(控制卷积核的个数)

# anchors
anchors:
#  - [48,56, 55,146, 129,94]  # P3/8
#  - [126,221, 80,364, 233,145]  # P4/16
#  - [182,433, 349,259, 396,499]  # P5/32
  - [32,36, 36,95, 84,61]  # P3/8
  - [82,144, 52,237, 151,94]  # P4/16
  - [118,282, 227,166, 257,324]  # P5/32

# darknet53 backbone
backbone:
  # [from, number, module, args]
  #form-1表示从上一层获得,-2表示从上两层获得
  #number:列数:1表示只有一个,3表示有三个小相同的模块
  [[-1, 1, Conv, [32, 3, 1]],  # 0
   [-1, 1, Conv, [64, 3, 2]],  # 1-P1/2
   [-1, 1, Bottleneck, [64]],
   [-1, 1, Conv, [128, 3, 2]],  # 3-P2/4
   [-1, 2, Bottleneck, [128]],
   [-1, 1, Conv, [256, 3, 2]],  # 5-P3/8
   [-1, 8, Bottleneck, [256]],
   [-1, 1, Conv, [512, 3, 2]],  # 7-P4/16
   [-1, 8, Bottleneck, [512]],
   [-1, 1, Conv, [1024, 3, 2]],  # 9-P5/32
   [-1, 4, Bottleneck, [1024]],  # 10
  ]

# YOLOv3 head
head:
  [[-1, 1, Bottleneck, [1024, False]],
   [-1, 1, Conv, [512, [1, 1]]],
   [-1, 1, Conv, [1024, 3, 1]],
   [-1, 1, Conv, [512, 1, 1]],
   [-1, 1, Conv, [1024, 3, 1]],  # 15 (P5/32-large)

   [-2, 1, Conv, [256, 1, 1]],
#   [-1, 1, nn.Upsample, [None, 2, 'nearest']],
   [-1, 1, nn.ConvTranspose2d, [256, 256, 2, 2]],   ##1是输出,2是卷积核,2是步长
   [[-1, 8], 1, Concat, [1]],  # cat backbone P4
   [-1, 1, Bottleneck, [512, False]],
   [-1, 1, Bottleneck, [512, False]],
   [-1, 1, Conv, [256, 1, 1]],
   [-1, 1, Conv, [512, 3, 1]],  # 22 (P4/16-medium)
   [-2, 1, Conv, [128, 1, 1]],
#   [-1, 1, nn.Upsample, [None, 2, 'nearest']],
   [-1, 1, nn.ConvTranspose2d, [128, 128, 2, 2]],
   [[-1, 6], 1, Concat, [1]],  # cat backbone P3
   [-1, 1, Bottleneck, [256, False]],
   [-1, 2, Bottleneck, [256, False]],  # 27 (P3/8-small)
   [[27, 22, 15], 1, Detect, [nc, anchors]],   # Detect(P3, P4, P5)
  ]

两次上采样的输出是1616的,反卷积的步长为2,卷积核为33时,padding的0或1,输出大小为1717或1515.
因为输出大小是
output = (input-1)stride+outputpadding -2padding+kernelsize
所以把卷积核改成2*2.

参考:https://blog.csdn.net/weixin_45798280/article/details/110226826

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值