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

文档序号:8905648阅读:371来源:国知局
一种基于并行加速的热点图生成方法
【技术领域】
[0001] 本发明属于图像处理技术、热点图生成技术领域,具体设及一种基于并行加速的 热点图生成方法。
【背景技术】
[0002] 热点图,也叫化atmap,它通过聚合大量数据,使用一种渐进的色带来优雅地展示, 最终效果往往优于离散点的直接显示,可W很直观地展现空间数据的疏密程度或频率高 低。热点图已应用于很多领域。例如记录用户在Web页面内鼠标的点击位置,各种空间离 散点数据的显示等等。
[0003] 热点图的生成算法主要包括如下四个步骤:
[0004] 1)为离散点设定一个半径,创建一个缓冲区;
[0005] 2)对每个离散点的缓冲区,使用渐进的灰度带(完整的灰度带是0~255)从内而 夕F,由浅至深地填充;
[0006] 3)由于灰度值可W叠加(值越大颜色越亮,在灰度带中则显得越白。在实际中,可 W选择ARGB模型中任一通道作为叠加灰度值),从而对于有缓冲区交叉的区域,可W叠加 灰度值,因而缓冲区交叉的越多,灰度值越大,该块区域也就越"热";
[0007] 4)W叠加后的灰度值为索引,从一条有256种颜色的色带中(例如彩虹色)映射 颜色,并对图像重新着色,从而实现热点图。
[000引 目前GIS领域化atmap的生成工具有很多;
[0009] 1)ArcGIS自带的HeatmapLayer工具,其实现可W参考:
[0010] https://developers,arcgis.com/flex/sample-code/heatmap.htm
[0011] https://github.com/Esri/heatmap-layer-js/blob/master/src/HeatmapLayer.js
[0012]2)Google的化eat实现;http://code,google,com/p/曲eat/
[0013] 3)GoogleMap的Heatmap实现;
[0014] ht1:p://web.archive.org/web/20l3l229l2l735/ht1:p://heatmapapi.com/
[0015]http://geochalkboard,wordpress.com/2009/03/ll/density-mapping-in-goog1e-maps-with-heatmapapi/
[0016] 在实际应用中,该些工具的缺点主要包括如下几点:
[0017] 1)算法效率较低。由于该些算法均是在CPU中实现,对于输入点数据量较大、半径 较大、屏幕分辨率较大的情况,算法效率低,延迟严重。
[0018] 2)热点图分析结果不适合实际应用。一些工具(如Arcgis的化atmapLayer),虽 然可W生成热点图,但是其每个点的影响半径是基于屏幕空间,而不是基于实际经绅度空 间。因此当地图显示Extent变化时,其分析绘制结果是不正确的,不能满足某些实际的GIS 应用。
[0019] 在上述两点问题中,算法效率问题是目前最关键也是最影响可用性的问题,目前 的GIS热点图工具普遍都存在该个问题。因此,下面将从算法本身探讨其效率低下的根本 原因。
[0020] 如上所述,化atmap算法总共分四个步骤,其中最耗时的操作是第3)、4)步,下面 对该两步的具体操作进行描述。
[0021] 第扣步;灰度值叠加。主要流程是:
[0022]首先,根据第二步,对于点集化intSet(N),为每个点(比如灾害点)产生一个影响 范围的圆,其半径R是用户指定。每个圆可W离散为一系列的点(该里称为像素),其中保 存的值为该点距离圆屯、的距离的加权值,用它来代表该点受圆屯、处点的影响因子。正常情 况下,圆屯、处影响因子值为1. 0,在圆边界处的影响因子值为0. 0。最后使用一个矩阵来保 存该些离散点的影响因子值,该矩阵称为距离矩阵Matrix。
[002引其次,我们创建一个二维数组ImageResult比ei曲t] [wi化h],该二维数组用来保 存输出热点灰度图的灰度值。其中hei曲t和width分别代表输出热点图的高和宽度,每个 数组元素初始化为0.0。
[0024] 遍历每个灾害点,对该点执行如下操作:
[0025] 计算灾害点对应的二维数组空间坐标(X,y)(灾害点的输入坐标为空间经绅度坐 标)
[0026] W(X,y)为圆屯、,R为半径,计算该圆在ImageResult所能覆盖到的元素,并计算 新的元素值,计算方法就是加和累计,元素值加上该点距离矩阵Matrix中的值。
[0027] 最后,ImageResult中就保存了热点灰度图的灰度值,其含义是值越大,代表该处 附近的灾害点分布越密集。
[002引第4)步;彩色图映射。
[0029] 首先,对于已有二维数组ImageResult,要计算其中所有元素的最大maxValue、最 小值minValue。
[0030] 其次,对于ImageResult中每个元素,将其映射为一种颜色。该里假定用 户输入待映射的色带为ColorRamp[(Colorl,offsetl),(Color2,offsets),...... ,(ColorM,offsetM)],一共M种颜色。
[003U 遍历每个ImageResult数组元素E[i,j],对该元素执行如下操作;
[003引计算E相对于虹inValue,maxValue]值域范围的权值,计算公式如下,wei曲巧= (E-minValue)/(maxValue-minValue)
[0033] 基于权值wei曲tE,将E映射到色带ColorRamp中,计算该颜色值ColorResult。
[0034] 将ColorResult写回ImageResult,作为输出的热点图图像像素值。
[0035] 该里,步骤3)和4)已经详细描述完,其中最耗时的操作是斜体字标出的部分。该 些操作都设及遍历循环操作,如果在CPU里完成操作,对于灾害点的个数N比较多,输出图 像比较大(w*h)的情况下,其时间复杂度为0(n)和0(w*h),严重影响性能。

【发明内容】

[0036] 本发明针对上述问题,提供一种基于并行加速的热点图生成方法,该方法充分利 用硬件加速能力,能够有效地提升热点图生成效率。
[0037]本发明的基于并行加速的热点图生成方法,采用并行技术进行热点图生成的相关 计算,包括如下步骤:
[003引 1)根据用户输入的热点的影响半径,计算热点的影响因子距离矩阵,用于保存距 离热点不同距离的影响因子;
[0039] 2)计算所有热点影响范围的叠加灰度图信息,生成热点图的灰度图;
[0040] 3)根据灰度图计算映射后的彩色图信息,生成热点图的彩色图;
[0041] 4)将彩色的热点图输出并展示给用户。
[0042] 如果所述热点图为GIS热点图,需要在步骤1)之前进行空间-图像坐标转换,即 将输入的热点即灾害点的空间经绅度坐标转换为输出热点图图像空间的二维图像坐标。
[0043] 本发明的主要目的是解决GIS领域热点图生成效率问题,所用到的技术为 ArcGIS+WPF+化englOiLSL)。本发明首次使用GPU并行技术对传统的化atmap算法进行改 进,速度快,效果好。本发明算法的本质是将传统的化atmap算法由之前的串行算法改为并 行算法。本文算法实验使用的是ArcGIS+化engl+WPF技术,并行技术使用了GPUGLSL。此 夕F,本发明还可W使用其他的并行技术作为替代方案,主要包括如下几种;1)使用其他GPU 并行计算技术,如CUDA、CG、DirectX等;2)使用CPU多核并行加速技术,如OpenMP等;3) 使用分布式并行计算、集群并行计算或者云计算。
[0044] 本发明的关键创新点包括:
[0045]a)该方法提出一种基于并行加速的热点图生成方法,基于大量灾害点数据,利用 GPU计算能力,可W快速计算出灾害点可能的影响范围,并且W热点图的形式展示。不同 与其他基于CPU的方法,本发明方法效率高,充分利用硬件加速能力,完全在GPU中完成计 算;
[0046] b)该方法同时支持实时和离线热点图生成算法;实时算法利用GPU并行加速和图 形运算能力,仅绘制屏幕空间元素;离线算法可W快速生成大量数据的热点图,而且基于其 并行算法的特性,还很容易扩展至支持海量数据的热点图擅染。对于大量GIS灾害点数据, 可W快速生成热点图并展示,不仅很容易整合到现有ArcGIS框架中,而且还可W扩展到其 他图像处理或可视化应用领域。
[0047]C)该方法可W与ArcgisforWPF框架整合,巧妙了结合了Arcgis、Opengl和WPF 的绘制能力,充分利用=者的优点,规避了其缺点,能够提供良好的热点图功能,不仅速度 优于其他方法(如Arcgis自带的化atMap功能),而且还解决了其绘制延迟、热点半径无法 动态改变的问题。
[0048] 与目前应用比较广泛的化atmap生成技术和算法(如【背景技术】中所述)相比,本 发明的优点和有益效果主要包括如下几点:
[0049] 1)其他算法都是基于CPU计算,由于算法本身的特点,纯粹CPU的算法在效率上会 存在瓶颈;而本发明对传统算法进行改进,充分利用当前硬件加速能力,完全在GPU中完成 算法,在效率上得到了很大提升;
[0化0] 2)其他算法往往都是针对GIS领域,算法应用范围较窄,算法实现相关技术也相 对单一。本发明提供的热点图生成解决方案,充分利用了Arcgis、Opengl和WPF绘制技术, 算法对GIS依赖性比较弱,具有较好的实用性、智能性和灵活性,不仅可W应用于GIS领域, 而且还可W应用于虚拟现实、图像处理、行业可视化等其他应用领域。不同的是,在该些领 域,由于不设及GIS坐标与图像坐标转换。另外由于不同领域的输入不同,本文的"灾害点" 可w替代成其他形式的"热点"数据。为了达到不同领域对热点图效果的要求,用户可w通 过调整本文算法中第1)步的矩阵参数、第3)步彩色图中的色带来调整效果。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1