【环境搭建】DTU数据集定量测试环境搭建

本文介绍如何搭建MVSNet的测试环境,包括下载数据集、配置MATLAB代码及路径,通过Shell脚本自动化测试流程。适用于希望快速上手MVSNet测试的技术人员。
PyTorch 2.7

PyTorch 2.7

PyTorch
Cuda

PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理

环境搭建

首先在DTU官网下载定量测试的数据集(这部分之前师兄下过就没重新下)

image.png

最终的数据结构应该是

.
├── ObsMask
└── Points
    └── stl

然后下载官方matlab测试代码,我用的是MVSNet_PyTorch里evaluation中的matlab代码

主要修改的是两个文件BaseEvalMain_web.mComputeStat_web.m

其中需要修改的也主要是几个路径:

  • dataPath:官网下的两个数据集的位置
  • plyPath:所有你自己生成ply的位置
  • resultsPath:测试结果的位置

再就是for循环里的DataInName的名字构成跟自己一致即可

官方Pipeline

  1. 首先运行BaseEvalMain_web.m文件生成每个场景的Eval.mat文件
  2. 再运行ComputeStat_web.m生成TotalStat_Eval.mat

最佳实践Pipeline

希望整体通过一个shell文件进行测试,每次测试不同的结果只需修改shell即可

Q1:shell运行matlab代码

需要注意的是不加.m后缀

matlab -nodesktop -nosplash -r "BaseEvalMain_web"

Q2:如何传递参数

在文件名字符串前添加参数即可 plyPath='$PLYPATH';

Q3:如何指定测试的场景

传递一个set字符串数组参数,并在matlab代码里通过str2num()转换为UsedSets数组

我的整体pipeline为:

  1. 例如CVP-MVSNet再fusion之后会生成fusibile_fused文件夹,里面有每个场景的一大堆信息和需要的模型,首先通过一个python脚本把这些final3d_model.ply模型复制到一个文件夹,并以cvpmvsnet12.ply类似的名字命名
  2. 修改shell文件里的前几个参数, PLYPATH换成刚刚存放所有模型的位置,METHOD为cvpmvsnet
  3. 指定要测试的场景
  4. 直接运行shell脚本即可
  5. 进入漫长的等待中…(可以同时运行多个shell测试多组模型结果)

您可能感兴趣的与本文相关的镜像

PyTorch 2.7

PyTorch 2.7

PyTorch
Cuda

PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理

### DTU 数据集用于多视图立体视觉测试 DTU 数据集是多视图立体视觉(MVS)领域中广泛使用的基准数据集之一,提供了高质量的多视角图像和精确的相机参数。以下是如何使用 DTU 数据集对 MVS 进行测试的详细说明: #### 1. 数据集准备 DTU 数据集包含多个扫描场景,每个场景提供一组校准好的多视角图像以及对应的相机参数文件。为了进行 MVS 测试,需要下载并解压数据集到指定路径: ```bash DTU_TESTING="./Data/testData/dtu/" ``` 上述路径应指向 DTU 数据集的根目录[^1]。 #### 2. 模型加载与测试脚本 在测试过程中,需要加载预训练模型并运行测试脚本。以下是一个典型的命令示例: ```bash python eval.py --dataset=dtu_yao_eval --batch_size=1 --n_views 5 \ --patchmatch_iteration 1 2 2 --patchmatch_range 6 4 2 \ --patchmatch_num_sample 8 8 16 --propagate_neighbors 0 8 16 --evaluate_neighbors 9 9 9 \ --patchmatch_interval_scale 0.005 0.0125 0.025 \ --testpath=$DTU_TESTING --geo_pixel_thres=1 --geo_depth_thres=0.01 --photo_thres 0.8 \ --outdir=./outputs --testlist lists/dtu/test.txt --loadckpt $CKPT_FILE $@ ``` 其中,`$CKPT_FILE` 是预训练模型的检查点文件路径[^1]。 #### 3. 评价指标 在完成测试后,通常会使用以下指标评估重建质量: - **Completeness**: 衡量参考表面中有多少被 MVS 重建捕捉到[^2]。 - **Accuracy**: 表示重建表面与参考表面之间的距离误差。 - **F-score**: 综合 Completeness 和 Accuracy 的平衡指标。 #### 4. 环境配置 为了确保测试顺利进行,需要安装必要的 Python 包。以下是推荐的环境配置步骤: ```bash pip install protobuf==3.19.1 pip install tensorboardX==1.8 pip install tensorboard==1.14.0 ``` 这些依赖项有助于支持模型训练和测试过程中的日志记录功能[^3]。 #### 5. 深度过滤函数 在某些情况下,可能需要对深度图进行后处理以提高重建质量。以下是一个简单的深度过滤函数示例: ```python def filter_depth(scan_folder, out_folder, plyfilename, photo_threshold): # 读取 pair 文件 pair_file = scan_folder + '/' + 'cams' + '/' + 'pair.txt' # 实现深度过滤逻辑 pass ``` 此函数可以根据光度一致性阈值 `photo_threshold` 对深度图进行筛选[^4]。 ---
评论 26
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

doubleZ0108

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值