dontLoveBugs / FCRN_pytorch

Pytorch Implementation of Deeper Depth Prediction with Fully Convolutional Residual Networks
65 stars 15 forks source link

图的可视化问题 #1

Closed Ariel-JUAN closed 5 years ago

Ariel-JUAN commented 5 years ago

您好,我最近也在尝试用pytorch复现fcrn,而且我在最初训练的时候出现了类似这样的图: 11 看起来图的效果非常不平滑,您觉得这样是正确的吗?

dontLoveBugs commented 5 years ago

不平滑的原因,可能是训练的次数不够,另外,FCRN本身没有平滑约束

Ariel-JUAN commented 5 years ago

如果用tensorflow测试出来的效果图,是不会出现这种问题的。我觉得或许是pytorch上采样的实现方式有问题。

dontLoveBugs commented 5 years ago

并不是,如果使用CRF等能够进行平滑约束的后处理操作,那么得到就能得到平滑的结果。 image

dontLoveBugs commented 5 years ago

另外,你可以发下tensorflow的效果图吗

Ariel-JUAN commented 5 years ago

这是fcrn用TensorFlow训练得到的结果图: clipboard 它没有用crf后处理,是直接得到的结果。现在的单目深度估计都不会用后处理的方式了。

dontLoveBugs commented 5 years ago

你好,我重新检查了测试集的每张图像的输出,并于原文提供的图像的做了比较,确实有你说的问题。 image 我觉得原因有是三个方面,1. 可能是可视化的工具不同,如果方便的话,可以提供一下可视化代码;2. 可能是损失函数不同,原文使用是berhu loss,而我使用的是l1 loss,3. 确实如你所说,tensorflow的实现方式与Pytorch不同,例如,Pytorch的预训练模型和tensorflow有差别,某些函数的实现有差别,例如插值函数,Pytorch代码使用双线性插值将深度图插值成原图大小,原文中生成的深度图为160X128。 此外,你提到单目深度估计不会使用后处理,可能没有关注最新的文章,建议关注2017年之后,CVPR和ICCV关于单目深度的文章。