简单介绍一下YOLOv3的原理

yolov3借鉴残差网络思想,将darknet53作为主干网络,精度与resnet101、resnet152差不多,还有着更快的速度。

网络特征如下:

  1. 使用大量残差跳层连接;
  2. 使用步长为2的卷积实现下采样,并舍弃池化;
  3. 引入了类似FPN的多尺度特征融合,加强了小目标检测能力;
  4. concat操作将特征图经过上采样后与前面层的输出进行融合,提高小目标检测精度;
  5. 输出为置信度、坐标信息,分类信息三个部分。

在这里插入图片描述

整个框架可划分为3个部分:分别为Darknet-53结构、特征层融合结构(上图concat部分)、以及分类检测结构(上图未画出)。

网络过程如下:

给一张图像x(大小:416×416)输入到Darkenet-53的backbone网络结构,进行一系列的卷积以及残差网络提取特征,分别得到原图像1/8(大小:52×52)、1/16(大小:16×26)、1/32的特征图(即feature map);接下来将3个特征图进行特征融合(concat),以获得更强的特征表现力,从而达到更好的效果;最后,为了使特征图变成相同大小,中间需要进行上采样及下采样,然后进行堆叠、融合机相应的卷积等操作后,得到最终的3个特征层,即13×13×255(Y1)、26×26×255(Y2)、52×52×255(Y3),这3个特征图恰好分别为原图像x的1/32、1/16、1/8.

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux创始人LinusTorvalds有一句名言:Talk is cheap, Show me the code.(冗谈不够,放码过来!)。 代码阅读是从入门到提高的必由之路。尤其对深度学习,许多框架隐藏了神经网络底层的实现,只能在上层调包使用,对其内部原理很难认识清晰,不利于进一步优化和创新。  YOLOv3是一种基于深度学习的端到端实时目标检测方法,以速度快见长。YOLOv3的实现Darknet是使用C语言开发的轻型开源深度学习框架,依赖少,可移植性好,可以作为很好的代码阅读案例,让我们深入探究其实现原理。  本课程将解析YOLOv3的实现原理和源码,具体内容包括: YOLO目标检测原理  神经网络及Darknet的C语言实现,尤其是反向传播的梯度求解和误差计算 代码阅读工具及方法 深度学习计算的利器:BLAS和GEMM GPU的CUDA编程方法及在Darknet的应用 YOLOv3的程序流程及各层的源码解析本课程将提供注释后的Darknet的源码程序文件。  除本课程《YOLOv3目标检测:原理与源码解析》外,本人推出了有关YOLOv3目标检测的系列课程,包括:   《YOLOv3目标检测实战:训练自己的数据集》  《YOLOv3目标检测实战:交通标志识别》  《YOLOv3目标检测:原理与源码解析》  《YOLOv3目标检测:网络模型改进方法》 建议先学习课程《YOLOv3目标检测实战:训练自己的数据集》或课程《YOLOv3目标检测实战:交通标志识别》,对YOLOv3的使用方法了解以后再学习本课程。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值