“多源信息融合三维可视化平台”的版本间的差异

来自CGTWiki
跳转至:导航搜索
海内外现状
三维平台与传感接入的刚性需求、痛点
第87行: 第87行:
  
 
用户从来不关心你的技术有多牛,他们关心的是你的产品对他们的有用性。
 
用户从来不关心你的技术有多牛,他们关心的是你的产品对他们的有用性。
 +
====监狱系统的需求样例====
  
 
===三维平台的团队优势===
 
===三维平台的团队优势===

2020年8月16日 (日) 16:58的版本

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

平台git

http://git.cgt3d.cn/platform/3dgisplatform.git

数据服务器

用户名:Administrator

密码:1qaz@wsx

数据key:

gN8qSo67MEwf9KOPgg0ATBSb60ebGwUCWKdrPKNH/TAbusqx73iBu5T4kZ1DyLXPwIuVagXoC5d4
vLd6BFpwv6mR3t9Nz1LbMxMUgrH9BznhQCscGZb/F8Wlz8mqtSSUGH/HBcL9ADE+QDW3qPba997T
xB8ErlDKuJ6duqOH6iHul1YLrO8B2lgsysPJu1mG31mWIGR9rCL+omXcTM1hqhFW6EsVXjnOqWHE
nmrRXmLcxsup70ud/PbJ3ML9UxjHkRhlmNBruHEzVvR2eRaTvOjcXs0doDu6nV3TaYYl7ujhzEIa
XTYCXtOmX8UVhWo7ml6o+PZKIH297o5XlxrP1Q==

摄像头信息

rtsp://admin:abc12345@rtsp.cgt3d.cn:8554/h264/ch33/main/av_stream
rtsp://admin:abc12345@rtsp.cgt3d.cn:8554/h264/ch34/main/av_stream
rtsp://admin:abc12345@rtsp.cgt3d.cn:8554/h264/ch36/main/av_stream

当前阶段

只有一张皮,没有切实功能。

需要实验室的投入

  1. 模型投入8万
  2. 数据中间件投入3万
  3. 服务器1万
  4. 4G摄像头2个
  5. 视频服务器1个

资料

CLI封装

文件:Visual C++/CLI从入门到精通.pdf

文件:精通.NET互操作.pdf

平台的软件架构

体系框架

总体框图

界面层

界面层采用微软的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路视频在同一模型上的加载
  • 服务器选用海康威视的服务器
  • 使用blender进行视频模型的矫正


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

重要场所的门禁与报警

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

平台的主要功能:

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

安防与物联网

背景与意义

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

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

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

定义

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

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

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

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

海内外现状

文献:


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


知乎上有关的链接:

平台现状

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

OSGEARTH下的动态投影纹理

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

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

投影纹理效果图


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

具体实现

物联网传感器的接入

室内定位

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

常见室内定位技术

目前常见的室内无线定位技术有:Wi-Fi、蓝牙、红外线、超宽带、RFID、ZigBee和超声波等,各项技术的优势以及缺点将在下图中综合给出。

无线定位技术




主要运营公司

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

温湿度传感器

温湿度传感器是传感器其中的一种,是把空气中的温湿度通过一定检测装置,测量到温湿度后,按一定的规律变换成电信号或其他所需形式的信息输出,用以满足用户需求。

门禁设备

电力行业常见传感器

实时水面渲染

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

基于FFT的大规模海面模拟:http://blog.sina.com.cn/s/blog_15ff6002b0102xnhc.html

湖面仿真

实时云模拟

视点漫游

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


使用方法

现存问题

数据下载

本平台所需数据主要下载自Planet OSM,均为免费数据。

影像数据

影像数据目前包含数个视频,下载来源为https://10.108.59.113/:8443/svn/WPFOSG。

高程数据

高程数据下载自谷歌地图和水经注地图http://www.rivermap.cn的高程数据下载。

矢量数据

矢量数据主要包括全国和数个城市周边的OSM数据,Planet OSM[[3]]提供以下两个下载路径:GeoFabrik[[4]]和BBBike[[5]],其中GeoFabrik[[6]] 提供的是洲级和国家级数据下载,可以根据需求直接在页面进行下载。而BBBike[[7]]提供了一些切割完成的特定区域和全球任意地区的任意形状的地区地图下载,文件大小下载上限为520M,根据需要选择选项,需要提供接收邮箱,待选定区域的数据在线处理结束后将下载链接发送至邮箱,点击链接即可下载。以上所列出的下载方式据提供多种数据格式,由于矢量数据的处理软件为Maperitive要求使用OSM文件,故下载数据时选用了OSM数据。此[[8]]为地图处理软件Maperitive官网,根据页面提示可以立即下载,加压下载文件后打开应用程序文件,按照以下步骤操作。

  1. 1、设定地图区域:

目前Maperitive使用电脑内存来存储地图数据,因此需根据电脑配置和需求来限定地图范围。(我的电脑32G切省级的没有问题,全国地图的话,32G内存依然不够)。一般有两种方式来设定地图区域:

  • (1)打开Maperitive,调整地图显示区域至需要范围,依次点击Map / Set Bounds即可。
  • (2)使用命令行(软件底部),例如:bounds-set 117.04261175,36.6741025754786,117.06649825,36.6808674694984
  1. 2、关闭web map:

打开web map 在切图是会下载在线地图数据,因此速度会非常慢,一般的做法是先将要切的地图数据下载下来,将web map关闭(点击web map前面的黄色五角星即可)。

  1. 3、导入本地地图数据:

依次点击file--》Open Map Source--》选择以下载好的.osm文件,软件开始加载数据,具体时间取决于数据大小。
在加载完成后,会在命令提示区显示完成:当然,Maperitive本身也提供了地图数据下载(Map / Download OSM Data)

  1. 4、修改地图样式:

依次选择 Map / Switch To Rules 来修改地图样式,因为没有什么特殊需要,在这我选择default 。选择后,稍等便可以在下面预览到显示效果。

  1. 5、选择 Tools / Generate Tiles ,Maperitive会根据选择区域大小自己选择zoom范围并开始切图。

如果需要自定义zoom范围,可使用命令行(我将zoom范围设置为1-18): generate-tiles minzoom=1 maxzoom=18在命令提示行提示命令执行情况并返回结果

  1. 6、至此,在Maperitive的安装目录下生成了Tiles文件夹,各地图切片(256X256的png图片)分级的保存在此文件夹下,可以直接移动到所需的文件夹。
  • 注意:下一次切割的文件会覆盖前一次的文件,所以务必将tiles文件夹中的文件挪出,否则将丢失前一次数据!

模型加载

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

添加模型


矢量数据加载

平台中的二维地图数据使用了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层的监控视频流播放

数据保存

目前平台上保存的数据暂时只有蛮有路径,视频路径,模型路径。

  1. 目前存在的问题
  • 视频右键不能播放,还是因为无法获取当前窗口的播放器控件。
  • 模型的场景树右键菜单无效,正在查找原因。
  • 平台启动后会将模型的路径加载到场景树中,目前还是准备在模型场景树的右键菜单中加入加载模型选项,即平台启动时不将之前保存的模型直接加载到osgearth中。
  1. 视频(模型)的保存
  • 视频路径及信息的保存是以xml文件的形式保存的。所以保存流程主要分两部分,一是对xml文件的读写;二是将视频路径及信息存入场景树。
  • xml读写部分通过名为XmlTool类实现。
  • 类中的_isVido和_isModel用来确定查找的类型是视频还是模型。由于xml文件只能一层一层查找,所以指定查找的目标可以更方便查找路径。
  • 类中FindPath方法用来寻找某条路径,GetAllPath 获取全部路径及信息,并存入xmlTools._vidoDataList中。eletePath 删除路径。AddVidoElement 添加视频路径,AddModelElement 添加模型路径。
            xmlTools.AddModelElement(XmlTools._isModel, "modelx2", "jk2", "11.2", "22.3", "33.5");//向xml添加模型路径及信息
            xmlTools.FindPath(XmlTools._isModel, "modelx2");//查找某条路径
            Console.WriteLine(xmlTools.tempData.name);//查找的结果在tempdata中,这里存储的是一条路径。在GetAllPath中_vidoDataList存储所有查询结果。
            Console.WriteLine(xmlTools.tempData.path);
            Console.WriteLine(xmlTools.tempData.window);
            Console.WriteLine(xmlTools.tempData.video_lat);
            Console.WriteLine(xmlTools.tempData.video_lon);
            Console.WriteLine(xmlTools.tempData.video_altitude);
            Console.WriteLine(xmlTools.tempData.video_width);
            Console.WriteLine(xmlTools.tempData.video_height); 

倾斜摄影设置说明

ftp地址:ftp://cgt3d.cn/
1.下载ftp "倾斜摄影" 文件夹中的所有压缩包和load.exe
2.随便点一个压缩包,直接解压到E盘
3.将文件夹名字 (新建文件夹(2) )改成 qingxiesheying
(最后文件夹的层次结构应该是这样的:E:\qingxiesheying\Production_osgb )
4.运行load.exe ,输入下面内容,回车,若能显示出倾斜摄影模型则表示osgb文件生成成功。
E:/qingxiesheying/Production_osgb

平台安装说明

安装包下载

ftp://cgt3d.cn/%C6%BD%CC%A8%B0%B2%D7%B0%B0%FC/

基本打包步骤

Advanced installer

打包平台使用的是advanced installer,advanced installer是一款非常实用的Windows软件安装程序制作工具,可用于制作MSI、EXE等软件安装包,用户只需添加文件,修改名称,添加按钮,非常的专业实用。

1.打开advanced installer后,选择通用模板下的安装程序项目(专业版),在下方选项中勾选使用向导来创建项目,语言选择简体中文。然后单击创建项目。

打包图1.png

2.在弹出的对话框中填入自定义的程序名称和组织(公司)名称,然后下一步。

打包图2.png

3.勾选exe安装文件,也可意识用msi安装文件,看个人。继续下一步。

打包图3.png

4.这里是否勾选看个人。继续下一步。

打包图4.png

5.输入项目保存的路径,这里是打包项目的路径,不是平台的路径。项目输出文件中存放的是最终的exe可执行文件。

打包图5.png

6.单击浏览,选择平台的release文件夹。勾选同步文件夹,用来自动更新平台文件内容。继续下一步。

打包图6.png

7.勾选WPFOSGMDI.exe,这个文件是平台的启动文件。勾选下面两个关于创建快捷方式的选项。继续下一步。

打包图7.png

8.这里看具体需求,可以直接下一步。

打包图8.png

9.这里安装形式可根据需求选择,继续下一步。

打包图9.png

10.勾选简体中文,继续下一步。

打包图10.png

11.这里是安装程序展示协议文本的地方,根据需求选择。继续下一步。

打包图11.png

12.单击完成,等待构建项目。
13.在产品详细信息中可以自定义应用程序的图标,以及各种具体信息等。

打包图13.png

14.由于平台的运行需要.net的支持,所以要在在运行环境中勾选 .NET Framework 4.7.2,advanced installer会自动下载.net安装文件。

打包图14-1.png

15.单击环境变量标签,在右边空白处右键选择新建变量,名称选择Path,这里是Windows的系统环境变量,对应值为平台的文件夹,
这里示例用的是include文件夹,前面的[APPDIR]在advanced installer中代表的是安装后平台的根目录,在[APPDIR]后面跟上对应的目录即可。

打包图15-1.png
打包图15-2.png

16.在所有操作之后,点击构建,即可生成exe安装文件,单击打开输出文件夹,这里面存放输出的exe文件。

打包图16.png

主要参与人员

平台框架:邢树军

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

界面美化:孙默涵 王卓文

视点漫游:张泷 孙默涵

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

输入框控件:陈莹莹

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

打包安装:张泷