DeepLab v3 - как обрабатывать изображения с любым соотношением размеров. (ч * ш)

Deeplab v3 прогнозирует только с соотношением по умолчанию 512 * 512. как обрабатывать изображения с различным соотношением размеров.

пожалуйста, просмотрите ошибку: -

Traceback (последний вызов был последним):

Файл "", строка 35, в прогнозируемом = model_dlv3.predict(img[np.newaxis, ...])

Файл "/home/developer/anaconda2/envs/py36/lib/python3.6/site-packages/keras/engine/training.py", строка 1149, в прогнозе x, _, _ = self._standardize_user_data(x)

Файл "/home/developer/anaconda2/envs/py36/lib/python3.6/site-packages/keras/engine/training.py", строка 751, в _standardize_user_data exception_prefix='input')

Файл "/home/developer/anaconda2/envs/py36/lib/python3.6/site-packages/keras/engine/training_utils.py", строка 138, в строке standardize_input_data (data_shape))

ValueError: Ошибка при проверке ввода: ожидалось, что input_3 будет иметь форму (512, 512, 3), но получил массив с формой (2448, 3264, 3)

1 ответ

Вы можете изменить размер изображения до 512*512 или превратить изображения в квадрат, используя отступы, а затем изменить их размер до 512*512. Последний вариант лучше, так как он не изменит форму объектов внутри изображения. Вы можете использовать разные режимы заполнения и посмотреть, что дает лучший результат.

Вы можете использовать opencv или scikit-image для изменения размера и заполнения.

Документация opencv для заполнения: https://docs.opencv.org/2.4/modules/imgproc/doc/filtering.html?highlight=copymakeborder

документация scikit-image для заполнения: http://scikit-image.org/docs/dev/api/skimage.util.html

Другие вопросы по тегам