zoukankan      html  css  js  c++  java
  • yolov3

    yolov3

    主要从三个方面来说明,网络的输入、结构、输出。

      (1)网络输入:原论文中提到的大小320*320,416*416,608*608。这个大小必须是32的整数倍数,yolo_v3有5次下采样,每次采样步长为2,所以网络的最大步幅(步幅指层的输入大小除以输出)为2^5=32。

      (2)网络结构:作者首先训练了一个darknet-53,训练这个主要是为了主要有两个目的:a.这个网路结构能在ImageNet有好的分类结果,从而说明这个网路能学习到好的特征(设计新的网络结构,这个相当于调参,具体参数怎么调,就是炼丹了),b.为后续检测模型做初始化。作者在ImageNet上实验发现这个darknet-53,的确很强,相对于ResNet-152和ResNet-101,darknet-53不仅在分类精度上差不多,计算速度还比ResNet-152和ResNet-101强多了,网络层数也比他们少。

                         图一  darknet-53网络结构

     

                       图二  darknet-53的性能测试

    Darknet-53采用了ResNet这种跳层连接方式,性能完全比ResNet-152和ResNet-101这两种深层网络好,这里作者并没有给出原因,可能的原因:a.网络的基本单元的差异,b.网络层数越少,参数少。需要的计算量少。

                 图三  两种结构基本单元比较

    Yolo_v3网路就是使用了darknet-53的前面的52层(没有全连接层),直接拿过来,yolo_v3这个网络是一个全卷积网络,大量使用残差的跳层连接。之前的工作中,采样一般都是使用size为2*2,步长(stride)为2的max-pooling或者average-pooling进行降采样。但在这个网络结构中,使用的是步长为2的卷积来进行降采样。同时,网络中使用了上采样、route操作,还在一个网络结构中进行3次检测(有点盗用SSD的思想)

     使用残差的结构的好处:(1)深度模型一个关键的点就是能否正常收敛,残差这种结构能保证网络结构在很深的情况下,仍能收敛,模型能训练下去。(2)网络越深,表达的特征越好,分类+检测的效果都会提升。(3)残差中的1*1卷积,使用network in network的想法,大量的减少了每次卷积的channel,一方面减少了参数量(参数量越大,保存的模型越大),另一方面在一定程度上减少了计算量

    网路中作者进行了三次检测,分别是在32倍降采样,16倍降采样,8倍降采样时进行检测,这样在多尺度的feature map上检测跟SSD有点像。在网络中使用up-sample(上采样)的原因:网络越深的特征表达效果越好,比如在进行16倍降采样检测,如果直接使用第四次下采样的特征来检测,这样就使用了浅层特征,这样效果一般并不好。如果想使用32倍降采样后的特征,但深层特征的大小太小,因此yolo_v3使用了步长为2的up-sample(上采样),把32倍降采样得到的feature map的大小提升一倍,也就成了16倍降采样。同理8倍采样也是对16倍降采样的特征进行步长为2的上采样,这样就可以使用深层特征进行detection。

     Yolo_v3通过上采样的方式很好的使16倍降采样和8倍降采样使用深层特征,但进行4次下采样和3次下采样得到的浅层feature map大小是一样的。Yolo_v3想把这些浅层特征也利用起来,就有了route层。把16倍降采样得到的feature map和四次下采样得到的层拼接在一起,在channel那个维度进行拼接。这样拼接的好处:让网络同时学习深层和浅层特征,表达效果更好。8倍降采样同样也是这样的操作,把三次下采样的feature map拼接在一起。
    ————————————————
    版权声明:本文为CSDN博主「CV_RC」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/chandanyan8568/article/details/81089083

  • 相关阅读:
    Docker容器启动时初始化Mysql数据库
    使用Buildpacks高效构建Docker镜像
    Mybatis 强大的结果集映射器resultMap
    Java 集合排序策略接口 Comparator
    Spring MVC 函数式编程进阶
    换一种方式编写 Spring MVC 接口
    【asp.net core 系列】6 实战之 一个项目的完整结构
    【asp.net core 系列】5 布局页和静态资源
    【asp.net core 系列】4. 更高更强的路由
    【Java Spring Cloud 实战之路】- 使用Nacos和网关中心的创建
  • 原文地址:https://www.cnblogs.com/zhjvvvvvv/p/14941040.html
Copyright © 2011-2022 走看看