美文网首页
理解PyTorch版YOLOv5模型构架

理解PyTorch版YOLOv5模型构架

作者: LabVIEW_Python | 来源:发表于2022-03-28 10:27 被阅读0次

    一个深度学习模型,可以拆解为:

    • 模型构架(Model Architecture): 下面详述
    • 激活函数(Activation Function):YOLOv5在隐藏层中使用了LeakyReLU激活函数,在最后的检测层中使用了Sigmoid激活函数,参考这里
    • 优化函数(Optimization Function):YOLOv5的默认优化算法是:SGD;可以通过命令行参数更改为Adam
    • 损失函数(Loss Function) 或者叫代价函数Cost Function:YOLOv5的Loss函数分为三个部分:Classes loss(BCE loss) + Objectness loss(BCE loss) + Location loss(CIoU loss)

    YOLOv5模型构架和其它单阶段(one-stage)目标检测器一样,可以拆解为三个主要部分:

    • 模型主干网络(Model Backbone):主要用于提取输入图像特征,YOLOv5使用了CSP-Darknet53网络,相比YOLOv3使用的Darknet53网络,参数少-34%(意味着更快),精度基本一致
    • 模型颈部(Model Neck):主要用于生成特征金字塔(feature pyramids)。 特征金字塔有助于提升模型对不同大小和比例对象的泛化性能,即有助于识别具有不同大小和比例的同一对象。YOLOv5使用New CSP-PAN作为特征金字塔。
    • 模型检测头(Model Head):主要用于执行最后的检测部分。 它将锚框应用于特征并生成具有类别概率(class probabilities)、对象分数(objectness scores)和边界框(bounding boxes)的输出向量(output vectors)。YOLOv5的检测头跟YOLOv3的一致(YOLOv3 Head)。
      检测器构架 one-stage vs two-stage
      本图引用自:<YOLOv4: Optimal Speed and Accuracy of Object Detection>
      本文参考资料:https://github.com/ultralytics/yolov5/issues/6998

    相关文章

      网友评论

          本文标题:理解PyTorch版YOLOv5模型构架

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