当前位置: 首页 > 知识库问答 >
问题:

基于torch变换的图像网络预处理

呼延光明
2023-03-14

我正在尝试重新创建在原始出版物“用于图像识别的深度残差学习”中所做的对ImageNet数据集的数据预处理。正如他们的论文第3.4节所说:“我们对ImageNet的实现遵循了[21,41]中的实践。图像的大小被调整,其短边在[256,480]中随机采样以进行缩放[41]。从图像或其水平翻转中随机采样224×224裁剪,减去每个像素的平均值[21]。使用了[21]中的标准颜色增强。”

我已经弄清楚了随机裁剪原始图像或裁剪尺寸为224x224的水平翻转的部分。其他两部分我没有。另外两部分是在[256,480]中对图像的短边进行随机采样以进行缩放,并使用[21]中的标准颜色增强。

对于第一个,我找不到一个“随机调整大小”功能在火炬转换。第二个,其中其参考[21],是(根据[21])“在整个ImageNet训练集上对RGB像素值集执行PCA”。请参阅“数据增强”一节中的ImageNet深度卷积神经网络分类,以获得完整的解释。

如何重新创建这种类型的预处理?

共有1个答案

司空叶五
2023-03-14

第一个需要3个组合转换,randomchoiceresizerandomcrop

transforms.Compose([transforms.RandomChoice([transforms.Resize(256), 
                                             transforms.Resize(480)]),
                    transforms.RandomCrop(224)
                    ])

对于第二个,这是您要寻找的,但Pytorch(实际上所有其他人)只是使用这个。

transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])

如果您认为这太简单,那么标准的Tensorflow预处理只是

x /= 127.5
x -= 1.
 类似资料:
  • 我试图开发一个应用程序,使用Tesseract从手机摄像头拍摄的文件中识别文本。为了更好的识别,我使用OpenCV对图像进行预处理,使用高斯模糊和阈值方法进行二值化,但结果很糟糕。 我可以使用哪些其他过滤器来使图像对Tesseract更具可读性?

  • null 有些数字比其他数字更好用--例如,'1'似乎有很多麻烦。出现在“+”或“-”后面的数字通常不显示出来,“+”通常显示为“-”。我也玩了一下阈值。 最后三个部分是因为我的视频样本,我一直在画有点歪斜。我可以尝试使用一些更好的数据,我也可以尝试在标准的“letsgoDigital”朗上制作自己的训练数据。虽然我觉得我没有以最好的方式进行图像处理,但我希望得到一些指导。 我计划使用某种程度的边

  • 我试图设计和训练一个卷积神经网络来识别图像中的圆形细胞。我在完整图像的“切口”上训练它,这些图像中间要么有一个圆(正训练样本),要么没有(负训练样本)。 中间有一个圆圈的图像示例(热图颜色不稳定,图像均为灰度):http://imgur.com/a/6q8LZ 我希望网络输出是一个二进制位图,而不仅仅是对两种类型的输入图像(圆形或不在中间)进行分类,如果输入图像中没有圆形,则该位图是一个统一的值(

  • 我想改变文本(和图标)的颜色基于背景图像的可见性。 我尝试过:使用palette_generator包检查背景图像的主要颜色,并使用flutter_statusbarcolor包中的WhiteForGroundForColor函数(返回一个bool)为我的文本(和图标)颜色选择黑色或白色。 问题是:有时主色变成空。在我的测试中,这种情况发生在黑色和白色,我不知道有什么方法可以找出哪一种。 我为其他

  • [source] ImageDataGenerator 类 keras.preprocessing.image.ImageDataGenerator(featurewise_center=False, samplewise_center=False,

  • 本文向大家介绍Python Matplotlib 基于networkx画关系网络图,包括了Python Matplotlib 基于networkx画关系网络图的使用技巧和注意事项,需要的朋友参考一下 前言 昨天才开始接触,鼓捣了一个下午,接下来会持续更新,如果哪里有错误的地方,望各位大佬指出,谢谢! 数据描述 两个文件,一个文件包含了网络图的节点,节点存在类别(0,1,2,3)四类,但是0类别舍去