我正在处理地形高度数据的图像超分辨率。目前,我正在将输入数据切割成更小的部分(20 x 20 而不是 10800 x 10800)。
在高档 20x20 -> 40x40 之后,将生成的图像拼接在一起会导致沿着较小部分的边界出现伪影。这是因为模型的输出不能很好地融合在一起(我们正在使用输出来运行模拟,因此它们无缝匹配很重要)。
有没有推荐的方法将这些较小的图像拼接在一起?或者有没有比使用这些较小的切割图像更好的方法来解决这个问题?
我正在处理地形高度数据的图像超分辨率。目前,我正在将输入数据切割成更小的部分(20 x 20 而不是 10800 x 10800)。
在高档 20x20 -> 40x40 之后,将生成的图像拼接在一起会导致沿着较小部分的边界出现伪影。这是因为模型的输出不能很好地融合在一起(我们正在使用输出来运行模拟,因此它们无缝匹配很重要)。
有没有推荐的方法将这些较小的图像拼接在一起?或者有没有比使用这些较小的切割图像更好的方法来解决这个问题?
您可能会看到这些伪像,因为您的模型没有立即在您的图块之外看到这些像素,因此不知道如何“混合”事物。(我假设您的图块的步幅等于输入大小)
我见过使用(并且自己使用过)的一种典型方法是,在推理时,只保留每个图块的中心部分,然后有重叠的窗口,这样你就可以“填充空间”。
重叠越多(您使用的输出越少),工件就越不明显(或者在我的经验中),但需要更多的计算。
这就是我在卡通形式中的意思:
input tile1 #####----------
input tile2 -----#####-----
output tile1 ##########--------------------
output tile2 ----------##########----------
在这里,输出#意味着那里的值被复制到输出中,并且*意味着模型在那里进行预测但没有使用。
input tile1 #####----------
input tile2 ---#####-------
output tile1 **######**--------------------
output tile2 ------**######**--------------
如果您采用这个想法,您甚至可以简化模型,使其不会尝试在您无论如何都会忽略的位置进行预测。
如果事情需要澄清,请发表评论。