huawei-noah / Pretrained-IPT

Apache License 2.0
424 stars 63 forks source link

测试时图像空间尺寸与训练的不一样该怎么办呢? #18

Closed Deep-imagelab closed 1 year ago

Deep-imagelab commented 2 years ago

训练时采用4848的Patch,测试时如果是一张非4848,比如100100或者200200的图像,代码跑不通呀

Deep-imagelab commented 2 years ago

训练时采用48_48的Patch,测试时如果是一张非48_48,比如100_100或者200_200的图像,代码跑不通呀

主要是我没太明白,当图像不是48*48时,模型第一步“序列化处理“按照既定超参数,就一直会报错了,就没法测试。

HantingChen commented 2 years ago

你好,在文件model/init.py中我们会对测试图像进行切块分为48*48输入模型中,最后输出再拼接回去。

Deep-imagelab commented 2 years ago

你好,在文件model/init.py中我们会对测试图像进行切块分为48*48输入模型中,最后输出再拼接回去。

好的,好的,明白了,我做超分也用过这种基于Patch推理再拼接的方式,这种可能会有明显的拼接痕迹,就是Patch与Patch之间拼接起来会有线条状,这个问题您遇到过吗

HantingChen commented 2 years ago

你好,在文件model/init.py中我们会对测试图像进行切块分为48*48输入模型中,最后输出再拼接回去。

好的,好的,明白了,我做超分也用过这种基于Patch推理再拼接的方式,这种可能会有明显的拼接痕迹,就是Patch与Patch之间拼接起来会有线条状,这个问题您遇到过吗

如果只是简单拼接会有这样的问题(如目前开源代码的拼接方式),可以考虑拼接时重叠部分,并使用smooth的过渡方式即可解决。

Deep-imagelab commented 2 years ago

你好,在文件model/init.py中我们会对测试图像进行切块分为48*48输入模型中,最后输出再拼接回去。

好的,好的,明白了,我做超分也用过这种基于Patch推理再拼接的方式,这种可能会有明显的拼接痕迹,就是Patch与Patch之间拼接起来会有线条状,这个问题您遇到过吗

如果只是简单拼接会有这样的问题(如目前开源代码的拼接方式),可以考虑拼接时重叠部分,并使用smooth的过渡方式即可解决。

smooth的过渡方式可以解释的更具体一点吗?没有太明白。

HantingChen commented 2 years ago

拼接时,重叠部分不是采用绝对平均的方式,而是采用和patch距离成反比的权重进行平均。

Deep-imagelab commented 2 years ago

拼接时,重叠部分不是采用绝对平均的方式,而是采用和patch距离成反比的权重进行平均。

还是不太明白,当patch之间有重叠部分,实际取平均时,考虑的是每个重叠的像素点值的平均,如果是两个patch重叠,那肯定就是重叠部分加起来除以2就好了,难道您所采用的方式是很多Patch加权平均吗?所说的“和patch距离成反比”是当前所求像素与各个patch中心点的距离吗? 最后想请问这部分代码后续会开源吗?

HantingChen commented 2 years ago

拼接时,重叠部分不是采用绝对平均的方式,而是采用和patch距离成反比的权重进行平均。

还是不太明白,当patch之间有重叠部分,实际取平均时,考虑的是每个重叠的像素点值的平均,如果是两个patch重叠,那肯定就是重叠部分加起来除以2就好了,难道您所采用的方式是很多Patch加权平均吗?所说的“和patch距离成反比”是当前所求像素与各个patch中心点的距离吗? 最后想请问这部分代码后续会开源吗?

由于是两维图像,patch重叠可能会有4个patch。“和patch距离成反比”大概是在重叠部分的中心是1/2,然后越靠近某个patch越接近1。这部分代码暂不考虑开源。

Deep-imagelab commented 2 years ago

拼接时,重叠部分不是采用绝对平均的方式,而是采用和patch距离成反比的权重进行平均。

还是不太明白,当patch之间有重叠部分,实际取平均时,考虑的是每个重叠的像素点值的平均,如果是两个patch重叠,那肯定就是重叠部分加起来除以2就好了,难道您所采用的方式是很多Patch加权平均吗?所说的“和patch距离成反比”是当前所求像素与各个patch中心点的距离吗? 最后想请问这部分代码后续会开源吗?

由于是两维图像,patch重叠可能会有4个patch。“和patch距离成反比”大概是在重叠部分的中心是1/2,然后越靠近某个patch越接近1。这部分代码暂不考虑开源。

好的,非常感谢您认真和细致的回复。