我一直在尝试使用 COLMAP 从照片中生成 3D 网格,但我能得到的只是无用的点云。
我研究了各种 YouTube 教程,但我得到的结果与我看到的不同,主要是因为我永远无法获得实体 3D 网格。
为了获得一致的曝光,我购买了一款名为 ProMovie+ 的 iPhone 应用程序,它可以在锁定曝光的情况下以 4K 拍摄,但会根据需要聚焦于拍摄对象。(iPhone 内置的 AE/AF 锁定功能让许多镜头失焦,但该应用程序解决了这个问题。)
接下来,我从生成的 4K 视频中保存了静止的 PNG 图像。就源图像而言,一切似乎都具有足够高的质量。
最初每秒捕获 1 个 PNG 的素材。在没有得到好的结果之后,我尝试以不同的增量增加 FPS,甚至高达 30fps(这是我拍摄的,我认为这是矫枉过正)。所以我现在排除了帧数据不足的问题。一定有别的原因导致我的捕获量很差。
这是我最终的结果:
相机位置用红色表示,由于我使用了很多数据帧(接近 500 个)以希望获得可用的结果,因此它显示为一条红色的大实线。你能看到点云中那个黄色的东西吗?这就是我试图捕捉的对象。看起来没什么大不了的...
我希望结果更像这样(取自视频教程):
显然我做错了什么,因为 COLMAP 并没有为我产生任何接近这个的东西。一旦我得到一个从 COLMAP 导出到 MeshLab 的 .ply 文件,当我打开点大小滑块时,我可以区分顶点中的颜色。
但它只显示顶点颜色,由于我的几何图形上没有面,我被卡住了,不知道是否可以生成面或使用这个 3D 数据。
更新:我找到了比我一直关注的其他教程更好的教程。它详细解释了稀疏重建是该过程的第一部分,而密集重建是第二部分。不幸的是,COLMAP 的开发人员做了一些不好的事情,他们没有提供没有 CUDA 的情况下执行密集重建的方法。
他们提供了一个糟糕的借口,即在 CPU 上执行此操作会很慢。我猜他们是在告诉我去买一台新电脑。
所以现在我正在研究是否有其他软件可以填补这个空白,或者是破解 COLMAP 以使用 CPU 的方法。
更新 #2:尝试安装 VSFM 以进行密集立体声重建,但没有提供安装程序,因此我必须构建它。进展顺利:
VSFM application failed to build, halting.