一种基于并行加速的热点图生成方法技术

技术编号:11993364 阅读:296 留言:0更新日期:2015-09-02 21:20
本发明专利技术涉及一种基于并行加速的热点图生成方法,采用并行技术进行热点图生成的相关计算,包括如下步骤:1)根据用户输入的热点的影响半径,计算热点的影响因子距离矩阵;2)计算所有热点影响范围的叠加灰度图信息,生成热点图的灰度图;3)根据灰度图计算映射后的彩色图信息,生成热点图的彩色图;4)将彩色的热点图输出并展示给用户。本发明专利技术首次使用GPU并行技术对传统的Heatmap算法进行改进,充分利用硬件加速能力,并巧妙结合了Arcgis、Opengl和WPF绘制技术,能够有效地提升热点图生成效率,具有较好的实用性、智能性和灵活性,可以应用于GIS、虚拟现实、图像处理、行业可视化等领域。

【技术实现步骤摘要】

本专利技术属于图像处理技术、热点图生成
,具体设及一种基于并行加速的 热点图生成方法。
技术介绍
热点图,也叫化atmap,它通过聚合大量数据,使用一种渐进的色带来优雅地展示, 最终效果往往优于离散点的直接显示,可W很直观地展现空间数据的疏密程度或频率高 低。热点图已应用于很多领域。例如记录用户在Web页面内鼠标的点击位置,各种空间离 散点数据的显示等等。 热点图的生成算法主要包括如下四个步骤: 1)为离散点设定一个半径,创建一个缓冲区; 2)对每个离散点的缓冲区,使用渐进的灰度带(完整的灰度带是0~255)从内而 夕F,由浅至深地填充; 3)由于灰度值可W叠加(值越大颜色越亮,在灰度带中则显得越白。在实际中,可 W选择ARGB模型中任一通道作为叠加灰度值),从而对于有缓冲区交叉的区域,可W叠加 灰度值,因而缓冲区交叉的越多,灰度值越大,该块区域也就越"热"; 4)W叠加后的灰度值为索引,从一条有256种颜色的色带中(例如彩虹色)映射 颜色,并对图像重新着色,从而实现热点图。[000引 目前GIS领域化atmap的生成工具有很多; 1)ArcGIS自带的HeatmapLayer工具,其实现可W参考: https://developers,arcgis.com/flex/sample-code/heatmap.htm https://github.com/Esri/heatmap-layer-js/blob/master/src/HeatmapLayer.js2)Google的化eat实现;http://code,google,com/p/曲eat/ 3)GoogleMap的Heatmap实现; ht1:p://web.archive.org/web/20l3l229l2l735/ht1:p://heatmapapi.com/http://geochalkboard,wordpress.com/2009/03/ll/density-mapping-in-goog1e-maps-with-heatmapapi/ 在实际应用中,该些工具的缺点主要包括如下几点: 1)算法效率较低。由于该些算法均是在CPU中实现,对于输入点数据量较大、半径 较大、屏幕分辨率较大的情况,算法效率低,延迟严重。 2)热点图分析结果不适合实际应用。一些工具(如Arcgis的化atmapLayer),虽 然可W生成热点图,但是其每个点的影响半径是基于屏幕空间,而不是基于实际经绅度空 间。因此当地图显示Extent变化时,其分析绘制结果是不正确的,不能满足某些实际的GIS 应用。 在上述两点问题中,算法效率问题是目前最关键也是最影响可用性的问题,目前 的GIS热点图工具普遍都存在该个问题。因此,下面将从算法本身探讨其效率低下的根本 原因。 如上所述,化atmap算法总共分四个步骤,其中最耗时的操作是第3)、4)步,下面 对该两步的具体操作进行描述。 第扣步;灰度值叠加。主要流程是:首先,根据第二步,对于点集化intSet(N),为每个点(比如灾害点)产生一个影响 范围的圆,其半径R是用户指定。每个圆可W离散为一系列的点(该里称为像素),其中保 存的值为该点距离圆屯、的距离的加权值,用它来代表该点受圆屯、处点的影响因子。正常情 况下,圆屯、处影响因子值为1. 0,在圆边界处的影响因子值为0. 0。最后使用一个矩阵来保 存该些离散点的影响因子值,该矩阵称为距离矩阵Matrix。 ,该二维数组用来保 存输出热点灰度图的灰度值。其中hei曲t和width分别代表输出热点图的高和宽度,每个 数组元素初始化为0.0。 遍历每个灾害点,对该点执行如下操作: 计算灾害点对应的二维数组空间坐标(X,y)(灾害点的输入坐标为空间经绅度坐 标) W(X,y)为圆屯、,R为半径,计算该圆在ImageResult所能覆盖到的元素,并计算 新的元素值,计算方法就是加和累计,元素值加上该点距离矩阵Matrix中的值。 最后,ImageResult中就保存了热点灰度图的灰度值,其含义是值越大,代表该处 附近的灾害点分布越密集。[002引第4)步;彩色图映射。 首先,对于已有二维数组ImageResult,要计算其中所有元素的最大maxValue、最 小值minValue。 其次,对于ImageResult中每个元素,将其映射为一种颜色。该里假定用 户输入待映射的色带为ColorRamp,一共M种颜色。,对该元素执行如下操作;值域范围的权值,计算公式如下,wei曲巧= (E-minValue)/(maxValue-minValue) 基于权值wei曲tE,将E映射到色带ColorRamp中,计算该颜色值ColorResult。 将ColorResult写回ImageResult,作为输出的热点图图像像素值。 该里,步骤3)和4)已经详细描述完,其中最耗时的操作是斜体字标出的部分。该 些操作都设及遍历循环操作,如果在CPU里完成操作,对于灾害点的个数N比较多,输出图 像比较大(w*h)的情况下,其时间复杂度为0(n)和0(w*h),严重影响性能。
技术实现思路
本专利技术针对上述问题,提供,该方法充分利 用硬件加速能力,能够有效地提升热点图生成效率。本专利技术的基于并行加速的热点图生成方法,采用并行技术进行热点图生成的相关 计算,包括如下步骤:[003引 1)根据用户输入的热点的影响半径,计算热点的影响因子距离矩阵,用于保存距 离热点不同距离的影响因子; 2)计算所有热点影响范围的叠加灰度图信息,生成热点图的灰度图; 3)根据灰度图计算映射后的彩色图信息,生成热点图的彩色图; 4)将彩色的热点图输出并展示给用户。 如果所述热点图为GIS热点图,需要在步骤1)之前进行空间-图像坐标转换,即 将输入的热点即灾害点的空间经绅度坐标转换为输出热点图图像空间的二维图像坐标。 本专利技术的主要目的是解决GIS领域热点图生成效率问题,所用到的技术为 ArcGIS+WPF+化englOiLSL)。本专利技术首次使用GPU并行技术对传统的化atmap算法进行改 进,速度快,效果好。本专利技术算法的本质是将传统的化atmap算法由之前的串行算法改为并 行算法。本文算法实验使用的是ArcGIS+化engl+WPF技术,并行技术使用了GPUGLSL。此 夕F,本专利技术还可W使用其他的并行技术作为替代方案,主要包括如下几种;1)使用其他GPU 并行计算技术,如CUDA、CG、DirectX等;2)使用CPU多核并行加速技术,如OpenMP等;3) 使用分布式并行计算、集群并行计算或者云计算。 本专利技术的关键创新点包括:a)该方法提出,基于大量灾害点数据,利用 GPU计算能力,可W快速计算出灾害点可能的影响范围,并且W热点图的形式展示。不同 与其他基于CPU的方法,本专利技术方法效率高,充分利用硬件加速能力,完全在GPU中完成计 算; b)该方法同时支持实时和离线热点图生成算法;实时算法利用GPU并行加速和图 形运算能力,仅绘制屏幕空间元素;离线算法可W快速生成大量数据的热点图,而且基于其 并行算法的特性,还很容易扩展至支持海量数据的热点图擅染。对于大量GIS灾害点数据, 可W快速生成热点图并展本文档来自技高网
...
一种基于并行加速的热点图生成方法

【技术保护点】
一种基于并行加速的热点图生成方法,其特征在于,采用并行技术进行热点图生成的相关计算,包括如下步骤:1)根据用户输入的热点的影响半径,计算热点的影响因子距离矩阵,用于保存距离热点不同距离的影响因子;2)计算所有热点影响范围的叠加灰度图信息,生成热点图的灰度图;3)根据灰度图计算映射后的彩色图信息,生成热点图的彩色图;4)将彩色的热点图输出并展示给用户。

【技术特征摘要】

【专利技术属性】
技术研发人员:李杨张大炜唐文杰
申请(专利权)人:中国电子进出口总公司
类型:发明
国别省市:北京;11

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

1