赞
踩
title: yolov3算法理解
date: 2021-11-21 14:45:42
tags:
toc: True
本贴记录自己学习完yolov3算法的后的个人理解
首先我们来了解一下yolov3算法物体检测的具体流程:
计算得出pre_x,pre_y,pre_w,pre_h.(为了计算iou)
在yolov3中使用了darknet53骨干网络,相比与v2中的darknet19增加了残差链接
模块,并使用3*3,strid=2,padding=1的卷积层代替了原有的MAXPOOL层,采用全卷积层搭建网络。将13*13的feature map进行两倍上采样和26*26的进行拼接,26*26的featuremap上采样和52*52的进行拼接,将浅层网络的细粒度像素结构信息和深层网络的抽象化语义信息进行融合。增强模型对于物体的检测。
注意:使用11卷积减少训练参数,最后输出的feature map通道数为(3(80+5)) = 255
这里附上一张别人的流程图 地址
这里sigmoid函数的作用:将预测框中心锁定在真实框内部,加快网络在前期的收敛速度。
后面计算loss的时候,通过对该公式反向推导,得出tx,ty,tw,th的值和网络输出的x,y,w,h计算损失。
yolov3在coco数据集上沿用了v2的k-means聚类得出9中不同的anchor,将其分为三组,分别用来预测大中小三种不同规格的物体。
对于有物体的grid_cell计算位置误差,对于没有物体的grid_cell仅计算置信度误差
注:yolov3中仅将真实物体中心所在的grid_cell视作有该物体,其余的都认为没有。且当一个grid_cell恰好有多个形状近似的物体时,yolov3默认覆盖掉前一个物体的信息。
对于位置误差使用使用MSE损失函数,并乘以(2-w*h)项增加了模型对小框的惩罚力度,对于置信度和分类误差使用BCE损失函数,两两计算然后求和得出
好啦,yolov3差不多就结束了,如果有地方有错误的麻烦帮忙提出来一下,谢谢
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。