YOLO——yolo v4(2)

文章目录

  • 一、损失函数改进
    • 1.GIOU损失
    • 2.DIOU损失
    • 3.CIOU损失
  • 二、非极大值抑制

YOLOv4是一种先进的目标检测算法,它在YOLO系列的基础上进行了多项改进和优化。

一、损失函数改进

IOU损失表示预测框A和真实框B之间交并比的差值,反映预测检测框的检测效果。在目标检测任务中,通常使用1-IOU作为优化目标,即最大化预测框与真实框的重叠程度,也就是最小化IOU损失。
当预测框与真实框没有相交时,IOU损失为0,无法梯度计算,且相同的IOU有时也并不一定能反应真实情况。
为了克服传统IOU损失的局限性,研究者们提出了多种优化和改进方法,如GIOU、DIOU和CIOU等。

1.GIOU损失

计算公式: L G I O U = 1 − I O U + ∣ C − B ∪ B g t ∣ C L_{GIOU}=1-IOU+\frac{|C-B∪B^{gt}|}{C} LGIOU=1IOU+CCBBgt
GIoU在IOU的基础上增加了一个惩罚项,用于度量预测框和真实框之间的非重叠区域。GIoU的取值范围在[-1,1]之间,当预测框与真实框完全重合时取值为1,当两者无交集且无限远时取值为-1。GIoU损失能够更好地反映预测框与真实框之间的重合度,且解决了IOU损失在检测框不重叠时出现的梯度问题。
在这里插入图片描述
但是如果预测框在真实框内部,会导致惩罚项全部为0,导致最终GIOU损失全部一致,如下:
在这里插入图片描述

2.DIOU损失

DIOU在IOU的基础上考虑了预测框和真实框之间的距离信息,使得目标框回归更加稳定。
计算公式为:
L D I O U = 1 − I O U + ρ 2 ( b , b g t ) C 2 L_{DIOU }= 1-IOU+\frac{ρ²(b, b^{gt})}{C^2} LDIOU=1IOU+C2ρ2(b,bgt)
b b b b g t b^{gt} bgt表示预测框和真实框的中心点,ρ表示计算两个中心点的欧式距离,所以分子就是预测框与真实框中心点的欧氏距离d。c表示能够同时包含预测框和真实框最小闭包区域的对角线距离。
在这里插入图片描述
这种方法通过直接优化距离,速度更快,并且在预测框在真实框内部,但是因为位置不一样,所以导致中心点距离不一致,所得结果也就不一致,可以很好的解决GIOU的问题。
在这里插入图片描述
但是我们又遇到了另一个问题,假如有两个预测框在真实框内部,且中心点相同,如下图:
在这里插入图片描述

这理会产生新的问题,即得到的惩罚项也相同,无法判断哪一个预测框更好。

3.CIOU损失

CIoU在DIoU的基础上进一步考虑了预测框和真实框之间的长宽比信息,使得目标框回归更加准确。CIoU损失的计算公式相对复杂,但同样能够显著提升目标检测算法的性能。
计算公式:
L C I O U = 1 − I O U + ρ 2 ( b , b g t ) C 2 + α v L_{CIOU }= 1-IOU+\frac{ρ²(b, b^{gt})}{C^2}+αv LCIOU=1IOU+C2ρ2(b,bgt)+αv
α = v ( 1 − I O U ) + v α = \frac{v}{(1-IOU)+v} α=(1IOU)+vv
v = 4 π 2 ( a r c t a n w g t h g t − a r c t a n w h ) 2 v = \frac{4}{π^2}(arctan \frac{w^{gt}}{h^{gt}}-arctan \frac{w}{h})^2 v=π24(arctanhgtwgtarctanhw)2
其中α可以当作权重参数, w g t h g t \frac{w^{gt}}{h^{gt}} hgtwgt w h \frac{w}{h} hw分别为真实框与预测框的宽高比,通过增加比值信息,可以进一步解决DIOU的问题。
所以损失函数必须要考虑到三个要素:重叠面积、中心点距离与长宽比。

二、非极大值抑制

非极大值抑制(Non-Maximum Suppression,NMS)是目标检测中常用的一种技术,用于去除冗余的边界框,获取最佳的检测结果。
但是传统的NMS存在一定的问题:如果一个物体在另一个物体重叠区域出现,即当两个目标框接近时,分数更低的框就会因为与之重叠面积过大而被删掉,从而导致对该物体的检测失败并降低了算法的平均检测率。
所以我们使用soft-nms,它是对NMS的一种改进算法,它引入递减置信度的惩罚因子,以更加灵活地处理重叠的检测框。通过逐步降低检测得分而不是直接删除低得分框,soft-nms能够改善检测性能,减少漏检和过多候选框的问题,从而提高目标检测的准确性和鲁棒性。
在这里插入图片描述
将当前检测框得分乘以一个权重函数,即 e − i o u ( M , b i ) 2 σ e^{\frac{-iou(M,b_i)^2}{σ}} eσiou(M,bi)2,该函数会衰减与最高得分检测框M有重叠的相邻检测框的分数,函数图像如下图,
在这里插入图片描述
所以越是与M框高度重叠的检测框,该函数值就越小,其得分衰减越严重,为此选择高斯函数为权重函数,从而修改其删除检测框的规则。(δ通常取0.3)。

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

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

相关文章

网络请求优化:理论与实践

文章目录 引言1. DNS 解析耗时因素优化措施扩展阅读 2. 创建连接耗时因素优化措施扩展阅读 3. 发送 / 接收数据耗时因素优化措施扩展阅读 4. 关闭连接耗时因素优化措施扩展阅读 总结 引言 网络请求的性能会直接影响到用户体验。本文将探讨网络请求的各个步骤,以及如…

R语言结构方程模型(SEM)

原文链接:R语言结构方程模型(SEM)https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247624956&idx4&sn295580a016a86cfee8ee2277c93e32d5&chksmfa8da91bcdfa200da897f1f267492039865bdfe5d75a1c6e6df92ff5005e0eb5cc33a…

android数组控件Textview

说明:android循环控件,注册和显示内容 效果图: step1: E:\projectgood\resget\demozz\IosDialogDemo-main\app\src\main\java\com\example\iosdialogdemo\TimerActivity.java package com.example.iosdialogdemo;import android.os.Bundl…

GA/T1400视图库平台EasyCVR视频分析设备平台微信H5小程序:智能视频监控的新篇章

GA/T1400视图库平台EasyCVR是一款综合性的视频管理工具,它兼容Windows、Linux(包括CentOS和Ubuntu)以及国产操作系统。这个平台不仅能够接入多种协议,还能将不同格式的视频数据统一转换为标准化的视频流,通过无需插件的…

【机器学习】26. 聚类评估方法

聚类评估方法 1. Unsupervised Measure1.1. Method 1: measure cohesion and separationSilhouette coefficient Method 2:Correlation between two similarity matricesMethod 3:Visual Inspection of similarity matrix 2. Supervised measures3. 决定…

不适合的学习方法

文章目录 不适合的学习方法1. 纯粹死记硬背2. 过度依赖单一资料3. 线性学习4. 被动学习5. 一次性学习6. 忽视实践7. 缺乏目标导向8. 过度依赖技术9. 忽视个人学习风格10. 过于频繁的切换 结论 以下是关于不适合的学习方法的更详细描述,包括额外的内容和相关公式&…

【FNENet】基于帧级非语言特征增强的情感分析

这篇文章语言极其晦涩难懂,内容和同专栏下的CENet中每一张图都百分之95相似,有些描述位置和内容都一模一样,还并且没有引用人家 abstract: 多模态情感分析(Multimodal Sentiment Analysis, MSA&#xff09…

贪心算法习题其三【力扣】【算法学习day.20】

前言 ###我做这类文档一个重要的目的还是给正在学习的大家提供方向(例如想要掌握基础用法,该刷哪些题?)我的解析也不会做的非常详细,只会提供思路和一些关键点,力扣上的大佬们的题解质量是非常非常高滴&am…

shell脚本案例:RAC配置多路径时获取磁盘设备WWID和磁盘大小

使用场景 在RAC配置多路径时,需要获取到磁盘设备的wwid。因为RAC的磁盘配置是提前规划好的,只知道wwid,不知道磁盘对应大小,是不知道应该如何配置多路径的mutipath.conf文件的;而凭借肉眼手工去对应磁盘设备的wwid和大…

【毫米波雷达(三)】汽车控制器启动流程——BootLoader

汽车控制器启动流程——BootLoader 一、什么是Bootloader(BT)?二、FBL、PBL、SBL、ESS的区别三、MCU的 A/B分区的实现 一、什么是Bootloader(BT)? BT就是一段程序,一段引导程序。它包含了启动代码、中断、主程序等。 雷达启动需要由BT跳转到…

论技术思维和产品思维

大家好,我是农村程序员,独立开发者,前端之虎陈随易。 这是我的个人网站:https://chensuiyi.me。 我的所以文章都可以在我的个人网站找到,欢迎访问,也欢迎与我交朋友。 程序员做独立开发,技术思…

【python】flash-attn安装

这个命令: 确保使用正确的 CUDA 12.6 工具链 设置必要的 CUDA 环境变量 包含了常见的 GPU 架构支持 利用你的128核心进行并行编译 # 清理之前的安装 proxychains4 pip uninstall -y flash-attn# 获取 CUDA 路径 CUDA_PATH$(dirname $(dirname $(which nvcc)))# 使用…

RFID资产管理

随着物联网和智能制造的发展,RFID资产管理逐渐成为企业提升运营效率的重要工具。利用RFID技术,企业能够实时跟踪和管理各种固定资产,从而提高资产利用率,降低运营成本。在现代化的管理体系中,RFID资产管理不仅限于资产…

linux查看系统架构的命令

两种方式,以下以中标麒麟为示例: 1.cat /proc/verison Linux version 3.10.0-862.ns7_4.016.mips64el mips64el即为架构 2.uname -a 输出所有内容 Linux infosec 3.10.0-862.ns7_4.016.mips64el #1 SMP PREEMPT Mon Sep 17 16:06:31 CST 2018 mips64el…

Transformer+KAN系列时间序列预测代码

前段时间,来自 MIT 等机构的研究者提出了一种非常有潜力的替代方法 ——KAN。该方法在准确性和可解释性方面表现优于 MLP。而且,它能以非常少的参数量胜过以更大参数量运行的 MLP。 KAN的发布,引起了AI社区大量的关注与讨论,同时…

分享一个免费的网页转EXE的工具

HTML2EXE是一款在Windows系统下将Web项目或网站打包成EXE执行程序的免费工具。这款工具能够将单页面应用、传统HTMLJavaScriptCSS生成的网站、Web客户端,以及通过现代前端框架(如Vue)生成的应用转换成独立的EXE程序运行。它支持将任何网站打包…

全新更新!Fastreport.NET 2025.1版本发布,提升报告开发体验

在.NET 2025.1版本中,我们带来了巨大的期待功能,进一步简化了报告模板的开发过程。新功能包括通过添加链接报告页面、异步报告准备、HTML段落旋转、代码文本编辑器中的文本搜索、WebReport图像导出等,大幅提升用户体验。 FastReport .NET 是…

Windows 下实验视频降噪算法 MeshFlow 详细教程

MeshFlow视频降噪算法 Meshflow 视频降噪算法来自于 2017 年电子科技大学一篇高质量论文。 该论文提出了一个新的运动模型MeshFlow,它是一个空间平滑的稀疏运动场 (spatially smooth sparse motion field),其运动矢量 (motion vectors) 仅在网格顶点 (m…

C++ --- 多线程的使用

目录 一.什么是线程? 线程的特点: 线程的组成: 二.什么是进程? 进程的特点: 进程的组成: 三.线程与进程的关系: 四.C的Thread方法的使用: 1.创建线程: 2.join(…