【问题标题】:How can i create a 3D modeling app? What resources i will required?如何创建 3D 建模应用程序?我需要什么资源?
【发布时间】:2018-09-03 15:22:40
【问题描述】:

我想创建一个将 2d 图像/视频转换为 3d 模型的应用程序。在研究它时,我发现了类似的应用程序,如 Trnio、Scann3D、Qlone 和其他一些应用程序(尽管它们中很少有人提供较差的输出 3D 模型)。我还发现了一项由微软研究推出的名为 mobileFusion 的技术,它展示了我对我的应用程序所希望的相同愿景,但这些应用程序并非如此。

【问题讨论】:

    标签: mobile-application 3d-modelling photogrammetry


    【解决方案1】:

    创建 3D 建模应用程序是一项复杂的任务,要达到高标准需要大量学习。为了给您指明正确的方向,您很可能想要执行名为 Structure-from-Motion(SfM) 或 Simultaneous Localization and Mapping (SLAM) 的操作。

    如果您想自己编程,如果您了解 C++ 或 Python,OpenCV 是一个很好的起点。典型的管道涉及;特征提取和匹配、相机姿态估计、三角测量,然后使用捆绑调整进行优化。 SfM 和 SLAM 的所有管道都遵循这些一般步骤(当然有例外)。尽管谷歌的 Ceres Solver 是一个优秀的开源捆绑调整,但所有这些步骤都是可能的 OpenCV。 SfM 通常会进行密集匹配,这是您获得非常密集的点云的地方,这有利于创建网格。一个免费的开源管道是OpenSfM。另一个很好的工具来源是OpenMVG,它拥有制作完整管道所需的所有工具。

    SLAM 与 SfM 类似,但更多地关注实时应用,而不是绝对准确度。这方面的应用更多地集中在机器人技术上,机器人想知道它相对于环境的位置,但它不太关心绝对精度。排名靠前的 SLAM 算法是ORB-SLAMLSD-SLAM。两者都是开源的,您可以免费在自己的软件中实施。

    所以这真的取决于你想要什么...... SfM 用于高精度,SLAM 用于实时。如果您想要一个好的 3D 模型,我建议您使用现有的算法,因为它们非常好。

    我认为最好的商业软件...Agisoft Photoscan。如果你能做出一半这么好的东西,我会非常感动。要回答您的问题,您需要哪些资源。在我看来,python/c++ 技能、Google 的能力以及适当地阅读摄影测量和 SfM 的空闲时间。

    【讨论】:

    • 非常感谢您的帮助。我知道python和c++的基础知识,所以我想我会选择python,因为它很容易使用。我已经开始学习摄影测量了。我将开始寻找 SfM。再一次感谢你的帮助。如果我再次需要帮助,我会更新问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-24
    • 1970-01-01
    • 2021-12-27
    • 2023-03-06
    • 2017-06-08
    相关资源
    最近更新 更多