首页 > 编程知识 正文

高分辨率图像(图像锐化处理有几种方法)

时间:2023-05-05 08:36:16 阅读:78850 作者:4789

你在图像分类上有问题而烦恼吗?

首先,让我们看看处理图像数据时遇到的问题。 其中之一是图像不匹配、太大、太小、矩形和正方形。 另一个常见问题是训练集中的图像数量会导致过度拟合。 为了解决这两个问题,本文概述了应用扩展变换的技术,对训练集中的图像进行变换,提高模型识别图像不同版本的能力,拓展模型所具有的信息广度。 适用于识别图像中对比度、尺寸、角度等不同的目标对象。

为了说明如何增强,我们检查了狗VS猫的数据集,并使用了Jeremy Howard和dhm Thomas的fast.ai深度学习库。

I .基线模型

为了将图像分类为狗或猫,使用resnet34训练模型。 首先使用0.03或1的学习率训练模型,不使用数据增长。

基线

有了它,我们看到了0.98584的验证精度。

看看混淆矩阵吧。

我们看到了26张图像,2000年以来20只猫和6只狗被错误地分类了。

II .扩展转换的应用

为了减少这种错误的分类错误,我们现在增加训练数据,看看是否有改进之处。 可以选择自上而下变换或侧变换。 可以很容易地确认相关的类型。

1 .基本转换-角度(旋转)和照明变化

2 .侧面转换-角度和照明垂直轴翻转的变化

3 .从上到下转换-角度和光线变化绕水平轴旋转90、180和270度。

在这里,我们使用来自侧面的转换。 因为考虑到有从侧面拍摄的狗和猫的照片,可能需要水平翻转,而不是从上面拍摄。 来看看猫形状的六个随机变换:

由于图像的性质,从上到下转换不合适的猫狗图像并不少见。

在训练这个网络的同时,学习率保持不变。 只能看到强化带来的精度差异。 使用增强功能训练网络时,每个epoch都会生成图像的新变换。 因此,模型将在每个epoch上看到相同数量的图像,但在原始训练数据中尽可能多地存在。 但是,每次都是这些图像的新版本。 因此,在模型中看到的图像范围随着epoch的增加而增加。

ResNets等网络是预先训练好的。 也就是说,除了完全连接的层之外,体系结构还具有一组针对每个层的预计算权重。 在早期的训练模型中,使用了ResNet34的预算权重。 但是这次,由于使用了新的训练图像集,所以设定Precompute=False,确认该模型是新模型,从头计算激活。 否则,将使用与原始训练数据相对应的预测计算来激活它,而不是提高准确性。

用变换后的图像训练网络

目前,我们得到了0.98779的验证精度,这是对以前模型的改进。

从上面的混淆矩阵可以看出,这次对22个图像进行了错误分类,与以前相比误差减少了。 因此,我们增加了模型的预测能力。

III .延长测试时间:

虽然增强有助于提供更好的模型,但所谓的测试时间增加(TTA )可以进一步提高预测的准确性。 要理解为什么需要这样做,首先看看分类错误的图像:

在这里,由于对比度差,可以看到图像是矩形而不是方形,或者狗/猫在图像中是很小的一部分,所以有些图像被错误地分类了。 如果模型试图预测图像,则只能看到图像的中心。 缺省情况下,将修剪中心位置。 因此,无法预测图像中的动物是狗还是猫。

为了减少这些错误,利用TTA预测了与初始测试图像类别相同的图像的4个随机变换。 然后,将这些预测平均化,判断图像属于哪个类别。

背后的直觉是,即使测试图像不容易预测,变换也会改变它,模型可以更好地捕捉猫和狗的图像,预测的机会会进一步提高。

使用TTA,我们现在得到了99.199的确认精度,只有16个错误分类的图像。

结论:

虽然基线ResNet34模型适用于数据并取得了相当好的结果,但应用扩展转换和TTA可以更有效地减少错误分类错误并提高模型的准确性。 这里介绍的只有翻转和旋转这样的基本扩展技术,但GAN也可以用于生成本文提出的不同样式的图像。 这可能更有效。

除了扩展映像外,您还可以看到如何将扩展应用于结构化数据以提高性能,就像非结构化数据一样。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。