zoukankan      html  css  js  c++  java
  • 『转载』三维GIS与计算机视觉、计算机图形学的联系

    本文转自 https://zhuanlan.zhihu.com/p/338679753
    自注册以来,想了很久,第一篇应该写什么?一本书有序言,一篇论文有引言,那我就先写一个总篇,简单谈谈对三维GIS的一些想法,以及后续的规划。

    1. 什么是三维GIS

    要回答什么是三维GIS,先要回答什么是GIS。GIS是Geographic Information System的缩写(当然,现在也有人谈Geographic Information Science),中文是地理信息系统,也就是一个面向地理数据的信息系统。

    传统GIS主要针对2D和2.5D的数据,包括矢量、DOM和DEM等。随着计算机技术的发展,自然也慢慢从二维上升到三维。如早期的游戏也都是2D和2.5D的,显卡技术的发展,现在的游戏大作基本都是真三维的场景,毕竟三维场景看着更真实,更贴近人类的视野。

    三维GIS自然就是面向三维地理数据的信息系统。近年来测量技术飞速发展,倾斜摄影的出现极大地减少了大场景重建的时间和费用。机载LiDAR虽然成本比较高,但得益于激光的穿透性,所得到的点云比倾斜摄影更能真实地还原地表的形态。SLAM技术的发展,使得实时重建室内三维模型成为可能。更何况还有BIM数据,其庞大的数据量严峻地考验着GIS平台的承载能力。

    由此可见,三维数据的数据量和数据类型,都正在与日俱增,传统GIS也处在一个变革的时代。二维地图与三维模型有什么关系?地图符号在三维模型中如何表达?空间分析算法如何在三维场景应用?诸如此类问题数不胜数,然而至今尚没有明确的答案。

    当然,这些问题值得探讨,却也不是作者能够解答的。本公众号更多的是探讨现在三维GIS的方法论、目前行业应用中存在的问题,以及可能的解决思路。

    2.三维GIS与计算机视觉

    读者可能会好奇,三维GIS与计算机视觉,明明分属两个学科的两个研究方向,为什么会扯到一起呢?事实上,两者关系非一般的亲密。

    我们知道摄影测量是在飞机上搭载测量相机来拍摄航片,通过POS系统和地面控制点做相机绝对定向,然后可以在两张重叠航片中利用三角测量来获取同名点的三维坐标。其实在计算机视觉里也有这么一套理论,区别在于做视觉的人一般不在乎绝对坐标,只要有相对坐标就够了。

    在早期,计算机视觉叫做机器视觉,顾名思义,其目的在于赋予机器以人类的视觉能力。人类的视觉能力主要是感知和认知。感知说的是你能看到画面,认知是你知道画面中的对象是什么。因而,计算机视觉对坐标不是那么在意,你在路上看到一个人,也不会去想这个人的地理坐标是什么。那为什么视觉也需要三维呢?因为,做视觉的研究者发现,很多问题在二维图像中是有歧义的,而在三维空间中这些难题就迎刃而解。于是,计算机视觉中就有了关于多视点几何(Multi View Geometry)的研究,其基础理论与方法和摄影测量非常相似。从时间上看,摄影测量出现的时间遥遥领先计算机视觉,至于早期视觉的研究者有没有借鉴摄影测量的理论就不得而知。

    近年来,倾斜摄影测量异军突起,各地实景三维建设如火如荼,倾斜摄影模型也成为三维GIS最重要的数据来源之一。倾斜摄影测量可以看成摄影测量与计算机视觉的结合,空三是继承传统摄影测量,而空三中的特征点检测与匹配算法和空三后的多视密集匹配算法,属于计算机视觉里的理论和方法。两个学科各自发展,在某个时间又汇聚在一起,这是偶然也是必然。

    谈到这里,读者应该明白,计算机视觉为三维GIS的实景数据生产提供了理论和方法支撑。没有计算机视觉,就没有倾斜摄影测量,就没有大范围的实景三维模型。

    3.三维GIS与计算机图形学

    计算机视觉和计算机图形学可以说是两个完全相反的学科。前者尝试从图片来重建和理解这个世界,后者希望根据模型和数据来生成以假乱真的图片。我们知道倾斜摄影测量在多视匹配之后会得到密集点云,然后对点云构网、参数化、纹理映射等等,而这些步骤背后的理论和方法其实是属于计算机图形学范畴。

    我们把根据模型生成图像的过程称为渲染,专门用于渲染的软件成为渲染引擎。根据渲染的方式,有实时渲染和离线渲染,前者追求效率,基于光栅化的方法去渲染模型,多用于游戏和其他需要实时交互的三维软件;后者追求质量,基于光线追踪的方法去渲染模型,多用于设计软件出图。在渲染引擎背后提供理论和方法支撑的正是计算机图形学。

    时至今日,全国绝大多数区域都有高精度的倾斜摄影模型。精度高意味着模型的数据量大,海量的三维模型光存储都是问题,更何况渲染呢?这种体量的数据,已经不是优化三维引擎可以解决的,更多的是需要在数据上花功夫,如何在保持数据精度、视觉效果不变的情况下,降低数据量以提高渲染效率?三维数据包括几何和纹理,而几何与纹理一直以来都是计算机图形学的核心研究内容之一。作者相信,在海量三维数据的优化方面,计算机图形学必将起到至关重要的作用。

    4.总结与展望

    这是一个总篇,自然不能写太多细节的东西。作者也是一直努力地控制自己,不要在个别问题上过于深入,只是围绕着三维GIS、计算机视觉和计算机图形学三个点,做一些基本的探讨。如果用这三个点组成一个三角形,将来本公众号的更新应该都不会超过这个三角形的范围。

    总篇之后,打算先写几篇关于基于图像的建模(Image Based Modeling)的东西,也就是倾斜摄影测量背后的理论基础。当然,图形建模不局限于倾斜摄影,地面拍的照片能不能建模?室内拍摄的照片能不能建模?当然,考虑到这是公众号,如果堆很多公式,想来可能会吓跑很多人。作者会力求简单地把问题说清楚,并且以实用为主,尽量结合一些开源的项目,加深大家的理解。

    如果您对后续的更新感兴趣,敬请关注、转发,您的关注是我继续坚持下去的动力。

    本文首发于公众号,GIS启示录,欢迎关注!

    http://weixin.qq.com/r/LxyUjNrEiof1rZ7v90k9 (二维码自动识别)

  • 相关阅读:
    ASP.NET Core 介绍和项目解读
    C#性能优化总结
    C# 线程知识--使用Task执行异步操作
    异步编程 In .NET(转载)
    .NET实现WebSocket服务端即时通信实例
    .net core 学习笔记一 Program与Startup
    .net core 自定义中间件
    c# 通过json.net中的JsonConverter进行自定义序列化与反序列化
    c# 通过HttpListener创建HTTP服务
    c# 反射实现模型深拷贝
  • 原文地址:https://www.cnblogs.com/hustshu/p/14757284.html
Copyright © 2011-2022 走看看