不同的输入图像大小/分辨率如何影响语义图像分割网络的输出质量?

时间:2018-03-09 15:16:31

标签: tensorflow machine-learning computer-vision deep-learning image-segmentation

尝试使用在另一个数据集(KITTI)上训练的深度学习网络对来自一个数据集(Cityscapes)的图像执行图像分割时,我意识到主观感知质量存在很大差异。输出(也可能在对(m)IoU进行基准测试时)。

这提出了我的问题,输入图像的大小/分辨率是否以及如何影响网络输出的语义图像分割,该分割已经在不同于输入图像的图像上进行了训练。

我从这个网络附加了两个图像及其相应的输出图像:https://github.com/hellochick/PSPNet-tensorflow(使用提供的权重)。

第一张图片来自CityScapes数据集(测试集),宽度和高度为(2048,1024)。该网络已经过该数据集的培训和验证图像培训。

CityScapes original image

CityScapes output image

第二张图片来自KITTI数据集,宽度和高度为(1242,375):

KITTI original image

KITTI output image

可以看出,第一个分割图像中的形状是明确定义的,而在第二个分割图像中,不可能对物体进行详细分离。

1 个答案:

答案 0 :(得分:2)

神经网络通常对规模的变化相当稳健,但它们当然并不完美。虽然我没有提供可用的参考资料,但有很多论文表明规模确实会影响准确性。

事实上,使用包含不同比例图像的数据集来训练您的网络几乎肯定会改善它。

此外,今天使用的许多图像分割网络都明确地将构造构建到网络中,以便在网络架构层面上进行改进。

由于您可能并不确切知道这些网络是如何训练的,因此我建议您调整图片大小以匹配您正在使用的网络所接受的大致形状。使用普通图像调整大小函数调整图像大小是一个非常正常的预处理步骤。

由于你所引用的图像很大,我也会说你输入它们的任何数据输入管道已经代表你调整图像大小。这种类型的大多数神经网络都训练在256x256左右的图像上。在训练或预测之前,输入图像被裁剪并居中。像这样处理非常大的图像是非常计算密集的,并且还没有被发现可以提高准确性。