У меня есть несколько 8-канальных спутниковых изображений, и я хотел провести сегментацию изображений с помощью Tensorflow
и Keras
. Я пытался сделать это пару лет назад, но увидел, что TF
и Keras
не могут обрабатывать изображения с каналами больше 3. Однако я вижу больше сообщений в блогах о глубоком обучении с многоканальными изображениями.
Судя по документации Keras
, в ней конкретно не указаны какие-либо проблемы с приемом многоканальных изображений. И я нашел этот код что, кажется, заставляет это работать:
def unet_model(n_classes=5, im_sz=320, n_channels=8, n_filters_start=32, growth_factor=2, upconv=True,
class_weights=[0.2, 0.3, 0.1, 0.1, 0.3]):
droprate=0.25
n_filters = n_filters_start
inputs = Input((im_sz, im_sz, n_channels))
#inputs = BatchNormalization()(inputs)
conv1 = Conv2D(n_filters, (3, 3), activation='relu', padding='same')(inputs)
conv1 = Conv2D(n_filters, (3, 3), activation='relu', padding='same')(conv1)
pool1 = MaxPooling2D(pool_size=(2, 2))(conv1)
pool1 = Dropout(droprate)(pool1)
Так что просто хотел уточнить, могут ли tf.keras.Conv2d
слои и другие слои теперь принимать 8 или более изображений полос? Существуют ли какие-либо подводные камни при использовании многоканальных изображений, например необходимость некоторых преобразований данных перед обработкой? Существуют ли какие-либо ограничения на использование мультиспектральных изображений?
[0,255]
справа, тем более что я все равно не могу использовать предварительно обученные данные imagenet. Или я мог бы использовать веса imagenet для начала и в то же время сохранить больший целочисленный диапазон (u16) файлов TIFF и т. д. 21.03.2019keras
иtensorflow
. Я все еще только привыкаю к кодированию тензорного потока, и в некоторых случаях трудно сказать, связаны ли сообщения об ошибках с неправильным форматированием чего-либо (например, порядок строк x столбцов x полос тензора изображения) по сравнению с попыткой сделать что-то, что несовместимо сtensorflow
илиkeras
. Спасибо еще раз. 21.03.2019