gpt4 book ai didi

image-processing - 卷积神经网络中的随机裁剪和翻转

转载 作者:行者123 更新时间:2023-12-03 14:41:18 24 4
gpt4 key购买 nike

在许多有关卷积神经网络(CNN)的研究论文中,我看到人们从图像中随机裁剪出一个正方形区域(例如224x224),然后将其水平随机翻转。为什么要随机裁剪和翻转?另外,为什么人们总是在正方形区域上裁剪。 CNN不能在矩形区域上工作吗?

最佳答案

这称为数据增强。通过对训练数据进行转换,您可以添加综合数据点。这使模型面临其他变化,而无需花费更多的时间来收集和注释更多数据。这可以减少过拟合并提高模型的泛化能力。

翻转图像的直觉是,对象应与其镜像一样可识别。请注意,水平翻转是经常使用的翻转类型。垂直翻转并不总是有意义,但这取决于数据。

裁剪背后的想法是减少背景对CNN决策的影响。如果您有用于定位对象位置的标签,这将很有用。这使您可以将周围区域用作负面示例并构建更好的检测器。随机裁剪还可以充当正则化器,并根据对象的各个部分的存在来进行分类,而不是将所有内容都集中在可能并不总是存在的非常独特的功能上。


人们为什么总是在正方形区域上裁剪?


这不是CNN的限制。这可能是对特定实现的限制。或通过设计,因为假设平方输入可以优化速度实现。我不会读太多。

输入大小可变与固定输入的CNN:

这并非特定于裁剪为正方形,而是更普遍地说,为什么有时在输入到CNN之前会重新调整输入大小/裁剪/扭曲输入:

要记住的一点是,设计CNN涉及决定是否支持可变大小的输入。卷积运算,池化和非线性将适用于任何输入维度。但是,当使用CNN求解图像分类时,通常会遇到诸如Logistic回归或MLP之类的完全连接的层。 CNN完全连接的层是如何生成固定大小的输出矢量的。固定大小的输出可以将CNN限制为固定大小的输入。

肯定存在一些变通办法,以允许可变大小的输入并仍然产生固定大小的输出。最简单的方法是使用卷积层对图像中的常规小块进行分类。这个想法已经存在了一段时间。其背后的目的是检测图像中物体的多次出现并对每个出现进行分类。我能想到的最早的例子是Yann LeCun的小组在1990年代对simultaneously classify and localize digits in a string所做的工作。
这被称为将具有完全连接的层的CNN变成完全卷积的网络。 Most recent examples of fully-convolutional networks用于解决语义分割并对图像中的每个像素进行分类。在此需要产生与输入尺寸匹配的输出。
另一种解决方案是在CNN的末尾使用全局池化,以将可变大小的要素映射转换为固定大小的输出。池化窗口的大小设置为等于从上一次转化计算得出的特征图。层。

关于image-processing - 卷积神经网络中的随机裁剪和翻转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32842308/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com