多源信息融合三维可视化平台

来自CGTWiki
Tanchengming讨论 | 贡献2020年1月6日 (一) 10:32的版本 室内定位
跳转至:导航搜索
多源信息融合三维可视化平台

平台的软件架构

界面层:

界面层采用微软的WPF技术,WPF拥有以下几大优势:

  • XAML的引入,使得美工和程序可以实现分离,使得定制化主题/外观/行为更加方便也易于维护;
  • 强大的 “数据绑定”功能,使得MVVM得以实现,成为“属性驱动”,而非WinForm的“事件驱动”;属性的更改可以自动获得,甚至动过转换器触发各种展示/行为的变更;
  • 绚丽的展示效果,WPF(Windows Presentation Fundation)顾名思义其强大的图形化API为程序提供了超乎想象的图形效果;

引擎层

OSGEARTH

大场景的三维实时渲染引擎采用osgearth,其官网为osgearth

osgEarth是基于三维引擎osg开发的三维数字地球引擎库,在osg基础上实现了瓦片调度插件,可选的四叉树调度插件,更多的地理数据加载插件(包括GDAL,ogr,WMS,TMS,VPB,filesystem等),再结合一套地理投影转换插件,这样就能够实现高效处理加载调度地理数据在三维地球上的显示,实现三维虚拟地球。

osgEarth的特点:

  1. 支持加载常见的栅格数据(影像和DEM),但是大数据必须建立金字塔,设置为地理投影,想要高效率最好处理为瓦片,这样也便于部署在服务端。
  2. 矢量数据,最好尽可能的简化,因为大的矢量会十分影响渲染速度,当然也可以对矢量栅格化处理加快速度.
  3. 大数据量模型一定要做LOD或者pageLod。

osgEarth的优点:

  1. 快速加载地理信息数据
  2. 编辑语言为C++,渲染效率高

UNITY3D

Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。

Unity 最初于2005年在苹果公司的全球开发者大会上对外公布并开放使用,当时只是一款面向 OS X 平台的游戏引擎。时至2018年,该引擎所支持的研发平台已经达到27个。

Unity的优点:

  1. 工具插件齐全,小场景开发速度快,光影效果好
  2. C#语言开发,易于集成

平台的刚需与团队优势

三维平台与传感接入的刚性需求、痛点

一个产品应当找到他的应用场景,解决客户的刚性需求。只能通过不断地调研解决问题。

三维平台的团队优势

  1. 工程硕士占大多数,没有论文压力,可一年内全身心的投入平台建设。(这可能是主观愿望,也不一定是真正的优势)

平台研发的近期目标

2019年12月底至2020年9月初

视频的拼接与融合

  • N路视频在同一模型上的加载
  • 服务器选用海康威视的服务器

人员,车辆等的室内室外定位

重要场所的门禁与报警

设备台账、实时数据的接入

平台的主要功能:

三维场景下大规模视频的拼接与融合

背景与意义

  随着视频监控联网系统的不断普及和发展, 网络摄像机 更多的应用于监控系统中,尤其是高清时代的来临,更加快了网络摄像机的发展和应用。

  中投顾问调研数据表示,截止2017年,我国摄像机覆盖密度相对美国和英国等发达国家仍然较低,美国平均每千人配备约96台监控摄像机,英国平均每千人配备约75台监控摄像机,我国摄像头密度位居前列的北京每千人约配备59台监控设备,而紧随其后的杭州、上海等地每千人配备的摄像头数目约40左右, 随着我国雪亮工程、新型平安城市建设的发展和推进,视频监控未来在我国会有更快速的建设过程,摄像机市场呈现出巨大的增长空间。

  在监控摄像机数量的不断庞大的同时,在监控系统中面临着严峻的现状问题:海量视频分散、孤立、视角不完整、位置不明确等问题,始终围绕着使用者。因此,如何更直观、更明确的管理摄像机和掌控视频动态,已成为提升视频应用价值的重要话题。三维视频融合技术,面向安防视频监控领域,正是从解决此现状问题的角度,应运而生。围绕如何提高、管理和有效利用前端设备采集的海量信息为公共安全服务,特别是在技术融合大趋势下,如何结合当前先进的视频融合,虚实融合、三维动态等技术,实现三维场景实时动态可视化监控,更有效的识别、分析、挖掘海量数据的有效信息服务公共应用,已成为视频监控平台可视化发展的趋势和方向。

定义

  视频融合技术是虚拟现实技术的一个分支,或者说是虚拟现实的一个发展阶段。三维视频融合技术指把一个或多个由摄像机图像序列视频和与之相关的三维虚拟场景加以匹配和融合,生成一个新的关于此场景的动态虚拟场景或模型,实现虚拟场景与实时视频的融合,即:虚实结合。

  三维视频融合技术,可依托于单独的三维引擎,实现小范围或局部的三维场景与视频等资源的融合应用,也可依托于三维地理信息系统(3D GIS),实现全球广域范围内的三维地理信息可视化融合应用。

  基于单独三维引擎的视频融合相比于三维地理信息系统视频融合,受限于应用范围,不能形成全城、全国或更大范围的三维可视化应用平台。同时,在三维可视化数据挖掘和处理上,基于三维地理信息的视频融合技术,具有天然的时间和空间优势。通过内置的国际化统一标准的经度、纬度、海拔等地理信息坐标体系,实现三维可视化视频融合平台的精准定位和时空动态分析,提升视频分析及人工智能应用价值。

  虽然三维理信息系统有很多的优点,但三维地理信息系统为了追求高速渲染,而牺牲了渲染质量,尤其对小场景的渲染。

海内外现状

文献:


现在市场上做视频拼接的公司有如下:


知乎上有关的链接:

平台现状

只能接入视频,融合可做,但未见效果。

OSGEARTH下的动态投影纹理

OSGEARTH下shader的加载
投影纹理的基础知识

投影纹理映射用于映射一个纹理到物体上,好比将幻灯片投影到墙上一样。效果图如下:

投影纹理效果图


实现的原理是设置另一台相机(投影仪),额外进行一次MVP变换,在这一次的MVP变换时将VP矩阵设置成投影仪的VP矩阵,这样一来可以获得各个顶点在投影仪的裁剪空间中的坐标,然后将这个坐标映射到UV坐标,再绑定纹理即可实现投影纹理的效果。

具体实现

物联网传感器的接入

室内定位

室内定位是指在室内环境中实现位置定位,一般采用无线通讯、基站定位、惯导定位等多种技术集成形成一套室内定位体系,从而实现人员、物体等在室内空间中的实时位置监控。

常见室内定位技术

除通讯网络的蜂窝定位技术外,常见的室内无线定位技术还有:Wi-Fi、蓝牙、红外线、超宽带、RFID、ZigBee和超声波等。

1 Wi-Fi技术

通过无线接入点(包括无线路由器)组成的无线局域网络(WLAN),可以实现复杂环境中的定位、监测和追踪任务。它以网络节点(无线接入点)的位置信息为基础和前提,采用经验测试和信号传播模型相结合的方式,对已接入的移动设备进行位置定位,最高精确度大约在1米至20米之间。如果定位测算仅基于当前连接的Wi-Fi接入点,而不是参照周边Wi-Fi的信号强度合成图,则Wi-Fi定位就很容易存在误差(例如:定位楼层错误)。 另外,Wi-Fi接入点通常都只能覆盖半径90米左右的区域,而且很容易受到其他信号的干扰,从而影响其精度,定位器的能耗也较高。

2 蓝牙技术

蓝牙通讯是一种短距离低功耗的无线传输技术,在室内安装适当的蓝牙局域网接入点后,将网络配置成基于多用户的基础网络连接模式,并保证蓝牙局域网接入点始终是这个微网络的主设备。这样通过检测信号强度就可以获得用户的位置信息。 蓝牙定位主要应用于小范围定位,例如:单层大厅或仓库。对于持有集成了蓝牙功能移动终端设备,只要设备的蓝牙功能开启,蓝牙室内定位系统就能够对其进行位置判断。 不过,对于复杂的空间环境,蓝牙定位系统的稳定性稍差,受噪声信号干扰大。

3 红外线技术

红外线技术室内定位是通过安装在室内的光学传感器,接收各移动设备(红外线IR标识)发射调制的红外射线进行定位,具有相对较高的室内定位精度。 但是,由于光线不能穿过障碍物,使得红外射线仅能视距传播,容易受其他灯光干扰,并且红外线的传输距离较短,使其室内定位的效果很差。当移动设备放置在口袋里或者被墙壁遮挡时,就不能正常工作,需要在每个房间、走廊安装接收天线,导致总体造价较高。

4 超宽带技术

超宽带技术与传统通信技术的定位方法有较大差异,它不需要使用传统通信体制中的载波,而是通过发送和接收具有纳秒或纳秒级以下的极窄脉冲来传输数据,可用于室内精确定位,例如:战场士兵的位置发现、机器人运动跟踪等。 超宽带系统与传统的窄带系统相比,具有穿透力强、功耗低、抗多径效果好、安全性高、系统复杂度低、能够提高精确定位精度等优点,通常用于室内移动物体的定位跟踪或导航。

5 RFID技术

RFID定位技术利用射频方式进行非接触式双向通信交换数据,实现移动设备识别和定位的目的。它可以在几毫秒内得到厘米级定位精度的信息,且传输范围大、成本较低;不过,由于以下问题未能解决,以RFID定位技术的适用范围受到局限。 1. RFID不便于整合到移动设备之中 2. 作用距离短(一般最长为几十米) 3. 用户的安全隐私保护 4. 国际标准化

6 ZigBee技术

ZigBee是一种短距离、低速率的无线网络技术。它介于RFID和蓝牙之间,可以通过传感器之间的相互协调通信进行设备的位置定位。这些传感器只需要很少的能量,以接力的方式通过无线电波将数据从一个传感器传到另一个传感器,所以ZigBee最显著的技术特点是它的低功耗和低成本。

7 超声波技术

超声波定位主要采用反射式测距(发射超声波并接收由被测物产生的回波后,根据回波与发射波的时间差计算出两者之间的距离),并通过三角定位等算法确定物体的位置。 超声波定位整体定位精度较高、系统结构简单,但容易受多径效应和非视距传播的影响,降低定位精度;同时,它还需要大量的底层硬件设施投资,总体成本较高。

8 视觉定位

用手机摄像头或双目摄像头拍摄周边画面,并和已经预先储存的环境图像进行匹配,确定自己的位置。定位精度小于米,优点是可以直接用手机定位,不需要在室内部署基础设施。缺点是技术不成熟,稳定性不高,图像处理耗费大量和电量资源,定位操作方式怪异,用户体验不好,理论上有不可避免的问题,例如在环境单一的长走廊或类似场景中,仅靠机器视觉是难以准确定位的。

9 惯性导航技术

这是一种纯客户端的技术,主要利用终端惯性传感器采集的运动数据,如加速度传感器、陀螺仪等测量物体的速度、方向、加速度等信息,基于航位推测法,经过各种运算得到物体的位置信息。随着行走时间增加,惯性导航定位的误差也在不断累积。需要外界更高精度的数据源对其进行校准。所以现在惯性导航一般和WiFi指纹结合在一起,每过一段时间通过WiFi请求室内位置,以此来对MEMS产生的误差进行修正。该技术目前的商用得也比较成熟,在扫地机器人中得到广泛应用。

10 LED可见光技术

可见光是一个新兴领域,通过对每个LED灯进行编码,将ID调制在灯光上,灯会不断发射自己的ID,通过利用手机的前置摄像头来识别这些编码。利用所获取的识别信息在地图数据库中确定对应的位置信息,完成定位。根据灯光到达的角度进一步细化定位的结果,高通公司做到了厘米级定位精度。由于不需要额外部署基础设施,终端数量的扩大对性能没有任何的影响,并且可以达到一个非常高的精度,该技术被高通公司所看好。目前,可见光技术在北美有很多商场已经在部署。用户下载应用后,到达商场里的某一个货架,通过检测货架周围的灯光即可知晓具体位置,商家在通过这样的方法向消费者推动商品的折扣等信息。

主要运营公司

室内定位技术主要分基站定位和惯导定位两种服务商。基站定位服务商主要有:谷歌、诺基亚、TI、苹果、高德、百度等采用WIFI定位;惯导定位服务商主要有:美国的NAVISEER,龙旗瑞谱科技,上海消防研究所。商用技术基本采用WIFI,RFID等无线通讯基站方案,针对应急救援主要采用惯性导航等技术方案。目前国内的几家设备公司例如蜂鸟视图(https://www.fengmap.com/solution-business.html)、万位科技(https://www.wanwaytech.com/qiye/)提供无线和有线多种设备,可利用GPS+北斗+WIFI+基站进行定位,蜂鸟视图提供Android、IOS、JAVAScript SDK支持,无线设备多为盒状物体,可续航数年产品报价与需求量有关,目前尚不可获得报价。也有APP例如寻鹿、万汇等软件,但只能提供特定城市的特定区域定位导航。

温湿度传感器

门禁设备

电力行业常见传感器

实时水面渲染

平台海洋实时渲染采用的是SUNDOG公司triton插件。


海浪仿真

国内外很多专家学者针对海浪仿真做了大量的研究工,随着人们对海浪的深入研究,海浪建模已取得了较大突破,目前对海面波浪进行建模可以分为基于物理模型的方法基于几何模型的方法基于谱分析的方法以及基于粒子系统的方法

===1 基于几何模型===

基于几何模型的方法是从海面波浪的几何形状出发,通过构造一定的数学函数,人为设置海浪参数,模拟一个近似真实的海洋表面。常用的有G-R模型法。Gersmer-Rankine模型描述海洋表面水粒子的运动规律,自由表面中的每一个水粒子沿着其静止位置点做圆形或椭圆形运动,其运动轨迹可以看成是由半径为1/ k的圆上距离圆心为r的一个点P,沿X轴下方距离1/k的直线滚动得到的。G-R模型是一个在水平和垂直方向上的单正弦波,因此构建和表现的海面真实感较差,因此在G-R模型的基础上可进行一些改进,如将一高频随机小振幅波,作为背景添加到场景中,使其不影响整个海浪波形,同时又增加海面的随机性、复杂性,或者采用三至五个正弦波进行叠加得到的波生成海面,增加波形的变化等。
基于几何模型的方法适合模拟大面积海面,没有大量的复杂计算,实时性较好,但缺点是生成的海浪表面真实感较差[1-4]

===2 基于谱分析===

谱在数学上定义为随机序列任意两点相关函数的傅立叶变换,海浪谱是功率谱,代表海浪能量相对于组成波的频率分布。由于海浪谱反映出能量密度,故称为频谱。海浪的频谱描述就是作为随机过程的海浪中的能量分布相对于组成波的频率分布。可以根据频谱得到余弦波的振幅与其频率之间的关系。
基于谱分析的方法是从海洋观测的结果出发,采用适当的海浪谱方法模拟海面波浪,如采用大量正弦波的叠加来模拟海面,通过快速傅里叶变换(FFT)合成一个类似海浪谱分布的高度场,并利用该高度场对水面进行模拟。这种方法具有很强的灵活性,并且由于它的数据基础来自于海洋统计学模型,因此渲染出来的水面真实感较强。但是缺点是采用规则网格,数据量大,很难实时渲染水面[5-8]

===3 基于粒子系统===

基于粒子系统的方法主要用于对由波破碎和与障碍物相碰引起的水沫和飞沫建模。这种方法能生成真实感很强的泡沫和飞沫,但需要在真实感和实时性两个方面进行综合考虑,如粒子模型构造太简单、粒子数太少,表现的对象真实感就较差,如粒子模型复杂、粒子数过多,计算量就较大,难以实时进行表现[9-11]

===4 基于物理模型===

基于物理模型的建模,是针对液体的波动,从海面波浪的物理特性出发,不直接模拟海浪的运动,通过计算力学N-S方程获得海浪内部各质点的运动状态,用该方法模拟的波形充分地考虑了海浪运动的随机性,能更好、更真实地反映海浪形态各个要素的变化,同时也能较充分地反映海浪的成长特性及能量分布[12-16]

参考文献:

[1] Blinn J F. Simulation of wrinkled surfaces[J]. Computer Graphics,1978, 12(3):286-292.

[2] Fishman B, Schachter B. Computer display of height fields[J]. Computer Graphic,1980,14(5):53-60.

[3] Max N L. Vectorized procedural models for natural terrain: waves and islands in the sunset[J]. Computer Graphics, 1981, 15(3):317-324.

[4] Rankine W J W. On the exact form of waves near the surfaces of deep water[J]. Phil. Trans. R. Soc. A, 1863, 153(4):127–138.

[5] Tessendorf. Simulating ocean water[EB/OL]. http://home.gte.net/tssndrf/index.html, 2001.

[6]Jensen. Deep-water animation and rendering[EB/OL]. http://www.gamasutra.com/

gdce/Jensen/Jensen_01.html, 2001.

[7] Deviprasad T,Kesavadas T. Virtual Prototyping of Assembly Components Using Process Modeling[J]. Journal of Manufacturing Systems, 2003, 22(1):16-27.

[8] 熊艳飞, 石志广, 郭建, et al. 基于海浪谱模型和 FFT 的海面建模[J]. 重庆理工大学学报(自然科学), 2014, 28(4):77-82.

[9] Reeves W T, L Ltd. Particle system—a technique for modeling a class of fuzzy objects[J]. Computer Graphics, 1983, 17(3):359-376.

[10] Peachey D R. Modeling waves and surf[J]. Computer Graphics, 1986, 20(4):65-74.

[11] 张艺衡, 李晓峰, 刘小玲, et al. 基于GPU粒子系统的可交互水波实时模拟[J]. 计算机工程与设计, 2014, 35(8):2831–2835.

[12] Chen J X, Lobo N V. Toward interactive-rate simulation of fluids with moving obstacles using Navier-Stokes equations[J]. Graph Models Image Process, 1995, 57(2):107-116.

[13]Foster N, Metaxas D. Modeling water for computer animation[J]. Communications of the ACM, 2000, 43(7):60-67.

[14] Kass M, Miller G. Rapid, stable fluid dynamics for computer graphics[J]. ACM SIGGRAPH Computer Graphics, 1990, 24(4):49-57.

[15] Chentanez N, Müller M. Real-time Eulerian water simulation using a restricted tall cell grid[J]. ACM Transactions on Graphics, 2011, 30(4):82-93.

[16] 刘文龙, 张静. 用MC算法优化基于 SPH的海浪粒子模型[J]. 海洋技术学报, 2017, 36(2):41-45.

湖面仿真

实时云模拟

视点漫游

视点包含六个参数:lon(经度),lat(纬度),altitude(海拔),heading(水平方位角),pitch(垂直俯仰角),range(可视范围) 点击界面上方选择路径按钮,自行添加视点信息,可控制飞行时间停留时间等信息,并将所生成的漫游路径存入本地Xml文件中。 目前可通过直接读取本地文件进行漫游也可自行添加新路径进行漫游。


使用方法

现存问题

数据下载

本平台所需数据下载自谷歌地图,水经注地图和Planet OSM,均为免费数据。

影像数据

影像数据目前包含数个视频,下载来源为SVN。

高程数据

高程数据下载自谷歌地图和水经注地图的高程数据下载。

矢量数据

矢量数据主要包括全国和几个市周边的OSM数据,Planet OSM提供以下两个下载路径:https://planet.osm.org/,其中http://download.geofabrik.de 提供的是洲级和国家级数据下载,可以直接再页面进行下载。而https://download.bbbike.org/osm 提供了一些切割完成的特定区域和全球任意地区的任意形状的地区地图下载,文件大小下载上限为520M,此网站需要提供邮箱,待选定区域的数据在线处理结束后将下载链接发送至邮箱,点击链接即可下载。以上所列出的下载方式据提供多种数据格式,由于矢量数据的处理软件为Maperitive,故下载数据时选用了OSM数据。

模型加载

可以将三维模型添加到大场景中。
添加界面如下图所示,用户输入模型文件的路径,设置模型的名字以及海拔经纬度,就可以将该模型添加到指定的经纬度上。

添加模型


矢量数据加载

平台中的二维地图数据使用了Maperitive地图软件处理下载自Planet OSM的全国和部分城市地区的OSM数据地图并进行瓦片的制作,以此来实现地域和地理信息显示的快速加载,摒弃了之前的全矢量数据,解决了数据加载过慢引起的各种问题。其次,采用叠加方式加载了全国10层和北京/深圳/菏泽等城市及周边地区的18层二维地图瓦片数据,数据格式使用切割工具默认格式,格式设置代码如下:

        properties
	map-background-color	: #F1EEE8
	map-background-opacity	: 0
	map-sea-color : #B5D0D0
	font-weight : bold
	font-family : Verdana
	text-max-width : 7
	text-halo-width : 25%
	text-halo-opacity : 0.75
	text-align-horizontal : center
	text-align-vertical : center
	font-stretch : 0.9
	map.rendering.lflp.min-buffer-space : 5
	map.rendering.lflp.max-allowed-corner-angle : 40
        

小场景

小场景按规划路线自动漫游和第一人称手动漫游+“后续”监控视频流播放 单场景漫游:

OSG小场景_学校

多场景漫游及监控视频流播放:

OSG小场景_场景选择界面
OSG小场景_全局照明房间
OSG小场景_公寓_固定位置的视频流播放
OSG小场景_公寓_UI层的监控视频流播放

平台安装说明

主要参与人员

平台框架:邢树军

视频加载、拼接、融合:代清 黄冠瑞

界面美化:孙默涵 王卓文

视点漫游:张泷 孙默涵

数据准备与矢量加载:谭丞鸣

输入框控件:陈莹莹

小场景:郑健平 沈圣 管延鑫

打包安装:张泷