三维裁剪Voronoi图的多线程并行计算方法、系统技术方案

技术编号:23986674 阅读:35 留言:0更新日期:2020-04-29 13:52
本发明专利技术属于数字图像处理领域,具体涉及一种三维裁剪Voronoi图的多线程并行计算方法、系统,旨在为了解决现有三维裁剪Voronoi图计算技术在效率上的不足的问题。本发明专利技术方法包括获取每个采样站点的k近邻站点;基于各采样站点及其对应的k近邻站点,通过并行计算分别获取各采样站点x

Multithreaded parallel computing method and system for three-dimensional cutting Voronoi diagram

【技术实现步骤摘要】
三维裁剪Voronoi图的多线程并行计算方法、系统
本专利技术属于数字图像处理领域,具体涉及一种三维裁剪Voronoi图的多线程并行计算方法、系统。
技术介绍
Voronoi图(VoronoiDiagram,也被称为DirichletTessellation,即迪利克雷镶嵌)是俄国数学家格奥尔吉·沃罗诺伊(GeorgiiVoronoi)于1908年提出的一种空间分割算法。该算法依据一组有限点集对空间进行分解,这些点被称为站点(site)。在分解中,每个站点对应一个单元(cell),该单元由在空间中相比其他站点距离该站点更近的所有点组成。Voronoi图在自然界和日常生活中十分常见,如今已成为计算几何中的一项基础工具,被国内外学者广泛地应用于各领域的实际问题中,在网格优化、三维重建、地理信息系统、气象预测、城市规划等领域均取得了出色的应用成果。由于在普通的Voronoi图中,位于其对偶的Delaunay三角剖分凸包上的站点对应无限大的单元,因此在实际使用时,往往需要将Voronoi图限制在一个有限域内,即使用域的边界对普通Voronoi图进行裁剪。另一方面,随着地理信息系统的迅速发展以及建设数字城市的需要,对大规模三维信息进行处理的需求变得日益迫切。以目前的计算技术来看,要想在消费级设备上处理如此大规模的数据,离不开基于图形处理器(GraphicsProcessingUnit,GPU)的并行计算。近年来,在人工智能与游戏市场双重需求的推动下,GPU的计算能力已经有了飞速的发展,具备了实现大规模并行计算的能力。其中,NVIDIA公司提出的统一计算架构(ComputeUnifiedDeviceArchitecture,CUDA)就是该技术的代表。CUDA凭借其高性价比、低通信开销、卓越的并行计算能力,使得针对海量化且计算复杂度高的三维模型数据的快速处理成为可能。CUDA采用C语言作为编程语言,提供了大量高性能计算指令的开发能力,使开发者能够在GPU的强大计算能力的基础上建立起一种效率更高的密集数据计算解决方案。利用CUDA编程,我们可以一次并行地开启大量线程进行运算,从而大幅度提升运算效率且不会显著降低结果质量。目前,尽管国内外的研究学者提出了多种高效计算普通Voronoi图的方法,并且存在一些GPU上的实现,但裁剪Voronoi图沉重的计算成本仍在阻碍其在许多应用中的广泛使用。Rong等人(RONGG,LIUY,WANGW,etal.Gpu-assistedcomputationofcentroidalvoronoitessellation[J].IEEETransactionsonVisualizationandComputerGraphics,2011,17:345-356.)通过几何图像参数化计算曲面Voronoi图,并将跳跃泛洪算法(RONGG,TANTS.Jumpfloodingingpuwithapplicationstovoronoidiagramanddistancetransform[C]//SI3D.2006.)用于二维Voronoi图的计算。Han等人(HANJ,YANDM,WANGL,etal.Computingrestrictedvoronoidiagramongraphicshardware[C]//PacificGraphics2017.EurographicsAssociation,2017:23-26.)通过在GPU上应用多边形裁剪算法来计算曲面网格上的受限Voronoi图。最近,Ray等人(RAYN,SOKOLOVD,LEFEBVRES,etal.Meshlessvoronoionthegpu[J].ACMTrans.onGraphics,2018,37(6):265:1-265:12.)在GPU上将Voronoi单元以对偶的形式存储为简单的三角形网格,从而实现了大规模Voronoi图的并行计算。但是,该方法只能计算无边界的普通Voronoi图,这也是目前裁剪Voronoi图的瓶颈所在。
技术实现思路
为了解决现有技术中的上述问题,即为了解决现有三维裁剪Voronoi图计算技术在效率上的不足的问题,本专利技术的一方面,提出了一种三维裁剪Voronoi图的多线程并行计算方法,该方法包括以下步骤:步骤S100,获取每个采样站点的k近邻站点;步骤S200,基于各采样站点及其对应的k近邻站点,通过并行计算分别获取各采样站点xj对应的Voronoi单元Ωj;步骤S300,将每个Voronoi单元Ωj分别与三维网格中的四面体配对,通过并行计算分别获取对应的相交部分;步骤S400,利用相交的部分更新对应的Voronoi单元Ωj。在一些优选实时方式中,所述计算方法中,步骤S100还包括获取三维网格中每个四面体的k近邻站点;步骤S300中“将每个Voronoi单元Ωj分别与三维网格中的四面体配对”其方法为:将k近邻站点包含采样站点xj的四面体ti与Voronoi单元Ωj进行配对,获得多个“四面体-单元”对。在一些优选实时方式中,所述并行计算,其方法为:将独立计算的各部分内容分配至多线程同时计算。在一些优选实时方式中,步骤S100中“获取三维网格中每个四面体的k近邻站点”,其方法为:对于四面体ti,计算其质心ci并利用k近邻查询得到距其质心最近的k个站点。在一些优选实时方式中,步骤S100中每个四面体的k近邻站点的数量k值,其计算方法为其中,λ、α、β、γ为预设参数,为三维网格中四面体的数量,|X|为站点的数量。在一些优选实时方式中,λ=20,α=10,β=8,γ=7。在一些优选实时方式中,步骤S300中“获取对应的相交部分”,其方法为:基于每个Voronoi单元Ωj、及其配对的四面体,利用四面体的四个面对Voronoi单元Ωj进行裁剪,获取对应的相交部分;和/或利用Voronoi单元Ωj的面,对四面体进行裁剪,获取对应的相交部分。在一些优选实时方式中,步骤S400中“利用相交的部分更新对应的Voronoi单元Ωj”,其方法为:将相交的部分的凸多面体P分解为由若干四面体组成的集合,然后计算每个四面体的质心及体积,以体积作为权重计算质心坐标的加权和,同时对体积进行累加;利用atomic_Add原子操作,将质心坐标加权和与体积分别其累加到裁剪Voronoi单元的加权和与总体积中。在一些优选实时方式中,k近邻站点的计算方法为:基于预设的站点数阈值,若k近邻站点数大于该阈值,采用k近邻搜索算法获取k近邻站点,否则采用蛮力法获取k近邻站点。本专利技术的第二方面,提出了一种三维裁剪Voronoi图的多线程并行计算系统,该系统包括:第一模块、第二模块、第三模块、第四模块;所述第一模块,配置为获取每个采样站点的k近邻站点;所述第二模块,配置为基于各采样站点及其对应的k近邻站点,通过并行计算分别获取各采样站点xj对应的Voronoi单元Ωj;本文档来自技高网
...

【技术保护点】
1.一种三维裁剪Voronoi图的多线程并行计算方法,其特征在于,该方法包括以下步骤:/n步骤S100,获取每个采样站点的k近邻站点;/n步骤S200,基于各采样站点及其对应的k近邻站点,通过并行计算分别获取各采样站点x

【技术特征摘要】
1.一种三维裁剪Voronoi图的多线程并行计算方法,其特征在于,该方法包括以下步骤:
步骤S100,获取每个采样站点的k近邻站点;
步骤S200,基于各采样站点及其对应的k近邻站点,通过并行计算分别获取各采样站点xj对应的Voronoi单元Ωj;
步骤S300,将每个Voronoi单元Ωj分别与三维网格中的四面体配对,通过并行计算分别获取对应的相交部分;
步骤S400,利用相交的部分更新对应的Voronoi单元Ωj。


2.根据权利要求1所述的三维裁剪Voronoi图的多线程并行计算方法,其特征在于,所述计算方法中,
步骤S100还包括获取三维网格中每个四面体的k近邻站点;
步骤S300中“将每个Voronoi单元Ωj分别与三维网格中的四面体配对”其方法为:将k近邻站点包含采样站点xj的四面体ti与Voronoi单元Ωj进行配对,获得多个“四面体-单元”对。


3.根据权利要求2所述的三维裁剪Voronoi图的多线程并行计算方法,其特征在于,所述并行计算,其方法为:将独立计算的各部分内容分配至多线程同时计算。


4.根据权利要求2所述的三维裁剪Voronoi图的多线程并行计算方法,其特征在于,步骤S100中“获取三维网格中每个四面体的k近邻站点”,其方法为:
对于四面体ti,计算其质心ci并利用k近邻查询得到距其质心最近的k个站点。


5.根据权利要求2所述的三维裁剪Voronoi图的多线程并行计算方法,其特征在于,步骤S100中每个四面体的k近邻站点的数量k值,其计算方法为



其中,λ、α、β、γ为预设参数,为三维网格中四面体的数量,|X|为站点的数量。


6.根据权利要求5所述的三维裁剪Voronoi图的多线程并行计算方法,其特征在于,λ=20,α=10,β=8,γ=7。


7.根据权利要求1-6任一项所述的三维裁剪Voronoi图的多线程并行计算方法,其特征在于,步骤S300中“获取对应的相交部分”,其方法为:基于每个Voronoi单...

【专利技术属性】
技术研发人员:严冬明刘晓寒郭建伟
申请(专利权)人:中国科学院自动化研究所
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1