yolov10代码阅读

一 数据处理

  1. 在v8之后,v9和v10都是参考v8的数据增强处理,主要有以下,具体其中一些增强并未用到,可以参考具体配置
    在这里插入图片描述

二 模型结构

  1. 以yolov10x为例子,整个模型结构如下
    在这里插入图片描述

    a. 对于SCDown,是 Spatial-channel decoupled downsampling,主要是针对原始的下采样Conv2d(C,2C,kernel=3,stride=2)的下采集,进行修改成 Conv2d(C,2C,kernel=1,stride=1)加上一个组卷积 Conv2d(2C,2C,kernel=3,stride=2,group=2C);对于原始的下采样计算量是 H ∗ W ∗ 3 ∗ 3 ∗ C ∗ 2 C / ( 2 ∗ 2 ) H*W*3*3*C*2C/(2*2) HW33C2C/(22),对应参数是 3 ∗ 3 ∗ C ∗ 2 C 3*3*C*2C 33C2C,修改后的计算量是 H ∗ W ∗ C ∗ 2 C + H ∗ W ∗ 3 ∗ 3 ∗ 2 C / ( 2 ∗ 2 ) H*W*C*2C+H*W*3*3*2C/(2*2) HWC2C+HW332C/(22),对应参数是 C ∗ 2 C + 3 ∗ 3 ∗ 2 C C*2C+3*3*2C C2C+332C
    b. CIB是放在C2f模块中,主要是针对 3 ∗ 3 3*3 33的卷积都替换成了组卷积(depthwise convolution),对于小模型会采用 7 ∗ 7 7*7 77的组卷积
    c. SPPF,是将maxpool(k=5,9,13)和原始输入叠加到一起,在走一个卷积,得到最终输出,其中采用简化算法,就是走多次maxpool(k=5),替换maxpool(k=9,13)
    在这里插入图片描述
    d. PSA,是加了个自注意力机制模块,主要做的修改是,将输入根据channel拆分成2份,其中一份做self-attention,然后和另一份做融合
    在这里插入图片描述
    e. V10Detect,在head部分,经过实验发现,分类头比框回归头参数多,但是重要性不如框回归头,所以对分类头,进行depthwise卷积,降参数;主要3个损失,分类采用的BCELoss(没有采用varifocal_loss),回归box是CIou Loss和DFL loss
    f. V10Detect,采用one2one和one2many,两种匹配策略,one2many是和以前yolo一样,一个gt框会对应选择10个预测框去做loss,one2one就是一个gt框只选择一个预测框去做loss,同时在inference的时候只走one2one阶段,去掉nms后处理的耗时;对于one2one采用的head是deepcopy了一份,同时计算出来的梯度只更新V10Detect head,不回传到backbone和PAN阶段
    g. 对于最后inference,作者提出特别对于小模型,one2many+nms的ap要比one2one的要好,二者之间还是有差距

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

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

相关文章

AI编程新手快速体验SpringCloud Alibaba 集成AI功能

上周六写了一篇文章 震撼发布!Spring AI 框架重磅上线,Java 集成 AI 轻松搞定! 部分同学可能没有科学上网的条件,本地ollama 集成又比较笨重。趁着周六,写一篇基于SpringCloud Alibaba 集成AI的文章。 先简单介绍…

房地产销售管理系统中的风险管理与预警机制有什么作用?

​房地产销售管理系统中的风险管理与预警机制是确保企业稳健运营、降低潜在风险的关键组成部分。这一机制旨在通过系统化的手段,对房地产销售过程中可能出现的各种风险进行识别、评估、预警和监控,从而为企业决策提供有力的支持。 一、风险管理 风险识别…

Vue3实战笔记(60)—从零开始:一步步搭建Vue 3自定义插件

文章目录 前言一、自定义插件二、使用步骤总结 前言 在开发和学习中,经常使用一些好用的插件,那么如何创建一个自己的插件呢?在 Vue 3 中,你可以通过创建一个包含 install 方法的对象来定义自定义插件。install 方法接收两个参数…

鱼哥赠书活动第25期:618火热来袭,网络安全书单推荐

鱼哥赠书活动第25期:🌟618火热来袭,网络安全书单推荐🚀 🏰 1. 《内网渗透实战攻略》:🛡️2. 《Kali Linux高级渗透测试(原书第4版)》:🎖️ 3. 《C…

openGauss系数据库逻辑复制实现双写

本篇关于逻辑复制实现双写的案例,本来准备了3个环境,分别是306、501和505,奈何在5版本向3版本订阅的时候,出现了报错,但也将整个过程都记录下来吧。 环境准备 节点信息 MogDB# select version(); …

nc解决自定义参照字段前台保存后只显示主键的问题

nc解决自定义参照字段前台保存后只显示主键的问题 自定义参照类VoucherRefModel.java package nc.ui.jych.ref;import nc.ui.bd.ref.AbstractRefModel;/*** desc 凭证号参照* author hanh**/ public class VoucherRefModel extends AbstractRefModel {Overridepublic String[…

Python 高手编程系列二:Python 3 和 Python 2 的主要差异

前面已经说过,Python 3 打破了对 Python 2 的向后兼容。但它并不是完全重新设计的。 而且,也并不是说 2.x 版本的 Python 模块在 Python 3 下都无法运行。代码可以完全跨版本兼 容,无需其他工具或技术在两大版本上都可以运行,但一…

BCA蛋白定量法简介-卡梅德生物

BCA(Bicinchoninic Acid)蛋白定量法是一种广泛使用的生化分析技术,用于测定样品中的总蛋白质含量。它基于两种化学物质的反应:铜离子(Cu^2)和双邻二氮杂菲(Bicinchoninic Acid,BCA&a…

AUTOSAR ECUM模块介绍

AUTOSAR ECUM 模块概述 在现代汽车电子系统中,AUTOSAR(Automotive Open System Architecture)扮演着至关重要的角色。而其中的 EcuM(ECU Management)模块更是具有核心地位。 EcuM 模块主要负责 ECU(Electronic Control Unit)的管理和控制。它的定义可以概括为:一个集成…

企业应用架构模式--详解51种企业应用架构模式

导读:企业应用包括哪些?它们又分别有哪些架构模式? 世界著名软件开发大师Martin Fowler给你答案 目录 01什么是企业应用02 企业应用的种类03企业架构模式 01什么是企业应用 我的职业生涯专注于企业应用,因此,这里所谈…

PySpark特征工程(III)--特征选择

有这么一句话在业界广泛流传:数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。由此可见,特征工程在机器学习中占有相当重要的地位。在实际应用当中,可以说特征工程是机器学习成功的关键。 特征工程是数据分析…

ubuntu早期版本以及18.04后的版本,通过rc.local配置开机自启

在ubuntu早期版本以及18.04后的版本&#xff0c;还是支持在rc.local中进行操作开机自启。 1、编辑rc.local文件 cat <<EOF >/etc/rc.local #!/bin/sh -e # rc.local # This script is executed at the end of each multiuser runlevel. # Make sure that the script…

【Vue】非父子通信-event bus 事件总线

文章目录 一、实现步骤二、代码示例 作用&#xff1a;非父子组件之间&#xff0c;进行简易消息传递。(复杂场景→ Vuex) 一、实现步骤 创建一个都能访问的事件总线 &#xff08;空Vue实例&#xff09; → utils/EventBus.js 叫事件总线的原因是因为本质是它俩消息的接受和发送…

Go 语言中的数组:声明、初始化与应用

Go 语言的数据结构中&#xff0c;数组是一个基本的构成元素&#xff0c;它能存储一系列固定长度的项&#xff0c;这些项具有相同的类型。尽管在 Go 中切片的使用更为普遍&#xff0c;数组仍然是理解更高级数据结构如切片和map的基础。本文将详细探讨 Go 语言中数组的声明、初始…

JL-03-Y1 清易易站

产品概述 清易易站是清易电子新研发的一体式气象站&#xff0c;坚持科学化和人文化相结合的设计理念&#xff0c;应用新检测原理研发的传感器观测各类气象参数&#xff0c;采用社会上时尚的工艺理念设计气象站的整体结构&#xff0c;实现了快速观测、无线传输、数据准确、精度较…

NCP1680AAD1R2G是一款CrM PFC控制器IC 用于驱动无桥图腾柱PFC拓扑结构

NCP1680AAD1R2G NCP1680是一个CrM PFC控制器IC&#xff0c;用于驱动无桥图腾柱PFC拓扑结构。无桥图腾柱PFC是一种功率因数校正结构&#xff0c;包括一个以PWM开关频率驱动的快速开关桥臂和一个以AC线频率工作的第二桥臂。这种拓扑结构消除了传统PFC电路输入端存在的二极管桥&am…

LabVIEW冲击响应谱分析系统

LabVIEW冲击响应谱分析系统 开发了一种基于LabVIEW开发的冲击响应谱分析系统&#xff0c;该系统主要用于分析在短时间内高量级输入力作用下装备的响应。通过改进的递归数字滤波法和样条函数法进行冲击响应谱的计算&#xff0c;实现了冲击有效持续时间的自动提取和响应谱的精准…

操作简单中医电子处方中药划价系统软件视频教程,佳易王诊所电子处方管理系统软件

操作简单中医电子处方中药划价系统软件视频教程&#xff0c;佳易王诊所电子处方管理系统软件 一、前言 以下软件操作教程以&#xff0c;佳易王中西医诊所电子处方软件为例说明 软件文件下载可以点击最下方官网卡片——软件下载——试用版软件下载 1、软件支持中医和西医处方…

深入探索npx:npm包执行的艺术与npm的实用差异

引言 在使用Node.js和JavaScript的生态系统中&#xff0c;npx和npm是两个常用的命令行工具&#xff0c;它们各自有着独特的用途和优势。 基础知识 npm&#xff08;Node Package Manager&#xff09;&#xff1a;是一个包管理器&#xff0c;用于管理项目中的依赖。npx&#x…

Linux `free` 命令:深入解析系统内存使用情况**

Linux free 命令&#xff1a;深入解析系统内存使用情况 在Linux系统管理中&#xff0c;了解内存的使用情况对于系统调优、性能监控以及故障排除都至关重要。free 命令是Linux系统中用于显示系统内存使用情况的常用工具。本文将深入解析 free 命令的使用方法和其输出的各项含义…