基于YOLOv8的安全帽检测系统(3):DCNv3可形变卷积,基于DCNv2优化,助力行为检测 | CVPR2023 InternImage

news2024/12/29 9:25:58

 目录

 1.Yolov8介绍

2.安全帽数据集介绍

3.InternImage介绍

4.训练结果分析


 1.Yolov8介绍

         Ultralytics YOLOv8是Ultralytics公司开发的YOLO目标检测和图像分割模型的最新版本。YOLOv8是一种尖端的、最先进的(SOTA)模型,它建立在先前YOLO成功基础上,并引入了新功能和改进,以进一步提升性能和灵活性。它可以在大型数据集上进行训练,并且能够在各种硬件平台上运行,从CPU到GPU。

具体改进如下:

  1. Backbone:使用的依旧是CSP的思想,不过YOLOv5中的C3模块被替换成了C2f模块,实现了进一步的轻量化,同时YOLOv8依旧使用了YOLOv5等架构中使用的SPPF模块;

  2. PAN-FPN:毫无疑问YOLOv8依旧使用了PAN的思想,不过通过对比YOLOv5与YOLOv8的结构图可以看到,YOLOv8将YOLOv5中PAN-FPN上采样阶段中的卷积结构删除了,同时也将C3模块替换为了C2f模块;

  3. Decoupled-Head:是不是嗅到了不一样的味道?是的,YOLOv8走向了Decoupled-Head;

  4. Anchor-Free:YOLOv8抛弃了以往的Anchor-Base,使用了Anchor-Free的思想;

  5. 损失函数:YOLOv8使用VFL Loss作为分类损失,使用DFL Loss+CIOU Loss作为分类损失;

  6. 样本匹配:YOLOv8抛弃了以往的IOU匹配或者单边比例的分配方式,而是使用了Task-Aligned Assigner匹配方式

框架图提供见链接:Brief summary of YOLOv8 model structure · Issue #189 · ultralytics/ultralytics · GitHub

2.安全帽数据集介绍

数据集大小3241张,train:val:test 随机分配为7:2:1,类别:hat

 

3.InternImage介绍

论文:https://arxiv.org/abs/2211.05778

代码:GitHub - OpenGVLab/InternImage: [CVPR 2023 Highlight] InternImage: Exploring Large-Scale Vision Foundation Models with Deformable Convolutions

  理论部分参考知乎:CVPR2023 Highlight | 书生模型霸榜COCO目标检测,研究团队解读公开 - 知乎 

      不同于近来聚焦于大核的CNN方案,InternImage以形变卷积作为核心操作(不仅具有下游任务所需的有效感受野,同时具有输入与任务自适应空域聚合能力)。所提方案降低了传统CNN的严格归纳偏置,同时可以学习更强更鲁棒的表达能力。ImageNet、COCO以及ADE20K等任务上的实验验证了所提方案的有效性,值得一提的是:InternImage-H在COCO test-dev上取得了新的记录65.4mAP。 

InternImage通过重新设计算子和模型结构提升了卷积模型的可扩展性并且缓解了归纳偏置,包括(1)DCNv3算子,基于DCNv2算子引入共享投射权重、多组机制和采样点调制。

(2)基础模块,融合先进模块作为模型构建的基本模块单元

(3)模块堆叠规则,扩展模型时规范化模型的宽度、深度、组数等超参数。

研究者基于DCNv2算子,重新设计调整并提出DCNv3算子,具体改进包括以下几个部分。

(1) 共享投射权重。与常规卷积类似,DCNv2中的不同采样点具有独立的投射权重,因此其参数大小与采样点总数呈线性关系。为了降低参数和内存复杂度,借鉴可分离卷积的思路,采用与位置无关的权重代替分组权重,在不同采样点之间共享投影权重,所有的采样位置依赖性都得以保留。

(2) 引入多组机制。多组设计最早是在分组卷积中引入,并在Transformer的多头自注意力中广泛使用,它可以与自适应空间聚合配合,有效地提高特征的多样性。受此启发,研究者将空间聚合过程分成若干组,每个组都有独立的采样偏移量。自此,单个DCNv3层的不同组拥有不同的空间聚合模式,从而产生丰富的特征多样性。

(3) 采样点调制标量归一化。为了缓解模型容量扩大时的不稳定问题,研究者将归一化模式设定为逐采样点的Softmax归一化,这不仅使大规模模型的训练过程更加稳定,而且还构建了所有采样点的连接关系。

 

源码详见:涨点神器:Yolov8引入CVPR2023 InternImage:注入新机制,扩展DCNv3,助力涨点,COCO新纪录65.4mAP!-CSDN博客

4.训练结果分析

训练结果如下:

mAP@0.5 0.897提升至0.914

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

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

相关文章

【C语言】汉诺塔 —— 详解

一、介绍 汉诺塔(Tower of Hanoi),又称河内塔,是一个源于印度古老传说的益智玩具。大焚天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。 大焚天命令婆罗门把圆盘从下面开始按…

java连接数据库SQL注入问题的解决

演示注入 解决方法把statement类型替换成了preparedstatement类型 其底层原理就是把用户输入的字符串转义了

java使用数据库连接池

我的jar包名字 这些包都可以去搜索,有很多小伙伴会用网盘给我们.导入jar包就是复制然后粘贴就好了

【C语言】归并排序

文章目录 一、什么是归并排序二、归并排序步骤图解三、归并排序代码实现1、递归实现2、非递归实现 四、总结 一、什么是归并排序 归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法的一个非常典型的应用。将已有序的子序列…

抖音聊天对话模板,制作一条一条冒出来的聊天对话短视频

聊天对话模板是一种非常有趣且实用的工具,它主要用于制作抖音聊天记录一条一条冒出来的视频。有了聊天对话模板,你再也不需要费心去写剧本,只需输入一些简单的文案,就能自动生成搞笑对话视频。 聊天对话工具下载: htt…

2023蓝帽杯半决赛电子取证+CTF部分题解

文章目录 电子取证123456789101112131415 CTFWeb | MyLinuxBotWeb | AirticleShareCrypto | ezrsaPwn | AdminPwn | uafmisc|排排坐吃吃果果 电子取证 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 CTF Web | MyLinuxBot Web | AirticleShare import requests import times reques…

【正点原子】无法打开 源 文件 “linux/time_types.h“ (dependency of “linux/ide.h“)

问题描述 在VS code中些驱动代码时显示: 检测到 #include 错误。请更新 includePath。已为此翻译单元(/home/alientek/linux/atk-mp1/Linux_Drivers/2_LED/led.c)禁用波形曲线。C/C(1696) 无法打开 源 文件 "linux/time_types.h" (dependency of "…

前端开发、后端开发与全栈开发:构建现代网站的全面视角

探讨前端开发、后端开发和全栈开发的概念和在构建现代网站和应用程序中的作用。随着技术的快速发展和市场竞争的加剧,理解和掌握这三种开发角色对于构建成功的数字产品至关重要。 一、前端开发:用户体验的核心 前端开发者主要负责构建用户与服务器交互…

JUC——原子类

1.基本类型原子操作类 AtomicInteger:整型原子类 AtomicBoolean:布尔型原子类 AtomicLong:长整型原子类 1.1常用API public final int get() //获取当前的值 public final int getAndSet(int newValue)//获取当前的值,并设置…

Linux shell编程学习笔记7:只读变量

在编程过程中,我们经常会使用到一些常量,也就是值不需要改变的变量,在许多编程语言提供了常量的定义方式,比如c/c的define MAXNUM 99999 或 const int a 7,javasccipt的const a7, 等等。 跟以上这些方法…

协议栈——连接服务器

如对方的ip和port配置信息,这里的连接是指通信前的准备工作 上一篇介绍查看套接字的命令时,可以看到很多信息,但是刚刚创建出来的套接字是什么信息都没有的,协议栈也因此不知道和谁通信; 客户端填补信息 这一步中调…

免杀对抗-DLL劫持免杀

C&Py-DLL劫持-语言-调用加载 1.使用visual studio创建项目 2.将文件名重命名为.c后缀 3.将如下加载器代码生成dll文件 加载器代码&#xff1a; #include "pch.h" #include <Windows.h> #include <stdio.h> #include <string.h>#pragma comment…

Python绘图系统26:坐标和绘图函数设置

文章目录 封装绘图函数绘图系统简单的修改源代码 Python绘图系统&#xff1a; 前置源码&#xff1a; Python打造动态绘图系统&#x1f4c8;一 三维绘图系统 &#x1f4c8;二 多图绘制系统&#x1f4c8;三 坐 标 轴 定 制&#x1f4c8;四 定制绘图风格 &#x1f4c8;五 数据生成…

CCC数字钥匙设计【NFC】 --车主配对流程Phase2

1、车主配对流程介绍 车主配对可以通过车内NFC进行&#xff0c;若支持UWB测距&#xff0c;也可以通过蓝牙/UWB进行。通过NFC进行车主配对总共有5个Phase。本文档主要对Phase2进行介绍。 1) Phase0&#xff1a;准备阶段&#xff1b; 2) Phase1&#xff1a;启动流程&#xff1…

如何生成你的打字速度证书?

趁着十一国庆之际&#xff0c;开发完成了打字侠的速度测试功能。我自己的打字速度约为56字/分钟&#xff0c;算是盲打中速度比较快的人咯。下面是我的打字荣誉证书呢。 你也想来试一试吗&#xff1f; 测试地址&#xff1a;https://hellotyping.com/speed-test

本地部署 Qwen-Agent

本地部署 Qwen-Agent 1. Qwen-Agent 概述2. Github 地址3. 创建虚拟环境4. 安装 flash-attention5. 部署 Qwen 模型服务6. 部署 Qwen-Agent7. 浏览器访问 Qwen Agent8. 安装浏览器助手 1. Qwen-Agent 概述 Qwen-Agent 是一个代码框架&#xff0c;用于发掘开源通义千问模型&…

拯救者R9000P 2023测试,从入门到发烧(多图预警)

20231003 By wdhuag 目录 前言&#xff1a; 开箱检查注意事项&#xff1a; 后期升级拆机参考&#xff1a; 机器配置&#xff1a; 总结&#xff1a; 开箱&#xff1a; BIOS画面&#xff1a; 备份原系统&#xff1a; 详细参数&#xff1a; 跑分&#xff1a; 安装Wind…

jenkins利用插件Active Choices Plug-in达到联动显示或隐藏参数,且参数值可修改

1. 添加组件 Active Choices Plug-in 如jenkins无法联网,可在以下两个地址中下载插件,然后放到/home/jenkins/.jenkins/plugin下面重启jenkins即可 Active Choices Active Choices | Jenkins plugin 2. 效果如下: sharding为空时,sharding_info和copy_info不显示 shard…

ElementPlus弹出消息提示框

request.post(api/furn/updata, this.form).then(res > {console.log(res);if (res.code200){//弹出消息框this.$message({message: 修改成功,type: success,});}else if (res.code 400) {//弹出消息框this.$message.error(修改失败);}//关闭对话框this.dialogFormVisible …