YOLOV3中卷积层,池化层,yolo层理解

前言:YOLOV3学习笔记,记录对卷积层,池化层,yolo层的理解,阐述深度学习中卷积核,通道数相关名词的含义。

yolov3-tiny网络如下:

卷积层

0层为卷积层,其中filters=16,表示的卷积核的个数,即所做的卷积的次数。size=3*3/1,表示每个卷积核的尺寸为3*3,卷积移动的步长为1,意味着输出的图像尺寸与输入的大小一致。如果步长为2,则输出的图像尺寸将是输入的一半。

输入为416*416*3,即将样本图像重采样为416*416*3的RGB三通道图像,输出怎么是416*416*16了呢?

卷积核的通道数一般在cfg文件中不直接写明,因为他是由输入图像的通道数决定的,如果是RGB图像,则卷积核的通道数即为3。对于0层卷积层,一个卷积核的操作是使用3*3*3的卷积核对图像的三个通道分别进行卷积操作后平均加权输出,输出为416*416*1,16个卷积核即为416*416*16。

备注:最后一列指明了该卷积操作的计算量为1.5亿次浮点型操作。

池化层

池化层即为重采样,深度学习中基本有两种池化方式,最大池化和平均池化。下面举例说明:

yolov3-tiny中1层为池化层,池化的尺寸大小为2*2,步长为2,最大池化是将红框中四个数取最大的作为输出,平均池化是将四个数的平均值作为输出。步长为2指下一个池化操作为当前位置向后移动两个位置,即对3,4,7,8四个数做最大池化。

很明显当步长为2时,池化操作后,输出尺寸将是输入的一半,所以1层的输出为208*208*16。在yolo层以前,基本是每一层的输出作为下一层的输入。

池化操作是基本不耗时的,深度学习的耗时主要是在卷积层。

yolo层

route=13表示取前面13层的输出,route=19,8表示取第19层和第8层的输出。

在yolov3-tiny中有两个yolo层输出,下图示例中的yolo3-tiny一个输出大小为13*13*24,另一个为26*26*24,两个yolo层的输出为两个不同的尺度,在yolov3中则有三种尺度。在yolov3-tiny中,13*13*24中13*13是固定的,24数值取决于你检测目标的类别数目,我检测的是3类,所以是24,那24是怎么来的呢?

24=(4+1+class)*3,其中4代表着目标物的位置信息,1为置信度信息,class为类别数目,3代表anchor的数目。

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三月微暖寻春笋

赠人玫瑰手有余香

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值