yolo笔记

news2024/9/30 13:29:16

目录

  • 输入端
    • Mosaic数据增强
    • 数据增强Copy-paste
    • 数据增强- MixUp
    • 数据增强- Albumentations
    • 数据增强- Augment HSV (Hue, Saturation, Value)色度、饱和度、浓度
    • 数据增强- Random horizontal flip
    • 自适应锚框计算
    • 自适应图片缩放
  • Backbone
    • Focus结构
    • CSP结构
    • CSP结构
    • Neck
  • 损失函数
    • IOU_Loss
    • GIOU_Loss
    • DIOU_Loss
    • CIOU_loss
  • 训练策略
  • 消除Grid敏感度

在这里插入图片描述

输入端

参考:https://zhuanlan.zhihu.com/p/172121380

Mosaic数据增强

随机的仿射变换
在这里插入图片描述

数据增强Copy-paste

有分割数据集时
在这里插入图片描述

数据增强- MixUp

在这里插入图片描述
按一定的透明程度混合生成一张图片;

数据增强- Albumentations

参考:https://blog.csdn.net/weixin_45942927/article/details/124529291
空域滤波
为图像平滑(去噪声)和图像锐化(突出轮廓)
均值滤波:图像去噪的同时也破坏了图像的细节部分
中值滤波:可以保护图像尖锐的边缘,选择适当的点来替代污染点的值,所以处理效果好,对椒盐噪声表现较好,对高斯噪声表现较差。
在这里插入图片描述

直方图均衡化
可提高图像的对比度
在这里插入图片描述

以及改变图片质量等等

数据增强- Augment HSV (Hue, Saturation, Value)色度、饱和度、浓度

数据增强- Random horizontal flip

随机水平翻转

自适应锚框计算

自适应图片缩放

在这里插入图片描述

Backbone

在这里插入图片描述

Focus结构

在这里插入图片描述
将Focus模块替换成了6x6的普通卷积层。
两者功能相同,但后者效率更高。
在这里插入图片描述
在这里插入图片描述

CSP结构

在这里插入图片描述

CSP结构

在这里插入图片描述

Neck

在这里插入图片描述

损失函数

在这里插入图片描述
在这里插入图片描述
小目标
中等目标
大目标
小型目标更难预测,所以将小型目标的超参设置大一些

参考:https://zhuanlan.zhihu.com/p/143747206

IOU_Loss

在这里插入图片描述
当预测框和目标框不相交时,IOU=0,无法反应两个框距离的远近,此时损失函数不可导,IOU_Loss无法优化两个框不相交的情况。

GIOU_Loss

在这里插入图片描述
在这里插入图片描述

DIOU_Loss

在这里插入图片描述
在这里插入图片描述

CIOU_loss

在这里插入图片描述

训练策略

➢Multi-scale training(0.5~1.5x) 320大小图片会缩放为0.5到1.5倍
➢AutoAnchor(For training custom data)

➢Warmup and Cosine LR scheduler
学习率从一个非常小的值慢慢增长到设置的初始的学习率
用cos的方法去降低学习率

➢EMA(Exponential Moving Average)
将学习率加上一个动量

➢Mixed precision
混合精度训练
➢Evolve hyper- parameters

消除Grid敏感度

在这里插入图片描述
在这里插入图片描述
梯度爆炸
在这里插入图片描述

匹配正样本

在这里插入图片描述
anchor_t最大为4(缩放因子设置为0~4)
在0.25~4的区间内就算匹配成功

在这里插入图片描述

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

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

相关文章

【hello git】初识Git

目录 一、简述Git 二、Linux 下 Git 的安装:CentOS 2.1 基本命令 2.2 示例: 三、Linux 下 Git 的安装:ubuntu 3.1 基本命令 3.2 示例: 一、简述Git Git :版本控制器,记录每次的修改以及版本迭代的一个管…

OpenEuler 安装mysql

下载安装包 建议直接使用在openEuler官方编译移植过的mysql-5.7.21系列软件包 参考:操作系统迁移实战之在openEuler上部署MySQL数据库 | 数据库迁移方案 | openEuler社区官网 MySQL 5.7.21 移植指南(openEuler 20.03 LTS SP1) | 数据库移植…

java Spring Boot将不同配置拆分入不同文件管理

关于java多环境开发 最后还有一个小点 我们一般会将不同的配置 放在不同的配置文件中 好处肯定就在于 想换的时候非常方便 那么 我们直接看代码 我们将项目中的 application.yml 更改代码如下 spring:profiles:active: dev这里 意思是 我们选择了dev 环境 然后创建一个文件 …

进行Stable Diffusion的ai训练怎么选择显卡?

Stable Diffusion主要用于从文本生成图像,是人工智能技术在内容创作行业中不断发展的应用。要在本地计算机上运行Stable Diffusion,您需要一个强大的 GPU 来满足其繁重的要求。强大的 GPU 可以让您更快地生成图像,而具有大量 VRAM 的更强大的…

如何使用CSS实现一个响应式轮播图?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 使用CSS实现响应式轮播图的示例⭐ HTML 结构⭐ CSS 样式 (styles.css)⭐ JavaScript 代码 (script.js)⭐ 实现说明⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带…

前端进阶Html+css10----定位的参照对象(高频面试题)

1.relative的参照对象 1)元素按照标准流进行排布; 2)定位参照对象是元素自己原来的位置,可以通过left、right、top、bottom来进行位置调整; 2.absolute(子绝父相) 1)元素脱离标准流…

SpringBoot +Vue3 简单的前后端交互

前端&#xff1a;Vue3 创建项目&#xff1a; npm create vuelatest > cd <your-project-name> > npm install > npm run dev 项目结构图如下&#xff1a; 1、查看入口文件内容&#xff1a;main.js 代码如下&#xff1a; import ./assets/main.css impor…

AWS 提示证书签名过期无法自动更新

如果域名没有通过验证的话&#xff0c;证书的过去是没有办法自动更新的。 验证的方式也非常简单&#xff0c;通过下面的配置&#xff0c;把 CNAME添加到你的域名上面&#xff0c;AWS 就可会自动完成验证了。 当添加完成后&#xff0c;AWS 验证需要的时间大致在 30 分钟到 1 个…

smaps解析

我们查看应用内存都是通过adb shell dumpsys meminfo 应用名称或者pid 的方式获取 能获取的内容如下&#xff1a; 图1 数据项pss即是应用所占用的内存。那图中各项内容是怎么来的呢&#xff1f; 图2 图1种除了 EGL mtrack&#xff0c;GL mtrack都是从smaps文件种解析获得 EG…

.NET Core 实现日志打印输出在控制台应用程序中

在本文中&#xff0c;我们将探讨如何在 .NET Core 应用程序中将日志消息输出到控制台&#xff0c;从而更好地了解应用程序的运行状况。 .NET Core 实现日志打印输出在控制台应用程序中 在 .NET Core 中&#xff0c;日志输出打印是使用 Microsoft.Extensions.Logging 命名空间…

Android——基本控件下(十七)

1. 文本切换&#xff1a;TextSwitcher 1.1 知识点 &#xff08;1&#xff09;理解TextSwitcher和ViewFactory的使用。 1.2 具体内容 范例&#xff1a;切换显示当前时间 <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"xmlns:tools&…

【业务功能篇76】微服务网关路由predicates断言条件-filters路由转换地址-跨域问题-多级目录树化层级设计-mybatisPlus逻辑删除

业务开发-基础业务-分类管理 启动renren-fast如果出现如下错误 -Djps.track.ap.dependenciesfalse 添加相关配置即可 分类管理 1.后端分类接口 JDK8特性&#xff1a;https://blog.csdn.net/qq_38526573/category_11113126.html 在后端服务中我们需要查询出所有的三级分类信…

住宅IP:解锁更快速、稳定的互联网,你准备好了吗?

随着互联网的广泛普及&#xff0c;我们对网络的需求也越来越高。无论是工作、学习还是娱乐&#xff0c;我们都希望能够享受到更快速、稳定的互联网连接。而在实现这一目标的过程中&#xff0c;住宅IP正逐渐崭露头角&#xff0c;成为了一种备受关注的解决方案。那么&#xff0c;…

dig批量域名逆向查询ip

dig批量域名逆向查询ip dig nocmd noall answer -f iplist.txtiplist.txt中内容 效果图&#xff1a; dig其他选项参数&#xff1a; dig www.baidu.com A # 查询A记录&#xff0c;如果域名后面不加任何参数&#xff0c;默认查询A记录 dig www.baidu.com MX # 查询MX记…

利用TinyPng实现自动压图工具并管理

做游戏开发都会有缩减包体的问题&#xff0c;压图就是一个途径&#xff0c;用什么工具压图有很多工具和方法&#xff0c;我喜欢使用TinyPng&#xff0c;我自己久用python写了一个方便压图的工具。 ​​​​​​​​​​​​​​TinyPnghttps://tinypng.com/ 大家应该都用过&am…

Java学习笔记40

Java笔记40 创建运行时类的对象 获取运行时类的完整结构 我们可以通过反射来获取运行时类的完整结构&#xff0c;这包括&#xff1a; 实现的全部接口&#xff08;Interface&#xff09;所继承的父类&#xff08;Superclass&#xff09;全部的构造器&#xff08;Constructor&…

10 Mybatis

文章目录 1 概述1.1 什么是Mybatis?1.2 JDBC介绍(了解)1.2.1 问题分析1.2.2 技术对比 1.3 数据库连接池1.4 lombok 2 Mybatis基础操作2.1 准备2.2 删除2.2.1 日志输入2.2.2 预编译SQL2.2.2.1 介绍2.2.2.2 SQL注入2.2.2.3 参数占位符 2.3 新增2.3.1 主键返回 2.4 更新2.5 查询2…

Java 内置注解

一、内置注解 Java内置注解 也称 Java标准注解&#xff0c;是Java JDK 中自带的注解。Java 中有许多标准注解&#xff0c;以下是一些常见的标准注解&#xff1a; 1. Override&#xff1a;用于表示一个方法是重写父类中的方法。 2. Deprecated&#xff1a;用于标记已经过时的方法…

vue 使用print.js打印小票

官网&#xff1a;https://printjs.crabbly.com/ // 安装 npm install print-js --save// 引入 import printJS from print-js// 使用 printJS({printable: https://hwke.tbbug.com/images/phone/1899ed9346f64020ff4f9bbae6983952.jpg,type: image,imageStyle: width:100%;ma…

linux系统(centos、ubuntu、银河麒麟服务、uos、deepin)判断程序是否已安装,通用判断方法:使用所有应用和命令的判断

前言 项目中需要判断linux服务器中是否已经安装了某个服务 方法有很多种&#xff0c;但是很多都不通用&#xff0c; 脚本代码就不容易做成统一的 解决方案 用下面的脚本代码去进行判断 用jdk测试 脚本意思如下&#xff1a; 输入java -version命令&#xff0c;将返回的字…