【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…...
深度学习在微纳光子学中的应用
深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向: 逆向设计 通过神经网络快速预测微纳结构的光学响应,替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...
智能在线客服平台:数字化时代企业连接用户的 AI 中枢
随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...
Nuxt.js 中的路由配置详解
Nuxt.js 通过其内置的路由系统简化了应用的路由配置,使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...
Java面试专项一-准备篇
一、企业简历筛选规则 一般企业的简历筛选流程:首先由HR先筛选一部分简历后,在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如:Boss直聘(招聘方平台) 直接按照条件进行筛选 例如:…...
基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解
JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用,结合SQLite数据库实现联系人管理功能,并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能,同时可以最小化到系统…...
C/C++ 中附加包含目录、附加库目录与附加依赖项详解
在 C/C 编程的编译和链接过程中,附加包含目录、附加库目录和附加依赖项是三个至关重要的设置,它们相互配合,确保程序能够正确引用外部资源并顺利构建。虽然在学习过程中,这些概念容易让人混淆,但深入理解它们的作用和联…...
GO协程(Goroutine)问题总结
在使用Go语言来编写代码时,遇到的一些问题总结一下 [参考文档]:https://www.topgoer.com/%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B/goroutine.html 1. main()函数默认的Goroutine 场景再现: 今天在看到这个教程的时候,在自己的电…...
【LeetCode】3309. 连接二进制表示可形成的最大数值(递归|回溯|位运算)
LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 题目描述解题思路Java代码 题目描述 题目链接:LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 给你一个长度为 3 的整数数组 nums。 现以某种顺序 连接…...
苹果AI眼镜:从“工具”到“社交姿态”的范式革命——重新定义AI交互入口的未来机会
在2025年的AI硬件浪潮中,苹果AI眼镜(Apple Glasses)正在引发一场关于“人机交互形态”的深度思考。它并非简单地替代AirPods或Apple Watch,而是开辟了一个全新的、日常可接受的AI入口。其核心价值不在于功能的堆叠,而在于如何通过形态设计打破社交壁垒,成为用户“全天佩戴…...
提升移动端网页调试效率:WebDebugX 与常见工具组合实践
在日常移动端开发中,网页调试始终是一个高频但又极具挑战的环节。尤其在面对 iOS 与 Android 的混合技术栈、各种设备差异化行为时,开发者迫切需要一套高效、可靠且跨平台的调试方案。过去,我们或多或少使用过 Chrome DevTools、Remote Debug…...
