我正在使用keras开发CNN,用于分类具有10个光谱波段的卫星图像。我在下面的网络中获得了不错的准确性(在15个类别中获得了约60%的验证准确性),但我希望更好地将单个像素的光谱波段之间的关系纳入到模型中,从而可以获得有关像素类别的大量信息。我看到很多论文都这样做,但通常被称为不同的方法,例如:
- 级联交叉通道参数汇聚
- Conv1D
- 深度可分离卷积
- Conv2D(num_filters,(1,1))
input_shape = (32,32,10)
num_classes = 15
model = Sequential()
model.add(Conv2D(32, (3, 3), padding='same', input_shape=input_shape))
model.add(Activation('relu'))
model.add(Conv2D(32, (3, 3)))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.25))
model.add(Conv2D(64, (3, 3), padding='same'))
model.add(Activation('relu'))
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(Dense(256))
model.add(Activation('relu'))
model.add(Dropout(0.5))
model.add(Dense(num_classes))
model.add(Activation('softmax'))