不同的输入图像大小/分辨率如何影响语义图像分割网络的输出质量?
Posted
技术标签:
【中文标题】不同的输入图像大小/分辨率如何影响语义图像分割网络的输出质量?【英文标题】:How do different input image sizes/resolutions affect the output quality of semantic image segmentation networks? 【发布时间】:2018-08-18 04:56:25 【问题描述】:在尝试使用在另一个数据集 (Cityscapes) 上训练的深度学习网络对来自一个数据集 (KITTI) 的图像执行图像分割时,我意识到输出的主观感知质量存在很大差异(和可能也在对 (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】:一般来说,神经网络对规模变化相当稳健,但它们肯定不是完美的。虽然我脑海中没有可用的参考资料,但有许多论文表明规模确实会影响准确性。
事实上,使用包含不同比例图像的数据集训练您的网络几乎肯定会改进它。
此外,今天使用的许多图像分割网络都明确地将结构构建到网络中,以在网络架构层面改进这一点。
由于您可能不确切知道这些网络是如何训练的,我建议您调整图像大小以匹配您使用的网络所训练的大致形状。使用普通的图像调整功能调整图像大小是一个非常正常的预处理步骤。
由于您引用的图像很大,我还要说,无论您为它们提供什么数据输入管道,都已经代表您调整了图像的大小。大多数这种类型的神经网络都是在大约 256x256 的图像上训练的。在训练或预测之前,根据需要对输入图像进行裁剪和居中。像这样处理非常大的图像是非常计算密集型的,并且尚未发现可以大大提高准确性。
【讨论】:
以上是关于不同的输入图像大小/分辨率如何影响语义图像分割网络的输出质量?的主要内容,如果未能解决你的问题,请参考以下文章
一块GPU就能训练语义分割网络,百度PaddlePaddle是如何优化的?
一块GPU就能训练语义分割网络,百度PaddlePaddle是如何优化的?