首页 > 其他分享 >倾斜单体化模型技术实现

倾斜单体化模型技术实现

时间:2024-02-04 10:32:51浏览次数:26  
标签:倾斜 模型 矢量 三维 单体 摄影

详细介绍了倾斜单体化模型的四种实现思路。

目录

  • 1 概述
  • 2 详论
  • 2.1 切割单体化
  • 2.2 矢量单体化
  • 2.3 ID单体化
  • 2.4 模型重建单体化
  • 3 总结

1 概述

为了改进倾斜摄影模型数据在实际GIS场景应用中诸多的缺点,一个非常热门的优化方向就是单体化。所谓单体化,是指让倾斜摄影数据像矢量数据那样,具备要素特征,进而可以关联属性,进行空间查询和空间分析。换句话说,我们需要给倾斜摄影数据增加一些语义,能够正确区分建筑物、道路、绿地、水系以及城市部件等地物要素,进而很好的关联业务,产生实际的应用价值。

2 详论

以笔者的见识来看,倾斜单体化模型的实现可以有以下四种方式:

2.1 切割单体化

既然倾斜摄影模型数据上的地物要素构建的有好有差,那么我们可以将比较好的地物要素从倾斜摄影模型上裁剪下来,比如建筑物。通过建筑物矢量帮助我们进行空间计算,将建筑物矢量范围内的连续的三角面从倾斜摄影模型上截取出来,从而实现单体化。其实反过来想,倾斜摄影数据上很多内容都可以通过地形+影像的方式替换的,而像道路、绿地、水系这些地物要素也是依据地形的,城市部件这些要素倾斜摄影往往又无能为力。可能真正有价值进行单体化的可能也就是建筑物、大型地标或者大型基础设施了。但说实话,这也算是不错的技术方案了,至少我们不用看到很多建模错误的区域,搭配其他三维模型数据,也能构建出比较出色的三维可视化场景。

2.2 矢量单体化

如果不想通过矢量进行真实的物理切割,那么也可以考虑通过三维图形技术来实现单体化。其原理是在进行三维渲染时,将矢量面的几何数据传递到GPU中,判断每个顶点是否在其范围内。如果在范围内,就高亮该区域显示的颜色;或者,使用类似阴影体(Shadow Volume,三维图形中一种常见的生成阴影的算法)的技术,来使矢量的单体化区域高亮。在另一方面,由于矢量本身是具有属性数据的,这个属性数据也可以作为这个单体化区域的属性数据。

矢量单体化可以有另外一种类似的较为简单的实现方案:可以绘制包裹住单体化区域的透明带颜色的几何体。平时该几何体隐藏,在选中时就进行显示。当然,这个几何体也是基于矢量生成的。这种方案比较适合比较规整的建筑物三维物体对象。

不过,无论是哪种实现方案,都离不开与矢量数据的聚合。这种单体化方式实际上是将二维矢量面和三维倾斜摄影模型结合起来了,因此可以充分利用传统二维GIS矢量数据的查询、计算与分析等能力,从而实现了与GIS场景业务的关联。而且这种方案主要是采用了计算机图形技术的实现,在保证了实时性和效率的前提下实现难度也不是很高,因此也算是一种不错的解决方案。

2.3 ID单体化

所谓ID单体化,是指给倾斜摄影模型的每个想要单体化的区域的连续网格赋予一个特定的ID,这样在选中的时候我们获取到这个ID并对其高亮显示。具体来说,这需要在数据层面和渲染层面的配合。在数据层面,我们需要知道模型上单体化区域的顶点,并对其增加一个自定义的ID属性。这样在进入三维渲染时,通过帧缓存技术我们可以在渲染画面之外额外再渲染一帧ID纹理图。拾取选中实质上就是采样这个ID纹理图的值,并将顶点ID是这个值的顶点颜色高亮显示。

在笔者看来,这个单体化方案比较复杂,需要同时从数据和渲染上两个维度进行改进才能完全实现。但是这个方案对性能影响最小,不用再聚合一个二维矢量数据,是一个完全从三维角度出发提出的解决方案。实际上,Cesium和Cesium开发的3DTiles格式就完全实现了这种思路,在这个数据格式中,每个瓦片数据都定义了一个名为BATCHID的顶点属性,并将其关联上一个属性表BatchTable。

另外,这种单体化方案用在倾斜摄影数据上最大的缺点就是需要进行预处理,而且处理难度还不低。事实上,这个预处理过程往往就是采用矢量单体化的原理来实现,既然如此还不如直接使用矢量单体化的方案。不过,ID单体化的原理可以用在其他类型的三维模型,因为很多三维模型是按照一个物体要素为单位来建立的,它们是天然的单体化模型。

2.4 模型重建单体化

这种单体化的思路是,既然倾斜摄影重建的模型有各种各样的缺点,那么干脆就加入人工干预,重新构建单体化三维模型。不过这种人工干预并不是像在3D Max那种三维建模软件那样,根据人工建模师自己的判断进行建模,而是基于数字摄影测量的双像立体测图的原理,在立体模型中采集单体化的三维模型。双像立体测图是传统航空摄影测量生产4D产品的重要阶段,可用于采集DLG和DEM。现在有了倾斜摄影测量方法,使得从立体上采集地物要素成为了可能。

我们应该知道,倾斜摄影模型是使用三维重建技术进行自动化构建的,所以总是会显得很平滑,对锐利或者突变区域的表现度不够,或者建模错误。使用立体测图采集单体化的好处是其操作是人工进行的,可以采集出横平竖直的三维模型,尤其是对于建筑物来说。这对于可视化的效果是非常大的提升。另外,由于这个采集的过程是人工操作的,因此天然就将地物要素单体化出来,不仅仅是建筑物,一些比较复杂的基础设施(例如高架、桥梁),或者城市部件(例如路灯、指示牌)等都可以进行采集,这无疑大大扩展了倾斜摄影的技术在GIS场景中应用。

当然,这个单体化方案也是有缺点的。最大的缺点就是专业性太强,即使我们使用专业的软件普通人也不一定能操作好,还需要专业的采集人员来进行作业。在国内,武汉天际航信息科技股份有限公司的精细化单体建模以及模型修饰软件DP-Modeler是业内应用比较广泛的倾斜摄影模型数据编辑软件,可以支持在单体化并编辑出地表特定要素的三维模型。

3 总结

上述几种倾斜摄影模型单体化的方案各有优缺点,并没有最优解,最好是根据实际的需求采用适合的方案。这几种方案对比如下表所示:

单体化方法

技术思路

预处理过程

模型效果

切割单体化

三维模型物理切割

思路简单

配合其他三维模型使用

矢量单体化

聚合矢量数据+图形渲染技术

无需处理

与倾斜模型一致

ID单体化

将ID作为顶点属性数据渲染

过程繁琐

与倾斜模型一致

模型重建单体化

航测立体采集模型

专业性强

配合其他三维模型使用



标签:倾斜,模型,矢量,三维,单体,摄影
From: https://blog.51cto.com/u_15414551/9578248

相关文章

  • 【scikit-learn基础】--『分类模型评估』之评估报告
    分类模型评估时,scikit-learn提供了混淆矩阵和分类报告是两个非常实用且常用的工具。它们为我们提供了详细的信息,帮助我们了解模型的优缺点,从而进一步优化模型。这两个工具之所以单独出来介绍,是因为它们的输出内容特别适合用在模型的评估报告中。1.混淆矩阵混淆矩阵(ConfusionM......
  • SYCL并行编程模型介绍
    SYCLSYCL(pronouncedas"sickle")是一种用于实现异构计算的开放式标准,由KhronosGroup维护和推动。SYCL的目标是提供一种统一的、高性能的编程模型,使开发人员能够有效地利用异构系统中的多个计算设备,如CPU、GPU、FPGA等。以下是SYCL的一些关键特点和概念:异构编程:SYCL旨在支持异......
  • R语言逻辑回归、随机森林、SVM支持向量机预测Framingham心脏病风险和模型诊断可视化
    原文链接:http://tecdat.cn/?p=24973 原文出处:拓端数据部落公众号简介世界卫生组织估计全世界每年有1200万人死于心脏病。在美国和其他发达国家,一半的死亡是由于心血管疾病。心血管疾病的早期预后可以帮助决定改变高危患者的生活方式,从而减少并发症。本研究旨在查明心脏病最......
  • Python随机波动模型Stochastic volatility,SV随机变分推断SVI分析标普500指数股票价格
    全文链接:https://tecdat.cn/?p=33809原文出处:拓端数据部落公众号随机波动模型(Stochasticvolatilitymodels)经常被客户用来对股票价格随时间的变动性进行建模。波动性(volatility)是随时间的对数收益的标准差。与假设波动性恒定不变不同,随机波动模型具有隐变量参数,可以在每个时刻......
  • R语言结构方程模型SEM、路径分析房价和犯罪率数据、预测智力影响因素可视化2案例|附代
    原文链接:http://tecdat.cn/?p=25044原文出处:拓端数据部落公众号最近我们被客户要求撰写关于结构方程模型的研究报告,包括一些图形和统计输出。1简介在本文,我们将考虑观察/显示所有变量的模型,以及具有潜在变量的模型。第一种有时称为“路径分析”,而后者有时称为“测量模型”。......
  • 超越体量:TinyLlama用1.1B参数实现大模型级性能
    引言随着人工智能技术的快速发展,大型语言模型(LLM)在全球范围内受到瞩目。但与此同时,另一类模型正在逐渐崭露头角:参数规模较小的语言模型。这类模型在计算资源受限的环境下显示出巨大潜力,特别是在智能手机、物联网设备和嵌入式系统等边缘设备中。TinyLlama-1.1B模型正是这一趋势的代......
  • ICLR 2024 | Mol-Instructions: 面向大模型的大规模生物分子指令数据集
    Mol-Instructions:面向大模型的大规模生物分子指令数据集 发表会议:ICLR2024论文标题:Mol-Instructions:ALarge-ScaleBiomolecularInstructionDatasetforLargeLanguageModels论文链接:https://arxiv.org/pdf/2306.08018.pdf代码链接:https://github.com/zjunlp/Mol......
  • 基于Deepspeed实现LLaMA-13B或70B模型的微调
    写在前面事实证明,在部分情况下,依然有开启deepspeed的必要性这是上一篇文章,讲述使用双卡/8卡3090微调llama2-70B/13B模型-AlphaInf-博客园(cnblogs.com)但这一篇文章,存在下面的几个问题:如果训练的数据的seq_len过长,那么很有可能出现OOM,无法训练长的数据如果需要调的参数......
  • 模型训练ppo如何评估分析
        1 11  11 1 1    1 11 1   11 11   1在使用PPO(ProximalPolicyOptimization)算法进行模型评估时,可能会出现相同模型但评估结果不同的情况。这种情况可能是由以下几个原因导致的:1.数据集不同:如果使用......
  • R语言时变向量自回归(TV-VAR)模型分析时间序列和可视化|附代码数据
    全文链接:http://tecdat.cn/?p=22350 最近我们被客户要求撰写关于时变向量自回归(TV-VAR)模型的研究报告,包括一些图形和统计输出。在心理学研究中,个人主体的模型正变得越来越流行。原因之一是很难从人之间的数据推断出个人过程另一个原因是,由于移动设备无处不在,从个人获得的时间......