Первое, что важно: ухудшит ли изменение размера изображения?
Все ли желаемые элементы в изображении разумно в одном и том же масштабе, несмотря на размер изображения?
- Если да, вы не должны изменять размер, используйте модели с переменным входным размером (хотя есть минимум).
- Если нет, приведет ли изменение размера к желаемым элементам в таком же масштабе?
- Если да, измените размер!
- Если нет: лучше подумайте о других решениях
Конечно, у вас могут быть модели, которые могут идентифицировать ваши элементы разных размеров, но чем больше, тем больше.различия, чем мощнее модель (я считаю, что это утверждение довольно разумно)
Keras предлагает вам возможность работать с изображениями разных размеров (вам не нужно, чтобы они имели одинаковый размер).
Для этого вам просто нужно указать input_shape=(None,None,input_channels)
.
Обратите внимание, что вам нужно будет позаботиться о совместимости, если вы собираетесь создавать и объединять ветви.
Сизменяя формы, вы не сможете использовать Flatten
слоев.Вам понадобится GlobalMaxPooling2D
или GlobalAveragePooling2D
.Некоторые другие слои также ограничены фиксированными размерами, но сверточные, объединяющие и повышающие дискретизацию слои в порядке.
Сложность в том, что вы не можете разместить разные размеры в одном массиве.Затем вы можете:
- изменить размер на группы одинакового размера без огромных изменений, чтобы упростить обучение.
- просто не изменяйте размер и обучайте изображения одно за другим
- сохраняйте пропорции и накладывайте стороны
Но лучший ответ зависит от ваших тестов.