YOLO系列技术细节(更新中)

news/2024/11/15 10:30:52/文章来源:https://www.cnblogs.com/zh-jp/p/18547479

相对于R-CNN、Fast RCNN的two-stage目标检测方式,即先在图像中提取候选框,再逐一对图像进行分类。候选框的生成可以是滑动窗口或选择性搜索,再对候选框进行非极大值抑制(一般只在推理时做非极大值抑制,训练时需要这些重复的框)。而YOLO则是one-stage的端到端形式:输入图片,经过深度神经网络的黑盒,得到带候选框和预测概率标注的图像。

YOLO v1

数据格式

对于输入的图片,划分为\(S\times S\)个grid(文中S=7),每一个grid包含2个bounding box,box的中心位于grid内,但是范围可以超出grid。

输入图片大小为448x448x3,输出向量为7x7x30。输出向量可抽象为:\(S\times S\times(B*5+C)\),每个grid的有\((B*5+C)\)个属性,也就是30;其中C表示类别数,也就是20个,B表示bounding box数量,也就是2个;每个box有5个值\((x,y,w,h)\),还有置信度,\((x,y)\)表示框的中心
相对于grid的边界;\(w\)宽度和\(h\)高度是相对于整个图像进行预测的;置信度预测表示预测框与任何真实框之间的IOU,在计算时,还乘以了类别的预测概率:

\[\mathrm{Pr}(\mathrm{Class}_i|\mathrm{Object})*\mathrm{Pr}(\mathrm{Object})*\mathrm{IOU}_{\mathrm{pred}}^{\mathrm{truth}}=\mathrm{Pr}(\mathrm{Class}_i)*\mathrm{IOU}_{\mathrm{pred}}^{\mathrm{truth}} \]

训练

在训练中图像宽高被缩放到[0,1],因此每个grid内的box的x,y也被限制到[0,1]。

对最后一层使用线性激活函数,所有其他层使用Leaky ReLU:

\[\phi(x)=\begin{cases}x,&\mathrm{if~}x>0\\0.1x,&\mathrm{otherwise}&\end{cases} \]

损失函数中,\(\mathbb{1}_{ij}^\text{obj}\)表示指示函数,第i个grid中的第j个box存在物体时,为1。否则\(\mathbb{1}_{ij}^\text{noobj}\)为1。

第1项和第2项,通过回归问题计算bounding box的\((x_i,y_i,w_i,h_i)\)与标注\((\hat{x}_i,\hat{y}_i,\hat{w}_i,\hat{h}_i)\)之间的损失。考虑到w、h较大时,允许有一定的误差;而w、h较小时,需要对误差更敏感。因此计算w、h使用了开根号。

第3项和第4项,\(C_i\)表示置信度,第3项中\(\hat{C}_i\)为1;第4项中,\(\hat{C}_i\)为0,因为没有object。

第5项中,计算每一个grid中,所有类的概率分布\(p_i(c)\)与实际分布\(\hat{p}_i(c)\)的损失。

\[\lambda_{\mathbf{coord}}\sum_{i=0}^{S^{2}}\sum_{j=0}^{B}\mathbb{1}_{ij}^{\mathrm{obj}}\left[\left(x_{i}-\hat{x}_{i}\right)^{2}+\left(y_{i}-\hat{y}_{i}\right)^{2}\right] + \]

\[\lambda_{\mathbf{coord}}\sum_{i=0}^{S^2}\sum_{j=0}^B1_{ij}^{\text{obj}}\left[\left(\sqrt{w_i}-\sqrt{\hat{w}_i}\right)^2+\left(\sqrt{h_i}-\sqrt{\hat{h}_i}\right)^2\right] + \]

\[\sum_{i=0}^{S^2}\sum_{j=0}^B\mathbb{1}_{ij}^{\mathrm{obj}}\left(C_i-\hat{C}_i\right)^2 + \]

\[\lambda_{\mathrm{noobj}}\sum_{i=0}^{S^{2}}\sum_{j=0}^{B}1_{ij}^{\mathrm{noobj}} \left(C_{i}-\hat{C}_{i}\right)^{2} + \]

\[\sum_{i=0}^{S^{2}}\mathbb{1}_{i}^{\mathrm{obj}}\sum_{c\in\mathrm{classes}}\left(p_{i}(c)-\hat{p}_{i}(c)\right)^{2} \]

参考文献

  1. Redmon, J. "You only look once: Unified, real-time object detection." Proceedings of the IEEE conference on computer vision and pattern recognition. 2016.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/833903.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Apple Logic Pro 11.1 - 专业音乐制作 (音频编辑)

Apple Logic Pro 11.1 - 专业音乐制作 (音频编辑)Apple Logic Pro 11.1 - 专业音乐制作 (音频编辑) Logic Pro 配备全新 AI 功能,引领音乐创作再上新阶 请访问原文链接:https://sysin.org/blog/apple-logic-pro/ 查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org…

【Civit3D 2025下载与安装教程】

1、安装包 「Civil3d_2025」: 链接:https://pan.quark.cn/s/b05281a72f24 提取码:PUWx 「Civil3D2020」: 链接:https://pan.quark.cn/s/61c01d7bd533 提取码:RbML 2、安装教程(建议关闭杀毒软件) 1) 双击Setup.exe安装,弹窗安装对话框2) 勾选‘我同意。。…

[Flask]SSTI 1

[Flask]SSTI 1 根据题目判断这是一道SSTI参数处理不当的漏洞,打开页面显示Hello guest,猜测参数名为user发现页面无任何变化,于是尝试name,成功回显尝试{{2*2}},页面显示4,存在SSTI注入构造payload,成功执行任意代码 # payload的解释:获取eval函数并执行任意代码?name=…

凯宇星辉:CRM助力实现数字化“领跑”转型

近日,第14届中国轻工业信息化大会及智能居家展洽会在重庆举行。会上同步发布了中国轻工业数字化转型“领跑者”相关案例成果287项,涉及家电、五金、照明、酿酒食品等行业,其中,纷享销客合作客户辽宁凯宇星辉实业集团有限公司(以下简称“凯宇星辉”)提报的《基于CRM系统的…

零售行业的高效法宝:项目管理软件的应用与选择

在零售行业,团队协作的效率直接影响到市场反应速度和客户满意度。商品的上下架、库存管理、促销活动的策划与执行、跨部门的沟通与协作……每一个环节都需要精准的协调。而在这些纷繁复杂的任务中,项目管理软件正成为零售行业的关键工具,帮助团队理清思路、优化流程、提升执…

关于从其他程序切回word文档时卡顿问题的解决办法

1.点击其他命令 2.点击加载项,选择对应的加载项,点击转到 3.如下图操作后,重启word即可 原文地址:https://blog.csdn.net/qq_45603855/article/details/115732189

ABB机器人DSQC639主板维修

ABB机器人的主板,作为这一高科技产物的中枢大脑,其出色的稳定性和可靠性无疑是确保机器人能够高效、持续运作的关键所在。一旦主板遭遇故障,整个机器人的运行将可能陷入瘫痪状态,严重影响生产效率与质量。以下,将深入探讨几种常见的ABB机器人主板故障及其相应的解决之道:…

前端开发中怎么把链接转为二维码并展示?

前端开发中我们应该怎么把一个通过代码生成二维码并展示呢?前言: 把一个链接生成一个二维码图片,这是我们前端非常常见的一个需求。那么我们应该如何做呢? 查看往期文章: 五分钟一百行代码,手写一个vue项目全局通用的toast提示组件 十五分钟两百行代码,手写一个vue项目全…

数字型注入(post)

数字型注入(post) 打开靶场,发现数字列表查询,点击查询发现POST请求和id、submit参数bp抓包,根据题目数字注入提示,尝试用1+1方式查询,+编码为%2B id=1%2B1&submit=%E6%9F%A5%E8%AF%A2成功回显 order by查询字段数,在为3的时候回显异常,判断字段数为2查库,查出数据…

设备管理系统功能拆解——设备报修维修管理

在生产过程中,设备的高效运作是确保生产顺利进行的重要基础。但是运行时间长了,设备难免会出现故障,如何高效地进行报修和维修管理,成为每个企业必须面对的问题。 通过有效的报修维修管理,企业可以快速响应设备故障,合理分配资源,从而最大限度地减少停机时间。这篇我们将…

设备管理系统功能拆解——设备维护保养管理

设备维护保养是企业日常运营中不可忽视的一环,无论是生产设备还是办公设备,都需要定期的维护和保养,以确保其正常运行。 设备维护保养的管理,不仅仅是日常工作,更是保障企业生产效率和设备寿命的关键,系统化管理维护保养工作可以显著提高设备的可靠性和使用寿命。 那么,…

Django框架表单基础

本节主要介绍一下Django框架表单(Form)的基础知识。Django框架提供了一系列的工具和库来帮助设计人员构建表单,通过表单来接收网站用户的输入,然后处理以及响应这些用户的输入。 6.1.1 HTML表单 Django框架表单是在HTML模板中设计完成的,其实类似于传统HTML Form表单的应用…