平台运行效果的简短视频:
Preview.mp4
- 性能优化:通过裁剪和封装 OpenMVG+OpenMVS代码,优化性能,减少冗余计算,提升重建效率。
- 完整流程:融合 OpenMVG (SfM) 和 OpenMVS (MVS) 流程,提供从 SfM 到 Mesh 生成的完整解决方案。
- 基于 Qt5 框架 的桌面应用,直观、易用的操作界面让用户轻松完成三维重建任务。
测试了多种外部数据集:
- CUDA 版本:12.5(必须,否则在执行 MVS 时可能会闪退)
- Windows 版本:10 或 11
- 磁盘容量:至少 500MB 可用空间
- 推荐显卡:支持 CUDA 的 NVIDIA 显卡
通过 MSI 安装
- 下载 Release 中 Latest 的安装包:
WAVE-3D-Recon.msi
- 运行安装包,并按照安装向导完成安装
- 安装完成后,桌面会生成一个快捷方式 WAVE-3D-Recon,通过该快捷方式可以打开应用。也可以直接前往安装目录,运行 QtGUI.exe 打开应用
本项目使用 VS2022 + Qt 5.15.2_msvc2019_64 为开发环境,除了 Qt 所有的外部库均使用 vcpkg 进行安装:
完整安装的库的列表请见 vcpkg_list.txt
- Boost
boost-accumulators
,boost-algorithm
,boost-atomic
,boost-filesystem
,boost-thread
……
- OpenCV
opencv4
,opencv4[dnn]
,opencv4[jpeg]
,opencv4[png]
,opencv4[tiff]
,opencv4[webp]
- Eigen3
eigen3
- Ceres
ceres
,ceres[cxsparse]
,ceres[lapack]
,ceres[suitesparse]
- Qt
qt5-base
,qt5-svg
- OpenMVS
openmvs
,openmvs[ceres]
,openmvs[cuda]
,openmvs[nonfree]
,openmvs[openmp]
- OpenMVG
openmvg
,openmvg[openmp]
,openmvg[software]
- ceres
ceres
,ceres[cxsparse]
,ceres[lapack]
,ceres[suitesparse]
- lapack
lapack-reference
,lapack-reference[blas-select]
,lapack-reference[noblas]
- suitesparse
suitesparse
- libssh
libssh
- sqlite3
sqlite3
,sqlite3[json1]
将生成的包从已安装目录导出到独立的开发人员 SDK。
vcpkg export
生成独立、可分发的 SDK(软件开发工具包),可在另一台计算机上使用而无需单独获取 vcpkg
下载 Release 中的 vcpkg-export-20250116-214440.7z,解压后直接在解压的目录中运行命令:./vcpkg.exe integrate install
即可集成到 VS 中
用户需要首先配置以下四个关键参数:
-
配置相机内参
-
选择图片路径
-
选择匹配算法(可选)
-
选择保存格式(可选)
- 执行 SFM
- 点击“执行 SFM”,平台将开始生成稀疏点云,处理完成后会将结果显示在可视化窗口中
- 执行 MVS
- 点击“执行 MVS”,系统将生成中间产物,包括稠密点云、粗 Mesh 和精细 Mesh,并输出最终带有贴图的 Mesh 模型
常见问题:
- 点击“执行MVS”时闪退,这是因为用户的cuda版本与要求的不对上(固定12.5)。
- 拖动点云时闪退,这是因为用户点击到了稠密点云中的某个点引起问题。
- 提示 K 矩阵不合格,用户需要检查自己的输入法是否正确,输入法为英文,且确保和格式一致,数字不能有逗号。
- 点击“显示纹理”时卡顿,这是因为纹理加载较久,可视化窗口更新不及时。