keras ImageDataGenerator интерполирует двоичную маску - PullRequest
0 голосов
/ 04 марта 2020

Я обучаю нейронную сеть предсказывать бинарную маску на изображениях мозга мыши. Для этого я дополняю свои данные с помощью ImageDataGenerator от keras.

Но я понял, что Генератор данных интерполирует данные при применении пространственных преобразований.

Это хорошо для изображения, но Я, конечно, не хочу, чтобы моя маска содержала недвоичные значения.

Есть ли способ выбрать что-то вроде интерполяции ближайшего соседа при применении преобразований? Я не нашел такой опции в документации keras.

To the left is the original binary mask, to the right is the augmented, interpolated mask

(Слева - исходная двоичная маска, справа - расширенная, интерполированная маска)

Код для изображений:

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')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...