文章目录

  • 1.YOLO输入端
    • 1.1 Mosaic数据增强
    • 1.2 自适应锚框计算
    • 1.3 自适应图片缩放
  • 2.YOLO总体架构图
    • 2.1 BackBone
      • 2.1.1 Focus模块
      • 2.1.2 SPP模块
      • 2.1.3 CSP_X模块
    • 2.2 Neck
      • 2.2.1 FPN
      • 2.2.2 PAN
    • 2.3 YOLO输出端
      • 2.3.1 Bounding Box损失函数
      • 2.3.2 NMS非极大值抑制

1.YOLO输入端

1.1 Mosaic数据增强

Yolov5的输入端采用了和Yolov4一样的Mosaic数据增强的方式。

Mosaic数据增强提出的作者也是来自Yolov5团队的成员,不过,随机缩放、随机裁剪、随机排布的方式进行拼接,对于小目标的检测效果还是很不错的。

  • 4张图片拼接
  • 随机缩放
  • 随机裁剪
  • 随机排布

算法优点:

  • 丰富数据集
  • 减少GPU计算

1.2 自适应锚框计算

在Yolo算法中,针对不同的数据集,都会有初始设定长宽的锚框。

在网络训练中,网络在初始锚框的基础上输出预测框,进而和真实框groundtruth进行比对,计算两者差距,再反向更新,迭代网络参数。

  • Step1:读取训练集中所有图片的w、h以及检测框的w、h

  • Step2:将读取的坐标修正为绝对坐标

  • Step3:使用Kmeans算法对训练集中所有的检测框进行聚类,得到k个anchors

  • Step4:通过遗传算法对得到的anchors进行变异,如果变异后效果好将其保留,否则跳过

  • Step5:将最终得到的最优anchors按照面积返回

1.3 自适应图片缩放

在常用的目标检测算法中,不同的图片长宽都不相同,因此常用的方式是将原始图片统一缩放到一个标准尺寸,再送入检测网络中。

letterbox自适应图片缩放技术尽量保持高宽比,缺的用灰边补齐达到固定的尺寸。

2.YOLO总体架构图

2.1 BackBone

主要进行特征提取,将图像中的物体信息通过卷积网络进行提取,用于后面目标检测。

2.1.1 Focus模块

Focus层原理和PassThrough层很类似。它采用切片操作把高分辨率的图片拆分成多个低分辨率的图片/特征图,即隔列采样+拼接。

2.1.2 SPP模块

空间金字塔池化,能将任意大小的特征图转换成固定大小的特征向量。

2.1.3 CSP_X模块

backbone是较深的网络,增加残差结构可以增加层与层之间反向传播的梯度值,避免因为加深而带来的梯度消失,从而可以提取到更细粒度的特征并且不用担心网络退化。

2.2 Neck

对特征进行混合与组合,增强网络的鲁棒性,加强物体检测能力,并且将这些特征传递给Head层进行预测。

2.2.1 FPN

2.2.2 PAN

2.3 YOLO输出端

主要进行最终的预测输出。

2.3.1 Bounding Box损失函数

真实检测框和模型预测输出框的吻合程度,用于反向传播优化模型。

2.3.2 NMS非极大值抑制

判断相邻网格识别的是否是同一物体,消除掉多余检测框。

【目标检测】目标检测界的扛把子YOLOv5(原理详解+修炼指南)相关推荐

  1. AI 女性界的“扛把子”,凭一己之力迫使 NIPS 改名

    作者 | 琥珀 出品 | AI科技大本营 "计算机领域其实没有歧视,只是存在性别比例的差异罢了--"如果这种事件不放在台面上说,可能大家就这么想当然的认为了. 或许当你津津有味阅读 ...

  2. AI女性界的“扛把子”,凭一己之力迫使NIPS改名

    作者 | 琥珀 出品 | AI科技大本营 "计算机领域其实没有歧视,只是存在性别比例的差异罢了--"如果这种事件不放在台面上说,可能大家就这么想当然的认为了. 或许当你津津有味阅读 ...

  3. 23 岁的 Java 成为编程界的扛把子,网友回复:这就是实力

    编程语言界的扛把子 Java,不仅搭载上了如火箭版的更新速度,现在还有意让上车的用户付费买票了,那么身为 Java 开发者,下一步究竟是该弃用 23 年的老牌工具 JDK 还是乖乖付费继续搭载这列车? ...

  4. 单片机电流检测电路图大全(四款模拟电路设计原理图详解) - 信号处理电子电路图

    电路图简介: 本文主要介绍了单片机电流检测电路图大全(四款模拟电路设计原理图详解).它的主要功能是完成对过电压的瞬时值和峰值的检测.过电压次数的检测.电源输出电压和电流的检测,并通过键盘的操作显示出各 ...

  5. 深度学习目标检测2013-2018单双阶段主流模型概览及详解

    背景:深度学习引入目标检测领域以来,给目标检测领域带来了很多突破性的进展,文章"Deep Learning for Generic Object Detection: A Survey&qu ...

  6. 明星玩VR,会让娱乐成为VR内容界的扛把子吗?

    当明星遇上虚拟现实,原来VR和娱乐还能这么玩. 最近微博上最火的除了霍建华和林心如的婚礼,可能就是陈冠希为女友出头在微博上大骂林志玲了,陈冠希近些年在娱乐圈越来越活跃了,几个月前被爆在上海某机场和插队 ...

  7. CFI/CFG 安全防护原理详解(ROP攻击、DOP攻击、插装检测)

    1. 简介 CFI: Control-Flow Integrity(控制流完整性) CFG: Control Flow Guard(Windows的CFI实现) CFG: Control-Flow G ...

  8. Harris 角点检测原理详解

    var html = document.getElementById("artContent").innerHTML; document.getElementById(" ...

  9. 活体检测眨眼、张嘴、点头、摇头动作一网打尽:人脸面部活体检测系统【含Python源码+PyqtUI界面+原理详解】

    基本功能演示 摘要:活体检测是用于判断捕捉到的人脸是真实人脸,还是伪造的人脸攻击的一种技术手段.本文详细介绍了其实现的技术原理,同时给出完整的Python实现代码,并且通过PyQT实现了UI界面,更方 ...

最新文章

  1. 学习 PixiJS — 碰撞检测
  2. Yii自定义验证规则
  3. ExtJs与JavaScript的call方法
  4. 全面解析多种区块链隐私保护解决方案
  5. 自动处理键盘事件的第三方库 IQKeyboardManager
  6. 漫画:什么是八皇后问题
  7. 外部集成 网页制作_外部服务的集成测试
  8. Linux SVN迁移备份的三种方法
  9. java try catch_Java - 异常处理机制
  10. phpMyAdmin源码配置过程
  11. SLAM--位姿估计 (扩展卡尔曼滤波EKF/高斯牛顿非线性优化)
  12. [qq机器人]nonebot2 群管插件2.0
  13. 几种流行Webservice框架性能对比 .
  14. 计算机系统导论(持续更新)
  15. javaweb学习路线
  16. 可落地的云游戏解决方案
  17. 绘画技巧:怎样才能画好拟人化兽人?
  18. 自组织神经网络:自组织特征映射SOM网络
  19. 专访吴军:未来10年,AI的发展方向是应用,不会出现重大的理论突破
  20. 在 JavaScript 中访问对象属性的 3 种方法

热门文章

  1. 表格里面怎么打多个√_excel签到表中怎么快速输入√和×符号?
  2. 关于音频PA产生的TDD的debug思路
  3. 条码打印机代码解读!
  4. 卷积神经网络的特征图可视化
  5. 计算机网络实验思科实验报告,网络设备配置实验实验报告
  6. Web安全测试(文末送电子书)
  7. Java实现词法分析
  8. LabWindows CVI 2017开发笔记--常用API
  9. listView1.Items.Add()与 listView1.Items[i].SubItems.Add()区别
  10. 华为路由器、H3C交换机和TPLINK无线路由器组建无线网