Deeplab v3仅预测默认比率512 *512。如何处理不同大小比率的图像。
请仔细检查错误:-
回溯(最近通话最近一次):
文件“”,第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”, _standardize_user_data中的第751行 exception_prefix ='input')
文件 “ /home/developer/anaconda2/envs/py36/lib/python3.6/site-packages/keras/engine/training_utils.py”, 第138行,位于standardize_input_data中 str(data_shape))
ValueError:检查输入时出错:期望input_3具有形状(512、512、3),但数组具有形状(2448、3264、3)
答案 0 :(得分:0)
您可以将图像尺寸调整为512 * 512或使用填充将图像转换为正方形,然后将其尺寸调整为512 * 512。后一种选项更好,因为它不会更改图像内部对象的形状。您可以使用不同的填充模式,看看是什么效果最好。
您可以使用opencv或scikit-image调整大小和填充
用于填充的opencv文档:https://docs.opencv.org/2.4/modules/imgproc/doc/filtering.html?highlight=copymakeborder#copymakeborder
用于填充的scikit-image文档:http://scikit-image.org/docs/dev/api/skimage.util.html#skimage.util.pad