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