yolov4中的route和shortcut层

1、shortcut层

shortcut层的输入层一般是两个(目前还没出现多余两个的情况),实现两个张量相加,例如:
在这里插入图片描述
对应的cfg文件中的层为:

#4
[convolutional]
batch_normalize=1
filters=64
size=1
stride=1
pad=1
activation=mish
#5
[convolutional]
batch_normalize=1
filters=32
size=1
stride=1
pad=1
activation=mish
#6
[convolutional]
batch_normalize=1
filters=64
size=3
stride=1
pad=1
activation=mish
#7
[shortcut]
from=-3
activation=linear

cfg文件中shortcut层紧接的那一层为shortcut层的一个输入层,另外一个输入层为from指定的层,例如from=-3指的是该shortcut层的前面第三层。

2、route层

route层作用相当于引入和concat两个操作,当route的输入只有一个时,就只有引入的作用,当输入大于一个的时候,会将所有的引入再执行一步concat,增加route层的输出维度。yolov4中route层的输入可以是1、2或4个,例如SPP模块:
在这里插入图片描述
最下面的一个route层有四个输入,对应的在cfg文件中的代码为:

[convolutional]
batch_normalize=1
filters=512
size=1
stride=1
pad=1
activation=leaky

### SPP ###
[maxpool]
stride=1
size=5

[route]
layers=-2

[maxpool]
stride=1
size=9

[route]
layers=-4

[maxpool]
stride=1
size=13

[route]
layers=-1,-3,-5,-6
### End SPP ###

route层的layers参数制定了该route层的输入有哪些,方法和shortcut相同,-1指的是该route层往前的第1层。

YOLOV4的SPP和YOLOV3-SPP中的SPP配置完全一样,从这两个网络结构还可以发现,当一个层有多个输出时,只允许其中一个输出直接接后面的非route层,而其余输出则要由route层来引导。

欢迎批评指正!

  • 8
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值