面向机器人技能学习的快速模仿学习方法、系统、设备
技术领域
本发明属于机器人和人工智能
技术领域
,具体涉及一种面向机器人技能学习的快速模仿学习方法、系统、设备。背景技术
模仿学习是一类机器人通过模仿专家行为以获取技能的方法。模仿学习方法可以分为两个阶段,分别是示教数据采集和策略生成。在示教数据采集时,演示者需要执行一次或多次任务,并提供演示期间的状态和动作信息。在策略生成时,机器人使用策略生成方法从示教数据中学习用于模仿演示者行为的控制策略。
现有模仿学习方法与人类的模仿过程相比仍存在一定差异。主要体现在:第一,人类模仿者在无法获得示教者动作信息的情况下,可以仅从任务的状态序列中学习技能;第二,人类模仿者在模仿专家行为时会利用自身的知识优化任务执行步骤。这些差异使得现有模仿学习方法传授机器人技能时,必须使用外部传感器或动作识别模块以获取专家动作,这导致示教数据采集过程变得耗时且复杂;而且,当示教者提供了次优示教时,机器人无法优化执行过程,这导致机器人操作效率降低、作业时间变长。基于此,本发明提出了一种面向机器人技能学习的快速模仿学习方法。
发明内容
为了解决现有技术中的上述问题,即为了解决现有机器人的示教数据采集耗时、复杂以及当示教者提供了次优示教时,机器人无法优化执行过程,导致机器人操作效率降低、作业时间变长的问题,本发明第一方面,提出了一种面向机器人技能学习的快速模仿学习方法,该方法包括:
S10,当机器人需要学习新的技能时,先获取原始示教数据;所述原始示教数据为示教者执行示教动作前后操作环境的状态;
S20,结合预训练的评测器,通过预设的关键帧提取方法从原始示教数据集中提取关键帧示教数据;
S30,基于所述关键帧示教数据,通过训练好的控制策略模型控制机器人复现示教,从而完成机器人技能学习的泛化;
其中,所述控制策略模型、所述评测器,其训练方法为:
A10,采集探索数据,构建探索数据集;所述探索数据包括机器人在执行设定探索策略生成的动作以及执行动作前后操作环境的状态;
A20,将操作环境的状态作为监督学习的输入、将生成的动作作为监督学习的标签,通过行为克隆方法对预构建的控制策略模型训练;
A30,采集评测数据,构建评测数据集;所述评测数据包括测试任务、通过训练后的控制策略模型执行测试任务时的成功率和操作步数;所述测试任务由测试设置的操作环境的初始状态和目标状态组成;
A40,将测试任务作为监督学习的输入,将成功率和操作步数作为监督学习的标签,通过监督学习的方法训练预构建的评测器;
所述控制策略模型基于带有卷积结构、递归结构的深度神经网络构建;所述评测器基于带有卷积结构的深度神经网络构建。
在一些优选的实施方式中,步骤S20中“通过预设的关键帧提取方法从原始示教数据集中提取关键帧示教数据”,其方法为:
S21,将原始示教数据中的操作环境的状态作为节点,构建初始图G;
S22,从初始图中选择一组未经过评测器评测的节点对作为转移任务,使用评测器预测控制策略模型执行转移任务时的成功率和操作步数;
S23,若成功率预测值为1则执行步骤S24;否则执行步骤S25;
S24,在转移任务对应的节点对之间添加一条加权有向边并将权值赋为预测的操作步数,得到加权有向图;
S25,判断初始图中是否仍有未经过评测器评测的节点对,若是则执行步骤S22,否则执行步骤S26;
S26,使用最短路算法寻找加权有向图的最短路径并将最短路径上节点对应的状态作为关键帧示教数据。
在一些优选的实施方式中,步骤S30中“通过训练好的控制策略模型控制机器人复现示教”,其方法为:
S31,通过机器人的传感器读取操作环境的初始状态,作为当前状态;
S32,提取所述关键帧示教数据中的操作环境的状态作为目标状态,并在关键帧数据中删除提取的目标状态;
S33,基于所述当前状态和所述目标状态,通过训练好的控制策略模型预测机器人的动作;
S34,机器人执行预测的动作并更新操作环境的当前状态;
S35,判断步骤S34更新的当前状态与步骤S320中提取的目标状态是否一致,若是,则执行步骤S36,否则执行S32;
S36,判断关键帧示教数据中的操作环境的状态是否为空,若是,则完成机器人技能学习的泛化,否则跳转步骤S32。
在一些优选的实施方式中,所述设定探索策略为随机搜索。
在一些优选的实施方式中,所述控制策略模型,其在训练时的损失函数Loss1为:
其中, f为前向正向模型,π为控制策略模型,θπ为控制策略模型的参数,θf为前向正模型的参数,o1为初始观测,即执行动作前的操作环境的状态,og为目标观测的真值,执行动作后的操作环境的状态的真值,为执行预测动作后目标观测的预测值,为执行真值动作后目标观测的预测值,所述真值动作为探索数据中的动作,ai为第i步时真值动作,为第i步时控制策略模型输出的预测动作,λ是超参数,K为探索数据的采样长度,L为二分类交叉熵损失函数。
在一些优选的实施方式中,所述评测器模型,其在训练时的损失函数Loss2为:
其中,θpr,θps分别是评测器模型输出的成功率预测和操作步数预测的参数,r、s、分别是成功率的真值、操作步数的真值、成功率的预测值和操作步数的预测值。
本发明的第二方面,提出了一种面向机器人技能学习的快速模仿学习系统,该系统包括示教数据获取模块、关键帧提取模块、示教复现模块;
所述示教数据获取模块,配置为当机器人需要学习新的技能时,先获取原始示教数据;所述原始示教数据为示教者执行示教动作前后操作环境的状态;
所述关键帧提取模块,配置为结合预训练的评测器,通过预设的关键帧提取方法从原始示教数据集中提取关键帧示教数据;
所述示教复现模块,配置为基于所述关键帧示教数据,通过训练好的控制策略模型控制机器人复现示教,从而完成机器人技能学习的泛化;
其中,所述控制策略模型、所述评测器,其训练方法为:
A10,采集探索数据,构建探索数据集;所述探索数据包括机器人在执行设定探索策略生成的动作以及执行动作前后操作环境的状态;
A20,将操作环境的状态作为监督学习的输入、将生成的动作作为监督学习的标签,通过行为克隆方法对预构建的控制策略模型训练;
A30,采集评测数据,构建评测数据集;所述评测数据包括测试任务、通过训练后的控制策略模型执行测试任务时的成功率和操作步数;所述测试任务由测试设置的操作环境的初始状态和目标状态组成;
A40,将测试任务作为监督学习的输入,将成功率和操作步数作为监督学习的标签,通过监督学习的方法训练预构建的评测器;
所述控制策略模型基于带有卷积结构、递归结构的深度神经网络构建;所述评测器基于带有卷积结构的深度神经网络构建。
本发明的第三方面,提出了一种设备,至少一个处理器;以及与至少一个所述处理器通信连接的存储器;其中,所述存储器存储有可被所述处理器执行的指令,所述指令用于被所述处理器执行以实现权利要求上述的面向机器人技能学习的快速模仿学习方法。
本发明的第四方面,提出了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于被所述计算机执行以实现权利要求上述的面向机器人技能学习的快速模仿学习方法。
本发明的有益效果:
本发明能够简化机器人模仿学习时的数据采集流程,并基于机器人控制策略模型的性能优化示教轨迹,缩短数据采集时间与机器人操作时间,有效地提高机器人模仿学习的效率、缩短作业时间。
1)机器人可以直接通过示教者执行任务期间的观测的操作环境的状态学习操作技能,而无需获取示教者的动作,从而减少了示教数据采集时的工作量,缩短了示教数据采集时间,降低了演示成本。
2)机器人在执行示教任务时,可以根据控制策略模型的性能优化示教者提供的轨迹,从而可以在更少的操作步数内完成目标任务,提高机器人作业效率,缩短作业时间。
3)机器人可以仅从一次观测中学习示教者的操作技能,无需采集多组示教数据,从而降低示教数据采集成本。
附图说明
通过阅读参照以下附图所做的对非限制性实施例所做的详细描述,本申请的其他特征、目的和优点将会变得更明显。
图1是本发明一种实施例的面向机器人技能学习的快速模仿学习方法的流程示意图;
图2是本发明一种实施例的利用关键帧提取方法从原始示教数据集中提取与示教任务相关的关键帧示教数据的流程示意图;
图3是本发明一种实施例的利用控制策略模型控制机器人跟随关键帧示教复现示教的流程示意图;
图4是本发明一种实施例的面向机器人技能学习的快速模仿学习系统的框架示意图;
图5是本发明一种实施例的适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
本发明的面向机器人技能学习的快速模仿学习方法,如图1所示,包括以下步骤:
S10,当机器人需要学习新的技能时,先获取原始示教数据;所述原始示教数据为示教者执行示教动作前后操作环境的状态;
S20,结合预训练的评测器,通过预设的关键帧提取方法从原始示教数据集中提取关键帧示教数据;
S30,基于所述关键帧示教数据,通过训练好的控制策略模型控制机器人复现示教,从而完成机器人技能学习的泛化;
其中,所述控制策略模型、所述评测器,其训练方法为:
A10,采集探索数据,构建探索数据集;所述探索数据包括机器人在执行设定探索策略生成的动作以及执行动作前后操作环境的状态;
A20,将操作环境的状态作为监督学习的输入、将生成的动作作为监督学习的标签,通过行为克隆方法对预构建的控制策略模型训练;
A30,采集评测数据,构建评测数据集;所述评测数据包括测试任务、通过训练后的控制策略模型执行测试任务时的成功率和操作步数;所述测试任务由测试设置的操作环境的初始状态和目标状态组成;
A40,将测试任务作为监督学习的输入,将成功率和操作步数作为监督学习的标签,通过监督学习的方法训练预构建的评测器;
所述控制策略模型基于带有卷积结构、递归结构的深度神经网络构建;所述评测器基于带有卷积结构的深度神经网络构建。
为了更清晰地对本发明面向机器人技能学习的快速模仿学习方法进行说明,下面结合附图对本发明方法一种实施例中各步骤进行展开详述。
在下述实施例中,先对控制策略模型、评测器的训练过程进行详述,再对面向机器人技能学习的快速模仿学习方法实现机器人技能学习的泛化的过程进行详述。
模仿学习(Imitation Learning),也叫示教学习,是指一类从模仿专家行为以获取机器人技能的方法。快速模仿学习,也叫做小样本模仿学习(Few-shot ImitationLearning),是指仅通过一次或少次示教就可以传授机器人技能的模仿学习方法,解决了传统模仿学习示教数据采集繁琐的问题。策略、示教数据、行为克隆均为模仿学习中涉及的技术术语。策略是将状态到映射到动作的函数,用于控制机器人复现示教者的行为。示教数据是示教者完成任务期间所执行动作和环境中的观测值,其按照示教者执行的顺序进行存储。行为克隆是模仿学习主要的策略生成方法之一,将模仿学习看作一个监督学习问题。具体的,行为克隆方法将示教数据的动作和状态作为监督学习的输入和标签,通过优化模型参数使得策略的输出动作与记录的示教者动作一致,以达到模仿的目的。
1、所述控制策略模型、所述评测器的训练过程
A10,采集探索数据,构建探索数据集;所述探索数据包括机器人在执行设定探索策略生成的动作以及执行动作前后操作环境的状态;
在本实施例中,在采集数据之前,首先定义机器人的动作原语,如抓放物体,然后使用设定的探索策略生成机器人动作原语的参数,如抓取的空间位置、放置的空间位置等。探索策略在本发明中优选为随机策略(即根据动作原语参数的取值范围随机生成),也可以由手工设计或强化学习方法得到。在采集探索数据时,利用传感器记录操作环境当前的状态,然后机器人执行探索策略生成的动作,最后记录动作执行后的操作环境状态。探索数据将以{o1,a1,o2,...,ot,at,ot+1}的形式存储,其中ot,at分别为t时刻机器人获取的观测(即探索环境的状态)和执行的动作。在一个完整的数据采集回合内,机器人将执行一系列动作并存储对应的探索数据,当动作数目到达t或者操作环境遭到破坏,机器人会执行复位操作并结束这一回合的采集。
A20,将操作环境的状态作为监督学习的输入、将生成的动作作为监督学习的标签,通过行为克隆方法对预构建的控制策略模型训练;
在本实施例中,使用行为克隆方法获取机器人的控制策略,即训练控制策略模型。行为克隆方法将模仿学习问题建模为一个监督学习问题。首先,从上一步采集的探索数据中采样包含K步动作的操作环境的状态-动作序列,对其重新编号后得到格式为{o1,a1,o2,...,oK,aK,oK+1}的训练数据。然后,将初始观测(初始状态)o1和最终观测(最终状态)oK作为监督学习的输入,将动作序列{a1,a2,...,aK}作为监督学习的标签。本发明中,观测为高维的彩色图像。为了处理高维观测信息,使用带有卷积结构和递归结构的深度神经网络作为控制策略模型,并使用目标一致性损失函数作为控制策略模型训练时的目标函数Loss1,表达式为:
且满足
其中,f为前向正向模型,π为控制策略模型,θπ为控制策略模型的参数,θf为前向正模型的参数,o1为初始观测,即执行动作前的操作环境的状态,og为目标观测的真值,执行动作后的操作环境的状态的真值,为执行预测动作后目标观测的预测值,为执行真值动作后目标观测的预测值,所述真值动作为探索数据中的动作,ai为第i步时真值动作,为第i步时控制策略模型输出的预测动作,λ是超参数,K为探索数据的采样长度,L为二分类交叉熵损失函数。
A30,采集评测数据,构建评测数据集;所述评测数据包括测试任务、通过训练后的控制策略模型执行测试任务时的成功率和操作步数;所述测试任务由测试设置的操作环境的初始状态和目标状态组成;
在本实施例中,由于部分场景下可能无法获得足够充分的探索数据,因此在步骤A20中得到的机器人控制策略模型可能存在泛化性问题,即策略无法成功执行一些特殊情况下的任务。为了定量评价机器人控制策略模型的性能,拟采用监督学习的方法获取一个机器人控制策略的评测器。需要采集控制策略在不同测试任务的表现作为评测器的训练数据。首先,随机在操作环境中生成测试任务,测试任务由测试设置的初始状态os和目标状态og定义。然后,利用控制策略模型执行该测试任务,如果控制策略模型成功完成该测试任务,则记成功率pr为1并记录操作步数ps,否则记成功率pr为0并记录操作步数ps为空值,评测数据以{os,og,pr,ps}的形式存储。
A40,将测试任务作为监督学习的输入,将成功率和操作步数作为监督学习的标签,通过监督学习的方法训练预构建的评测器。
在本实施例中,控制策略模型的评测问题被建模为监督学习问题,初始状态os、目标状态og,即测试任务被作为监督学习的输入,成功率pr、操作步数ps被作为监督学习的标签。使用带有卷积结构的深度神经网络作为评测器的模型,并分别使用二分类交叉熵损失和最小均方误差损失作为成功率预测和操作步数预测的目标函数Loss2,表达式为:
其中,θpr,θps分别是评测器模型输出的成功率预测和操作步数预测的参数,r、s、分别是成功率的真值、操作步数的真值、成功率的预测值和操作步数的预测值。如果机器人未能完成任务,sign函数保证该组训练数据不会被用于优化θps。训练后可得到用于评价机器人控制策略的评测器。
2、面向机器人技能学习的快速模仿学习方法
S10,当机器人需要学习新的技能时,先获取原始示教数据;所述原始示教数据为示教者执行示教动作前后操作环境的状态;
在本实施例中,示教者(即人类)在操作环境中演示技能,具体为执行一系列动作使得操作环境状态由初始状态变为目标状态。示教者每次执行一个动作后就使用传感器记录当前环境的状态并按顺序存储,执行完毕后将所有状态依次存储得到示教数据序列,表示为其中表示第1次动作执行前的环境观测,n为示教者执行的动作数目。
S20,结合预训练的评测器,通过预设的关键帧提取方法从原始示教数据集中提取关键帧示教数据;
在本实施例中,为了提高机器人在次优示教情况下模仿时的操作效率,使用关键帧提取方法从示教者提供的原始示教Dd中提取与示教任务相关的关键帧示教数据Dk。关键帧提取方法通过预测控制策略跟随Dd时的性能,构建了包含所有候选路径的加权有向图,最终求解图的最短路径得到关键帧示教,表示为其中m是元素个数,并且m<n,如图2所示,具体如下:
S21,将原始示教数据中的操作环境的状态作为节点,构建初始图G;
在本步骤中,将Dd包含的所有观测的操作环境的状态作图的节点,得到一张无边的图作为初始图。初始图的每个节点对应原始示教数据中的一个操作环境的状态,节点的序号与其对应状态在Dd中的序号相同。
S22,从初始图中选择一组未经过评测器评测的节点对作为转移任务,使用评测器预测控制策略模型执行转移任务时的成功率和操作步数;
在本步骤中,使用循环方式穷举图中每一对节点作为转移任务,记为{oi,oj},j>i,将oi定义为任务的开始状态os,将oj定义为目标状态og。os和og作为输入送给基于深度神经网络的评测器,评测器输出控制策略在该任务上的成功率预测值与操作步数预测值
S23,若成功率预测值为1则执行步骤S24;否则执行步骤S25;
在本步骤中,若成功率预测值为1,则认为控制策略模型可以完成该任务,并执行步骤S24,若成功率预测值为0,则认为控制策略模型不能完成该任务,并执行步骤S25。
S24,在转移任务对应的节点对之间添加一条加权有向边并将权值赋为预测的操作步数,得到加权有向图;
在本步骤中,有向边的方向为oi指向oj,并且该有向边的权值为评测器输出的操作步数预测值
S25,判断初始图中是否仍有未经过评测器评测的节点对,若是则执行步骤S22,否则执行步骤S26;
在本步骤中,穷举所有的节点对并判断是否存在两个节点之间尚未得到评测器的预测结果,如果存在,则执行步骤S22,否则执行步骤S26。
S26,使用最短路算法寻找加权有向图的最短路径并将最短路径上节点对应的状态作为关键帧示教数据。
在本步骤中,使用D*算法求解加权有向图的最短路问题,并得到有向图的最短路路径长度和轨迹,将最短路轨迹上所有节点对应的状态顺序排列后得到关键帧示教,表示为其中表示第1个环境观测,m为关键帧示教包含的观测状态数目,并且m<n。
S30,基于所述关键帧示教数据,通过训练好的控制策略模型控制机器人复现示教,从而完成机器人技能学习的泛化。
在本实施例中,利用步骤A20训练得到的基于深度神经网络的控制策略模型跟随步骤S20得到的关键帧示教数据Dk以实现机器人模仿学习过程。如图3所示,具体如下:
S31,通过机器人的传感器读取操作环境的初始状态,作为当前状态;
在本步骤中,使用传感器读取操作环境的初始观测(初始状态),作为后续步骤中的当前状态oc。
S32,提取所述关键帧示教数据中的操作环境的状态作为目标状态,并在关键帧数据中删除提取的目标状态;
在本步骤中,提取关键帧示教数据Dk中的第一个元素作为目标状态og,并在Dk中删除该元素。
S33,基于所述当前状态和所述目标状态,通过训练好的控制策略模型预测机器人的动作;
在本步骤中,将上述步骤得到的oc和og作为输入送给基于深度神经网络的控制策略模型,并将控制策略模型的输出作为机器人动作原语的参数得到预测动作
S34,机器人执行预测的动作并更新操作环境的当前状态;
在本步骤中,机器人在操作环境中执行参数化后的动作原语并在执行完毕后使用传感器获取操作环境的观测以更新当前状态oc。
S35,判断步骤S34更新的当前状态与步骤S320中提取的目标状态是否一致,若是,则执行步骤S36,否则执行S32;
在本步骤中,首先使用神经网络将高维图像观测oc和og映射到低维空间,得到sc和sg。然后,使用欧式距离计算sc与sg的距离,如果距离小于设定的阈值,则认为oc和og一致并执行步骤S36,否则认为不一致并执行步骤S33。
S36,判断关键帧示教数据中的操作环境的状态是否为空,若是,则完成机器人技能学习的泛化,否则跳转步骤S32。
在本步骤中,判断Dk是否为空集,如果为空集则认为模仿任务完成,否则认为模仿尚未完成并返回步骤S32。
本发明第二实施例的一种面向机器人技能学习的快速模仿学习系统,如图4所示,包括:示教数据获取模块100、关键帧提取模块200、示教复现模块300;
所述示教数据获取模块100,配置为当机器人需要学习新的技能时,先获取原始示教数据;所述原始示教数据为示教者执行示教动作前后操作环境的状态;
所述关键帧提取模块200,配置为结合预训练的评测器,通过预设的关键帧提取方法从原始示教数据集中提取关键帧示教数据;
所述示教复现模块300,配置为基于所述关键帧示教数据,通过训练好的控制策略模型控制机器人复现示教,从而完成机器人技能学习的泛化;
其中,所述控制策略模型、所述评测器,其训练方法为:
A10,采集探索数据,构建探索数据集;所述探索数据包括机器人在执行设定探索策略生成的动作以及执行动作前后操作环境的状态;
A20,将操作环境的状态作为监督学习的输入、将生成的动作作为监督学习的标签,通过行为克隆方法对预构建的控制策略模型训练;
A30,采集评测数据,构建评测数据集;所述评测数据包括测试任务、通过训练后的控制策略模型执行测试任务时的成功率和操作步数;所述测试任务由测试设置的操作环境的初始状态和目标状态组成;
A40,将测试任务作为监督学习的输入,将成功率和操作步数作为监督学习的标签,通过监督学习的方法训练预构建的评测器;
所述控制策略模型基于带有卷积结构、递归结构的深度神经网络构建;所述评测器基于带有卷积结构的深度神经网络构建。
所述技术领域的技术人员可以清楚的了解到,为描述的方便和简洁,上述描述的系统的具体的工作过程及有关说明,可以参考前述方法实施例中的对应过程,在此不再赘述。
需要说明的是,上述实施例提供的面向机器人技能学习的快速模仿学习系统,仅以上述各功能模块的划分进行举例说明,在实际应用中,可以根据需要而将上述功能分配由不同的功能模块来完成,即将本发明实施例中的模块或者步骤再分解或者组合,例如,上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块,以完成以上描述的全部或者部分功能。对于本发明实施例中涉及的模块、步骤的名称,仅仅是为了区分各个模块或者步骤,不视为对本发明的不当限定。
本发明第三实施例的一种设备,至少一个处理器;以及与至少一个所述处理器通信连接的存储器;其中,所述存储器存储有可被所述处理器执行的指令,所述指令用于被所述处理器执行以实现权利要求上述的面向机器人技能学习的快速模仿学习方法。
本发明第四实施例的一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于被所述计算机执行以实现权利要求上述的面向机器人技能学习的快速模仿学习方法。
所述技术领域的技术人员可以清楚的了解到,未描述的方便和简洁,上述描述的设备、计算机可读存储介质的具体工作过程及有关说明,可以参考前述方法实例中的对应过程,在此不再赘述。
下面参考图5,其示出了适于用来实现本申请方法、系统、装置实施例的服务器的计算机系统的结构示意图。图5示出的服务器仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图5所示,计算机系统包括中央处理单元(CPU,Central Processing Unit)501,其可以根据存储在只读存储器(ROM,Read Only Memory)502中的程序或者从存储部分508加载到随机访问存储器(RAM,Random Access Memory)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有系统操作所需的各种程序和数据。CPU501、ROM 502以及RAM503通过总线504彼此相连。输入/输出(I/O,Input/Output)接口505也连接至总线504。
以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT,Cathode Ray Tube)、液晶显示器(LCD,Liquid Crystal Display)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN(局域网,Local AreaNetwork)卡、调制解调器等的网络接口卡的通讯部分509。通讯部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通讯部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被中央处理单元(CPU501执行时,执行本申请的方法中限定的上述功能。需要说明的是,本申请上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
术语“第一”、“第二”等是用于区别类似的对象,而不是用于描述或表示特定的顺序或先后次序。
术语“包括”或者任何其它类似用语旨在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备/装置不仅包括那些要素,而且还包括没有明确列出的其它要素,或者还包括这些过程、方法、物品或者设备/装置所固有的要素。
至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。