У меня есть несколько 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 или более полосных изображений сейчас?Существуют ли подводные камни при использовании многополосных изображений - например, необходимы некоторые преобразования данных перед обработкой.Существуют ли какие-либо ограничения на использование многоспектральных изображений?