yolov1-v3的基本思想和改进

yolov1-v3的基本思想和改进

一 基础知识

单阶段目标检测方法:yolo、SSD 检测速度快 但是速度快(FPS)和mAP高会产生矛盾 速度快,精度就会降低
两阶段检测方法:R-CNN fast-RCNN
IOU:交并比 即实际值候选框的面积与预测值候选框的面积的交集与并集之比,位于0-1之间,该值越大越好
准确率:Precision = TP/(TP+FP)
召回率:Recall = TP/(TP+FN) TP为true positive FN为false negative
可绘制P-R图,一般准确率越高,召回率越低;该图围成的面积即为mAP值

二 yolov1

yolov1整体思想:将一张图片划分为S×S个网格,每个网格负责预测B个bounding boxes(就是框型),每个bounding box
包含五个参数为:x,y,w,h和C(置信度)
yolov1结构:将224×224×3的图片(测试的时候用的448×448×3)经过20层的Googlenet网络训练后 再不断地卷积池化输出为7×7×1024的(其中1024为特征数),
再接两个全连接层FC,第一个全连接层输出为4096×1,第二个FC输出为1470×1,注意必须是1470,因为这个FC后面跟reshape
将数据转化为7×7×30进行预测,而7×7×30=1470,其中30是特征数,包含B=2(2个bounding box中有10个参数)以及20个
分类的类别概率,这样5×2+20=30,这个7×7×30的计算公式为:S×S×(B×5+C),这里的C代表类别数
损失函数有三部分构成:位置误差(预测的x,y,w,h和真实的x,y,w,h之间)、置信度误差(预测C和真实C,这里包括包含物体的
置信度误差和不包含物体的置信度误差)、以及分类误差(20个类别)
缺陷:小物体难以检测、每个网格只预测一个类别,重叠问题无法解决

三 yolov2

yolov2的改进:舍弃Dropout层,每一个卷积层后面均加入batch normalization归一化 收敛相对容易
在使用224×224×3的图片训练的基础上,最后加入448×448×3图片训练10次,然后再测试
舍弃FC层,使用Darknet网络,包含5次降采样,因此自己改进的部分就是Darknet网络的深度,越深mAP越高,但速度越慢
v2中的B=5,有5种不同的候选框,候选框的长和宽根据coco数据集的距离聚类得出,自定义距离公式:d=1-IOU
yolov2中x y w h的预测值是通过sigmoid函数计算出的相对位置,使得预测的候选框漂移范围缩小,提高精度
感受野:是指最后的特征图中1×1的cell对应的最原始的图像中的区域大小,即该cell包含了多少原始图像信息
感受野的理解:前面卷积层得到的特征图尺寸较大,特征图中每个cell的感受野较小,因此特征图只能表达原始图像的浅层局部信息(包括
边缘、线等),随着层数的增加,特征图尺寸减小,但其感受野增大(越大的感受野越适合捕捉大目标),进而能表达图像的深层全局信息。
卷积核尽量采用小尺寸的,堆叠小的卷积核所需的参数更少一些,并且卷积过程越多,特征提取就会越细致,加入的非线性变换
就越多,还不会增加权重参数个数,
特征图融合:为了解决最后一层的特征图的感受野太大只能捕捉较大物体这样一个不足之处,v2版本将前一层的特征图(
也可以是前面一层的前面一层)与最后一层的特征图融合,因为前一层的特征图的感受野相对较小,从而可以捕捉较小物体,
具体融合方式为:比如最后一层的特征图大小为13×13×1024,前一层特征图大小为26×26×512,由于1024和512为特征数无法
改变,只能将26×26×512变换为4×13×13×512,然后将两者叠加为13×13×(1024+4×512)=13×13×3072即为融合后的特征
yolov2中也支持多尺度输入,即可输入不同大小的图像,因为v2没有全连接层,不要求每次特征大小固定不变。

三 yolov3

yolov3的改进:主要是网络结构的改进,使其更适合小目标检测;
特征做的更细致,融入多持续特征图信息
候选框B=9(3种scale,每种有3个规格)
softmax改进用于预测多标签任务(使用logistic激活函数预测每一个类别是/不是)

候选框改进:最后一层13×13的特征图其感受野大,用于捕捉大目标,其有3个不同规格的候选框;
前一层26×26的特征图其感受野中等,用于捕捉中等目标,其有3个不同规格的候选框;
再前一层52×52的特征图其感受野小,用于捕捉小目标,其有3个不同规格的候选框;
在此基础上,预测大目标时,直接采用13×13的特征图进行预测;
预测中等目标时,先将13×13的特征图进行上采样(插值等方法)变成26×26的,再与原来26×26的特征图
进行融合,然后进行中等目标的预测;
预测小目标时,先将26×26的特征图进行上采样(插值等方法)变成52×52的,再与原来52×52的特征图
进行融合,然后进行小目标的预测;

核心网络架构(整个网络中没有全连接层和池化层,下采样通过stride=2实现):输入图像大小为416×416×3,经过一个Conv2d后
变为416×416×32,经过残差块×1后变为208×208×64,经过残差块×2后变为104×104×128,经过残差块×8后变为52×52×256,
再经过残差块×8后变为26×26×512,经过残差块×4后变为13×13×1024(以上为Darknet-53的结构),然后接一个卷积块变为
13×13×1024,再接3×3和1×1核的卷积,输出13×13×75用于预测大目标;
将上述经卷积块变为13×13×1024的输出进行上采样变为26×26×256,并与26×26×512的残差块的输出做拼接,变为26×26×768,
将拼接后的结果再经一个卷积块变为26×26×256,再接3×3和1×1核的卷积变为26×26×75用于预测中等目标;
将上述经卷积块变为26×26×256的输出进行上采样变为52×52×128,并与52×52×256的残差块的输出做拼接,变为52×52×384,
将拼接后的结果再经一个卷积块变为52×52×128,再接3×3和1×1核的卷积变为52×52×75用于预测小目标;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值