用图像增强来充实训练数据集,算不算是一种‘摸鱼’的方法?

news/2025/1/14 1:05:58/文章来源:https://www.cnblogs.com/jellyai/p/18519382

序言:图像增强其实就是对现有图片做一些变化,让数据集看起来更多样化,减少去额外收集数据的需求。虽然从某种程度上来说,它能提高数据的质量,但严格来说它不是传统意义上的数据清洗。数据清洗的目的就是把数据里的错误、不一致或者缺失的部分给清理掉,让数据变得更干净、更好用。

图像增强

在上一节中,我们构建了一个马或人分类器模型,这个模型是基于一个相对较小的数据集训练的。因此,在分类一些之前未见过的图片时,我们很快就遇到了问题,比如误把一个带马的女人分类错误,因为训练集中并没有包含类似姿势的人物图片(对,人工智能就是这样愚蠢,没有泛化能力??)

应对这些问题的一种方法是使用图像增强。这种技术的核心思想是,当 TensorFlow 加载数据时,可以通过多种变换方式来创建额外的新数据。比如,看看图 3-11。虽然数据集中并没有右侧那位女士的图像,但左侧的图像在某种程度上与之相似。

                                           图 3-11. 数据集的相似性

因此,如果在训练过程中,例如可以放大左侧的图像,如图 3-12 所示,就可以增加模型正确地将右侧图像分类为人物的概率。

                                          图 3-12. 放大训练集数据

同样地,我们可以通过多种其他变换来扩充训练集,包括:

• 旋转

• 水平平移

• 垂直平移

• 错切

• 缩放

• 翻转

由于我们一直在使用 ImageDataGenerator 加载图像,因此已经看到它进行了一次变换——即通过以下方式对图像进行了归一化处理:

train_datagen = ImageDataGenerator(rescale=1/255)

其他变换在 ImageDataGenerator 中也可以轻松实现,所以,我们可以像这样操作:

train_datagen = ImageDataGenerator(

rescale=1./255,

rotation_range=40,

width_shift_range=0.2,

height_shift_range=0.2,

shear_range=0.2,

zoom_range=0.2,

horizontal_flip=True,

fill_mode='nearest'

)

在这里,除了对图像进行归一化处理之外,我们还做了以下操作:

• 随机将每张图片向左或向右旋转最多 40 度

• 垂直或水平平移图片最多 20%

• 将图片错切最多 20%

• 将图片缩放最多 20%

• 随机将图片水平或垂直翻转

• 移动或错切后用最近的像素填充任何缺失的像素

当我们用这些参数重新训练时,会首先注意到训练时间变长了,因为所有这些图像处理需要额外的计算。同时,模型的准确率可能没有之前那么高,因为之前模型是对一个相对统一的数据集过拟合了。

在我的实验中,使用这些增强后,准确率从 99% 降到了 85%(经过 15 轮训练),验证集的准确率稍高,为 89%。(这表明模型稍微欠拟合,可以对参数进行一些微调。)

那之前在图 3-9 中被错误分类的图像呢?这次模型正确分类了。得益于图像增强,现在的训练集覆盖范围足够,使得模型也能理解这个特殊的图像是一个人(见图 3-13)。这只是一个数据点,可能不代表实际数据的全部结果,但这确实是朝正确方向迈出的一个小步。

                          图 3-13. 放大的女士现在被正确分类了

可以看到,即使是一个相对较小的数据集(如“马或人”),我们也可以开始构建一个相当不错的分类器。如果有更大的数据集,可以进一步提升模型效果。

另一个提升模型的技术是利用已在其他地方学到的特征。许多拥有大量资源的研究人员(数百万张图片)和巨型模型(已在成千上万的类别上进行训练)分享了他们的模型,借助一个称为迁移学习的概念,我们可以利用这些模型学到的特征并将其应用于自己的数据。我们接下来将探索这个方法!

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

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

相关文章

厂区吸烟行为监测系统 工地抽烟识别检测系统

厂区吸烟行为监测系统 工地抽烟识别检测系统能够利用现场已有的监控摄像头实时监测是否有出现抽烟的现象。这得益于AI技术的强大,厂区吸烟行为监测系统 工地抽烟识别检测系统能够自动学习和识别图像中的吸烟行为,而无需人工参与。一旦监测到有人抽烟,系统将立即进行自动分析…

如何建立有效的项目进度审计流程

项目进度审计是确保项目按时、按预算和按照既定标准完成的关键环节。有效的项目进度审计流程应包括明确的审计目标、细致的审计计划、专业的审计团队、清晰的沟通机制、实时的进度跟踪、严谨的数据分析、及时的问题反馈与解决方案策划、以及整改措施的实施评估。特别是在审计目…

启用 iPhone 原生的五笔输入

聊聊如何在 iOS 中使用原生的五笔输入法聊聊如何在 iOS 中使用原生的五笔输入法 本文虽然介绍的是如何添加五笔键盘,其实其他键盘(双拼,外语键盘、第三方输入法)也是类似的添加方式。 ‍ 使用原生的理由 虽然之前的文章列了不少第三方的五笔输入法,但其实原生的也不错的:…

三重时空变化模式的视频协调

三重时空变化模式的视频协调5.4.1 三重时空变化模式的视频协调概述视频协调是一项重要而具有挑战性的任务,旨在通过自动调整前景的外观以与背景协调,从而获得视觉上逼真的合成视频。受手动协调的短期和长期逐步调整过程的启发,提出了一个视频三重变换器框架,用于模拟视频中…

LDAP

StorageSrv 服务LDAP 安装 slapd,为 samba 服务提供账户认证; 创建 chinaskills.cn 目录服务,创建 users 组织单元,并创建用户 组 ldsgp ,将 zsuser、lsusr、wuusr 加入 ldsgp 组。安装服务yum install openldap-servers openldap-clients migrationtools -y设置slapd密码 设…

.NET 9 AOT的突破 - 支持老旧Win7与XP环境

引言 随着技术的不断进步,微软的.NET 框架在每次迭代中都带来了令人惊喜的新特性。在.NET 9 版本中,一个特别引人注目的亮点是 AOT( Ahead-of-Time)支持,它允许开发人员将应用程序在编译阶段就优化为能够在老旧的 Windows 系统上运行,包括 Windows 7 和甚至 Windows XP。…

如何使用第三方工具检查和修复数据库?

PHPMyAdmin:通过图形界面检查和修复数据库表。 HeidiSQL:连接到数据库并进行操作。 安装和配置:PHPMyAdmin:通过Web界面管理数据库。 HeidiSQL:下载并安装HeidiSQL,连接到数据库服务器。扫码添加技术【解决问题】专注中小企业网站建设、网站安全12年。熟悉各种CMS,精通P…

网站修改源码去哪里,获取并修改网站源码的步骤

获取源码:如果你是网站的所有者,可以从服务器下载源码。 如果是从第三方购买的模板或插件,可以从购买平台下载源码。备份源码:在进行任何修改之前,备份源码文件。修改源码:使用文本编辑器(如VS Code、Sublime Text等)打开需要修改的文件。 根据需求进行代码修改。测试修…

无法在fastCGI应用程序中找到handlerscriptProcessor

解决方案总结更换操作系统原因:当前使用的Windows操作系统不支持PHP程序。 操作步骤:备份站点数据和数据库数据。 更改主机操作系统为Linux。 参考文档:更改主机操作系统和备份和恢复数据。升级云虚拟主机原因:当前云虚拟主机配置不支持PHP框架。 操作步骤:将云虚拟主机升…

网站程序编码问题导致网页出现乱码怎么办

遇到网站程序编码问题导致网页出现乱码的情况,可以按照以下步骤进行排查和解决:检查文件编码:确认所有HTML、CSS、JavaScript等文件的编码格式是否统一,通常推荐使用UTF-8编码。 使用文本编辑器(如Notepad++)检查并转换文件编码。设置HTTP响应头:在服务器端设置正确的Co…

Linux操作系统网站提示“Internal Server Error”报错

可能原因及解决方法服务器资源超载解决方法:检查服务器资源使用情况,如CPU、内存和磁盘空间。如果资源使用率过高,考虑优化应用或升级服务器配置。PHP版本过低解决方法:检查当前PHP版本,并确保与WordPress兼容。可以通过以下命令查看PHP版本: PHP文件配置错误解决方法:…

计算机网络实验——VLAN划分

本实验详解单/多交换机VLAN划分、单/多交换机VLAN通信。实验一:交换机VLAN配置及测试 1.1 交换机VLAN配置(目标及要求) 1.1.1 目标创建 VLAN,配置 VLAN,查看 VLAN 端口信息,不同 VLAN 下终端是否互通等;1.1.2 要求单交换机配置 VLAN;要求配置为 2-3 个 VLAN,每个 V…