YOLOV3详解

主干网络 

主干网络(backbone):DarkNet53(没有全连接层,所以YOLOv3只用了前52层),基本单元:DBL(卷积+BN+Leaky Relu),大组件:resn。

52 = 1+1+1*2+1+2*2+1+8*2+1+8*2+1+4*2  

图片尺寸计算公式:(N-K+2P)/S+1 P:边缘填充方式,S:步长。通过backbone后图片尺寸变成原尺寸的1/32,所以一般要求输入图片尺寸为32的倍数。

 

 BN层:引入可学习的缩放和平移参数,使得均值和方差可以调整到合适的值,通过反向传播优化参数。

Leaky Relu:增加模型的非线性特征提取能力,便于区分目标和背景。

残差模块resn:n表示包含几个res(残差块),res前面的DBL的作用为降采样,使用核为3*3,步长为2的卷积块,代替池化层。

  • res结构:第一个DBL的卷积为1*1卷积块,第二个为3*3卷积块。
  • add操作:将经过两次DBL操作后的数据与原始数据直接相加,不会改变张量维度。

FPN(feature pyramid network)

concat:张量拼接。将DarkNet中间层与后面的某一层的上采样进行拼接。会扩充张量的维度。

上采样:通过插值法(最邻近插值),yolov3采用的是转置卷积的方式。

通过FPN层使得输出为3个不同尺度的feature map,实现检测不同size的目标。

损失函数

包括四类:左上角坐标(x,y),(w,h),class,confidence

坐标损失函数采用均方误差(MSE),其他采用二值交叉熵(BCE)。


 二值交叉熵:处理二值分类任务。 yi为目标值,yi帽为预测值。两者越接近loss越小。

坐标采用均方误差的原因:边界尺寸为连续值,均方误差可以对连续差异提供平滑的梯度信号。

类别预测和置信度预测采用二值交叉熵的原因:这两个都是离散值,二值交叉熵可以比较预测值和真实值的二元关系,提高明确的梯度信号。   

但是源码中xy的损失函数也是采用二值交叉熵函数,效果较好。  

 

 

 

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值