深度学习——YOLO

36 阅读2分钟

yolo网络架构

理解其输入输出

image.png

yolo优缺:

image.png

yolo模型的训练样本构建的方法

1. 单纯的卷积、池化最后加了两层全连接
2. 从网络结构上看,与前面介绍的CNN分类网络没有本质的区别
3. 最大的差异是输出层用线性函数做激活函数

理解yolo模型的损失函数

YOLOv2

改进方法

在继续保持处理速度的基础上,对这三个方面进行了改进

  • 预测更准确(Better)
    • batch normalization批标准化
    • 使用高分辨率图像微调分类模型
    • 采用Anchor Boxes
    • 聚类提取anchor尺度
    • 边框位置的预测
    • 细粒度特征融合
    • 多尺度训练
  • 速度更快(Faster)
    • 提出了Darknet-19(有19个卷积层和5个MaxPooling层)网络结构作为特征提取网络
  • 识别对象更多(Stronger)
    • 利用ImageNet非常大量的分类样本,联合COCO的对象检测数据集一起训练,使得YOLO2即使没有学过很多对象的检测样本,也能检测出这些对象。

YOLOv3

  • 多尺度检测(分不同的特征进行分层检测,浅层特征浅层的feature map中主要包含低级的信息(物体边缘,颜色,初级位置信息等),深层的feature map中包含高等信息(例如物体的语义信息:狗,猫,汽车等等)

多种scale变换的经典方法:

1)建立特征图像金字塔

image.png

2)检测只在最后一层feature map阶段进行

image.png

3)对不同深度的feature map分别进行目标检测。

image.png

4)当前层的feature map会对未来层的feature map进行上采样,并加以利用低阶特征与高阶特征就有机融合起来。

image.png

  • 先验框更丰富;
  • 调整了网络结构;
  • 对象分类使用logistic代替了softmax,更适用于多标签分类任务。

相比之前的算法,尤其是针对小目标,精度有显著提升。

网络结构结构:

在基本的图像特征提取方面,YOLO3采用了Darknet-53的网络结构(含有53个卷积层),它借鉴了残差网络ResNet的做法,在层之间设置了shortcut,来解决深层网络梯度的问题。

image.png

模型先验框设计的方法

采用K-means聚类得到先验框的尺寸,为每种尺度设定3种先验框,总共聚类出9种尺寸的先验框

了解yoloV4模型

Yolov4并没有创造新的改进,而是使用了大量的目标检测的技巧