gpt4 book ai didi

computer-vision - CNN : challenge to recognize simple blocks

转载 作者:行者123 更新时间:2023-12-02 03:00:54 25 4
gpt4 key购买 nike

我很想获得有关以下挑战的见解和观点。我正在尝试训练 CNN 对具有不同颜色的明显“ block ”的图像进行分类(请参见下面的示例)。图像是二维数组(例如 20 x 100 像素),其中白色编码为 0,蓝色编码为 1,绿色编码为 2。

我正在努力训练一个在这些类型的图像上具有良好性能的网络 - 特别是为了防止在图像尺寸变大(例如 40 x 100)时过度拟合和验证集上的性能非常差.我试图理解/概念化需要哪种类型的 CNN 结构来识别这些类型的特征。

我在下面包含了我当前的网络结构 - 但这种结构往往具有混合性能,并且在图像大小增加时会失败或变得非常慢。我假设网络必须从上到下查看整个青色“ block ”才能进行准确分类。

我很想知道这样做的最佳方法。向网络添加更多层的最佳方法是什么?或者使用更大的卷积窗口?或者添加更多转化。过滤到每一层(例如从 64 到 96 等)?我觉得我在基本层面上做错了什么。

非常感谢您的想法和观点。

model = Sequential()
model.add(Conv2D(64, (3, 3), input_shape=input_shape))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.25))

model.add(Conv2D(64, (3, 3)))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.25))

model.add(Flatten())
model.add(Dropout(0.25))
model.add(Dense(1,activation="sigmoid"))

opt = keras.optimizers.rmsprop(lr=0.001, decay=1e-5)
model.compile(loss='binary_crossentropy',optimizer=opt,metrics=['accuracy'])

enter image description here

最佳答案

所以只是为了向您展示您的设计中的两个可能问题和一些可能的解决方案:

  1. 您网络的感受野太小:让我们根据给定层的过滤器看到:

    model = Sequential()
    model.add(Conv2D(64, (3, 3), input_shape=input_shape)) # RF size = (3, 3)
    model.add(Activation('relu'))
    model.add(MaxPooling2D(pool_size=(2, 2))) # RF size = (4, 4)
    model.add(Dropout(0.25))

    model.add(Conv2D(64, (3, 3))) # RF size = (6, 6)
    model.add(Activation('relu'))
    model.add(MaxPooling2D(pool_size=(2, 2))) # RF size = (7, 7)
    model.add(Dropout(0.25))
    ...

    因此,从您的网络接收信号的场的最大尺寸远小于您的图片尺寸(高度似乎为 10)。

    要克服这个问题 - 您可以增加第一层的过滤器大小,使其高度等于图片的高度(因此基本上使用了等同于 1D 卷积的东西)。

  2. Flatten 是个坏主意:当您使用 Flatten - 您的网络实际上考虑了不同模式在你的图片 - 例如它需要分别区分左侧的完整 block 和右侧的完整 block ,即使它们是相同的对象。克服这个问题的最佳选择是使用 GlobalMaxPooling2D,它最适合检测图像上的模式(前提是过滤器尺寸足够大)。

    <

关于computer-vision - CNN : challenge to recognize simple blocks,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46221328/

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