博客
关于我
小白也能弄得懂的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/

    你可能感兴趣的文章
    Oracle 11g关闭用户连接审计
    查看>>
    Oracle 11g忘记sys、system、scott密码该这样修改!
    查看>>
    Oracle 11g数据库安装和卸载教程
    查看>>
    Oracle 11g数据库成功安装创建详细步骤
    查看>>
    Oracle 11g超详细安装步骤
    查看>>
    Oracle 12c中的MGMTDB
    查看>>
    Oracle 12c安装报错Installation failed to access the temporary location(无法访问临时位置)...
    查看>>
    Oracle 9i数据库管理教程
    查看>>
    ORACLE Active dataguard 一个latch: row cache objects BUG
    查看>>
    oracle avg、count、max、min、sum、having、any、all、nvl的用法
    查看>>
    Oracle BEQ方式连接配置
    查看>>
    oracle Blob保存方式,oracle 存储过程操作blob
    查看>>
    Oracle BMW Racing sailing vessel帆船图
    查看>>
    ORACLE Bug 4431215 引发的血案—原因分析篇
    查看>>
    Oracle Business Intelligence Downloads
    查看>>
    Oracle cmd乱码
    查看>>
    Oracle Corp甲骨文公司推出Oracle NoSQL数据库2.0版
    查看>>
    【Docker知识】将环境变量传递到容器
    查看>>
    uniapp超全user-agent判断 包括微信开发工具 hbuilder mac windows 安卓ios端及本地识别
    查看>>
    Oracle DBA课程系列笔记(20)
    查看>>