YOLO 系列算法详解

YOLO V1算法详解

创新点

YOLO实现了实时处理图片,达到45FPS;Fast YOLO达到155FPS,但是检测准确率不高。
优势

  1. 速度快。
    2.做预测时全局了解图像,对背景预测错误出现的概率比Fast R-CNN小。
    3.YOLO学习目标的一般特征,具有较高通用性,应用到新领域,不太可能发生故障。

但是YOLO检测准确性不高,虽然可以快速识别图像中的对象,但是很难准确定位一些目标,尤其是小目标

算法概述

YOLO 系列算法详解_第1张图片YOLO 系列算法详解_第2张图片

算法详解

网络结构

  1. YOLO网络有24个卷积层,紧跟2个全连接层,整体网络结构如图所示。
  2. Fast YOLO网络使用较少卷积层,只有9个。

YOLO v1算法缺点
1.依照论文,每张图产生49个网格,98个bounding box,最多检测出49个目标,对于距离较近的成群小目标,检测效果差。
2.定位不准。Loss主要来自于定位误差,小误差对小bounding box影响远大于同等误差对大bounding box影响。
3.不擅长检测特征相似的某类物体,擅长实时检测多类物体。

YOLO V2算法详解

原文链接:https://blog.csdn.net/qq_41994006/article/details/88656234
输入层

与传统神经网络/机器学习一样,模型需要输入的进行预处理操作,常见的输入层中预处理方式有:

去均值
归一化
PCA/SVD降维等

卷积层
局部感知:人的大脑识别图片的过程中,并不是一下子整张图同时识别,而是对于图片中的每一个特征首先局部感知,然后更高层次对局部进行综合操作,从而得到全局信息。
YOLO 系列算法详解_第3张图片YOLO 系列算法详解_第4张图片
池化层(Pooling):也称为欠采样或下采样。主要用于特征降维,压缩数据和参数的数量,减小过拟合,同时提高模型的容错性。主要有:最大/平均池化

输出层(全连接层)

经过前面若干次卷积+激励+池化后,终于来到了输出层,模型会将学到的一个高质量的特征图片全连接层。其实在全连接层之前,如果神经元数目过大,学习能力强,有可能出现过拟合。因此,可以引入dropout操作,来随机删除神经网络中的部分神经元,正则化等来解决此问题。还可以进行局部归一化(LRN)、数据增强,交叉验证,提前终止训练等操作,来增加鲁棒性。
  当来到了全连接层之后,可以理解为一个简单的多分类神经网络(如:BP神经网络),通过softmax函数得到最终的输出。整个模型训练完毕。

深度学习模型:

提高网络宽度可以提高性能,但是达到一定临界点后饱和。
加宽偶尔比加深更有利于性能的提升,但计算量增长更快O(N的平方)算法复杂度。

dropout 可以降低网络对每个神经元的依赖,从而增强了泛华能力(注意:dropout相当于增加了噪声,造成了梯度损失,所以需要更大的学习率和动量项,训练更久才能收敛)

BN层:
调整了数据的分布,保证了梯度的有效性,减轻了对参数初始化的依赖。
训练更快,可以使用较高的学习率
使得损失函数平面更加光滑。

原文链接:https://blog.csdn.net/fu6543210/article/details/82817916
原文链接:https://blog.csdn.net/qq_41994006/article/details/88656234

你可能感兴趣的:(深度学习,机器学习,深度学习)