1.本发明涉及无线感知技术领域,更具体地,涉及一种多阶段联合训练的体感游戏动作识别方法及系统。
背景技术:2.随着虚拟现实、元宇宙等概念的深入人心,人们不再满足于通过手柄或键盘在电子屏幕上进行游戏。体感游戏作为一种全新的游戏形式,能让玩家切身参与到游戏内容中,掀起了游戏领域的一股潮流。目前的体感游戏多采用摄像头或红外传感器、重力传感器等设备进行动作识别,这些设备成本较高,使体感游戏一直难以进入普通家庭。
3.近期有研究提出了基于射频信号的动作识别技术,有望应用于体感游戏的动作识别。现有研究的主要做法为,通过捕捉玩家动作对射频信号的干扰,从干扰中提取出相应特征,使用这些特征在深度学习网络中进行训练,得到可用于动作识别的深度学习模型,从而完成对动作准确度的预测,实现体感游戏动作识别的目的。
4.但现有方法在具体开发时存在以下三个问题。
5.第一,现有的方法要求游戏软件开发商自主采集大量的标准数据作为训练集,完成动作识别模型的训练。相比于传统游戏开发来说,这是额外的工作量,将大大提高游戏软件开发商对游戏的开发难度,且每一个新的体感游戏中都存在新的动作和动作组合,需要重新构建新的训练集来训练新的机器学习模型。由于体感游戏里存在大量的小幅度动作,导致动作识别模型对训练集的质量和规模要求很高,否则很容易出现过拟合或欠拟合的情况。巨大的训练集构造成本使得大部分游戏软件开发商不愿意接受新的基于射频信号的体感游戏方案。
6.第二,基于深度学习的动作识别算法难以应用到新的识别环境。绝大部分现有方法先在特定环境下对特定人物的动作特征进行采集和标记,并采用深度学习算法,如cnn、rnn等对采集到的数据集进行学习,得到的模型用于识别该人物的动作。但由于射频信号对周边环境十分敏感,受多径效应影响强烈,环境的更换和人物的更换都将导致识别准确率的大幅下降。这使得方法的可实施性仅存在于实验环境。就算游戏软件开发商完成了训练,在个人玩家的游玩过程中,该训练结果也将受到玩家体型以及游玩环境的巨大影响,导致识别准确率低下。
7.第三,现有的以分类算法为核心的方法未考虑动作时序的影响。大多数现有的基于射频信号的动作识别方法面向简单动作或数量有限的几个动作,采用以分类为核心的动作识别算法。这种算法能满足小规模的动作识别需求,如识别步数、识别老人是否摔倒,但在体感游戏场景下难以发挥很好的作用。体感游戏中的动作往往由很多个元动作组成,如抬起左腿、放下右手等;这些元动作的组合完成了体感游戏的动作需求。对现有的以分类为核心的动作识别算法来说,尽管他们面对单一动作或简单动作组合时能发挥一定效果,但面对多动作组合成的复杂动作时将失效。原因在于,以分类为核心的算法只能对比动作而无法理解动作的意义。比如,当现有算法识别到一个人左脚抬起的同时右脚也抬起,只会认
为该动作匹配失败,无法识别。现有算法无法根据动作的连贯性综合判断完整的动作的匹配程度。这将导致现有方法在体感游戏中的准确率大大降低。
技术实现要素:8.本发明的第一发明目的在于提供一种多阶段联合训练的体感游戏动作识别方法,该方法采用多阶段联合训练的方案,将动作识别所涉及到的数据采集训练划分为2个阶段,分散到游戏机硬件设备开发商和游戏软件开发商两个群体,降低了体感游戏的开发难度。
9.本发明的第二发明目的在于提供一种多阶段联合训练的体感游戏动作识别系统。
10.为实现第一发明目的,采用的技术方案是:一种多阶段联合训练的体感游戏动作识别方法,通过在游戏主机开发阶段、游戏软件开发阶段的联合训练实现对体感游戏的动作识别,包括:一、游戏主机开发阶段选择确定在游戏运行平台上开发的体感游戏支持的一系列元动作,并在标准环境中对上述元动作引起的射频信号变化进行收集,得到元动作数据;对上述一系列元动作的元动作数据进行特征提取,并基于提取的特征生成元动作训练数据集;构建cnn网络,利用所述元动作训练数据集对构建的cnn网络进行训练;二、游戏软件开发阶段根据所开发的体感游戏要求,在标准环境中采集相应的复杂动作引起射频信号的变化,得到复杂动作数据,并根据元动作对所述复杂动作数据进行打断和标签标注;对上述进行打断和标签标注的复杂动作数据进行特征提取,并基于提取的特征生成复杂动作训练数据集;接收游戏主机开发阶段训练好的cnn网络的参数,构建cnn参数与游戏主机开发阶段训练好的cnn网络参数保持一致的cnn-seq2seq-adaboost模型,利用所述复杂动作训练数据集对构建的cnn-seq2seq-adaboost模型进行训练;训练过程中,cnn-seq2seq-adaboost模型中的输入层、卷积层的参数保持不变;三、游戏阶段采集在游戏阶段做出游戏动作引起射频信号的变化,得到游戏动作数据;根据元动作对游戏动作数据进行打断和标签标注;对上述进行打断和标签标注的游戏动作数据进行特征提取,并基于提取的特征生成动作识别数据;将生成的动作识别数据输入至训练好的cnn-seq2seq-adaboost模型,cnn-seq2seq-adaboost模型输出游戏动作识别结果。
11.优选地,所述收集得到元动作数据、复杂动作数据、游戏动作数据后,分别对元动作数据、复杂动作数据、游戏动作数据进行滤波、降噪处理。
12.优选地,所述在游戏主机开发阶段,对一系列元动作的元动作数据进行特征提取,包括:提取每个元动作的元动作数据中的信号强度特征及到达角特征,以每个元动作的信号强度特征及到达角特征构建特征矩阵,并为所述特征矩阵标记相应的元动作类别标签。
13.优选地,所述在游戏软件开发阶段,根据元动作对所述复杂动作数据进行打断和
标签标注包括:将复杂动作数据按元动作进行划分,划分成若干段元动作数据段,并分别标记相应的元动作数据段标签,所述元动作数据段标签为:[location,sub-action,action],其中location表示该段元动作数据段在复杂动作数据中的位置,sub-action表示该段元动作数据段的元动作类别标签,action表示该复杂动作所属的类别;所述在游戏阶段,根据元动作对所述游戏动作数据进行打断和标签标注包括:将游戏动作数据按元动作进行划分,划分成若干段元动作数据段,并分别标记相应的元动作数据段标签,所述元动作数据段标签为:[l,s,a],其中l表示该段元动作数据段在游戏动作数据中的位置,s表示该段元动作数据段的元动作类别标签,a表示该游戏动作所属的类别。
[0014]
优选地,所述在游戏软件开发阶段对进行打断和标签标注的复杂动作数据进行特征提取,包括:提取每段元动作数据段中的信号强度特征及到达角特征,以每段元动作数据段的信号强度特征及到达角特征构建二维特征矩阵,复杂动作数据的所有元动作数据段的二维特征矩阵构成复杂动作训练数据集中的元素;每段元动作数据段的二维特征矩阵与其元动作数据段标签关联;所述在游戏阶段对进行打断和标签标注的游戏动作数据进行特征提取,包括:提取每段元动作数据段中的信号强度特征及到达角特征,以每段元动作数据段的信号强度特征及到达角特征构建二维特征矩阵,游戏动作数据的所有元动作数据段的二维特征矩阵构成动作识别数据。
[0015]
优选地,所述利用所述复杂动作训练数据集对构建的cnn-seq2seq-adaboost模型进行训练包括:1)对cnn-seq2seq-adaboost模型中的cnn部分进行训练:将复杂动作训练数据集中各段元动作数据段的二维特征矩阵作为cnn部分的输入,cnn部分输出元动作数据段的预测类别及其概率;利用梯度反向传播更新cnn部分中除输入层、卷积层外的其它层的参数;2)对cnn-seq2seq-adaboost模型中的seq2seq部分进行训练:将复杂动作训练数据集中的元动作类别标签序列[sub-action1,sub-action2,
…
]作为输入的一维矩阵,以及将复杂动作标签序列[action,action,action,
…
]作为训练目标输入seq2seq部分进行训练;seq2seq部分输出为新的元动作类别标签序列及其复杂动作标签;使用梯度反向传播更新seq2seq部分的参数;3)对cnn-seq2seq-adaboost模型中的adaboost部分进行训练:将seq2seq部分输出的元动作类别标签序列作为新的标签序列,与复杂动作标签[action]一起作为训练集,训练adaboost部分并输出复杂动作的识别准确率。
[0016]
优选地,所述adaboost部分使用到的强分类器由多个弱分类器加权平均得到,所述弱分类器为cart。
[0017]
优选地,所述cnn网络与cnn-seq2seq-adaboost模型中的cnn部分结构一致,均包括依次连接的1层输入层、3层卷积层、1层平均池化层、3层卷积层、1层平均池化层、2层全连接层、1层输出层。
[0018]
优选地,所述在游戏阶段,采集在游戏阶段做出游戏动作引起射频信号的变化之
前,先执行数据重构的操作:收集在同一游戏环境下做出元动作引起的射频信号变化,得到游戏环境下的元动作数据;对游戏环境下的元动作数据进行特征提取;将游戏环境下的元动作数据提取的特征与元动作训练数据集中同类型元动作的元动作数据提取的特征进行对比,确定比值;利用所确定的比值对后续获得的动作识别数据进行调整。
[0019]
为实现第二发明目的,采用的技术方案是:一种多阶段联合训练的体感游戏动作识别系统,应用上述多阶段联合训练的体感游戏动作识别方法,包括第一阶段训练模块、第二阶段训练模块及游戏主机;其中第一阶段训练模块用于执行游戏主机开发阶段的训练步骤;第二阶段训练模块用于执行游戏软件开发阶段的训练步骤;游戏主机用于执行游戏阶段的步骤。
[0020]
与现有技术相比,本发明的有益效果是:1)本发明采用多方联合训练的方案,将训练集的构造分散到游戏机硬件设备开发商和游戏软件开发商两个群体,降低了体感游戏的开发难度。
[0021]
2)本发明利用深度学习模型的特点,即低层次提取出的信息的泛化能力更强、粒度更粗,高层次提取出的信息泛化能力更弱、粒度更细的特点,使游戏机硬件设备开发商进行基础动作的训练并保留参数在模型的低层,游戏软件开发商进行复杂动作的训练并保留参数在模型的高层,玩家进行针对使用环境和玩家体型的简单测试并重构动作识别数据,三方联合训练,逐层分工,实现在玩家游玩环境中的更加准确的动作识别模型,从而提高玩家的游戏体验。
[0022]
3)本发明使用机器翻译的思想,将每个元动作视为一个单词,并使用seq2seq提取出每个元动作的“词向量”,通过学习复杂动作中元动作的时序信息来为复杂动作赋予新的含义,并映射成为新的标签序列,采用adaboost对新的标签序列进行分类,利用复杂动作里的时序信息大大提高了动作识别的准确率。
附图说明
[0023]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
[0024]
图1为多阶段联合训练的体感游戏动作识别方法的框架流程示意图。
[0025]
图2为多阶段联合训练的体感游戏动作识别系统的结构示意图。
[0026]
图3为实施例1的多阶段联合训练的体感游戏动作识别方法的流程示意图。
具体实施方式
[0027]
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述
的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。实施例1如图1所示,本发明提供的多阶段联合训练的体感游戏动作识别方法包含有游戏主机开发阶段、游戏软件开发阶段、游戏阶段三个阶段的内容,其中游戏主机开发阶段由游戏主机硬件厂商完成,游戏软件开发阶段由游戏软件开发商完成,游戏阶段由家用游戏主机完成。
[0028]
各部分具体说明如下:1)游戏主机开发阶段在游戏主机开发阶段,主要由游戏主机硬件厂商完成数据的收集、训练过程,在此阶段,如图2所示,游戏主机硬件厂商主要依赖构建的第一阶段训练模块完成整个的操作步骤。其中第一阶段训练模块包括元动作选择模块、元动作数据采集模块、元动作训练数据集生成模块、模型训练模块、参数提取模块和数据广播模块。
[0029]
1.1)元动作选择模块:负责定义体感游戏能够识别的基本元动作,例如抬腿,转身等基本简单动作。
[0030]
1.2)元动作数据采集模块:负责在尽量空旷的地带采集标准元动作引起的射频信号变化,得到元动作数据,作为游戏平台开发体感游戏的标准。
[0031]
1.3)元动作训练数据集生成模块:负责对采集到的标准元动作对应的元动作数据进行基本的滤波、降噪处理,并生成元动作训练数据集。其中元动作数据对应的射频信号变化为射频信号的信号强度和到达角的变化,分别代表了动作引起的距离和角度变化。滤波方法为基本的射频信号滤波方法,如卡尔曼滤波、高通滤波等。降噪方法为基本的射频信号降噪方法,如均值降噪、小波变换等。本发明中所有的元动作数据都经过滤波和降噪处理,足够纯净。根据采样频率和识别需求确定所有元动作对应的信号变化提取出信号强度特征和到达角特征,记为h,长度不足h的补零到h,得到每个元动作对应的大小完全相同的[2
×
h]二维特征矩阵,并为每个二维特征矩阵标记相应的元动作类别标签[sub-action],生成元动作训练数据集。例如,采集到的全部元动作数据的最大采样点数量为128个,则将所有元动作的信号强度和到达角采样值放入[2
×
128]二维矩阵中,不足128位的,其空余矩阵元素都设为0。
[0032]
1.4)模型训练模块:负责cnn网络的训练,得到能对标准元动作进行识别的cnn网络。所述cnn网络输入为将标签编码后的元动作训练数据集,输出为元动作对应的分类概率p。其结构包括依次连接的1层输入层、3层卷积层、1层平均池化层、3层卷积层、1层平均池化层、2层全连接层、1层输出层。其中,卷积层使用的卷积核根据实际要求确定,卷积层激活函数为prelu,全连接层激活函数为softmax,cnn网络的loss为binary cross entropy,使用梯度反向传播算法更新cnn网络每层的参数,如神经元的权重等。训练直到整个cnn网络的loss收敛,即得到能对标准元动作进行识别的cnn网络。
[0033]
1.5)参数提取模块:负责将上述cnn网络的结构和各参数提取并保存。
[0034]
1.6)数据广播模块:负责将游戏机硬件厂商训练好的能识别元动作的cnn网络的网络结构、参数、使用的元动作训练数据集等公布给全体游戏软件开发商。
[0035]
2)游戏软件开发阶段在游戏软件开发阶段,主要由游戏软件开发商完成数据的收集、训练过程,在此阶段,如图2所示,游戏软件开发商主要依赖构建的第二阶段训练模块完成整个的操作步骤。其中第二阶段训练模块包括复杂动作采集模块、复杂动作训练数据集生成模块、模型参数载入模块、模型训练模块和参数提取模块。
[0036]
2.1)复杂动作采集模块负责采集待开发体感游戏中存在的需要进行识别的复杂动作引起的射频信号变化并进行标签标注。其中,采集环境尽量空旷,减少多径效应的影响。复杂动作尽量由游戏机硬件厂商提供的元动作组成,并在采集信号的过程中按元动作对复杂动作进行采样点打断。例如,一段复杂动作由4个元动作组成,其采样点一共为1000个,则将其打断为100+300+200+400的四段信号数据。按时间顺序为这四段数据打上标签,其结构为[location,sub-action,action],如1,1,1;2,3,1;3,5,1;4,6,1。其中,第一位数字代表该段数据在该段复杂动作数据中的位置,第二位数字代表该段数据属于的元动作类别标签,第三位数字代表该段复杂动作所属的类别。
[0037]
2.2)复杂动作训练数据集生成模块负责生成复杂动作训练数据集。将复杂动作中的各段元动作数据段中的数据进行特征提取,得到 [2
×
h]的二维矩阵,并保留全部三个标签(位置,元动作类别标签,复杂动作类别)。
[0038]
2.3)模型参数载入模块用于构建cnn-seq2seq-adaboost模型,以及用于接收游戏机硬件厂商广播的cnn模型结构和参数。构建的cnn-seq2seq-adaboost模型中,cnn部分的网络结构与游戏机硬件厂商的cnn网络结构相同,其结构包括依次连接的1层输入层、3层卷积层、1层平均池化层、3层卷积层、1层平均池化层、2层全连接层、1层输出层。保留前4层的cnn参数并保持永远不变(即前三个卷积层参数不会因为接下来的梯度反向传播更新)。这是由于低层次提取出的信息的泛化能力更强、粒度更粗,高层次提取出的信息泛化能力更弱、粒度更细。保留低层次网络参数能大大加快loss收敛的速度,使模型训练速度更快,且保留了来自元动作训练数据集的环境影响,有利于提高模型的泛化能力。
[0039]
2.4)模型训练模块负责训练cnn-seq2seq-adaboost模型。cnn部分的网络结构如上所述,其前4层参数永远不变。训练集为复杂动作训练数据集中各段元动作数据段的二维特征矩阵及其标签[sub-action]。输入为元动作数据段的二维特征矩阵,输出为元动作数据段的预测类别及其概率。采用梯度反向传播来更新除前四层外的其他层数据。由于数据集收集环境的不同以及实际复杂动作的影响,此时的元动作数据段的二维特征矩阵与游戏机硬件厂商采集的同类元动作数据特征会有不同,cnn网络的后8层的参数也会发生变化。此时训练完毕的cnn网络具有针对该种体感游戏需求进行元动作识别的能力。
[0040]
cnn网络识别出元动作后,将复杂动作对应的元动作类别标签序列[sub-action1,sub-action2,
…
]作为输入的一维矩阵,以及该复杂动作标签序列[action,action,action,
…
]作为训练目标输入seq2seq网络进行训练。该一维矩阵的长度由复杂动作中的最长元动作序列长度决定,记为l,空余位用0填充。seq2seq网络为最基本的语义向量参与
了序列所有时刻运算的多层seq2seq网络,具体层数可根据需求自由设置。其loss为binary cross entropy,使用的attention机制为bahdanau attention,使用梯度反向传播更新参数。其输出为新的元动作类别标签序列及其复杂动作标签,统一新的元动作类别标签序列长度为s。例如,令l=8,s=6,此时seq2seq的输入矩阵为[1,2,3,4,5,0,0,0],目标矩阵为[7,7,7,7,7,7],则可通过梯度反向传播更新seq2seq模型。测试时,若测试矩阵为[1,2,3,4,5,0,0,0](已出现过的标准动作代表的矩阵),则seq2seq的输出为[7,7,7,7,7,7]。若测试矩阵为[2,2,3,4,5,0,0,0](不标准动作代表的矩阵),则seq2seq的输出为[7,7,7,7,6,7]。
[0041]
将seq2seq输出的元动作类别标签序列作为新的标签序列,与复杂动作标签[action]一起作为训练集,训练adaboost并输出复杂动作的识别准确率。所述adaboost使用的弱分类器为cart,最终的强分类器由多个cart加权平均得到,采用向前分布学习算法。
[0042]
2.5)参数提取模块:负责将训练好的cnn-seq2seq-adaboost模型结构和参数提取出来并保存。
[0043]
3)游戏阶段在游戏阶段,主要由家用游戏主机完成游戏动作的识别过程。如图2所示,家用游戏主机包括元动作数据采集模块、动作数据重构模块、模型参数载入模块、模型载入模块和准确度预测模块。
[0044]
3.1)元动作数据采集模块:负责采集用于校准的游戏环境下的元动作对应的射频信号的信号强度特征和到达角特征。具体采集时,需要根据游戏厂家对复杂动作采样点的打断方法对复杂动作进行采样点打断。
[0045]
3.2)动作数据重构模块:通过在游戏环境下采集元动作对应的信号强度特征和到达角特征与游戏机硬件厂商采集的元动作对应的信号强度特征和到达角特征的差异,重构全部捕捉到的动作。例如,游戏环境下采集到的信号强度特征值为100,但标准环境下相应元动作的信号强度特征值为80,即可确定游戏环境与标准环境的比值为0.8,将游戏环境下采集到的所有特征通过该比值进行调整,实现数据重构。
[0046]
3.3)模型参数载入模块:负责接收游戏软件开发商训练完成的cnn-seq2seq-adaboost模型。全部参数都不更改。
[0047]
3.4)模型载入模块:负责加载该cnn-seq2seq-adaboost模型。
[0048]
3.5)准确度预测模块:负责使用cnn-seq2seq-adaboost模型预测玩家某一动作的准确程度。输入为打断后的一系列元动作对应的特征矩阵[2
×
h],输出为对该复杂动作的标签预测值[action]和预测准确度p。
[0049]
如图3所示,本发明提供的多阶段联合训练的体感游戏动作识别方法的具体流程步骤:s201:游戏机硬件厂商选择能在其主机平台上开发的体感游戏支持的一系列元动作,并在标准环境中对这些元动作引起的射频信号变化进行收集;s202:游戏机硬件厂商对元动作数据进行特征提取处理,生成元动作训练数据集后,训练能识别元动作的cnn网络;s203:游戏机硬件厂商对训练好的cnn网络的参数进行保存,并将cnn网络、cnn网络参数、所使用的元动作信息发送给所有在该平台上开发体感游戏的游戏软件开发商;s204:游戏软件开发商根据所开发的体感游戏要求,在标准环境中采集相应的复
杂动作引起射频信号的变化,并根据元动作对复杂动作数据进行打断和标签标注;s205:游戏软件开发商生成复杂动作训练数据集,并接收游戏硬件厂商训练好的cnn网络,在前三层参数不变的情况下训练cnn-seq2seq-adaboost模型,并将模型结构和模型参数传递给家用游戏主机;s206:家用游戏主机首先采集元动作数据,确定家庭环境和标准环境的区别,并以此为根据重构采集到的所有动作数据;s207:家用游戏主机载入游戏软件开发商训练好的cnn-seq2seq-adaboost模型结构和模型参数,使用该模型预测动作准确度,完成体感游戏的要求。
[0050]
实施例2本实施例提供了一个应用实例,具体流程如下:1)游戏主机硬件厂商收集元动作数据构建元动作训练数据集,其中元动作类别标签为1,2,3,
…
,9,10,共有10个元动作,训练能识别元动作的cnn网络;2)游戏软件开发商根据元动作的组合,设计相应的复杂动作来完成体感游戏,如设计了元动作序列为[1346700]的复杂动作,该复杂动作的标签为001;3)游戏软件开发商收集多个复杂动作的特征数据,并接收来自游戏主机硬件厂商的cnn网络参数,保持前三层不变,只更新后面的参数,训练得到cnn-seq2seq-adaboost模型。其中,对复杂动作001,其经过cnn网络后识别出的标签序列为[1346700],经过seq2seq后得到的标签序列为[111111111],识别出的动作类别为001;4)采集游戏环境下玩家的元动作数据将之与标准环境下的元动作数据进行对比,根据对比结果重构后续收到的全部的动作信号。
[0051]
5)玩家做出复杂动作001,但并不标准,并使用cnn-seq2seq-adaboost模型进行标准度预测;6)该复杂动作001经过cnn网络后识别出的标签序列为[1246700],经过seq2seq得到的标签序列为[111131111],经过adaboost识别其动作类别为001,概率为0.92;7)游戏主机根据玩家动作的动作准确率决定如何进行下一步游戏。
[0052]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0053]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0054]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0055]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用
时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0056]
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。