CN118474421B - 一种基于WebGL的三维视频融合方法及系统 - Google Patents
一种基于WebGL的三维视频融合方法及系统 Download PDFInfo
- Publication number
- CN118474421B CN118474421B CN202410690031.8A CN202410690031A CN118474421B CN 118474421 B CN118474421 B CN 118474421B CN 202410690031 A CN202410690031 A CN 202410690031A CN 118474421 B CN118474421 B CN 118474421B
- Authority
- CN
- China
- Prior art keywords
- webgl
- user
- dimensional
- video fusion
- graphics
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000007500 overflow downdraw method Methods 0.000 title claims abstract description 13
- 230000004927 fusion Effects 0.000 claims abstract description 60
- 238000009877 rendering Methods 0.000 claims abstract description 21
- 239000012634 fragment Substances 0.000 claims abstract description 12
- 230000009466 transformation Effects 0.000 claims abstract description 8
- 238000012360 testing method Methods 0.000 claims abstract description 7
- 238000013507 mapping Methods 0.000 claims description 21
- 230000000694 effects Effects 0.000 claims description 10
- 238000000034 method Methods 0.000 claims description 10
- 238000004422 calculation algorithm Methods 0.000 claims description 7
- 239000011159 matrix material Substances 0.000 claims description 7
- ATJFFYVFTNAWJD-UHFFFAOYSA-N Tin Chemical compound [Sn] ATJFFYVFTNAWJD-UHFFFAOYSA-N 0.000 claims description 6
- 229910052792 caesium Inorganic materials 0.000 claims description 4
- TVFDJXOCXUVLDH-UHFFFAOYSA-N caesium atom Chemical compound [Cs] TVFDJXOCXUVLDH-UHFFFAOYSA-N 0.000 claims description 4
- 238000004458 analytical method Methods 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000012937 correction Methods 0.000 claims description 3
- 238000012544 monitoring process Methods 0.000 claims description 3
- 238000005070 sampling Methods 0.000 claims description 3
- 238000012163 sequencing technique Methods 0.000 abstract 1
- 230000006870 function Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/7715—Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/80—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/23424—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/816—Monomedia components thereof involving special video data, e.g 3D video
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Computer Graphics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Geometry (AREA)
- Business, Economics & Management (AREA)
- Marketing (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种基于WebGL的三维视频融合方法,用户发送对于最终在Web端渲染三维模型的需求数据,所述三维视频融合平台基于用户的需求数据向用户推送可以达到用户需求的多个WebGL框架,并按照实现用户需求的开销对推送的多个WebGL框架进行排序所述WebGL的三维视频融合平台选择排序中的第一个框架进行视频融合,对提交的待融合的影像数据中的图形顶点坐标的进行获取,根据选择WebGL框架进行图元的装配以及光栅化,将携带大量信息的顶点坐标数据并将其存入到缓存当中,然后通过顶点着色器对顶点数据进行坐标变换,再传递给下一个阶段进行图元装配,组装为几何图形,再经过光栅化后将图元转化为许多小片段,最后通过片元着色器渲染、深度测试实现图形的绘制。
Description
技术领域
本发明涉及图像处理中的视频融合技术领域,具体为一种基于WebGL的三维视频融合方法及系统。
背景技术
WebGL(Web Graphics Library)是网页端的三维绘图标准,基于 OpenGL ES技术,可以通过编写 JavaScript 代码在浏览器中展示三维图形。然而利用WebGL 进行三维图像的展示对开发者要求较高,需要从底层设置着色器和矩阵变换等算法代码,从而构建三维场景,难度较大,因此出现了封装的 WebGL 框架库,简化了开发的过程,降低了开发难度。
现有技术中存在一种根据用户提交的数据进行三维场景构建的平台,但采用的方法较为单一且对平台系统的负载较高,并且每种WebGL框架实现不同用户需求进行三维视频融合对于系统硬件的开销是不同的,如何减小平台系统的开销是一个亟待解决的问题。
发明内容
本发明的目的在于提供一种基于WebGL的三维视频融合方法,应用于服务器端,所述三维视频融合方法包括如下步骤:
步骤1,构建基于WebGL的三维视频融合平台,所述平台接收用户的三维视频融合任务,用户首先发送对于最终在Web 端渲染三维模型的需求数据,所述三维视频融合平台基于用户的需求数据向用户推送可以达到用户需求的多个WebGL框架,并按照实现用户需求的开销对推送的多个WebGL框架进行排序,其中,所述需求数据包括影像投影到在三维场景视锥体的范围;
步骤2,接收用户提交的待融合的影像数据,对用户提交的提交的待融合的影像数据进行特征识别,判断识别到的特定种类的对象数量是否达到第一预设值,当识别到的所述特定种类的对象数量超过第一预设值时,判断用户构建的三维视频融合模型可能需要GIS图层加载和地理空间坐标系映射,所述三维视频融合平台向用户发送问询请求,问询是否需要对地理空间信息进行处理,并是否需要补充提交数据,若问询结果为是,则去除不能对地理空间信息进行编辑的WebGL框架;
步骤3,检查所述影像数据的质量和完整性,判断所述视锥体的投影角度是否小于第二预设值,当小于第二预设值时,则重新调整推送的多个WebGL框架的顺序,去除不能对视频投影面进行裁剪的WebGL框架;
步骤4,所述WebGL的三维视频融合平台选择排序中的第一个框架进行视频融合,对提交的待融合的影像数据中的图形顶点坐标的进行获取,根据选择WebGL框架进行图元的装配以及光栅化,将携带大量信息的顶点坐标数据并将其存入到缓存当中,然后通过顶点着色器对顶点数据进行坐标变换,再传递给下一个阶段进行图元装配,组装为几何图形,再经过光栅化后将图元转化为许多小片段,最后通过片元着色器渲染、深度测试实现图形的绘制。
更进一步地,所述特定种类的对象包括建筑楼体、车辆、道路。
更进一步地,所述多个WebGL框架包括Cesium、Google Earth Web、Three.js以及Babylon.js。
更进一步地,所述步骤3进一步包括:比较多个WebGL框架视频投影面进行裁剪,去除变形较大的区域的开销,裁剪利用绘制多边形进行,按顺序输入多边形的节点,形成闭合的裁剪面,接着将原图像与裁剪面进行叠加分析,裁切掉裁剪面外的部分,保留裁剪面内的影像,根据比较结果调整推送的多个WebGL框架的顺序。
更进一步地,所述比较多个WebGL框架视频投影面进行裁剪,去除变形较大的区域的开销进一步包括:首先将视频图像通过投影纹理映射的方式与三维模型进行初步匹配;然后使用 SURF 算法提取三维模型和视频图像的特征点,确定它们之间的对应关系,对视频图像进行 Delaunay 三角剖分,以便对视频图像进行纹理校正;其次利用拉普拉斯网格形变算法调整视频图像纹理,并对三角网格进行变形,以纠正畸变的纹理,从而实现三维模型和视频图像的融合;最后通过对系统监控计算出系统的开销以及渲染效率。
更进一步地,所述步骤4进一步包括:在进行三维图形绘制之前向用户告知所采用的WebGL框架,并提供基于该WebGL框架生成的效果展示内容,用户在接收到所述效果展示内容后可以选择接受该WebGL框架,或者选择预设框架进行生成。
更进一步地,当选择预设框架进行生成时,首先将有限点集划分为相等的三角面网络,并将其连接形成大范围的 TIN 网格,对于不同的地物提取不同的特征点数,通过预设框架中的Context Capture模块对模型进行多次构建,使生成的模型不断优化,能真实表达所述影像数据中的对象特征;然后将影像中提取的信息映射到模型对应的位置上,为TIN网格中每个三角面片贴上相应纹理,生成真实的三维模型,保证三维模型与现实场景一致,通过3D StudioMax 软件对三维模型进行了优化,再对格式进行转化,生成可直接在 Web端进行加载的3D格式,实现在 Web 端渲染一个大数据量的三维模型。
更进一步地,所述预设框架通过计算投影矩阵 P来进行投影纹理映射,将三维坐标转换为投影平面坐标,接着根据非齐次坐标系中的坐标计算纹理映射坐标,最后进行纹理采样,将纹理映射应用于三角形的像素中,得到最终的渲染结果,其中,所述投影矩阵 P的计算公式:
其中,q为相机视锥体的观测角度,aspect 为相机视锥体的宽高比,n 和 f 表示近平面和远平面的距离。
本发明还公开了一种基于WebGL的三维视频融合系统,所述三维视频融合系统包括如下模块:
基于WebGL的三维视频融合平台,所述平台接收用户的三维视频融合任务,用户首先发送对于最终在Web 端渲染三维模型的需求数据,所述三维视频融合平台基于用户的需求数据向用户推送可以达到用户需求的多个WebGL框架,并按照实现用户需求的开销对推送的多个WebGL框架进行排序,其中,所述需求数据包括影像投影到在三维场景视锥体的范围;
第一判断单元,接收用户提交的待融合的影像数据,对用户提交的提交的待融合的影像数据进行特征识别,判断识别到的特定种类的对象数量是否达到第一预设值,当识别到的所述特定种类的对象数量超过第一预设值时,判断用户构建的三维视频融合模型可能需要GIS图层加载和地理空间坐标系映射,所述三维视频融合平台向用户发送问询请求,问询是否需要对地理空间信息进行处理,并是否需要补充提交数据,若问询结果为是,则去除不能对地理空间信息进行编辑的WebGL框架;
第二判断单元,检查所述影像数据的质量和完整性,判断所述视锥体的投影角度是否小于第二预设值,当小于第二预设值时,则重新调整推送的多个WebGL框架的顺序,去除不能对视频投影面进行裁剪的WebGL框架;
视频融合单元,所述WebGL的三维视频融合平台选择排序中的第一个框架进行视频融合,对提交的待融合的影像数据中的图形顶点坐标的进行获取,根据选择WebGL框架进行图元的装配以及光栅化,将携带大量信息的顶点坐标数据并将其存入到缓存当中,然后通过顶点着色器对顶点数据进行坐标变换,再传递给下一个阶段进行图元装配,组装为几何图形,再经过光栅化后将图元转化为许多小片段,最后通过片元着色器渲染、深度测试实现图形的绘制。
与现有技术相比,本发明的有益效果是:本发明通过对用户的需求意图行分析,增加了平台与用户之间的交互,通过多重判断的方式对用户提交的视频数据进行相应的WebGL框架的选择,并在选择后,向用户发送与用户提交数据相近的三维场景效果图,实现用户对结果的可预期性,并且在用户不满意的情况下设置了最后的保障框架进行影像融合,虽然预设框架的系统开销较大,但本发明通过对预设框架的优化,实现在尽量小的系统开销下达到最优效果。
附图说明
图1为本发明一种基于WebGL的三维视频融合方法的示意图。
具体实施方式
请参阅图1,本发明提供一种技术方案:一种基于WebGL的三维视频融合方法,应用于服务器端,所述三维视频融合方法包括如下步骤:
步骤1,构建基于WebGL的三维视频融合平台,所述平台接收用户的三维视频融合任务,用户首先发送对于最终在Web 端渲染三维模型的需求数据,所述三维视频融合平台基于用户的需求数据向用户推送可以达到用户需求的多个WebGL框架,并按照实现用户需求的开销对推送的多个WebGL框架进行排序,其中,所述需求数据包括影像投影到在三维场景视锥体的范围;
步骤2,接收用户提交的待融合的影像数据,对用户提交的提交的待融合的影像数据进行特征识别,判断识别到的特定种类的对象数量是否达到第一预设值,当识别到的所述特定种类的对象数量超过第一预设值时,判断用户构建的三维视频融合模型可能需要GIS图层加载和地理空间坐标系映射,所述三维视频融合平台向用户发送问询请求,问询是否需要对地理空间信息进行处理,并是否需要补充提交数据,若问询结果为是,则去除不能对地理空间信息进行编辑的WebGL框架;
步骤3,检查所述影像数据的质量和完整性,判断所述视锥体的投影角度是否小于第二预设值,当小于第二预设值时,则重新调整推送的多个WebGL框架的顺序,去除不能对视频投影面进行裁剪的WebGL框架;
步骤4,所述WebGL的三维视频融合平台选择排序中的第一个框架进行视频融合,对提交的待融合的影像数据中的图形顶点坐标的进行获取,根据选择WebGL框架进行图元的装配以及光栅化,将携带大量信息的顶点坐标数据并将其存入到缓存当中,然后通过顶点着色器对顶点数据进行坐标变换,再传递给下一个阶段进行图元装配,组装为几何图形,再经过光栅化后将图元转化为许多小片段,最后通过片元着色器渲染、深度测试实现图形的绘制。
更进一步地,所述特定种类的对象包括建筑楼体、车辆、道路。
更进一步地,所述多个WebGL框架包括Cesium、Google Earth Web、Three.js以及Babylon.js。
更进一步地,所述步骤3进一步包括:比较多个WebGL框架视频投影面进行裁剪,去除变形较大的区域的开销,裁剪利用绘制多边形进行,按顺序输入多边形的节点,形成闭合的裁剪面,接着将原图像与裁剪面进行叠加分析,裁切掉裁剪面外的部分,保留裁剪面内的影像,根据比较结果调整推送的多个WebGL框架的顺序。
更进一步地,所述比较多个WebGL框架视频投影面进行裁剪,去除变形较大的区域的开销进一步包括:首先将视频图像通过投影纹理映射的方式与三维模型进行初步匹配;然后使用 SURF 算法提取三维模型和视频图像的特征点,确定它们之间的对应关系,对视频图像进行 Delaunay 三角剖分,以便对视频图像进行纹理校正;其次利用拉普拉斯网格形变算法调整视频图像纹理,并对三角网格进行变形,以纠正畸变的纹理,从而实现三维模型和视频图像的融合;最后通过对系统监控计算出系统的开销以及渲染效率。
更进一步地,所述步骤4进一步包括:在进行三维图形绘制之前向用户告知所采用的WebGL框架,并提供基于该WebGL框架生成的效果展示内容,用户在接收到所述效果展示内容后可以选择接受该WebGL框架,或者选择预设框架进行生成。
更进一步地,当选择预设框架进行生成时,首先将有限点集划分为相等的三角面网络,并将其连接形成大范围的 TIN 网格,对于不同的地物提取不同的特征点数,ContextCapture 可以对模型进行多次构建,使生成的模型不断优化,能真实表达所述影像数据中的对象特征;然后将影像中提取的信息映射到模型对应的位置上,为TIN网格中每个三角面片贴上相应纹理,生成真实的三维模型,保证三维模型与现实场景一致,通过3DStudioMax 软件对三维模型进行了优化,再对格式进行转化,生成可直接在 Web 端进行加载的3D格式,实现在 Web 端渲染一个大数据量的三维模型。
更进一步地,所述预设框架通过计算投影矩阵 P来进行投影纹理映射,将三维坐标转换为投影平面坐标,接着根据非齐次坐标系中的坐标计算纹理映射坐标,最后进行纹理采样,将纹理映射应用于三角形的像素中,得到最终的渲染结果,其中,所述投影矩阵 P的计算公式:
其中,q为相机视锥体的观测角度,aspect 为相机视锥体的宽高比,n 和 f 表示近平面和远平面的距离。
本发明还公开了一种基于WebGL的三维视频融合系统,所述三维视频融合系统包括如下模块:
基于WebGL的三维视频融合平台,所述平台接收用户的三维视频融合任务,用户首先发送对于最终在Web 端渲染三维模型的需求数据,所述三维视频融合平台基于用户的需求数据向用户推送可以达到用户需求的多个WebGL框架,并按照实现用户需求的开销对推送的多个WebGL框架进行排序,其中,所述需求数据包括影像投影到在三维场景视锥体的范围;
第一判断单元,接收用户提交的待融合的影像数据,对用户提交的提交的待融合的影像数据进行特征识别,判断识别到的特定种类的对象数量是否达到第一预设值,当识别到的所述特定种类的对象数量超过第一预设值时,判断用户构建的三维视频融合模型可能需要GIS图层加载和地理空间坐标系映射,所述三维视频融合平台向用户发送问询请求,问询是否需要对地理空间信息进行处理,并是否需要补充提交数据,若问询结果为是,则去除不能对地理空间信息进行编辑的WebGL框架;
第二判断单元,检查所述影像数据的质量和完整性,判断所述视锥体的投影角度是否小于第二预设值,当小于第二预设值时,则重新调整推送的多个WebGL框架的顺序,去除不能对视频投影面进行裁剪的WebGL框架;
视频融合单元,所述WebGL的三维视频融合平台选择排序中的第一个框架进行视频融合,对提交的待融合的影像数据中的图形顶点坐标的进行获取,根据选择WebGL框架进行图元的装配以及光栅化,将携带大量信息的顶点坐标数据并将其存入到缓存当中,然后通过顶点着色器对顶点数据进行坐标变换,再传递给下一个阶段进行图元装配,组装为几何图形,再经过光栅化后将图元转化为许多小片段,最后通过片元着色器渲染、深度测试实现图形的绘制。
在本实施例中,每种WebGL框架实现不同用户需求进行三维视频融合对于系统硬件的开销是不同的,其中,Cesium 是开源的 WebGL 框架,可以通过引用文件包的形式进行调用,不需要安装插件,能够创建出流畅、真实、高精度的三维地球场景,并且支持二维地图与三维场景的切换展示,支持地理信息数据动态可视化,有高性能和高精度的内置方法。
Google Earth Web 是一款功能强大的在线地图服务,具有多种功能,如数据加载、知识卡片、地点探索、3D 环游、搜索和分享等,可以流畅地浏览全球地表。然而,对于普通用户而言,Google Earth Web 的自定义功能是有限的。
Three.js 是一款强大的 JavaScript 三维可视化框架,提供了丰富的光线、纹理等功能,能够极好地呈现三维模型的细节。不过,与 1等功能还未建立。因此,对于 GIS 方面的项目来说,Three.js 的适用性较差。
Babylon.js 相较于其他框架具有以下特点:使用简单,创建三维动画所需代码少;支持抗锯齿、碰撞检测等特性;依赖于第三方类库;学习难度大,需要长时间深入学习与研究;同样也没有提供地理空间信息相关的功能,不适合用于WebGIS开发。
可选地,存储介质还被设置为存储用于执行上述实施例中的方法中所包括的步骤的计算机程序,本实施例中对此不再赘述。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (8)
1.一种基于WebGL的三维视频融合方法,应用于服务器端,其特征在于,所述三维视频融合方法包括如下步骤:
步骤1,构建基于WebGL的三维视频融合平台,所述平台接收用户的三维视频融合任务,用户首先发送对于最终在Web端渲染三维模型的需求数据,所述三维视频融合平台基于用户的需求数据向用户推送可以达到用户需求的多个WebGL框架,并按照实现用户需求的开销对推送的多个WebGL框架进行排序,其中,所述需求数据包括影像投影到在三维场景视锥体的范围;
步骤2,接收用户提交的待融合的影像数据,对用户提交的待融合的影像数据进行特征识别,判断识别到的特定种类的对象数量是否达到第一预设值,当识别到的所述特定种类的对象数量超过第一预设值时,判断用户构建的三维视频融合模型可能需要GIS图层加载和地理空间坐标系映射,所述三维视频融合平台向用户发送问询请求,问询是否需要对地理空间信息进行处理,并是否需要补充提交数据,若问询结果为是,则去除不能对地理空间信息进行编辑的WebGL框架;
步骤3,检查所述影像数据的质量和完整性,判断所述视锥体的投影角度是否小于第二预设值,当小于第二预设值时,则重新调整推送的多个WebGL框架的顺序,去除不能对视频投影面进行裁剪的WebGL框架;
步骤4,所述WebGL的三维视频融合平台选择排序中的第一个框架进行视频融合,对提交的待融合的影像数据中的图形顶点坐标的进行获取,根据选择WebGL框架进行图元的装配以及光栅化,将携带大量信息的顶点坐标数据并将其存入到缓存当中,然后通过顶点着色器对顶点数据进行坐标变换,再传递给下一个阶段进行图元装配,组装为几何图形,再经过光栅化后将图元转化为许多小片段,最后通过片元着色器渲染、深度测试实现图形的绘制;
所述步骤3进一步包括:比较多个WebGL框架视频投影面进行裁剪,去除变形较大的区域的开销,裁剪利用绘制多边形进行,按顺序输入多边形的节点,形成闭合的裁剪面,接着将原图像与裁剪面进行叠加分析,裁切掉裁剪面外的部分,保留裁剪面内的影像,根据比较结果调整推送的多个WebGL框架的顺序;
所述比较多个WebGL框架视频投影面进行裁剪,去除变形较大的区域的开销进一步包括:首先将视频图像通过投影纹理映射的方式与三维模型进行初步匹配;然后使用SURF算法提取三维模型和视频图像的特征点,确定它们之间的对应关系,对视频图像进行Delaunay三角剖分,以便对视频图像进行纹理校正;其次利用拉普拉斯网格形变算法调整视频图像纹理,并对三角网格进行变形,以纠正畸变的纹理,从而实现三维模型和视频图像的融合;最后通过对系统监控计算出系统的开销以及渲染效率。
2.如权利要求1所述的一种基于WebGL的三维视频融合方法,其特征在于,所述特定种类的对象包括建筑楼体、车辆、道路。
3.如权利要求2所述的一种基于WebGL的三维视频融合方法,其特征在于,所述多个WebGL框架包括Cesium、Google Earth Web、Three.js以及Babylon.js。
4.如权利要求1所述的一种基于WebGL的三维视频融合方法,其特征在于,所述步骤4进一步包括:在进行三维图形绘制之前向用户告知所采用的WebGL框架,并提供基于该WebGL框架生成的效果展示内容,用户在接收到所述效果展示内容后可以选择接受该WebGL框架,或者选择预设框架进行生成。
5.如权利要求4所述的一种基于WebGL的三维视频融合方法,其特征在于,当选择预设框架进行生成时,首先将有限点集划分为相等的三角面网络,并将其连接形成大范围的TIN网格,对于不同的地物提取不同的特征点数,通过预设框架中的Context Capture模块对模型进行多次构建,使生成的模型不断优化,能真实表达所述影像数据中的对象特征;然后将影像中提取的信息映射到模型对应的位置上,为TIN网格中每个三角面片贴上相应纹理,生成真实的三维模型,保证三维模型与现实场景一致,通过3D StudioMax软件对三维模型进行了优化,再对格式进行转化,生成可直接在Web端进行加载的3D格式,实现在Web端渲染一个大数据量的三维模型。
6.如权利要求5所述的一种基于WebGL的三维视频融合方法,其特征在于,所述预设框架通过计算投影矩阵P来进行投影纹理映射,将三维坐标转换为投影平面坐标,接着根据非齐次坐标系中的坐标计算纹理映射坐标,最后进行纹理采样,将纹理映射应用于三角形的像素中,得到最终的渲染结果,其中,所述投影矩阵P的计算公式:
其中,q为相机视锥体的观测角度,aspect为相机视锥体的宽高比,n和f表示近平面和远平面的距离。
7.一种基于WebGL的三维视频融合系统,其特征在于,所述三维视频融合系统包括如下模块:
基于WebGL的三维视频融合平台,所述平台接收用户的三维视频融合任务,用户首先发送对于最终在Web端渲染三维模型的需求数据,所述三维视频融合平台基于用户的需求数据向用户推送可以达到用户需求的多个WebGL框架,并按照实现用户需求的开销对推送的多个WebGL框架进行排序,其中,所述需求数据包括影像投影到在三维场景视锥体的范围;
第一判断单元,接收用户提交的待融合的影像数据,对用户提交的待融合的影像数据进行特征识别,判断识别到的特定种类的对象数量是否达到第一预设值,当识别到的所述特定种类的对象数量超过第一预设值时,判断用户构建的三维视频融合模型可能需要GIS图层加载和地理空间坐标系映射,所述三维视频融合平台向用户发送问询请求,问询是否需要对地理空间信息进行处理,并是否需要补充提交数据,若问询结果为是,则去除不能对地理空间信息进行编辑的WebGL框架;
第二判断单元,检查所述影像数据的质量和完整性,判断所述视锥体的投影角度是否小于第二预设值,当小于第二预设值时,则重新调整推送的多个WebGL框架的顺序,去除不能对视频投影面进行裁剪的WebGL框架;
视频融合单元,所述WebGL的三维视频融合平台选择排序中的第一个框架进行视频融合,对提交的待融合的影像数据中的图形顶点坐标的进行获取,根据选择WebGL框架进行图元的装配以及光栅化,将携带大量信息的顶点坐标数据并将其存入到缓存当中,然后通过顶点着色器对顶点数据进行坐标变换,再传递给下一个阶段进行图元装配,组装为几何图形,再经过光栅化后将图元转化为许多小片段,最后通过片元着色器渲染、深度测试实现图形的绘制。
8.如权利要求7所述的一种基于WebGL的三维视频融合系统,其特征在于,所述视频融合单元进一步包括:在进行三维图形绘制之前向用户告知所采用的WebGL框架,并提供基于该WebGL框架生成的效果展示内容,用户在接收到所述效果展示内容后可以选择接受该WebGL框架,或者选择预设框架进行生成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410690031.8A CN118474421B (zh) | 2024-05-30 | 2024-05-30 | 一种基于WebGL的三维视频融合方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410690031.8A CN118474421B (zh) | 2024-05-30 | 2024-05-30 | 一种基于WebGL的三维视频融合方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN118474421A CN118474421A (zh) | 2024-08-09 |
CN118474421B true CN118474421B (zh) | 2024-10-15 |
Family
ID=92170482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410690031.8A Active CN118474421B (zh) | 2024-05-30 | 2024-05-30 | 一种基于WebGL的三维视频融合方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118474421B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107835436A (zh) * | 2017-09-25 | 2018-03-23 | 北京航空航天大学 | 一种基于WebGL的实时虚实融合直播系统及方法 |
CN113096255A (zh) * | 2021-04-26 | 2021-07-09 | 本影(上海)网络科技有限公司 | 一种基于WebGL三维视图同步融合非侵入式集成技术方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112086147B (zh) * | 2020-09-22 | 2023-11-03 | 中山大学 | 一种基于WebGL的三维晶体结构可视化方法 |
CN115760667A (zh) * | 2022-11-25 | 2023-03-07 | 山东理工大学 | 一种弱约束条件下3D WebGIS视频融合方法 |
CN117676049A (zh) * | 2023-11-17 | 2024-03-08 | 浪潮软件科技有限公司 | 一种基于Cesium的三维海量视频融合方法 |
-
2024
- 2024-05-30 CN CN202410690031.8A patent/CN118474421B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107835436A (zh) * | 2017-09-25 | 2018-03-23 | 北京航空航天大学 | 一种基于WebGL的实时虚实融合直播系统及方法 |
CN113096255A (zh) * | 2021-04-26 | 2021-07-09 | 本影(上海)网络科技有限公司 | 一种基于WebGL三维视图同步融合非侵入式集成技术方法 |
Also Published As
Publication number | Publication date |
---|---|
CN118474421A (zh) | 2024-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9659400B2 (en) | Efficiently implementing and displaying independent 3-dimensional interactive viewports of a virtual world on multiple client devices | |
KR20200070287A (ko) | 객체 인식 방법 | |
CN110969691B (zh) | 基于WebGL的摄影数据调度方法及系统 | |
US8379016B2 (en) | Geospatial data system for selectively retrieving and displaying geospatial texture data in successive additive layers of resolution and related methods | |
CN111950057A (zh) | 一种建筑信息模型bim的加载方法及装置 | |
CN113313832B (zh) | 三维模型的语义生成方法、装置、存储介质与电子设备 | |
CN116385672A (zh) | 一种三维地形场景模型数据产品的构建方法 | |
KR20100047889A (ko) | 사용자 선택의 관점에 기반하여 지리공간 텍스쳐를 선택적으로 검색 및 표시하는 지리공간 데이터 시스템 및 그 관련 방법 | |
CN114491352A (zh) | 模型加载方法、装置、电子设备及计算机可读存储介质 | |
Masood et al. | High‐performance virtual globe GPU terrain rendering using game engine | |
CN118474421B (zh) | 一种基于WebGL的三维视频融合方法及系统 | |
US8948498B1 (en) | Systems and methods to transform a colored point cloud to a 3D textured mesh | |
CN112634431A (zh) | 一种三维纹理贴图转化成三维点云的方法及装置 | |
CN115713585B (zh) | 纹理图像重建方法、装置、计算机设备和存储介质 | |
CN116664772A (zh) | 一种轻量级的大规模bim可视化方法及系统 | |
CN114842127A (zh) | 地形渲染方法及装置、电子设备、介质及产品 | |
CN114020390A (zh) | Bim模型显示方法、装置、计算机设备和存储介质 | |
CN113992679A (zh) | 一种汽车图像显示方法、系统及设备 | |
CN112802134B (zh) | 一种三维模型的编码方法、装置和终端 | |
CN114820908B (zh) | 虚拟形象生成方法、装置、电子设备和存储介质 | |
Vallet et al. | Fast and accurate visibility computation in urban scenes | |
CN116012666B (zh) | 图像生成、模型的训练、信息重建方法、装置及电子设备 | |
US20240096041A1 (en) | Avatar generation based on driving views | |
CN114138385A (zh) | Bim模型显示方法、装置、计算机设备、存储介质 | |
CN118071952A (zh) | 三维模型生成方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |