Altizure x 大规模三维重建

不能处理大规模数据的三维重建技术不是好的三维重建技术

比起一般使用大彊无人机拍摄的图像进行实景三维模型建模,城市级别大规模重建任务更多使用长航时的固定翼无人机拍摄的海量图像。处理海量的图像,将其还原成三维模型不仅是对服务器硬件的一个巨大考验,更对三维重建算法的扩展性有极高的要求。在我们的工程师们的努力下,Altizure 面对这个巨大的挑战,显得毫不畏惧,对这种大规模重建任务驾轻就熟,并能够出色完美地完成客户的处理要求。

在这个文章里,我们尝试给大家深入浅出地解释一下大规模三维重建的难点。另外我们还会通过视频的形式,带大家领略一下通过 Altizure 自动重建出来城市级别的三维模型的震撼效果。

1. 大规模三维重建

大规模三维重建算法的好坏可以主要从两个方面来评价。

1.1 数据量和处理时间的关系

参与三维重建的图像也就是数据量越大,所需的处理时间自然也会变长。但是究竟处理时间会变得多长却是大有文章。在计算机科学的世界里,我们会使用一个叫做 “时间复杂度” 的衡量标准来评价一个算法因应数据量的增多,处理时间的变长程度。我们举个例子,如果有两个三维重建系统他们处理 100 张图都花了1小时。当图像数量变成 10 倍 1000 张图片的时候,其中一个系统的处理时间只是原来的 10 倍,变成了 10 小时,这样的系统,我们评价他的时间复杂度是线性的。但是另一个系统,却变成了原来的 100 倍,需要处理 100 小时,像这样的系统,我们评价他的时间复杂度是平方级别的。我们把这两类系统的时间复杂度用曲线图显示出来便于大家理解。

很显然,线性复杂度的系统相较于平方甚至指数复杂度的系统更适合处理大规模的数据。平方甚至指数复杂度的系统处理大数据是会让人等到天荒地老世界终结时。

1.2 服务器数量和处理效率的关系

既然大规模三维处理需要这么多时间,那是不是找多几台电脑用网线连起来就可以更快地处理了?愿望是美好的,现实总是骨感的。不是硬件不够强,而是算法不够好。一个好的大规模三维重建系统可以做到加几台电脑,处理速度就加快几倍。相反一个不好的系统,受限于算法的原理,花了大力气加了几倍的电脑,处理效率也增加不了一点。我们还是用一个简单的曲线图展示一下处理效率和服务器数量之间的关系。

如果三维重建系统无法通过增加服务器的数目而快速提高生产效率,那么意味着大规模的三维数据处理是砸钱也没法做的事情。

2. Altizure 的高效大规模三维重建

上面的标准看起来就是两条直线!就是要时间线性涨、效率线性增。但实际其中的难点可远不是一条直线这么简单。如同建造一个百层摩天大楼,并不是简单地把一层平房重复盖上一百次就可以完成的。摩天大楼设计的难度、建材的选择、施工的方案就和一层平房有着天壤之别。下面我们一起看看 Altizure 有何独门绝技可以高效地完成大规模三维重建。

2.1 超大规模的一致重建

同类重建软件空三处理步骤受限于图片数量,通常需要预先对原始处理数据人为做切分处理。由于其空三步骤是分开单独进行处理,即使后期加入控制点进行优化,单独重建的不同模型仍然会出现连接区域不一致的问题。Altizure 的先进空三系统恰好能够完美解决上述问题。无论输入图片数据数量的多少,Altizure 都能生成完整、连续、无切分的空三结果。加上基于整体模型的网格和纹理优化,大大提升了最终纹理模型的精确性和一致性。

2.2 高效的算法级并行处理

Altizure 的高效三维重建得益于我们自行研发的先进分布式并行处理系统和高度优化的分布式并行三维重建算法。不同于同类软件将整个模型分块进行并行运算,Altizure 则会通过深度学习,综合相片的视觉信息和空间信息等各方面的要素,自动地把每个步骤的任务分割成恰当大小的任务在多机上并行处理,包括特征提取、空三、密集点云、网格生成、纹理贴图。由于同类软件空三步骤都是单机运行,一旦空三任务失败,使用者必须重新处理整个空三任务,经历漫长等待。Altizure 的空三步骤能够自动进行任务级并行,从而大幅提升了空三的效率。此外,我们很好利用了图形运算单元(GPU)帮助特征点运算、密集点云和网格优化,极大增强了整个重建任务的并行度和服务器的使用率。因此,Altizure 能够实现真正大规模重建的可扩展性,这解释了为什么 Altizure 能够做到处理时间和处理效率能够随着服务器数据的增长线性增长。

3. 为什么能处理大规模三维重建这么重要?

对模型细节的无限追求和三维重建效果效率不足之间的矛盾是三维重建永恒的命题。只有能够实现大规模三维重建才可以满足现在越来越多的大面积和海量细节的三维重建需求。大面积重建就是一次性对成百上千平方公里的拍摄数据进行三维重建。海量细节重建就是对物体细节的还原达到毫米级的精度。这些需求都导致三维重建的数据量暴涨,我们 Altizure 正是掌握了这样的核心处理技术,才能不停地为客户解决问题,为客户带来更多价值。我们下面一起来欣赏两个大面积的三维重建的成果视频,一起来感受那种城市级别三维重建带来的震撼。

案例 1:广东某城市

该案例是广东某城市的全自动大规模三维重建。该项目使用直升机吊装了一组 8 镜头的倾斜摄影云台,对一个超过 400 平方公里的区域进行了接近 1 个月的数据采集。这里给大家展示的只是其中的部分成果,项目的三维数据处理还正在紧张进行中。

项目资料:

  • 飞行载具:直升机
  • 相机镜头:8 镜头倾斜摄影云台
  • 相片总数:52920 张
  • 像素总数:2663 GP
  • 覆盖面积:约 50 平方公里
  • 处理时间:10 天
  • 计算集群:12 台高性能服务器


案例 2:海南某地区

该案例是海南某区域的全自动大规模三维重建。该项目使用的是旋翼无人机进行了接近两周的数据采集。

项目资料:

  • 飞行载具:旋翼无人机
  • 相机镜头:Sony A6000
  • 相片总数:29885 张
  • 像素总数:592 GP
  • 覆盖面积:约 3 平方公里
  • 处理时间:5 天
  • 计算集群:6 台高性能服务器


联系我们

看完了深入的解说和精彩的案例,您手头是否有无法处理的大规模数据?欢迎联系我们的支持团队 support@altizure.com,让我们来解决您的问题吧。


  • 访问 altizure.com/features 了解更多 Altizure 的特性
  • 访问 altizure.com/explore 浏览更多 Altizure 三维模型
  • 下载 Altizure App 控制无人机自动采集照片制作三维模型: iOS / Android
  • 前往 Altizure 论坛,向我们的工作人员和其他伙伴寻求帮助,提出宝贵的建议,帮助我们改善 Altizure
Altizure wechat
扫一扫订阅微信公众号