likyoo / change_detection.pytorch

Deep learning models for change detection of remote sensing images
MIT License
331 stars 59 forks source link

两张影像的输入顺序不同会得到不同的结果? #15

Open swjtulinxi opened 2 years ago

swjtulinxi commented 2 years ago

请问为啥,两张影像输入的先后顺序不同,结果基本不一样,变化检测不是孪生网络么,理论上不应该啊? 我参考了其他的变化检测项目代码,也是一样的情况

likyoo commented 2 years ago

因为网络整体并不是完全孪生或者对称的。如果你使用孪生的encoder_decoder,再用基于度量的方式去判别变化,得到的结果应该是一致的。或者,使用孪生的encoder + 共同的decoder,再使用“对称式”的融合方式(如距离),得到的结果应该也是一致的。

swjtulinxi commented 2 years ago

为啥不是对称的, 比如你这个代码中的pspnet, 是将整个pspnet作为encoder, decoder 是将两个输入影像通过pspnet得到两个结果, 然后把它们concat,输入decoder。 再说距离方式,, SATNet网络就是度量方式, 如果影像输入顺序不同,得到的结果也不完全一致, 只是差别没有非度量方法的明显

Bobholamovic commented 2 years ago

通常情况下,concat操作是有顺序的,因为通道有顺序,例如:

假设t1t2为3通道影像,空间尺寸相同;

BTW,ChangeMask论文中讨论了Temporal Symmetry对变化检测任务的影响。

swjtulinxi commented 2 years ago

下不了这论文,可否提供一下pdf大佬, 1335452106@qq.com

Bobholamovic commented 2 years ago

下不了这论文,可否提供一下pdf大佬, 1335452106@qq.com

已发送,请查收。如果问题解决了的话,麻烦关闭issue~

swjtulinxi commented 2 years ago

感谢,在decoder的head处采用相加或者 两者相减取绝对值可以解决, 一直没想到原来是concat导致的

swjtulinxi commented 2 years ago

请问有没有什么办法能够同时判断输出中哪些是新增,哪些是减少的呢