博客
关于我
小白也能弄得懂的YOLO系列之YOLOv1网络训练
阅读量:664 次
发布时间:2019-03-15

本文共 1131 字,大约阅读时间需要 3 分钟。

YOLO网络训训练过程详解

输入图片首先被分成S×S个网格cell,每个网格会预测B个边界框bbox,这B个边界框来定位目标。每个边界框包含5个预测值:x、y、w、h和置信度confidence。这些预测值有特定的约束:

  • x = (bbox.x - cell.x) / cell.width
  • y = (bbox.y - cell.y) / cell.height
  • w = bbox.width / image.width
  • h = bbox.height / image.height

YOLO训练过程

YOLO采用了两阶段训练策略:首先对前20层卷积神经网络进行ImageNet数据集的预训练,然后在Pascal VOC2007和2012数据集上进行对象识别和定位的进一步训练。

网络结构采用深度多层卷积结构,其中最后一层采用线性激活函数,其它层使用Leaky ReLU激活函数。为了防止过拟合,训练过程中采用了Dropout正则化和数据增强技术。


YOLO损失函数

YOLO的损失函数旨在衡量网络输出与实际标签之间的误差偏差,包括:

  • 定位误差:涉及边界框的xy坐标和宽高wh的预测误差。
  • 分类误差:涉及边界框是否包含目标的预测及对目标类别的分类误差。
  • 总损失函数是各项误差平方和的总和,对应五个预测项:

    • 定位误差(坐标偏离)
    • 置信度的预测误差
    • 边界框宽高的预测误差
    • 是否包含目标的预测误差
    • 对应目标类别的分类误差

    优化策略

  • 权重分配

    • 定位误差误差项权重较大。
    • 不包含目标的边界框误差权重较小。
    • 宽高预测采用平方根形式:将目标尺度改为对预测值的平方根处理。
  • 数据增强

    • 使用随机调整亮度、色调、对比度和翻转等方法扩展数据集,提升模型泛化能力。
  • 正则化

    • 采用Dropout方法随机屏蔽部分神经元,防止过拟合。

  • YOLO预测

    在实际使用中,YOLO会输出一个7×7×30的矩阵,存储每个网格的目标概率、边界框坐标和置信度。由于交并比(IOU)和非极大值抑制(NMS)算法的筛选,只保留置信度最高且与其他边界框IOU较低的前几个框。


    兼注事项

  • 定位误差:较高权重分配给定位任务。
  • 置信度误差:只有包含目标的边界框计算分类误差。
  • 交并比(IOU):用于筛选预测框的合理性。

  • TensorFlow版YOLOv1代码下载

    如果你对YOLO感兴趣,可以在GitHub上下载TensorFlow版YOLOv1代码:github.com/gliese581gg/YOLO_tensorflow。安装好开发环境后,直接使用预训练模型即可测试和训练。


    如需了解YOLO的更多细节,可以参考以下相关文章:

    转载地址:http://girmz.baihongyu.com/

    你可能感兴趣的文章
    Opencv介绍及opencv3.0在 vs2010上的配置
    查看>>
    OpenCV使用霍夫变换检测图像中的形状
    查看>>
    opencv保存图片路径包含中文乱码解决方案
    查看>>
    OpenCV保证输入图像为三通道
    查看>>
    OpenCV入门教程(非常详细)从零基础入门到精通,看完这一篇就够了
    查看>>
    opencv图像分割2-GMM
    查看>>
    opencv图像分割3-分水岭方法
    查看>>
    opencv图像切割1-KMeans方法
    查看>>
    OpenCV图像处理篇之阈值操作函数
    查看>>
    opencv图像特征融合-seamlessClone
    查看>>
    OpenCV图像的深浅拷贝
    查看>>
    OpenCV在Google Colboratory中不起作用
    查看>>
    OpenCV学习(13) 细化算法(1)(转)
    查看>>
    OpenCV学习笔记(27)KAZE 算法原理与源码分析(一)非线性扩散滤波
    查看>>
    OpenCV学堂 | CV开发者必须懂的9种距离度量方法,内含欧氏距离、切比雪夫距离等(建议收藏)
    查看>>
    OpenCV学堂 | OpenCV中支持的人脸检测方法整理与汇总
    查看>>
    OpenCV学堂 | OpenCV案例 | 基于轮廓分析对象提取
    查看>>
    OpenCV学堂 | YOLOv8与YOLO11自定义数据集迁移学习效果对比
    查看>>
    OpenCV学堂 | YOLOv8官方团队宣布YOLOv11 发布了
    查看>>
    OpenCV学堂 | YOLOv8实战 | 荧光显微镜细胞图像检测
    查看>>