【ML】Image Augmentation)的作用、使用方法及其分类
图像增强(Image Augmentation)的作用、使用方法及其分类
- 1. 图像增强的定义
- 2. 图像增强的作用
- 3. 什么时候使用图像增强?
- 4. 图像增强详细方法分类梳理
- 4.1 图像增强方法列表
- 4.2 边界框增强方法
- 5. 参考资料
- yolov3(一:模型训练)
- yolov3(二:车牌识别)
- yolov3(四:车牌识别及算法解析)
1. 图像增强的定义
图像增强(Image Augmentation)是一种技术,它通过对原始图像进行各种变换或操作,生成新的图像数据。这些变换包括旋转、翻转、裁剪、调节亮度、添加噪声等。图像增强主要用于扩充训练数据集,以提高机器学习模型的鲁棒性和泛化能力。
2. 图像增强的作用
-
扩充数据集:在数据有限的情况下,图像增强可以人为增加数据量,生成更多的训练样本,从而避免模型过拟合。
-
提高模型鲁棒性:通过对图像进行不同形式的变换,可以让模型学习到更具多样性的特征,从而提高模型在面对未知数据时的表现。例如,旋转、翻转可以让模型更好地应对不同的视角变化。
-
模拟真实场景:图像增强技术可以模拟现实世界中可能出现的各种情况,如光照变化、噪声干扰、模糊等,增强模型的实用性。
-
防止过拟合:在训练模型时,过拟合是一个常见问题,特别是在数据集较小的情况下。通过图像增强,可以有效地降低模型对特定样本的依赖性,提升模型的泛化能力。
3. 什么时候使用图像增强?
-
数据集较小:当训练数据不足时,图像增强是扩充数据量的有效方法。
-
模型过拟合:如果模型在训练集上表现很好,但在验证集或测试集上表现较差,图像增强可以帮助缓解过拟合问题。
-
多样性不足:当数据集中的样本具有较大相似性,或缺乏不同环境、不同条件下的样本时,图像增强可以增加数据的多样性。
-
应用场景复杂:当模型应用于复杂或多变的场景时,通过图像增强可以提前模拟这些变化,提高模型的适应能力。
总的来说,图像增强是提升模型性能的重要手段,特别是在数据有限或需要面对复杂场景时尤为有用。

4. 图像增强详细方法分类梳理
4.1 图像增强方法列表
| 增强方法 | 详细说明 | 特点 |
|---|---|---|
| Flip | 将图像水平翻转或垂直翻转,使图像左右或上下颠倒。 | 对称性增强,避免模型依赖方向信息。 |
| 90° Rotate | 将图像按90度、180度或270度旋转。 | 增强模型对不同旋转角度的鲁棒性。 |
| Crop | 裁剪图像的某一部分以生成一个新的子图像。 | 关注特定区域,防止模型对背景信息的依赖。 |
| Rotation | 任意角度旋转图像而不是90度的倍数。 | 提供多样化的视角,增强模型对不同角度的适应性。 |
| Shear | 对图像进行倾斜变换,将图像的形状进行拉伸或扭曲。 | 增强模型对几何变形的鲁棒性。 |
| Grayscale | 将图像转换为灰度图像,仅保留亮度信息。 | 去除颜色信息,关注亮度和形状特征。 |
| Hue | 改变图像的色调,调整图像的整体颜色。 | 模拟不同的光照条件,增强模型对颜色变化的适应性。 |
| Saturation | 调整图像的饱和度,使颜色更加鲜艳或更加黯淡。 | 增强模型对颜色强度变化的鲁棒性。 |
| Exposure | 调整图像的曝光度,使图像变得更亮或更暗。 | 增强模型对不同光照条件的适应性。 |
| Blur | 对图像应用模糊滤镜,降低图像的清晰度。 | 模拟相机对焦不准确的情况,增强模型的鲁棒性。 |
| Noise | 向图像中添加随机噪声,如高斯噪声或椒盐噪声。 | 增强模型对噪声的鲁棒性,模拟传感器噪声或压缩失真。 |
| Cutout | 在图像上随机遮挡一个或多个区域,用纯黑色或其他颜色填充遮挡区域。 | 使模型更关注整体特征,避免过度依赖某一特定区域。 |
| Mosaic | 将多个图像组合在一起生成一个新图像,通常将图像分成不同的区域,然后重新排列。 | 提供更多样的训练样本,增加模型的泛化能力。 |
4.2 边界框增强方法
| 增强方法 | 详细说明 | 特点 |
|---|---|---|
| Flip | 对图像中的边界框进行水平或垂直翻转。 | 保持目标物体的定位不变,但方向改变。 |
| 90° Rotate | 将包含边界框的图像旋转90度。 | 增强模型对不同旋转角度的目标检测能力。 |
| Crop | 裁剪图像和相应的边界框。 | 可以生成更加局部的检测目标,防止模型依赖背景信息。 |
| Rotation | 任意角度旋转图像中的目标和边界框。 | 增加检测目标的多样性和角度变化的适应性。 |
| Shear | 对图像及其边界框进行剪切变换。 | 提供对变形目标的检测能力,增强模型的几何鲁棒性。 |
| Brightness | 调整图像的亮度,同时对边界框不产生影响。 | 增强模型在不同光照条件下的目标检测能力。 |
| Exposure | 调整图像的曝光度,处理高曝光或低曝光图像中的目标检测。 | 增强模型对不同曝光条件的目标检测能力。 |
| Blur | 对图像进行模糊处理,目标仍然被边界框标记。 | 模拟相机对焦不准的情况,增强模型的鲁棒性。 |
| Noise | 向图像中添加随机噪声,仍保持边界框标注的准确性。 | 增强模型在噪声环境下的目标检测能力。 |
这些增强方法有助于在图像分类、目标检测等任务中生成更多样化的训练样本,增强模型的鲁棒性和泛化能力。
5. 参考资料
- Introducing Bounding Box Level Augmentations
相关文章:
【ML】Image Augmentation)的作用、使用方法及其分类
图像增强(Image Augmentation)的作用、使用方法及其分类 1. 图像增强的定义2. 图像增强的作用3. 什么时候使用图像增强?4. 图像增强详细方法分类梳理4.1 图像增强方法列表4.2 边界框增强方法5. 参考资料 yolov3(一:模型…...
设计模式六大原则(一)--单一职责原则
1. 简介 1.1. 概述 一个类或模块应该只负责完成一项任务或承担一个责任。如果一个类或模块承担了多个职责,那么当需要修改其中一个职责的功能时,就可能会对其他职责产生影响,从而导致代码耦合度增加,维护起来更加困难。 1.2. 主要特点 单一职责原则(Single Responsibi…...
c语言学习,malloc()函数分析
1:malloc() 函数说明: 申请配置size大小内存空间 2:函数原型: void *malloc(size_t size) 3:函数参数: 参数size,为申请内存大小 4:返回值: 配置成功则返回指针&#…...
【运维项目经历|041】上云项目-物理机迁移到阿里云
🍁博主简介: 🏅云计算领域优质创作者 🏅2022年CSDN新星计划python赛道第一名 🏅2022年CSDN原力计划优质作者 🏅阿里云ACE认证高级工程师 🏅阿里云开发者社区专家博主 💊交流社区:CSDN云计算交流社区欢迎您的加入! 目录 项目名称 项目背景 项目目标 项…...
分组并合并其它列的非空值 --Excel难题#83
Excel第1列是分类,第2-42列是平行的多个数据项列,下表用部分列示例。数据有X或null两种情况,同一个分类的同一列数据偶尔有重复。 ABCDE1IDCriteria1Criteria2Criteria3Criteria42FirstValueX3FirstValueX4FirstValueX5FirstValueX6SecondVa…...
VM相关配置及docker
NAT——VMnet8网卡 桥接——WLAN/网线 仅主机——VMnet1网卡 docker与虚拟机的区别 启动docker服务 systemctl start docker 重启 systemctl start docker关闭docker服务 systemctl stop docker.servicedocker的两大概念 镜像:images,应用程序的静态文…...
Redis中Set数据类型常用命令
目录 1. 添加元素 2. 移除元素 3. 检查成员是否存在 4. 获取集合成员 5. 获取集合成员数量 6. 随机获取集合中的一个成员 7. 集合运算 8. 集合的移值 9. 提供集合的随机元素 在Redis中,Set是一种无序且不重复的字符串集合。 1. 添加元素 SADD key member [member ..…...
mysql误删数据恢复记录
背景 1、数据库版本 5.7.36,由于误操作删掉了表的所有数据,但是数据库备份每天凌晨进行、只能从备份恢复昨日的全量数据,当日的数据将会丢失 查看binlog配置 binlog配置 [mysqld] #设置日志三种格式:STATEMENT、ROW、MIXED 。 bi…...
论文阅读:Real-time Controllable Denoising for Image and Video
这篇文章是 CVPR 2023 的一篇文章,探讨了在图像与视频降噪中,如何实时控制降噪强度的问题。 Abstract 图像或者视频降噪,是在细节与平滑度之间的一个微妙的平衡,因为噪声与细节都属于高频信息,降噪在去除噪声的同时&…...
【Kubernetes】虚拟 IP 与 Service 的代理模式
虚拟 IP 与 Service 的代理模式 1.userspace 代理模式2.iptables 代理模式3.IPVS 代理模式 由于 Service 的默认发布类型是 ClusterlP,因此也可以把 ClusterIP 地址叫作 虚拟 IP 地址。在 Kubernetes 创建 Service 时,每个节点上运行的 kube-proxy 会自动…...
深度学习·Pytorch
以下代码源自李沐 自定义模块类 继承module类 继承nn.Module重写构造函数前向传播 class MLP(nn.Module):# 用模型参数声明层。这里,我们声明两个全连接的层def __init__(self):# 调用MLP的父类Module的构造函数来执行必要的初始化。# 这样,在类实例…...
fastzdp_sqlmodel新增get_first和is_exitsts方法
说明 经过fastzdp_login的整合,我们发现,fastzdp_sqlmodel还可以继续封装两个便捷的方法。 get_first:获取查询结果集中的第一条数据is_exitsts:判断数据是否已存在 封装get_first方法 def get_first(engine, model, query_di…...
嵌入式软件--数电基础 DAY 3
一、二进制 (1)文字表述 二进制数只能取0,1两个数字,逢二进一。 通过二进制表达文字。如战争时代的电报。 通过电灯泡的亮灭传递出信息。可以对灯亮和灯灭富裕一些含义,就能传达出想要的消息。 这就是编码和解码两…...
【生成式人工智能-十五-经典的影像生成方法-GAN】
经典的影像生成方法-GAN GANDiscriminatorGenerator还需要加入额外信息么 GAN可以加在其他模型上面我们可以用影像生成模型做什么? 前面讲过VAE和Flow-based以及diffusion Model ,今天讲最后一种经典的生成方法GAN。 GAN 前面讲的几种模型都是用加入额外…...
python 已知x+y=8 求x*y*(x-y)的最大值
先用导数求解 已知xy8 求xy(x-y)的最大值 令y8-x 则 f(x)x⋅(8−x)⋅(x−(8−x))x⋅(8−x)⋅(2x−8) 导数方程为 f(x)-3x^2 24x - 32 求方程 − 3 x 2 24 x − 32 0 -3x^2 24x - 32 0 −3x224x−320 的根。 首先,我们可以尝试对方程进行因式分解。观察…...
windows平台的postgresql主从数据库流备份
主: 操作系统:windows10 数据库版本:postgresql-16.2 ip:192.168.3.254 从: 操作系统:windows10 数据库版本:postgresql-16.2 ip:192.168.3.253 配置主库 配置 pg_hba.conf 文件 在 pg 的安装目录下,找到 …...
Spring 常见设计模式
什么是设计模式? 设计模式(Design pattern)是为解决软件设计中通用问题而被提出的一套指导性思想。它是一种被反复验证、经过实践证明并被广泛应用的代码设计经验和思想总结,可以帮助开发者通过一定的模式来快速的开发高质量、可维…...
优化大量数据导出到Excel的内存消耗(二):如果数据超出Excel单表上限,则进行分表
优化前:优化大量数据导出到Excel的内存消耗_大文件异步导出 内存占用高-CSDN博客 写Excel文件报错:Invalid row number (1048576) outside allowable range (0..1048575) 写入Excel时遇到IllegalArgumentException,原因是超出允许的最大行数…...
rustrover打开会报Error: Invalid toolchain
如果 cargo --version 正常输出,但在使用 RustRover 时出现“Invalid toolchain”错误,可能是由于 RustRover 工具链配置有问题或路径指向错误。 解决步骤: 1. 检查 RustRover 的工具链配置 打开 RustRover,进入 Preferences 或…...
docker-compose 安装canal
创建 Canal 配置文件 /conf/canal.properties mkdir -p conf/ touch /conf/canal.properties # canal.properties# tcp bind ip canal.ip 0.0.0.0 canal.port 11111 canal.metrics.pull.port 11112# zookeeper 集群配置 canal.zkServers canal.zookeeper.sessionTimeout…...
网络编程(Modbus进阶)
思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...
苍穹外卖--缓存菜品
1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据,减少数据库查询操作。 缓存逻辑分析: ①每个分类下的菜品保持一份缓存数据…...
【2025年】解决Burpsuite抓不到https包的问题
环境:windows11 burpsuite:2025.5 在抓取https网站时,burpsuite抓取不到https数据包,只显示: 解决该问题只需如下三个步骤: 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...
python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)
更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...
uniapp微信小程序视频实时流+pc端预览方案
方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度WebSocket图片帧定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐RTMP推流TRTC/即构SDK推流❌ 付费方案 (部分有免费额度&#x…...
大模型多显卡多服务器并行计算方法与实践指南
一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...
大学生职业发展与就业创业指导教学评价
这里是引用 作为软工2203/2204班的学生,我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要,而您认真负责的教学态度,让课程的每一部分都充满了实用价值。 尤其让我…...
【Oracle】分区表
个人主页:Guiat 归属专栏:Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...
力扣热题100 k个一组反转链表题解
题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...
省略号和可变参数模板
本文主要介绍如何展开可变参数的参数包 1.C语言的va_list展开可变参数 #include <iostream> #include <cstdarg>void printNumbers(int count, ...) {// 声明va_list类型的变量va_list args;// 使用va_start将可变参数写入变量argsva_start(args, count);for (in…...
