jzhangbs / Vis-MVSNet

Visibility-aware Multi-view Stereo Network
MIT License
235 stars 27 forks source link

使用MVSNET的DTU数据集训练 #25

Open alsilence opened 2 years ago

alsilence commented 2 years ago

您好,因为电脑内存不足的原因没有使用您的pre-possessed DTU,使用了 MVS的DTU数据集进行了训练,默认参数没有修改,但现在自己训练的模型效果很不理想,fusion之后没有生成点云,有可能是什么原因呢。望回复,感谢。

jzhangbs commented 2 years ago

您好,“使用了 MVS的DTU数据集进行了训练”具体是怎么操作的?应该是用官网下载的rectified image和我们提供的其他文件来训练

alsilence commented 2 years ago

您好,感谢您的回复。因为您提供的官网的Rectified Image是一百多G,由于服务器的存储空间有限,我们现在用的是MVSNet使用的小分辨率图像进行的训练,是640*512的,同时我们注意到,MVSNET使用的训练数据中的相机内参有两种,一个是较小的,一个是和您提供的CAMERAS一样的大内参,所以为了和小分辨率的Image匹配,我们目前用了小内参的相机参数进行了训练。训练参数使用的是VIS-MVSNET中您提供的sh/dtu.py。但现在模型效果不太理想,个别step保存的模型在test时出现了raise NanError,请问是什么原因导致的呢? 是一定要使用您提供的Rectified iamge训练吗?

jzhangbs commented 2 years ago

mvsnet repo提供的小图是crop过的,直接输入网络就可以,所以这边应该把resize和crop的size设置成不变(640x512)。NanError的原因就比较复杂,先试一下上面这个建议,再看看Nan的问题是否依然存在

alsilence commented 2 years ago

感谢您的回复! 我们按照640×512的resize尺寸训练了MVSNet,并且下载了您提供的数据集,按照您提供的训练参数也训练了一个模型,但两个模型目前在执行fusion.py之后不能生成.ply文件,报了如下的warning [Open3D WARNING][KDTreeFlann::SetRawData] Failed due to no data [Open3D WARNING]Write PLY failed:point cloud has 0 points 训练过程中都没有报错,模型也成功生成了,且训练您提供的数据集最终打印的loss中第一个loss下降到5左右。使用您提供的pretrained_model,按照相同的步骤是可以得到效果比较好的点云的。请问可能是哪里有问题呢?

jzhangbs commented 2 years ago

可以先检查一下depth map是否正确,可以用提供的plot_pfm.py

alsilence commented 2 years ago

您好,我对比了您提供的pretrained_model测试得到的depth map,还有使用您提供的DTU数据集训练的模型测试得到的depth map,您的深度图目标轮廓很清晰,深度图也很平滑,我的深度图虽然存在不同的颜色,但是呈块状,很不平滑,且没有显示出目标的轮廓,这是否表示模型的效果不理想,要如何改进训练过程呢?

alsilence commented 2 years ago

此外,我们在训练过程中step到达10000后出现了nan的错误,这种情况需要如何修正呢

jzhangbs commented 2 years ago

您好,请问训练过程中后面的数字是否正常?括号内的格式是各个scale的depth map的L1, <1 %, <3 %,第三个scale的后两个数字应该可以达到90以上

alsilence commented 2 years ago

您好,训练过程中第一个loss呈下降的趋势,最终能达到个位数,第三个scale的后两个loss是呈上升趋势,但是震荡的有些严重,在step 80000左右仍然在80-100之间震荡。我们在验证集上测试,avg l1在30-40之间,您的pretrained_model只有2左右。这是否表示模型在训练集上过拟合了,要如何改进呢

CC9310 commented 2 years ago

您好,我对比了您提供的pretrained_model测试得到的depth map,还有使用您提供的DTU数据集训练的模型测试得到的depth map,您的深度图目标轮廓很清晰,深度图也很平滑,我的深度图虽然存在不同的颜色,但是呈块状,很不平滑,且没有显示出目标的轮廓,这是否表示模型的效果不理想,要如何改进训练过程呢?

请问, 在dtu上训练, 我也出现了预测深度不正确的情况, 请问您解决了吗

CC9310 commented 2 years ago

@jzhangbs 您好, 您可以提供一下您在dtu上预训练的model吗?

alsilence commented 2 years ago

您好,我对比了您提供的pretrained_model测试得到的depth map,还有使用您提供的DTU数据集训练的模型测试得到的depth map,您的深度图目标轮廓很清晰,深度图也很平滑,我的深度图虽然存在不同的颜色,但是呈块状,很不平滑,且没有显示出目标的轮廓,这是否表示模型的效果不理想,要如何改进训练过程呢?

请问, 在dtu上训练, 我也出现了预测深度不正确的情况, 请问您解决了吗

还没有,我训练了很多次,效果一直不好,还在调试

jzhangbs commented 2 years ago

@alsilence @CC9310 Here is the model pretrained on DTU. If you cannot access it I can try to upload it to baiduyun or other services.

https://hkustconnect-my.sharepoint.com/:u:/g/personal/jzhangbs_connect_ust_hk/EYhFIIyUHdZCge7vnjDaNGoBsWizy_y2uaVV6RHn3itVvA?e=KZiV1s

alsilence commented 2 years ago

感谢作者的回复,目前已经训练出了模型,重建效果还可以。之前使用了两张2080TI显卡进行了训练,这次使用了一张2080ti,就成功了,可能是分布式训练存在问题?

RoyalLii commented 1 year ago

你好,你有fastmvsnet训练的数据集吗,我按作者给的那个链接下载不了,测试集121g太大了,你有小点的吗

jzhangbs commented 1 year ago

你好 @RoyalLii,试试MVSNet提供的测试集能不能满足你的需求

RoyalLii commented 1 year ago

谢谢,那训练集呢,你可以提供给我吗