当前位置: 首页 > 专利查询>南京大学专利>正文

一种基于集群计算系统的三维模型库特征提取方法技术方案

技术编号:2913982 阅读:301 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种基于集群计算系统的三维模型库特征提取方法,用户首先需要提供特征提取的三维模型库和相应的任务说明书;头结点对三维模型库的数据规模进行评估;头结点依据当前集群计算系统包含的节点数对计算任务进行划分,得到每一个计算节点应该处理的三维模型;头结点将划分结果发送给各个计算节点;各个计算节点对分给自己的三维模型进行特征提取,完成之后,向头节点发出完成的信号,此后头节点开始特征结果的汇总;全部提取结果接收完毕后完成整个三维模型库的特征提取过程。采用本发明专利技术的方法,三维模型库特征提取的速度可以得到大幅的提高。

【技术实现步骤摘要】

本专利技术属于计算机应用
,涉及的是一种在集群计算系统下的三维模型库特征提取方法。
技术介绍
随着计算机图形学的发展、三维模型获取技术和图形硬件技术的提高,如今三维模型已成为继声音、图像和视频之后的第四种多媒体数据类型。近年来,三维物体的数据量飞速增长,如三维游戏素材库、工业机械零件库、药物分子模型库、地形地貌数据库等三维模型库不断地被扩充或应用。另一方面,三维模型检索技术的应用目前已渗透到军事、生产和生活等领域的各个方面,如虚拟现实、医药分子研究、战争仿真模拟、教育军事训练、三维游戏、影视动画、工业产品设计、机械制造以及电子商务等。因此,如何对海量的三维数据库实现快速和准确的检索现在已成为多媒体信息检索领域的一个研究热点,并且具有巨大的经济价值和重要的现实意义。基于内容的三维模型检索的本质是利用反映三维模型视觉特征的信息自动建立特征索引,从而达到检索三维模型的目的。通常一个三维模型数据库所包含的三维模型数量相当庞大,而特征提取的过程又是一个耗时较大的操作(目前在配置为Pentium(R)43.00GHz CPU,1G RAM的计算机上处理时间一个三维模型的时间大都需要超过1秒),因此,采用普通的单机系统来实现对整个三维模型库的特征提取将是一项计算时间非常漫长的过程。
技术实现思路
本专利技术所要解决的技术问题是提供一种基于集群计算系统的三维模型库特征提取方法,以缩减整个特征提取过程的处理时间。为解决上述技术问题,本专利技术采用的技术方案如下:一种基于集群计算系统的三维模型库特征提取方法,包括以下步骤:(1)操作员按照本专利技术所设计的任务说明书(包含对所要提取的三维模型文件的存储地址、每个三维模型的数据量、总的文件个数等信息的描述)提交整个计算任务;(2)对计算任务的规模进行评估,评估的方法是:假设提交的三维模型数据库一共包含N个三维模型,每个三维模型文件的数据量分别是m1,m2,...,mN,则总的计算规-->模估计为S=Σi=1Nmi.]]>(3)依据集群系统中可使用的计算节点个数和计算任务的规模S为每一个计算节点分配计算任务。假设集群系统当前可用的计算节点个数为K,则理想状态下每一个计算节点的计算任务量为S/K,但由于特征提取算法的基本处理单位是单个三维模型文件,而当i≠j时未必有mi=mj,因此,每一个计算节点所应处理的三维模型文件数未必是N/K,本专利技术采用如下的方法来实现依据计算规模为计算节点分配计算任务:(a)对所有三维模型按照其数据量的大小从小到大排序,假设得到排序结果为m’1<m’2<,...,<m’N;(b)为每一个计算节点分配一个变量S1,S2,...,SK,全部初始化为0;(c)对于每一个计算节点,循环地从排序表m’1<m’2<,...,<m’N中取出三维模型作为该节点需要处理的数据。每次都取表中数据量最小的那个三维模型,被取过的三维模型将从排序表中去除,同时计算节点i所对应的变量Si需要加上它所取的三维模型的大小;(d)在步骤(c)的过程中,为第i个节点取得一个三维模型后,都检测到目前为止它所得到的计算任务总规模Si是否超过S/K,如超过则第i个节点不再参与分配。(4)依据步骤(3)得到的分配结果,按照本专利技术制定的通信协议将三维模型文件发送给各个计算子节点。具体的通信协议如下:集群系统的头结点向第i个计算节点发送三维模型文件按照如下的过程进行:(a)向第i个计算节点发出信号“DATA_START结点编号文件数FilesNum”;(b)第i个计算节点收到信号后将接收文件数计数器Counter设为FilesNum,然后回发信号“DATA_READY节点编号”给头结点,说明本节点准备好接收数据;(c)头节点收到第i个计算节点发来的信号后,按照(3)得到的分配结果,将三维模型文件逐个发送给第i个计算节点;(d)第i个计算节点逐个接收三维模型文件。每次收到一个文件后都将Counter自减1,当发现Counter为0时,发送信号“DATA_END节点编号”给头结点;(e)头结点标记第i个计算节点已经收到了全部数据,完成第i个子节点数据的发送过程。(5)头结点向所有子节点广播一个开始启动计算的信号“START”。头结点中维护-->了一个节点状态表,当开始启动信号发出后,它便把所有节点的状态置为“忙碌”。(6)子节点接收到开始信号便启动特征提取算法对所接收到的三维模型数据进行特征提取过程。本专利技术不规定具体的特征提取算法,因为本专利技术适用所有的特征提取算法。计算节点对三维模型文件处理的顺序是按照它们的数据量大小来进行的,数据量小的先处理,大的后处理。计算节点对每一个三维模型文件进行处理后都会得到一个特征向量。本专利技术将每一个特征向量都写入一个文件中,以原始的三维模型文件作为它的文件名称,文件的后缀为“.fv”。(7)当计算i节点完成全部指派的三维模型文件处理后,向头结点发送一个计算结束信号“END节点编号”。(8)当头结点收到某个计算子节点i的“END节点编号”时,开始接收计算结果。按照如下的过程进行:(a)头结点向节点i发送“GET_RESULT”信号;(b)子节点收到“GET_RESULT”信号后便开始将所有特征文件发送给头结点。发送完毕后自动进入闲置状态。(c)由于头结点一直维护了一个表,清楚某个节点分配多少个三维模型文件,所以它可以据此判断某节点是否将所有的特征文件数发送完毕(因为特征文件数等于三维模型文件数)。当头结点接收完毕子节点发送回来的全部特征文件后,便将该子节点的状态置为“闲置”。(9)当头结点收到所有特征文件总数为要求计算的三维模型文件数时,完成整个计算过程。在这过程中,由于初始分配的计算任务未必均匀,所以在实际运行过程中会出现有的计算节点提前完成计算任务而闲置,而有的计算节点仍处于忙碌状态,因此,为了充分利用所有计算资源,在步骤(8)完成之后需要启动负载平衡过程,该过程如下:(a)头节点扫描计算节点状态表,向所有状态为“忙碌”的节点发出一个“NEED_HELP”的信号,询问它们是否需要别的节点帮助它负担部分计算任务。(b)计算节点收到“NEED_HELP”信号后,检查还剩下多少个三维模型文件没有处理,当文件个数大于2时,向头结点发出信号“HELP节点编号X”。这里的X表示需要其它节点帮忙处理的三维模型个数,对应的是剩下的文件里面的最后X个文件。由于计算节点处理三维模型的过程是按顺序进行的,而头结点了解每一个计算节点所负责-->的三维模型文件,所以这里只需指出X,那么头结点便知道应该是将该计算节点所负责的三维模型文件中最后的X个取出来。当该信号发出后,本节点将需要处理的三维模型文件总数减掉X。如果不需要其它其它节点协助完成任务,则将X设为0。(c)头结点收到“HELP节点编号X”后,如果X为0说明子节点不需要帮助,直接舍弃。否则,头结点将它维护的列表中把该该节点所要负责的三维模型文件总数减掉X,并且将最后的X准备交给其它闲置的计算节点处理。(d)将所有需要闲置状态节点帮助完成的三维模型全部汇总起来,然后采用步骤(3)的方法为闲置的节点分配计算任务,其后过程如(4)到(9)相同。有益效果:实验表明,通过采用本专利技术后,三维模型本文档来自技高网...

【技术保护点】
一种基于集群计算系统的三维模型库特征提取方法,其特征在于该方法包括以下步骤: (1)操作员提交整个计算任务; (2)头结点对计算任务的规模进行评估; (3)头结点依据集群系统中可使用的计算节点个数和计算任务的规模为每一个计 算节点分配计算任务; (4)头结点依据步骤(3)得到的分配结果,将三维模型文件发送给各个计算子节点; (5)头结点向所有子节点广播一个开始启动计算的信号“START”;同时头结点中维护了一个节点状态表,当开始启动信号发出后,便把 所有节点的状态置为“忙碌”; (6)子节点接收到开始信号便启动特征提取算法对所接收到的三维模型数据进行特征提取过程; (7)当计算i节点完成全部指派的三维模型文件处理后,向头结点发送一个计算结束信号“END节点编号”; ( 8)当头结点收到某个计算子节点i的“END节点编号”时,开始接收计算结果; (9)当头结点收到所有特征文件总数为要求计算的三维模型文件数时,完成整个计算过程。

【技术特征摘要】
1、一种基于集群计算系统的三维模型库特征提取方法,其特征在于该方法包括以下步骤:(1)操作员提交整个计算任务;(2)头结点对计算任务的规模进行评估;(3)头结点依据集群系统中可使用的计算节点个数和计算任务的规模为每一个计算节点分配计算任务;(4)头结点依据步骤(3)得到的分配结果,将三维模型文件发送给各个计算子节点;(5)头结点向所有子节点广播一个开始启动计算的信号“START”;同时头结点中维护了一个节点状态表,当开始启动信号发出后,便把所有节点的状态置为“忙碌”;(6)子节点接收到开始信号便启动特征提取算法对所接收到的三维模型数据进行特征提取过程;(7)当计算i节点完成全部指派的三维模型文件处理后,向头结点发送一个计算结束信号“END节点编号”;(8)当头结点收到某个计算子节点i的“END节点编号”时,开始接收计算结果;(9)当头结点收到所有特征文件总数为要求计算的三维模型文件数时,完成整个计算过程。2、根据权利要求1所述的基于集群计算系统的三维模型库特征提取方法,其特征在于步骤(2)中所述的评估采用如下方法:假设提交的三维模型数据库一共包含N个三维模型,每个三维模型文件的数据量分别是m1,m2,...,mN,则总的计算规模估计为S=Σi=1Nmi.]]>3、根据权利要求1所述的基于集群计算系统的三维模型库特征提取方法,其特征在于步骤(3)中为计算节点分配计算任务的方法包括如下步骤:(a)对所有三维模型按照其数据量的大小从小到大排序,得到排序结果为m’1<m’2<,...,<m’N;(b)为每一个计算节点分配一个变量S1,S2,...,SK,全部初始化为0;(c)对于每一个计算节点,循环地从排序表m’1<m’2<,...,<m’N中取出三维模型作为该节点需要处理的数据;每次都取表中数据量最小的那个三维模型,被取过的三维模型将从排序表中去除,同时计算节点i所对应的变量Si需要加上它所取的三维模型的大小;(d)在步骤(c)的过程中,为第i个节点取得一个三维模型后,都检测目前为止它所得到的计算任务总规模Si是否超过S/K,如超过则第i个节点不再参与分配。4、根据权利要求1所述的基于集群计算系统的三维模型库特征提取方法,其特征在于步骤(4)中...

【专利技术属性】
技术研发人员:杨育彬林金杰阮佳彬
申请(专利权)人:南京大学
类型:发明
国别省市:84[中国|南京]

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

1