目标检测神经网络的发展

目标检测

0.手工时代
1.RCNN
2.SPP
3.FAST-RCNN
4.FASTER-RCNN

评价标准

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

参数说明:
P r e c i s o n c Precison_c Precisonc:c在一张图片上识别准确率;
N ( T r u e P o s i t i v e s ) c N(TruePositives)_c N(TruePositives)c:在一张图片上被识别出来C的个数;
N ( T o t a l O b j e c t s ) c N(TotalObjects)_c N(TotalObjects)c:在一张图片上C的个数;
A v e r a g e P r e c i s i o n c AveragePrecision_c AveragePrecisionc:在整个数据集上C被识别的平均准确率;
∑ P r e c i s i o n c \sum{Precision_c} Precisionc:在整个数据集上C被识别概率的总和;
N ( T o t a l I m a g e s ) c N(TotalImages)_c N(TotalImages)c:数据集上有C的图片张数;
M e a n A v e r a g e P r e c i s i o n MeanAveragePrecision MeanAveragePrecision:数据集上所有类别的平均准确率;
∑ A v e r a g e P r e c i s i o n \sum{AveragePrecision} AveragePrecision:数据集上所有类别平均准确率的总和;
N ( c l a s s e s ) N(classes) N(classes):数据集上有有类别的个数;
P r e c i s i o n C = N ( t r u e P o s i t i v e s ) c N ( T o t a l O b j e c t s ) c A v e r a g e P r e c i s i o n c = ∑ P r e c i s i o n c N ( T o t a l I m a g e s ) c M e a n A v e a r a g e P r e c i s i o n = ∑ A v e r a g e P r e c i s i o n c N ( c l a s s e s ) \begin{aligned} Precision_C &= \frac{N(truePositives)_c}{N(TotalObjects)_c}\\ AveragePrecision_c &= \frac{\sum{Precision_c}}{N(TotalImages)_c}\\ MeanAvearagePrecision &= \frac{\sum{AveragePrecision_c}}{N(classes)} \end{aligned} PrecisionCAveragePrecisioncMeanAvearagePrecision=N(TotalObjects)cN(truePositives)c=N(TotalImages)cPrecisionc=N(classes)AveragePrecisionc

图像检测

手工时代

手工特征+滑动窗口

RCNN

论文链接:https://arxiv.org/pdf/1311.2524.pdf
在这里插入图片描述
1.下载模型进行微调<正样本IOU>0.5,负样本IOU<0.5>
2.使用SS算法选取候选区域
3.将候选区域内的图形变形作为网络输入,同时将网络输出的第5层特征保存下来
4.将上步保存的特征作为SVM的输入进行训练<SVM训练的正负样本,正样本:ground-truth内的样本;负样本:IOU<0.3 &其他样本的IOU<0.7>
5.将第三步保存的特征作为输入,进行bounding-box进行回归学习<输入 ( P x , P y , P w , P h ) (P_x,P_y,P_w,P_h) (Px,Py,Pw,Ph) CNN 特征,输出: ( d x ( P ) , d y ( P ) , d w ( P ) , d h ( P ) ) (d_x(P),d_y(P),d_w(P),d_h(P)) (dx(P),dy(P),dw(P),dh(P))>;

SPP

论文链接:https://arxiv.org/pdf/1406.4729.pdf
在这里插入图片描述
1.下载模型进行微调
2.使用CONV层提取特征&使用SS算法选取候选区域
3.将SS算法选取的候选区域映射到conv特征提取层
4.对相应区域的特征提取层输入到spatial pyramid pooling layer层提取固定长度的特征
5.将固定长度的特征输入到全连接层,最后进行SVM分类
6.将全连接层的输出,进行bounding-box的学习

特点rcnnspp
输入固定尺寸任意尺寸,由于使用了spatial pyramid pooling layer
卷积计算每个候选区域都需要要计算一遍只需要计算一次

FAST-RCNN

文章链接:https://arxiv.org/pdf/1504.08083.pdf
在这里插入图片描述
1.下载模型进行微调
2.使用CONV层提取特征&使用SS算法选取候选区域
3.将SS算法选取的候选区域映射到conv特征提取层
4.对相应区域的特征提取层输入到ROI层提取固定长度的特征
5.将固定长度的特征输入到全连接层,最后进行Softmax分类
6.将全连接层的输出,进行bounding-box的学习

特点rcnnsppfast-rcnn
输入固定尺寸任意尺寸,由于使用了spatial pyramid pooling layer使用ROI层
卷积计算每个候选区域都需要要计算一遍只需要计算一次只需计算一遍
分类方法SVMSVMSoftMax

FASTER-RCNN

论文链接:https://arxiv.org/pdf/1506.01497.pdf
在这里插入图片描述
1.下载模型进行微调
2.从conv层提取的特征训练RPN<用于候选区域的生成>网络;
3.使用ROI层提取固定长度的特征
4.在2学习到的网络上继续进行分类和bounding-box的回归;

特点rcnnsppfast-rcnnfaster-rcnn
输入固定尺寸任意尺寸,由于使用了spatial pyramid pooling layer使用ROI层使用ROI层
卷积计算每个候选区域都需要要计算一遍只需要计算一次只需计算一遍只需计算一遍
分类方法SVMSVMSoftMaxSoftMax
候选区域提取SSSSSSRPN并使用anchor

在这里插入图片描述

Linux创始人Linus Torvalds有一句名言: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的使用方法了解以后再学习本课程。
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页