您的当前位置:首页正文

P2P技术在点云数据处理中的应用

2021-03-15 来源:客趣旅游网
维普资讯 http://www.cqvip.com

第24卷第3期 2007年3月 计算机应用研究 Application Research of Computers Vo1.24,No.3 March 2007 P2 P技术在点云数据处理中的应用 李琳骁,赵丽娜,彭摘求 维,叶修梓 (浙江大学计算机科学与技术学院,浙江杭州310027) 要:介绍了P2P技术,讨论了JXTA技术及其特点,并通过研究和实验把JXTA技术应用到点云处理中。同 时指出了应用中存在的问题和未来的方向。 关键词:对等网;JXTA;对等体;逆向工程;点云处理 中图分类号:TP311 文献标志码:A 文章编号:1001-3695(2007)03.0197.03 Application of P2P Technology in Point Cloud Processing LI Lin-xiao,ZHAO Li-na,PENG Wei,YE Xiu-zi (College ofComputer Science&Technology,Zhejiang University,HangzhouZhejiang 310027,China) Abstract:Peer-to-Peer technology was introduced,including JXTA technology and its features.Through research and experi- ment,JXTA technology was applied to point cloud processing.Finally,the existed problem and future improvements were pointed out. Key words:P2P(peer-to-peer);JXTA;peer;reverse engineering;point cloud processing 工或自动生成一个已存在模型实物的替代品的技术。逆向工 0 引言 P2P(Peer—to-Peer,对等网)是一种分布式系统,其主要特 征 是自组织、对称式通信和非中心化控制。自组织P2P网 络能够在对等体进入、离开和失效时自动加以调整适应 J。 对等体之间的通信是对称的,它们既请求服务又提供服务。非 中心化控制即P2P网络没有集中的目录或控制点,对等体自 主进行控制。目前P2P技术研究和应用中具有代表性的项目 包括Gnutella 、Freenet 、Pastry 、Tapestry 、Chord 、 pSearch 等。 程经常要进行频繁而又大量的点云处理,而各种点云处理算法 几乎都基于最近点计算,即要在几十万甚至几百万的点云数据 中找出距离某个点最近的一百个或更多个点。最近点计算通 常要耗费大量计算时间,以致无法付诸实际应用。如何提高计 算速度?在不增加硬件投资的前提下,充分利用局域网内已有 的资源进行P2P分布计算成为一个可行的解决方案。 JXTA_9 是一个用来解决P2P计算的开放网络计算平台, 它被设计成独立于编程语言和系统平台,同时使用了易于实现 和集成到P2P服务及应用的协议。经过五年多的发展,JXTA P2P技术是计算机应用技术和网络普及到一定程度的必 然产物 。随着时代的发展,网络环境中闲置的资源不断增 已变得愈加稳定且高效,因此本文选择JXTA技术实现基于 P2P的分布式计算在点云数据处理中的应用。 加;与此同时科学计算却呈现出计算密集型的趋势,需要耗费 海量的存储和计算资源。人们希望把一个国家或地区的超级 计算机系统整合为一个统一的计算平台,使用户可以像使用一 台单机那样来完成计算密集型任务。20世纪90年代网格计 1 P2P分布式计算模式和实现 1.1 P2P分布计算平台 算由此兴起,不过其基本模型仍是客户/服务器模式。受网格 计算的启发,为了充分利用Intemet边缘资源(包括存储、计 算、内容等),提出了全分布式通信模型为基础的P2P技术,以 便有效地利用大量个人闲置资源,并向用户提供各种网络计算 服务。从目前的应用来看,P2P的优势主要体现在大范围的共 享和搜索上,并集中在以下几个方面:对等计算、协同工作、搜 索引擎和文件交换。其中对等计算是本文研究的重点。 逆向工程是一种从模型对象表面获得的点云数据出发,人 收稿日期:2005.12.30;修返日期:2006.03.10 局域网中P2P分布计算平台体系结构如图1所示。 [ 季 三=] 返回结果<二二互重噩==)1分派 、 返回结果、、、<二:三歪 :: ( 图1 P2P分布计算平台的体系结构 该平台采用要进行点云处理的机器作为调度管理器,局域 网内其他机器作为工作端一起进行协同计算。P2P分布计算 平台主要由调度服务器、数据服务器和工作端三部分组成。此 基金项目:国家自然科学基金资助项目(60333010,60473106) 作者简介:李琳骁(1981.),男,浙江东阳人,硕士研究生,主要研究方向为计算机图形、图像、CAD等;赵丽娜(1978・),女,河北张家口人,博士 研究生,主要研究方向为P2P、分布式计算、流媒体、电子商务及软件工程等;彭维(1973.),男,湖南株洲人,副研究员,博士,主要研究方向为计算 机辅助设计(CAD)、网络化协同工作(CSCW)、人机交互等;叶修梓(1966.),男,江西广丰人,教授,博导,博士,主要研究方向为计算机辅助设计与 制造(CAD/CAM)、计算机图形/图像技术、生物信息学、GIS以及数据库技术. 维普资讯 http://www.cqvip.com

・l98・ 计算机应用研究 2007.缸 处调度服务器也充当数据服务器的角色。调度管理器负责任 务的划分和分派,以及计算结果的管理和后处理;工作端请求 并接收由调度管理器分派的子任务。由于局域网的拓扑结构 简单,一个网络内只设置一个调度管理器,工作端不再对子任 务进行进一步划分和分派,而是直接进行计算并在完成后返回 结果。 务划分为五个子任务,分布在五个工作端上进行计算。其中子 任务的算法为:①向调度管理器发出请求并取得需要进行最近 点计算的点,如点T,以及点云数据范围,如0和399 999即1~ 40万行这一区段;②计算该点云数据范围内所有点到点T的 距离;③对计算所得结果进行排序;④取得离点 距离最近的 一定数量,如100个点数据并发送至调度管理器。 所有子任务计算完成后,调度管理器便对取得的5×100 1.2 JXTA技术体系结构 . JXTA技术是一套开放的通用P2P协议,支持连接到网络 个最近点进行排序得到最终结果。子任务处理的点云数据量 需要在计算时间和工作端与管理器通信协调开销之间进行平 衡,并根据整个网络的工作端数量进行划分和调整。 上任何设备之间的通信和协作。其特点是高度的互操作性、平 台无关性及通用性等。JXTA协议独立于底层实现,不依赖特 定的编程语言和操作系统,也不依赖特定的网络传输机制和拓 扑结构,以及特定的认证、安全或加密模型。目前比较成熟的 JXTA参考实现有J2SE、J2ME和C语言版本。本文采用最新 的J2SE版本。 如图2所示,JXTA软件架构可以分为三层 。最底层为 平台层,也称JXTA核心,实现构建P2P应用的关键机制,包括 发现、传输及对等体和对等组的创建等;中间层为服务层,提供 搜索、索引、目录、存储系统、文件共享、资源聚集、认证等网络 服务,它不是P2P网络运行所必需的,但通常不可或缺;最顶 层为应用层,包括集成应用的实现,如P2P即时通信、文档和 资源共享、娱乐内容管理和分发等。 应用 服务 兰坠 矍叁 耋 ! 堡童l !篁三 墅叁 JXTA核心 核心 [ .E亟网.睡塑壅 匝面塑回匝蔓 蟹圃口豳 叵二] 图2 JXTA软件架构 JXTA的核心概念… 包括对等体、对等组、网络服务、模 块、管道、通告、消息和标志符等,通过这些组件及协议就可以 实现对等体之间的通信和协作、对等组提供服务和传播消息并 处理回应等功能。其中消息是对等体之间数据交换的基本单 元,不同服务之间通过管道来发送或接收消息。JXTA使用了 二进制格式的消息来保证二进制或XML数据的高效传输。下 面论及的子任务就是通过封装在消息中进行派发的。 1.3最近点计算任务的划分 单机上进行最近点计算的算法一般是:①确定需要进行最 近点计算的点,如点T;②计算点云数据中其他点到点T的距 离;③对计算所得结果即距离进行排序;④取得离点T距离最 近的一定数量,如100个点数据。取得这些最近点之后就可以 对点云数据进行下一步处理。当点云数据量大至百万甚至数 百万,又需要频繁进行最近点计算时,即使单机的全部资源都 用于计算,仍会在时间上造成不可忍受的滞后,于是考虑把计 算分布到多台计算机上。 要进行分布式计算,计算任务必须是可划分的。点云数据 的特点是一个点由一行数据表示,包括点的XYZ三维坐标或 颜色等附加信息,这使得计算任务的划分变得相对简单。根据 这个特点,可以通过指定行的范围来划分任务,如图3所示。 假设需要对200万个点云数据进行最近点计算,可以把整个任 1.4基于JXTA的分布计算 本文选用JXTA的Java绑定来实现分布计算,由此也可以 利用Java语言提供的许多便利,如跨平台、快速开发等。 点云处理中最近点计算任务可以划分为四部分,即任务分 解、任务派发、子任务求解和结果处理。除子任务求解由工作 端处理外,其他三部分均由调度管理器完成。基于JXTA的分 布计算过程主要包括如下几个步骤: (1)点云数据文件的布置及分布式计算环境搭建 首先把点云数据文件的副本分别拷贝至调度管理器和所 有工作端;然后将需要进行点云处理的机器作为调度管理器. 搭建整个调度管理框架;在工作端布置并启动工作端应用程 序。 (2)计算任务的分解和派发 调度管理器对点云数据文件进行统计取得任务计算量,根 据调度管理器和工作端之间通信时间的10~20倍计算时间为 子任务计算量来划分计算任务,并根据子任务数量创建一个子 任务队列TASK[0,…,m]和一个结果队列RES[0,…,m],分 别存储子任务0,1,…,m的计算条件和计算结果。 JXTA应用程序必须先找到并加入NetPeerGroup对等组, 每个J)(TA对等体都属于NetPeerGroup。局域网内所有计算机 都将参与分布计算,因此不建立专用对等组,而是直接采用这 个缺省对等组。调度服务器加入NetPeerGroup,完成上述初始 化工作后在对等组里发布一个输入管道通告,并根据这个通告 创建一个输入管道来监听工作端的请求。一旦收到工作端的 子任务计算请求,调度管理器立即查询RES[0,…,m]和TASK [0,…,m],将标记“未完成”的子任务发送给工作端。 这里的子任务实际上是一个对象,包含了计算代码和数据 指针。调度服务器发送子任务消息前先将子任务对象串行化 成二进制序列,然后封装在XML格式的消息中。工作端接收 子任务消息后,将这部分二进制序列抽取出来,反串行化得到 子任务对象后立刻执行。串行化和反串行化并不会影响子任 务的实际代码和功能。 (3)工作端的子任务请求和求解 工作端对等体启动后便创建一个输入管道供消息接收之 用,并一直处于查询通告的状态;同时启动一后台守护线程,负 责定时检测系统状态,判断系统当前资源空闲率是否适合进行 子任务求解。一旦系统资源许可并找到调度服务器发布的输 入管道通告,便创建输出管道向调度管理器发送子任务请求消 维普资讯 http://www.cqvip.com

第3期 李琳骁等:P2P技术在点云数据处理中的应用 ・l99・ 息。调度服务器输入管道监听到这个消息并判别其类型(整 际应用中必须不断加以调优。此外当局域网内的机器数量达 到数十甚至数百台时,如何实现负载均衡也是一个值得考虑和 完善的问题。 个环境内消息分为两种类型,即子任务请求和子任务结果); 判定是子任务请求消息后,立即通过输出管道向工作端的输入 管道发送封装有子任务的消息。 工作端收到该消息后,抽取其中的子任务并反串行化成子 任务对象,执行完成后返回结果。调度服务器接收到结果消息 并对其类型进行判断,然后把结果存入结果队列。 (4)结果处理 调度服务器派发完所有子任务后,不断查看结果队列RES 随着P2P技术的发展,以此为基础的新应用仍将层出不 穷,而已有的应用也会愈加成熟。这其中基于P2P的分布计 算显然是重要的组成部分之一,也将在点云处理等大计算量的 工程实践中得到越来越广泛和深入的应用。 参考文献: [1]ROUSSOPOULOS M,BAKER M,ROSENTHAL D,et a1.To P2P or not to P2P:the 3rd International Workshop on Peer.-to.-Peer Systems [0,…,m]。如有结果不符合要求或有子任务未完成计算,则 重新派发需要重新计算的子任务,直到所有子任务求解完成。 [C].San Diego:[s.n.],2004:33—43. [2]ROWSTRON A,DRUSCHEL P.Pastry:scalable,distributed,ob— ject location and routing for large—scale peer—to—peer systems:IFIP/ 最后调度服务器综合所有子任务结果并计算得到最终结果。 1.5实验结果 本文选取一个手机模型的点云数据(图4)进行实验,包含 128万个点。子任务的计算量为12.8万个点。整个实验环境 包括一台调度管理器和五台工作端,软件配置为JDKI.5。实 ACM Middleware 2001[C].Heidelberg:[s.n.],2001. [3]Gnutella protcool development[EB/OL].[2005—12].http://rfc— gnutella.soureeforge.net/. [4]Freenet[EB/OL].[2005—12].http://freenetporject.or昏/. [5]Tapestry[EB/OL].[2005—12].http://www.cs.ucsb.edu/~raven— en/tbapesty/.r 验结果表明,单机上平均计算时间为3.1 s,进行分布求解时平 均计算时间为1.0 s,效率有大幅提高。 [6]The Chord/DHash project[EB/OL].[2005—12].http://pdos. csail.mit.edu/ehord/. 20o万个 点云数据 [7]TANG Chunqiang,XU Zhichen,MAHLINGAM M.pSearch:informa— tion retireval in structured overlays[J].Computer Communication Review,2003,33(1):89—94. 图3计算任务的划分 图4点云数据文件效果图 [8]王丹,于戈.P2P系统模型研究[J].计算机工程,2005,31(4): l28.130. 2结束语 本文使用了JXTA的Java绑定实现P2P分布计算平台,虽 然具有开发快速、构造简单等诸多优点,但是由于Java虚拟机 的存在必然导致执行速度上的损失,在实际应用中选用JxTA [9]Project JXTA[EB/OL].[2005・12].http://www.jxta.0 . [10]SUN Microsystems.JXTA v2.3.x:Java programmer’s guide[EB/ OL].[2005—04].http://www.jxta.org/docs/JxtaProgGuide—v2.3, p越 [11]The lntenret Society.JXTA v2.0 portcolos secipifcation[EB/OL]. [2005・09].http://spec.jxta.org/nonav/v1.O/doebook/JXTAProto- cols.htm1. 的c绑定进行开发应该是一个更为合适的选择。另外对工作 端资源空闲率的判断或限定工作端子任务计算量在实 (上接第196页) rence on Computer Vision and Pattenr Recognition Workshops[c]. [S.1.]:[s.n.],2004. [5]EFROS A A,BERG A C,MORI G,et a1.recognizing action at a dis— tnce:praoceedings of IEEE International Conference on Computer Vi・ 参考文献: [1]OSADCHY M,KEREN D.A erjection—based method ofr event detec— tion in video[J].IEEE Transactions on Circuits and Systems for Video Technology,2004,14(4):534・541. sion[c].Nice:[s.n.],2003. [6]BATITrl R,AMALDI E,KOCH C.Computing Optical/low across multiple scales:afl adaptive coarse—to・ifne strategy[J].Internatio- nal Journal of Computer Vision,1991,6(2):133—145. [2]YILMAZ A,SHAH M.Actions sketch:a novel action representation: proceedings of IEEE Conf.on CVPR2005[C].San Diego:IEEE Computer Society,2005:984—989. [3]AGGARWAL J K,SANGHO PARK.Human motion:modeling and ecognirtion of actions and interactions:proceedings of the 3D Data Processing,Visualization,and Transmission,the 2nd International [7]LUCAS B,KANADE T.An iterative image registration technique with all application to stereo vision:proc.of DARPA IU Workshop [C].[S.1.].[s.n.],1981:121—130. [8】LOWRANCE R,WAGNER R A.An extension of the stirng・to・string correciton problem[J].Journal of the Association orf Computing Machinery,1975,22(2):177—183. Symposium,2OO4[C].[S.1.] s.n.],2004. [4]PORIKLI F,HAGA T.Event detection by eigenvector decomposition using object and frame features:proceedings of the 2004 IEEE Confe— 

因篇幅问题不能全部显示,请点此查看更多更全内容