yolov1->yolov2->yolov3->yolov3 SPP 学习笔记

学习的视频来自:yolov3理论讲解_哔哩哔哩_bilibili

up的github:GitHub - WZMIAOMIAO/deep-learning-for-image-processing: deep learning for image processing including classification and object-detection etc.

简介:

mAP中的对比参数指标

论文地址:YOLO1

                  YOLO2

                  YOLO3

YOLO v.s Faster R-CNN

1.统一网络:YOLO没有显示求取region proposal的过程。Faster R-CNN中尽管RPN与fast rcnn共享卷积层,但是在模型训练过程中,需要反复训练RPN网络和fast rcnn网络.相对于R-CNN系列的"看两眼"(候选框提取与分类),YOLO只需要Look Once.

2. YOLO统一为一个回归问题,而R-CNN将检测结果分为两部分求解:物体类别(分类问题),物体位置即bounding box(回归问题)。



YOLO1

论文名:You Only Look Once: Unified, Real-Time Object Detection

在2016 CVPR 数据集上    图片规格为45FPS 448x448      只有63.4mAP,速度比Faster R-CNN快,但是准确率没有Faster R-CNN高。

论文思想

1) 将一幅图像分成SxS个网格(grid cell), 如果某个object的中心落在这个网格 中,则这个网格就负责预测这个object。如狗肚子部位的一个网格

2)每个网格要预测B个bounding box,每个bounding box 除了要预测位置之外,还要附带预测一个confidence值。 每个网格还要预测C个类别的分数。

 用下面一幅图加深理解:

 左侧是一个7*7*30的特征矩阵,将沿着深度方向一行拎出来,这个列向量有30 个数值;每个网格需要预测两个bounding box,每个bounding box要预测5个数值,这5个值中包含4个目标的坐标信息,以及一个confidence;如上图有两组bounding box;然后针对这个网格预测C个类别分数。

 (x,y)是在所选网格之中的,长和宽也是相对真个图像而言的。

 confidence可以简单的理解为预测的目标和真实目标的交并比IOU,  Pr是0或1,即网格中有目标就为1,没目标就为0 

网络结构

损失函数

采用误差平方和(sum-squared error)的方法进行计算

 上图中黄色框使用根号的原因:因为可以使small bbox和big bbox的误差更小,如下图所示

 YOLO1存在的问题

1.有很多小目标聚集在一起时,预测效果很差

2.目标有了新的位置时预测效果不准确

YOLO2

论文名: YOLO9000: Better, Faster, Stronger

因为所能检测的目标种类个数超过9000

文章中给出的性能对比

YOLO2在YOLO1的基础上做了哪些尝试:在原文中的Better章节

 Batch Normalization

 减少了所需的一系列正则化处理,相比没有使用BN前,在mAP上提升了2%,而且使用BN后可以不在使用dropout

High Resolution Classifier

 提高图片分辨率, 比之前有4%的提升

Convolutional With Anchor Boxes.

 不使用anchor时mAP是69.5,召回率是81%

使用anchor时mAP是69.2,召回率是88%

更高的召回率意味着模型的提升空间更大。

Dimension Clusters.

 采用了k-means聚类的方法。

Direct location prediction

 在使用anchor时,会很不稳定,主要原因是中心的(x,y)预测不准导致的,因为这个公式是没有受到限制的,所以基于anchor预测的目标可能会出现在任意位置,因此作者想了一个办法来解决这个问题。下面结合一幅图来说明:

将anchor设置在每个grid cell的左上角,通过网络的预测后,会得到一个有关x,y的回归参数,由于公式并没有限制 t_{x}  和 t_{y} 的值,那么将anchor的中心坐标加上预测的回归参数后,它可能会出现在图像的任意一个地方,因此很不稳定

 作者采用另外一种方法

 用函数sigmoid限制 t_{x} 和 t_{y} ,将输入映射到0-1之间,这样就对预测的中心坐标的偏移量进行了限制,这样就可以让每个anchor去负责预测目标中心落在某个grid  cell区域内的目标

Fine-Grained Features

将相对底层的特征图和高层的特征图进行融合,提升检测小目标的效果 

如下图蓝色框框选的位置,就是将特征图融合的过程,在深度方向进行拼接

 用下面的例子来进行理解:

这里有4*4的特征矩阵,将同一种颜色的特征矩阵拼接到一起,就得到了4个2*2 的特征矩阵,长宽变为原来的一半,通道变成了4倍

 Multi-Scale Training

 每训练10个batches就随机调整图像的尺寸,采用的一系列大小都是32 的整数倍

BackBone: Darknet-19 

Darknet-19(224x224) only requires 5.58 billion operations to process an image yet achieves 72.9% top-1 accuracy and 91.2% top-5 accuracy on ImageNet. 

YOLO3

论文名:YOLOv3: An Incremental Improvement

做大做强,再创辉煌

文章整合了一些比较好的内容,创新点较少

在COCO AP上速度快但准确率不高

 但是COCO AP IOU=0.5 时,正确率高了很多

BackBone: Darknet-53

 层数:

 可能时因为层数比resnet少以及去掉了全连接层才使性能变好。 

网络结构

下图绿色部分conv是由三部分组成的,分别为:conv,BN(没有偏置参数),leakyReLU

蓝色框中是一个残差结构:主分支为一个1*1卷积和一个3*3的卷积,再将捷径分支直接从输入引过来与输出相加;

通过第一个conv set(将5个conv堆叠在一起)后

一条分支通向预测输出1,先通过一个3*3的conv,大小为13*13,再使用一个卷积核大小为1*1的预测器再预测特征层上进行预测

另外一个是接着往后走,先通过一个1*1的卷积层,再通过一个上采样层,高和宽扩大为原来的两倍,即26*26,此时会和darknet-53中的一部分输出再深度方向进行拼接

接着在经过一个conv set,一个分支通向预测输出2,另一只经过上采样变为52*52,再和darknet-53中的一部分输出再深度方向进行拼接

再通过一个conv set得到预测输出3

在预测特征层1上预测较大的目标,在预测特征层2上预测中等的目标,在预测特征层3上预测较小的目标

YOLO V3 model structure

 在3个预测特征层上进行预测,每个预测特征层上使用3种尺度,原文中使用k-means聚类的算法得到

        每个特征层上会预测N*N*[3*(4+1+80)]个参数

        N是预测特征层的大小,每个sell会预测3个尺度,每种尺度会预测4+1+80个参数,分别为4个偏移参数,1个confidences ,coco数据集有80个分类  

目标边界框的预测

yolov3使用的anchor机制和ssd,faster-rcnn是不一样的:

ssd,faster-rcnn中预测的关于目标中心点的回归参数是相对于anchor而言的

yolov3中目标中心点的回归参数并不是相对于anchor而言的,而是相对于当前这个sell的左上角点的

假设下图是某一个预测特征层,当1*1的卷积层滑动到中间红色部位的时候,他会针对每一个anchor模板都会预测4个回归参数,一个confidence,以及每个类别的分数

4个回归参数分别为t_{x},t_{y},t_{w},t_{h},   图中 的虚线框对应的是anchor,现在只需要关注p_{w},p_{h},  就可以了,图中蓝色的框是预测的最终目标的位置和大小

 c_{x},c_{y}  是当前这个gril sell左上角的坐标

通过下面的公式就可以算出最终预测中心点x,y的坐标

 sigmoid函数算出的值在0-1之间

正负样本的匹配

原文如下:

 按原文所说的正样本的数量会非常少,不好训练

代码中样本的匹配准则:

将GT和anchor模板计算得到iou,接着设置一个阈值,只要iou大于这个阈值都设置为正样本

再将GT映射到特征层上,GT 的中心点落在哪个cell中,则该cell中的AT 2 就作为正样本,如果这3个anchor和GT 的iou都大于阈值,就同时将GT分配给3个anchor,这样就可以扩充正样本

损失的计算

置信度损失

二值交叉熵损失

例子:

 使用二值交叉熵损失,经过sigmoid函数处理,每个预测结果之间互不干扰,相互独立,

yolov3 SPP

猜你喜欢

转载自blog.csdn.net/weixin_45897172/article/details/130007254