一种基于结构的图节点相似度并行计算方法

文档序号:6590512阅读:888来源:国知局
专利名称:一种基于结构的图节点相似度并行计算方法
技术领域
本发明涉及媒体计算领域,特别涉及一种基于结构的图节点相似度并行计算方法。
背景技术
目前在媒体计算领域中,在解决图像分割、内容检索与匹配等问题时,通过构建图模型,基于节点之间的相似度扩散来获得相应的结果。简单的来说,图节点相似度计算是用来评价图中节点(例如:超像素)结构相似性的一种手段。现有技术中通常采用节点之间的描述符去度量两个节点之间的相似度,基于节点邻居之间的相似度关系和邻接关系进行相似度扩散。发明人在实现本发明的过程中,发现现有技术中至少存在以下缺点和不足:随着图规模的增加,相似度扩散的计算时间会极大地增加,增加了计算的复杂度,复杂度甚至可以达到O (kn4),无法满足实际应用中的需要。

发明内容
本发明提供了一种基于结构的图节点相似度并行计算方法,本方法降低了计算的复杂度和计算时间,满足了实际应用中的需要,详见下文描述:—种基于结构的图节点相似度并行计算方法,所述方法包括以下步骤:(I)CPU端作为主机端读入多个故事文本或图像,建立图模型,获取图的邻接矩阵;(2) GPU端作为设备端,接收CPU端传输的邻接矩阵,GPU端计算邻接矩阵;(3) GPU端得到邻接矩阵,并传输至CPU端。当CPU端作为主机端读入多个故事文本时,所述GPU端计算邻接矩阵W的步骤具体为:所述GPU端计算第一邻接矩阵,即,I)通过节点a和b在所述第一邻接矩阵中的位置索引计算节点对(a, b)在grid中所对应的block索引和thread索引,其中grid为GPU内核函数的网格,block为网格中的线程块,thread为线程块中的线程;2) GPU端为第一邻接矩阵中每一个节点对(a,b)之间的相似度计算分配对应线程,即:通过block索引和thread索引查找节点对(a, b)对应线程,在GPU端通过对应线程计算节点对(a,b)的相似性。当CPU端作为主机端读入多个图像时,所述GPU端计算邻接矩阵W的步骤具体为:所述GPU端计算第二邻接矩阵,包括:I)搜索第k-Ι次迭代时的位置矩阵Plri中非零值,将非零元素的行索引、列索引和对应值分别记入row, col, value三个数组中;2)通过位置矩阵Plrl计算第K次迭代的位置矩阵Pk:3)计算对角元素和;
4)将本次迭代得到的 Mk 加入 S (a, b)中:S (a, b) =S (a, b) +Mk。当CPU端作为主机端读入多个图像时,所述方法还包括:所述CPU端获取转移矩阵T,所述GPU端作为设备端接收所述转移矩阵T。当CPU端作为主机端读入多个图像时,所述方法还包括:将所述转移矩阵T以行压缩存储的结构存储为稀疏矩阵,所述GPU端计算邻接矩阵W的步骤具体为:所述GPU端计算第二邻接矩阵,包括:I) CPU端循环K次调用GPU端内核函数并行计算相似性;2) GPU端将计算结果传回CPU端;3) GPU端计算位置矩阵Pk的对角线和Mk:
权利要求
1.一种基于结构的图节点相似度并行计算方法,其特征在于,所述方法包括以下步骤: (1)CPU端作为主机端读入多个故事文本或图像,建立图模型,获取图的邻接矩阵; (2)GPU端作为设备端,接收CPU端传输的邻接矩阵,GPU端计算邻接矩阵; (3)GPU端得到邻接矩阵,并传输至CPU端。
2.根据权利要求1所述的一种基于结构的图节点相似度并行计算方法,其特征在于,当CPU端作为主机端读入多个故事文本时,所述GPU端计算邻接矩阵W的步骤具体为:所述GTO端计算第一邻接矩阵,SP, O通过节点a和b在所述第一邻接矩阵中的位置索引计算节点对(a, b)在grid中所对应的block索引和thread索引,其中grid为GPU内核函数的网格,block为网格中的线程块,thread为线程块中的线程; 2)GPU端为第一邻接矩阵中每一个节点对(a,b)之间的相似度计算分配对应线程,即:通过block索引和thread索引查找节点对(a, b)对应线程,在GPU端通过对应线程计算节点对(a,b)的相似性。
3.根据权利要求2所述的一种基于结构的图节点相似度并行计算方法,其特征在于,当CPU端作为主机端读入多个图像时,所述GPU端计算邻接矩阵W的步骤具体为:所述GPU端计算第二邻接矩阵,包括: 1)搜索第k-Ι次迭代时的位置矩阵Plri*非零值,将非零元素的行索引、列索引和对应值分别记入row, col, value三个数组中; 2)通过位置矩阵Plri计算第K次迭代的位置矩阵Pk: 3)计算对角元素和; 4)将本次迭代得到的Mk加入S(a, b)中:S (a,b) =S (a, b) +Mk。
4.根据权利要求1所述的一种基于结构的图节点相似度并行计算方法,其特征在于,当CPU端作为主机端读入多个图像时,所述方法还包括: 所述CPU端获取转移矩阵T,所述GPU端作为设备端接收所述转移矩阵T。
5.根据权利要求4所述的一种基于结构的图节点相似度并行计算方法,其特征在于,当CPU端作为主机端读入多个图像时,所述方法还包括:将所述转移矩阵T以行压缩存储的结构存储为稀疏矩阵,所述GPU端计算邻接矩阵W的步骤具体为:所述GPU端计算第二邻接矩阵,包括: OCPU端循环K次调用GPU端内核函数并行计算相似性; 2)GPU端将计算结果传回CPU端; 3)GPU端计算位置矩阵Pk的对角线和Mk: Ma = Σ PU Λ I 4)GPU端计算相似性矩阵s中对应元素的相似度的值S (a, b):S (a, b) =S (a, b) +Mk。
6.根据权利要求5所述的一种基于结构的图节点相似度并行计算方法,其特征在于,所述CPU端循环K次调用GPU端内核函数并行计算相似性具体包括: a)计算Ti中的非零值索引X; b)计算Tj中的非零值索引y; c )计算对应索引的相似度;d)计算结点对(a,b)在位置矩阵中位置;e)更新位置矩阵Pk:/f= `S。
全文摘要
本发明公开了一种基于结构的图节点相似度并行计算方法。所述方法包括以下步骤CPU端作为主机端读入多个故事文本或图像,建立图模型,获取图的邻接矩阵;GPU端作为设备端,接收CPU端传输的邻接矩阵,GPU端计算邻接矩阵;GPU端得到邻接矩阵,并传输至CPU端。通过本方法利用并行的方法大大提高了相似度计算的速度,并能够保证较高的计算精度,满足了海量媒体计算应用的效率和精度需求;实验结果表明,在相似精度的前提下,本发明所提出的加速算法取得了较现有算法平均100倍以上的加速比。
文档编号G06T1/00GK103177414SQ20131010228
公开日2013年6月26日 申请日期2013年3月27日 优先权日2013年3月27日
发明者冯伟, 万亮, 谭志羽, 鲁志超, 江健民 申请人:天津大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1