【目标检测】目标检测界的扛把子YOLOv5(原理详解+修炼指南)
文章目录
- 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(原理详解+修炼指南)相关推荐
- AI 女性界的“扛把子”,凭一己之力迫使 NIPS 改名
作者 | 琥珀 出品 | AI科技大本营 "计算机领域其实没有歧视,只是存在性别比例的差异罢了--"如果这种事件不放在台面上说,可能大家就这么想当然的认为了. 或许当你津津有味阅读 ...
- AI女性界的“扛把子”,凭一己之力迫使NIPS改名
作者 | 琥珀 出品 | AI科技大本营 "计算机领域其实没有歧视,只是存在性别比例的差异罢了--"如果这种事件不放在台面上说,可能大家就这么想当然的认为了. 或许当你津津有味阅读 ...
- 23 岁的 Java 成为编程界的扛把子,网友回复:这就是实力
编程语言界的扛把子 Java,不仅搭载上了如火箭版的更新速度,现在还有意让上车的用户付费买票了,那么身为 Java 开发者,下一步究竟是该弃用 23 年的老牌工具 JDK 还是乖乖付费继续搭载这列车? ...
- 单片机电流检测电路图大全(四款模拟电路设计原理图详解) - 信号处理电子电路图
电路图简介: 本文主要介绍了单片机电流检测电路图大全(四款模拟电路设计原理图详解).它的主要功能是完成对过电压的瞬时值和峰值的检测.过电压次数的检测.电源输出电压和电流的检测,并通过键盘的操作显示出各 ...
- 深度学习目标检测2013-2018单双阶段主流模型概览及详解
背景:深度学习引入目标检测领域以来,给目标检测领域带来了很多突破性的进展,文章"Deep Learning for Generic Object Detection: A Survey&qu ...
- 明星玩VR,会让娱乐成为VR内容界的扛把子吗?
当明星遇上虚拟现实,原来VR和娱乐还能这么玩. 最近微博上最火的除了霍建华和林心如的婚礼,可能就是陈冠希为女友出头在微博上大骂林志玲了,陈冠希近些年在娱乐圈越来越活跃了,几个月前被爆在上海某机场和插队 ...
- CFI/CFG 安全防护原理详解(ROP攻击、DOP攻击、插装检测)
1. 简介 CFI: Control-Flow Integrity(控制流完整性) CFG: Control Flow Guard(Windows的CFI实现) CFG: Control-Flow G ...
- Harris 角点检测原理详解
var html = document.getElementById("artContent").innerHTML; document.getElementById(" ...
- 活体检测眨眼、张嘴、点头、摇头动作一网打尽:人脸面部活体检测系统【含Python源码+PyqtUI界面+原理详解】
基本功能演示 摘要:活体检测是用于判断捕捉到的人脸是真实人脸,还是伪造的人脸攻击的一种技术手段.本文详细介绍了其实现的技术原理,同时给出完整的Python实现代码,并且通过PyQT实现了UI界面,更方 ...
最新文章
- 学习 PixiJS — 碰撞检测
- Yii自定义验证规则
- ExtJs与JavaScript的call方法
- 全面解析多种区块链隐私保护解决方案
- 自动处理键盘事件的第三方库 IQKeyboardManager
- 漫画:什么是八皇后问题
- 外部集成 网页制作_外部服务的集成测试
- Linux SVN迁移备份的三种方法
- java try catch_Java - 异常处理机制
- phpMyAdmin源码配置过程
- SLAM--位姿估计 (扩展卡尔曼滤波EKF/高斯牛顿非线性优化)
- [qq机器人]nonebot2 群管插件2.0
- 几种流行Webservice框架性能对比 .
- 计算机系统导论(持续更新)
- javaweb学习路线
- 可落地的云游戏解决方案
- 绘画技巧:怎样才能画好拟人化兽人?
- 自组织神经网络:自组织特征映射SOM网络
- 专访吴军:未来10年,AI的发展方向是应用,不会出现重大的理论突破
- 在 JavaScript 中访问对象属性的 3 种方法
热门文章
- 表格里面怎么打多个√_excel签到表中怎么快速输入√和×符号?
- 关于音频PA产生的TDD的debug思路
- 条码打印机代码解读!
- 卷积神经网络的特征图可视化
- 计算机网络实验思科实验报告,网络设备配置实验实验报告
- Web安全测试(文末送电子书)
- Java实现词法分析
- LabWindows CVI 2017开发笔记--常用API
- listView1.Items.Add()与 listView1.Items[i].SubItems.Add()区别
- 华为路由器、H3C交换机和TPLINK无线路由器组建无线网