YOLOv8算法改进【NO.98】改进损失函数为最新提出的Shape-IoU

 前   言
       YOLO算法改进系列出到这,很多朋友问改进如何选择是最佳的,下面我就根据个人多年的写作发文章以及指导发文章的经验来看,按照优先顺序进行排序讲解YOLO算法改进方法的顺序选择。具体有需求的同学可以私信我沟通:

第一,创新主干特征提取网络,将整个Backbone改进为其他的网络,比如这篇文章中的整个方法,直接将Backbone替换掉,理由是这种改进如果有效果,那么改进点就很值得写,不算是堆积木那种,也可以说是一种新的算法,所以做实验的话建议朋友们优先尝试这种改法。

第二,创新特征融合网络,这个同理第一,比如将原yolo算法PANet结构改进为Bifpn等。

第三,改进主干特征提取网络,就是类似加个注意力机制等。根据个人实验情况来说,这种改进有时候很难有较大的检测效果的提升,乱加反而降低了特征提取能力导致mAP下降,需要有技巧的添加。

第四,改进特征融合网络,理由、方法等同上。

第五,改进检测头,更换检测头这种也算个大的改进点。

第六,改进损失函数,nms、框等,要是有提升检测效果的话,算是一个小的改进点,也可以凑字数。

第七,对图像输入做改进,改进数据增强方法等。

第八,剪枝以及蒸馏等,这种用于特定的任务,比如轻量化检测等,但是这种会带来精度的下降。

...........未完待续

一、创新改进思路或解决的问题

       改进损失函数为最新的边框位置回归损失函数,达到创新的目的。

二、基本原理

原文链接: [2312.17663] Shape-IoU: More Accurate Metric considering Bounding Box Shape and Scale (arxiv.org)

 ​摘要:边界盒回归损失作为检测器定位分支的重要组成部分,在目标检测任务中起着重要作用。现有的边界框回归方法通常考虑GT框和预测框之间的几何关系,并使用边界框的相对位置和形状来计算损失,而忽略了边界框的形状和比例等固有特性对边界框回归的影响。为了弥补现有研究的不足,本文提出了一种以包围盒本身的形状和尺度为重点的包围盒回归方法。首先,我们分析了边界框的回归特性,发现边界框本身的形状和比例因素会对回归结果产生影响。基于上述结论,我们提出了Shape-IoU方法,该方法可以通过关注边界框本身的形状和比例来计算损失,从而使边界框回归更加准确。最后,我们通过大量的对比实验验证了我们的方法,结果表明我们的方法可以有效地提高检测性能,并优于现有方法,在不同的检测任务中达到最先进的性能。

三、​添加方法

部分代码如下所示,详细改进代码可私信我获取。(扣扣2453038530)

四、总结

预告一下:下一篇内容将继续分享深度学习算法相关改进方法。有兴趣的朋友可以关注一下我,有问题可以留言或者私聊我哦

PS:该方法不仅仅是适用改进YOLOv8,也可以改进其他的YOLO网络以及目标检测网络,比如YOLOv7、v6、v4、v3,Faster rcnn ,ssd等。

最后,有需要的请关注私信我吧。关注免费领取深度学习算法学习资料!

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

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

相关文章

1-08运算符和表达式

一、概述 在C语言中,表达式和语句是构成程序的基本元素。本节和下一章节我们就围绕它们展开讲一讲其中的C语言基础语法。 首先,让我们区分这两个概念: 语句(statement),语句是代码中的一个完整的,可以执行的步骤。 …

微信小程序内嵌h5 分享子页面点击进入后是主页面解决办法

<web-view src{{src}}></web-view>src: https://XXXXXX,/*** 生命周期函数--监听页面加载 */ onLoad(options) {this.srcFun(options) },srcFun(options){//当有子页面id时 更改内嵌页链接if (options.urlPathNew) { let urlhttps://XXX/caseOrder?classicId${opt…

李沐之经典卷积神经网络

目录 1. LeNet 2. 代码实现 1. LeNet 输入是32*32图片&#xff0c;放到一个5*5的卷积层里面&#xff0c;卷积层的输出通道数是6&#xff0c;高宽都是28&#xff08;32-5128&#xff09;。再经过2*2的池化层&#xff0c;把28*28变成14*14&#xff08;28-22&#xff09;/214&am…

《Vue2 进阶知识》动态挂载组件之Vue.extend + vm.$mount

前言 目前工作还是以 Vue2 为主&#xff0c;今早有人提问 如何动态挂载组件&#xff1f; 话说很久很久以前就实现过&#xff0c;今天再详细的整理一下此问题&#xff01; 开始 动态组件如下&#xff0c;是个简单的例子&#xff1a; 但请注意这里给了个 id"test2"…

vue 组件 import make sure to provide the “name“ option.

百度了好多结果&#xff0c;都过时了&#xff0c;例如&#xff1a; 模块引入是否加{} 再比如&#xff1a; 对于递归组件&#xff0c;请确保提供“name”选项。 出现该错误情况之一&#xff1a; 错误由未正确引入组件或子组件引起&#xff0c;如element-ui中form表单组件未引…

PostgreSQL之SEMI-JOIN半连接

什么是Semi-Join半连接 Semi-Join半连接&#xff0c;当外表在内表中找到匹配的记录之后&#xff0c;Semi-Join会返回外表中的记录。但即使在内表中找到多条匹配的记录&#xff0c;外表也只会返回已经存在于外表中的记录。而对于子查询&#xff0c;外表的每个符合条件的元组都要…

GitLab 502 Whoops, GitLab is taking too much time to respond. 解决

1、先通过gitlab-ctl restart进行重启&#xff0c;2分钟后看是否可以正常访问&#xff0c;为什么要2分钟&#xff0c;因为gitlab启动会有很多配套的服务启动&#xff0c;包括postgresql等 2、如果上面不行&#xff0c;再看gitlab日志&#xff0c;通过gitlab-ctl tail命令查看&…

【Arduino】编程语言:定时函数、数学函数、字符函数(功能、语法格式、参数说明、返回值) | 软件开发环境:安装步骤介绍(EXE安装版、ZIP安装版)

你的负担将变成礼物,你受的苦将照亮你的路。———泰戈尔 🎯作者主页: 追光者♂🔥 🌸个人简介: 💖[1] 计算机专业硕士研究生💖 🌿[2] 2023年城市之星领跑者TOP1(哈尔滨)🌿 🌟[3] 2022年度博客之星人工智能领域TOP4🌟 🏅[4] 阿里云社区…

再发一波微信红包封面,免费!免费!免费!

我是90后程序员&#xff0c;大家都叫我小码哥&#xff0c;从事互联网近10余年了&#xff0c;一直想在互联网上分享自己的管理经验和技术经验&#xff0c;同时也想找一些志同道合的朋友&#xff0c;一起聊聊如何从互联网中快速的成长起来&#xff0c;无论是通过技术、互联网风口…

谈谈曲线与曲面

目录 1、非参数曲线与曲面 2、方程式曲线与曲面 3、参数曲线与曲面 3.1平面参数曲线 3.2空间参数曲线 3.3参数曲面 1、非参数曲线与曲面 非参数曲线曲面是一种与参数曲线曲面相对的概念。在非参数方法中&#xff0c;曲线或曲面不是通过参数方程来定义的&#xff0c;而是通…

【AI视野·今日Robot 机器人论文速览 第七十二期】Mon, 8 Jan 2024

AI视野今日CS.Robotics 机器人学论文速览 Mon, 8 Jan 2024 Totally 13 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Robotics Papers Deep Reinforcement Learning for Local Path Following of an Autonomous Formula SAE Vehicle Authors Harvey Merton, Thoma…

ubuntu 22.04源码装ros1 noetic

ubuntu 22.04源码装ros1 noetic 文章目录 ubuntu 22.04源码装ros1 noetic1. 安装依赖2. 更换rosdep相关的rep链接3. 安装 rosdep4. 创建工作空间下载源码并安装5. 编译代码5.1 修复rosconsole* log相关问题**error**5.3 python-sip配置相关5.4 *std::share_mutex* 相关 c11 与c…

算法通关村番外篇-跳表

大家好我是苏麟 , 今天来聊聊调表 . 跳表很少很少实现所以我们只了解就可以了 . 跳表 链表在查找元素的时候&#xff0c;因为需要逐一查找&#xff0c;所以查询效率非常低&#xff0c;时间复杂度是O(N)&#xff0c;于是就出现了跳表。跳表是在链表基础上改进过来的&#xff0…

OpenCV——图像按位运算

目录 一、算法概述1、逻辑运算2、函数解析3、用途 二、代码实现三、结果展示 OpenCV——图像按位运算由CSDN点云侠原创&#xff0c;爬虫自重。如果你不是在点云侠的博客中看到该文章&#xff0c;那么此处便是不要脸的爬虫。 一、算法概述 1、逻辑运算 OpenCV4 针对两个图像之…

JDBC初体验(二)——增、删、改、查

本课目标 理解SQL注入的概念 掌握 PreparedStatement 接口的使用 熟练使用JDBC完成数据库的增、删、改、查操作 SQL注入 注入原理&#xff1a;利用现有应用程序&#xff0c;将&#xff08;恶意的&#xff09;SQL命令注入到后台数据库引擎执行能力&#xff0c;它可以通过在…

银河麒麟v10安装前端环境(Node、vue、Electron+vite)

此帖子所提到的所有依赖包都是基于银河麒麟v10真机的arm架构包&#xff0c;如果是在windows上的虚拟机上 把依赖包换成x64的包即可&#xff0c;方法步骤都是一样 一.node安装 原始方法安装&#xff08;建议用第二种nvm方法&#xff0c;因为更简单&#xff09;&#xff1a; 1…

基于Docker官方php:5.6.40-fpm镜像构建支持66个常见模组的php5.6.40镜像

实践说明&#xff1a;基于RHEL7(CentOS7.9)部署docker环境(23.0.1、24.0.2)&#xff0c;所构建的php5.6.40镜像应用于RHEL7-9(如AlmaLinux9.1)&#xff0c;但因为docker的特性&#xff0c;适用场景是不限于此的。 文档形成时期&#xff1a;2017-2023年 因系统或软件版本不同&am…

工业异常检测AnomalyGPT-训练试跑及问题解决

写在前面&#xff0c;AnomalyGPT训练试跑遇到的坑大部分好解决&#xff0c;只有在保存模型失败的地方卡了一天才解决&#xff0c;本来是个小问题&#xff0c;昨天没解决的时候尝试放弃在单卡的4090上训练&#xff0c;但换一台机器又遇到了新的问题&#xff0c;最后决定还是回来…

图像识别与计算机视觉有什么区别?

图像识别和计算机视觉在很多方面存在差异&#xff0c;这些差异主要体现在以下几个方面&#xff1a; 1. 研究范围 图像识别是计算机视觉领域的一个子集。计算机视觉不仅包括图像识别&#xff0c;还涵盖了更广泛的内容&#xff0c;如场景理解、目标跟踪、分割、识别和解释等。简而…

Android12 关机流程

Android12 关机流程 Android 关机流程的意义在于确保系统可以安全地关闭,并且所有用户数据得到妥善保存,以防止数据丢失和损坏。 Android 关机流程确保系统可以安全地关闭,并且所有用户数据得到妥善保存。 保存用户数据:在 Android 关机过程中,系统会通知应用程序和服务进…