当前位置: 首页 > 科技观察

一行预处理代码,让你的CV模型更强

时间:2023-03-19 23:31:40 科技观察

图像预处理的一个重要操作是resize,将不同大小的图像缩放到相同的大小,但是目前使用的resize技术还很老,不能基于数据变换.GoogleResearch提出了一个learnableresizer,只需要在预处理部分稍微修改一下,就可以提升CV模型的性能!神经网络要求每个mini-batch中输入数据的大小是统一的,所以在做视觉任务时,一个重要的预处理步骤是imageresize,将它们调整到统一的大小进行训练。通常图像缩小后的图像不会太大,因为如果分辨率太高,模型在训练过程中占用的内存会急剧上升,太高的分辨率也会导致训练速度和推理速度太慢了。虽然近年来GPU的性能逐渐提升,但标准输入图像仍然是224×224。在大多数情况下,处理后的图像最终尺寸很小,例如早期的deepfake生成的图像只有80×224。80分辨率。在人脸数据集中,由于人脸很少是正方形的,一张图片中的像素会浪费更多的空间,可用的图像数据就更少了。当今最常用的图像大小调整方法包括最近邻、双线性和双三次。这些调整大小的方法速度很快,可以灵活地集成到训练和测试框架中。但这些传统方法是在深度学习成为视觉识别任务的主流解决方案之前几十年发展起来的,因此它们并不是特别适合新时代的深度学习模型。GoogleResearch提出了一种新方法,通过改进数据集中图像在预处理阶段的缩放方式来提高基于图像的计算机视觉训练管道的效率和准确性。图像大小对任务训练精度的影响在模型训练中并未受到太多关注。为了提高效率,CV研究人员通常将输入图像调整为相对较小的空间分辨率(例如224x224),并在此分辨率下进行训练和推理。研究人员认为,这些调整器是否限制了训练网络的任务性能?一个简单的实验可以证明,当这些传统的resizers被可学习的resizers取代时,性能可以得到显着提升。传统的缩放器通常会产生更好的视觉缩放图像,而可学习的缩放器对于人类来说可能不是特别容易看到。本文提出的resizer模型架构如下图所示:它主要包括两个重要的特征:(1)双线性特征调整(bilinearfeatureresizing),和(2)跳过连接(skipconnection),连接可以容纳一个双线性调整图像和CNN特征的组合。第一个特征考虑了在原始分辨率下计算的特征与模型的一致性。跳过连接可以简化学习过程,因为调整模型可以直接将双线性调整大小的图像传递到基线任务中。与一般的编码器-解码器架构不同,本文提出的架构允许将图像大小调整为任何目标尺寸和纵横比。并且可学习的resizer性能几乎不依赖于双线性resizer的选择,这意味着它可以直接替代其他现成的方法。而且这个resizer模型比较轻量级,不会在baseline任务中加入大量可训练的参数。这些CNN明显小于其他基线模型。本文的实验主要分为三个部分。1、分类性能。使用双线性缩放器训练的模型和224×224的输出缩放分辨率称为默认基线。结果表明,在224×224分辨率模型中,性能最好,使用所提出的resizer训练的网络提高了性能。与默认基线相比,DenseNet-121和MobileNet-v2基线分别显示出最大和最小的增益。对于Inception-v2、DenseNet-121和ResNet-50,所提出的缩放器优于类似的双线性缩放器。2.质量评估研究人员使用3种不同的基线模型在AVA数据集上进行训练。基线模型根据在ImageNet上预训练的权重进行初始化,并在AVA数据集上进行微调。调整器权重是随机初始化的。在这组实验中,双三次缩放器用作基线方法。使用Pearson线性相关系数(PLCC)和Spearman等级相关系数(SRCC),通过平均地面真值得分与平均预测得分之间的相关性来衡量性能。与基线模型相比有确定性的改进。此外,对于Inception-v2和DenseNet-121模型,建议的缩放器优于双三次缩放器。在更高的失败率下,EfficientNet似乎是一个更难改进学习调整器的基线。3.泛化首先,使用与不同于调整器默认基线的目标基线联合微调的可学习调整器。然后,衡量目标基线在基础任务上的表现。可以观察到,对训练数据进行大约4个epoch的微调足以使调整器适应目标模型。这种验证是一个合理的指标,表明训练有素的调整器对各种架构的通用性。从分类和IQA结果来看,每一列显示了resizer模型的初始化检查点,每一行代表一个目标基线。这些结果表明,通过最少量的微调,为一个基线训练的调整器可以有效地用于为另一个基线开发调整器。在某些情况下,例如DenseNet和MobileNet模型,微调的resizer实际上超过了随机初始化获得的分类性能。IQA的EffectiveNet模型也有同样的观察。最后,研究人员指出,这些实验专门针对图像识别任务进行了优化,在测试中,他们的CNN驱动的可学习缩放器能够降低此类任务中的错误率。将来,可能会考虑在其他图像任务中训练图像缩放器。

猜你喜欢