CNN像素标签网络无法使用keras学习

时间:2020-07-27 11:56:09

标签: python tensorflow keras cnn


我正在尝试创建用于像素标记的CNN,但正在尝试使用其他方法。
我有一张历史手稿的图像-使用的ICDAR 2017 Baseline Detection DB 例如
图片:

enter image description here

标签:

enter image description here

在我的网络中,我想将输入图像切成50px宽度的切片,而网络的输出将仅从标签上减去1px的宽度-通过切片学习图像

例如
图像输入为400 * 400
标签输入为400 * 400
图像预处理
在左侧填充图像24个像素,在右侧填充25个像素-预处理后,输入尺寸为400 * 449
现在将图像切片为50px重叠的宽度
切片1从0到50输出大小-50 * 400
切片2从1到51输出大小-50 * 400


切片400从399到449输出大小-50 * 400

此外,我正在切片标签
切片1从0到1输出大小-1 * 400
切片2从1到2输出大小-1 * 400


切片400从399到400输出大小-1 * 400

我的网络是

  model = tf.keras.Sequential()
    
  model.add(Conv2D(16, kernel_size=(3, 3),
                 activation='relu',
                 input_shape=(400,50,1)))
  model.add(MaxPool2D(pool_size=(2, 2)))
  model.add(Dropout(0.25))
  model.add(Conv2D(16, (3, 3), activation='relu'))     
  model.add(MaxPool2D(pool_size=(2, 2))) 
  model.add(Dropout(0.25))
  model.add(Conv2D(32, (3, 3), activation='relu'))
  model.add(Dropout(0.25))
  model.add(Flatten())    

  model.add(Dense(400, activation=tf.keras.activations.sigmoid))
  model.compile(Adam(),
              loss='binary_crossentropy',
              metrics=['accuracy'])  

但是我无法使其正常工作,我的方法是否错误?
我的模型不正确?

0 个答案:

没有答案