Я обучаю нейронную сеть предсказывать бинарную маску на изображениях мозга мыши. Для этого я дополняю свои данные с помощью ImageDataGenerator от keras.
Но я понял, что Генератор данных интерполирует данные при применении пространственных преобразований.
Это хорошо для изображения, но Я, конечно, не хочу, чтобы моя маска содержала недвоичные значения.
Есть ли способ выбрать что-то вроде интерполяции ближайшего соседа при применении преобразований? Я не нашел такой опции в документации keras.
(Слева - исходная двоичная маска, справа - расширенная, интерполированная маска)
Код для изображений:
data_gen_args = dict(rotation_range=90,
width_shift_range=30,
height_shift_range=30,
shear_range=5,
zoom_range=0.3,
horizontal_flip=True,
vertical_flip=True,
fill_mode='nearest')
image_datagen = kp.image.ImageDataGenerator(**data_gen_args)
image_generator = image_datagen.flow(image, seed=1)
plt.figure()
plt.subplot(1,2,1)
plt.imshow(np.squeeze(image))
plt.axis('off')
plt.subplot(1,2,2)
plt.imshow(np.squeeze(image_generator.next()[0]))
plt.axis('off')
plt.savefig('vis/keras_example')