Как решать различные размеры изображения для классификации - PullRequest
0 голосов
/ 04 июня 2019

Я работаю над проблемой, когда я должен классифицировать изображения по различным группам.Я новичок и работаю с Keras с простой моделью последовательности.Как мне следует решить проблему изображений с другим измерением в приведенном ниже коде, например, некоторые изображения имеют размер 2101583, а некоторые - 210603 и т. Д. Пожалуйста, предложите.

model.add(Dense(100,input_dim = ?,activation= "sigmoid"))
model.add(Dense(100,input_dim = ?,activation= "sigmoid"))

1 Ответ

0 голосов
/ 05 июня 2019

Для простых алгоритмов классификации в Керасе вход всегда должен быть одинакового размера. Поскольку нейронные сети с прямой связью состоят из входного слоя, от одного до многих скрытых слоев и одного выходного слоя со всеми подключенными узлами, у вас всегда должен быть вход на каждом входном узле. Кроме того, форма и другие гиперпараметры нейронной сети являются статическими, поэтому вы не можете изменить количество входов и размер каждого изображения в одной нейронной сети.

Лучшей практикой для вашего случая будет уменьшение всех изображений до размера самого маленького изображения или увеличение всех изображений до размера самого большого изображения.

* Уменьшение массы 1006 * При уменьшении вы будете активно удалять пиксели с вашего изображения, включая информацию, содержащуюся в пикселях. Это может привести к переоснащению, но также уменьшит время вычислений.

Upsizing При увеличении вы добавляете пиксели к вашему изображению, не добавляя информацию. Это увеличит время вычислений, но вы сохраните информацию каждого изображения.

Для хорошего начала я бы посоветовал вам попробовать уменьшить ваши изображения до самого маленького. Это обычная практика и в науке [1] . Для этого есть одна библиотека: OpenCV . По вопросам реализации, пожалуйста, обратитесь к нескольким вопросам по Stackoverflow:

Python - изменить размер изображения

Opencv-Python-Изменение размера изображения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...