美文网首页
YOLO思考(1)

YOLO思考(1)

作者: 深度学习模型优化 | 来源:发表于2019-05-05 02:01 被阅读0次

    1 目标检测问题分析

    无论是以R-CNN、Fast R-CNN和Faster R-CNN为主的two-stage目标检测方法,还是以YOLO和SSD为主的one-stage目标检测方法,其核心都是找到RoI,并对RoI中的目标进行分类,以及对RoI的边框进行回归修正。如图1所示。

    图1 检测框架

    甚至于最新的CornerNet算法,不断地提升候选框提取效率、候选框有效率、候选框精准度以及与分类框架的融合。如图2 所示。

    图2 Cornet Net

    主要是为了解决两个核心问题:

    • 目标分类。
    • 目标定位修正。

    2 YOLO训练框架

    这里先抛出darknet,因为华盛顿大学的兄弟在做YOLO的时候用的就是darknet,这是个用C编写的深度学习框架,当然功能和caffe、tensorflow、pytorch没法比,但是作为一个菜鸟,我依然对这个框架不是很理解。这个就需要时间去打磨了。有兴趣的读者可以去看下darknet的中文注释。

    3 YOLO网络架构

    3.1 YOLO V1

    YOLO V1使用darknet的前20个卷积层,然后接着一个全局池化和一个全连接层,构建一个预训练模型。该预训练模型来提高backbone的性能。

    图3 YOLO V1框架

    由图3可知,Darknet的完整框架包括(24卷积层+2全连接层)。输入是​的图像,输出是​。这里的输出通道可以表述为 ​ 包括:

    • 20表示20个类别的概率(VOC数据集的类别数为20个)
    • ​两个目标框,即为两个​有8个元素
    • 2表示两个目标框的置信度

    RoI网格划分是通过最后一个卷积层的输出体现。该卷积层的输出为​,特征图的尺寸为​,将原图划分成了7\times 7​的网格区域,每个网格预测20个类别的概率,目标框置信度以及两个目标框信息,其中每个目标的中心位置都会转换至网格区域内。

    图4 感受野

    最新的版本中的最后的两个全连接层被替换为了局部全连接层、dropout和1715输出的全连接层。这里的1715为7\times 7 \times 35。这里的35包括:

    • 20个类别概率
    • 3个目标框置信度
    • 3个目标框坐标信息
    图5 局部全连接层

    每个类别的真实置信度的计算公式如下:
    Confidence\_object = P(object) \times IOU_{truth}^{pred} \\ Confidence\_class_i = Confidence\_object \times P(class_i | object)

    相关文章

      网友评论

          本文标题:YOLO思考(1)

          本文链接:https://www.haomeiwen.com/subject/ebxxoqtx.html