ShuweiShao / IEBins

[NeurIPS2023] IEBins: Iterative Elastic Bins for Monocular Depth Estimation
MIT License
80 stars 4 forks source link

inference_single_image.py如何推理不同分辨率图像 #9

Closed jay25208 closed 6 months ago

jay25208 commented 6 months ago

感谢作者的工作。 我用NYU_L模型按照inference_single_image.py推理自己的图像。 图像分辨率1920*1080,报以下错误:

File "/.../IEBins-main/iebins/networks/newcrf_layers.py", line 232, in forward
    v_windows = window_partition(shifted_v, self.window_size)  # nW*B, window_size, window_size, C
  File "/.../IEBins-main/iebins/networks/newcrf_layers.py", line 40, in window_partition
    x = x.view(B, H // window_size, window_size, W // window_size, window_size, C)
RuntimeError: shape '[1, 20, 7, 35, 7, 256]' is invalid for input of size 8843520

请问是什么原因,只能支持NYUv2数据集640*480的分辨率吗?如果要推理不同分辨率图像该如何做? 谢谢!

ShuweiShao commented 6 months ago

hi, 感谢关注。这可能是由于整除导致的维度不对齐,可以将1080 resize到1088试试。

jay25208 commented 6 months ago

分辨率是要32倍整数么? 是输入原图分辨率(32倍)更好,还是缩放到640*540更好?前者图像中物体比例没拉伸,后者更接近训练样本分辨率。 我暂时用后者推理。

ShuweiShao commented 6 months ago

对,后者可能会更好一点。