写在前面:
Meshroom是一款基于AliceVision的开源的三维重建软件。当合理拍摄一组照片时,Meshroom就可以根据这些照片建立物体及环境的三维模型。由于软件在不断更新,使用方法有了细微的差别。
关于数据集:
有部分网友反应想要我帖子中的数据集,我抽空上传到CSDN平台,大家根据需求自行下载。Meshroom个人使用数据集-深度学习文档类资源-CSDN文库https://download.csdn.net/download/qq_29931565/87349687?spm=1001.2014.3001.5503
目录
1. 官网下载链接
AliceVision | Meshroom - 3D Reconstruction Softwarehttps://alicevision.org/#meshroom
打开上面的链接,根据系统选择对应版本下载。这里下载的是Windows版本的Meshroom。
如果官网进不去,可以到以下链接下载:Meshroom三维重建软件官网压缩包-深度学习文档类资源-CSDN文库https://download.csdn.net/download/qq_29931565/54871462
安装好的Meshroom界面如下:
也可以使用开源库自己编译,点击GitHub链接即可查看源代码。由于编译过程过于复杂,徒增工作量,因此笔者目前使用的是官方发行版本,直接下载安装即可使用。
2. 图片的拍摄
Meshroom可用于对单一物体的建模,也可用于对室内环境的建模。在对单一物体建模时需要注意以下几个点:
- 拍摄时不要选择过高分辨率的镜头;
- 拍摄的照片需要附上相机的型号、参数等信息,具体可在手机相机软件中设置;
- 不要在同一位置拍摄多张照片;
- 围绕被拍摄物体,每拍摄一张照片,相机移动约15°的角度;
- 拍摄时尽量包含被拍摄物体的每一个角度,尤其是顶部;
- 拍摄时相机需要保持稳定,可借助三脚架来进行拍摄;
- 尽量不要使用自带美颜或自动美化功能的相机,推荐使用苹果原相机拍摄;
- 背景尽量小,被拍摄物体尽量撑满一张照片;
- 物体放置在纯色的背景下拍摄,可以避免检测很多无用的特征点;
此次试验被拍摄物体如下:
本人使用的设备为iPad Pro 2020,相机分辨率为4032×3024,拍摄所得照片如下所示:
至此完成了图片的拍摄工作。
3. 运行Mushroom
首先将图片拖入下图红框内:
确认拖入的图片左上角显示绿色或黄色图标,鼠标移上去可以显示相机型号和参数等信息。如果左上角显示红色图标,需要重新设置拍摄相机并重新拍摄照片。
然后点击Start开始运行,下方的是进度条,等进度条显示全绿则建模完成。
运行过程中,即可看到Meshroom已经标定好了相机的位姿,并且能够将物体的特征点显示出来。但是此时的结果只是三维点云,不是最终要的结果,因此需要等待最后一步纹理绘制。
重构结束后,执行以下的步骤,即可查看重构结果。值得注意的是,当前版本的Meshroom需要点击Texturing文件夹才会显示纹理,不会像老版本一样跳出Load Model。
右键Texturing文件夹,点击Open Folder,文件夹中的.obj文件即为当前建模的结果。
利用第三方3D软件(如Win10自带的3D查看器),可以对生成的.obj文件进行查看和编辑。
4. 总结
① 利用Meshroom可以很方便地从单目相机拍摄的图片集中建立物体的三维模型;
② 拍摄照片的质量很大程度上决定了最后建模的效果;
③ Meshroom对于特征点较少的物体(如纯色圆柱体)的建模效果并不理想;
④ Meshroom有初始位姿设置的问题,查阅相关资料后发现普遍存在初始位姿与世界坐标系的坐标相比有较大偏差,直观地看所有建模的结果都是倒立并倾斜的;
⑤ Meshroom的运行效率并不是很高。电脑的硬件配置远高于手机,但是利用手机或iPad一些现成的三维重构软件可以实现对视频图像的实时重构,而电脑需要数十倍乃至数百倍的时间才能成功建模。