掌桥专利:专业的专利平台
掌桥专利
首页

域自适应语义分割方法、装置、电子设备和存储介质

文献发布时间:2024-04-18 19:54:45


域自适应语义分割方法、装置、电子设备和存储介质

技术领域

本公开属于图像域自适应语义分割领域,具体涉及一种基于Transformer在线离线联合学习的域自适应语义分割方法、装置、电子设备和此存储介质。

背景技术

语义分割是计算机视觉中最中心的任务之一,旨在为图像逐像素进行语义分类。语义分割需要对训练图像进行逐像素标注,然而在实践中由于其高昂的标注成本,往往难以获得这些密集逐像素标签,这使得语义分割任务变得更具挑战性。一个普遍采用的解决方案是域自适应语义分割,首先通过虚拟仿真环境采集大量自动标注的虚拟图像,并在虚拟图像上训练模型,然后通过Sim2Real虚实迁移的域自适应方法在没有标注的真实图像上微调模型,使模型能够迁移至真实场景中。尽管传统的基于卷积神经网络CNN的方法在各种语义分割任务上都具有不错的表现,但是它们仍然无法应对域冲突,在域自适应过程中遭受了性能瓶颈,距离有标注监督的语义分割性能还有很大差距。如今Transformer网络架构在各个任务上都表现出了比CNN更强大的性能,并且对形状等高级特征具有更强的语义表征能力,而形状等特征具有很强的域不变性,是域自适应任务非常重要的对称性先验。因此,有必要基于Transformer网络架构开发一种更有效的域自适应语义分割训练方法,以提供具有实际使用价值的语义分割模型。

发明内容

本公开旨在至少在一定程度上解决相关技术中的技术问题之一。

为此,本公开第一方面实施例提供的域自适应语义分割方法,基于Transformer在线离线联合学习的方式,可获得泛化能力更强的域自适应性能和更精细的语义分割结果。

本公开第一方面实施例提供的域自适应语义分割方法,包括:

S100:获取不同域数据集作为训练数据,所述训练数据包括有真实标签的源域数据和无标签的目标域数据,基于Transformer网络分别构建学生网络和教师网络,初始化各网络的参数并初始化迭代训练次数和迭代训练轮数均为0;

S200:执行以下操作,通过所述训练数据对所述学生网络和所述教师网络进行迭代训练,获得本轮学生网络:

S210:针对首轮的每次迭代,仅利用有标签的源域数据对所述学生网络进行训练,针对其余轮的每次迭代,利用有标签的源域数据和带离线伪标签的目标域数据对所述学生网络进行训练;

S220:计算本次与上一次迭代由所述学生网络输出的针对目标域数据的预测变化量;

S230:利用所述学生网络对所述教师网络进行动量更新,得到更新后的教师网络;

S240:根据更新后的所述教师网络,构造目标域数据的在线伪标签;

S250:利用有标签的源域数据和带在线伪标签的目标域数据,对所述学生网络进行自蒸馏和对抗训练;

S260:令迭代训练次数加1,若在线迭代训练次数达到在线迭代训练次数上限,则获得本轮学生网络,进入步骤S300,若未达到迭代训练次数上限,则返回步骤S210继续对学生网络和教师网络进行迭代训练;

S300:按照以下步骤进行下一轮迭代训练前的准备操作:

S310:计算本轮迭代训练过程中得到的所有所述预测变化量的统计值,判断所述统计值是否达到阈值,若未达到阈值,则迭代训练结束,将最终获得的学生网络作为语义分割模型并进入步骤S400,若达到阈值,则令迭代训练轮数加1后执行步骤S320;

S320:根据上一轮迭代训练得到的所述学生网络构造目标域数据的离线伪标签;

S330:根据所述离线伪标签的预测熵对所述目标域数据进行重排序,以确定新一轮迭代训练中所述目标域数据的采样次序;

S340:初始化所述学生网络和所述教师网络,初始化迭代训练次数为0,并返回步骤S210对所述学生网络和教师网络进行新一轮迭代训练;

S400:利用所述语义分割模型对待处理的数据进行语义分割。

在一些实施例中,步骤S210中采用分别按照下式构造的源域语义分割交叉熵损失函数

其中,

在一些实施例中,步骤S220中,按照下式计算相邻两次迭代由学生网络输出的针对目标域数据的预测变化量:

其中,p

在一些实施例中,步骤S230中,利用所述学生网络对所述教师网络按照下式进行动量更新:

θ

其中,θ

在一些实施例中,步骤S240中,按照下式构造目标域数据的在线伪标签:

其中,

步骤S320中,按照下式构造目标域数据的离线伪标签:

其中,

在一些实施例中,步骤S250对所述学生网络进行自蒸馏和对抗训练的过程中,

采用按照下式构造的目标域自蒸馏交叉熵损失函数

采用按照下式构造的动态对抗学习损失函数

其中,

其中,F

在一些实施例中,步骤S330中,基于上一轮迭代训练得到的学生网络计算目标域数据的预测煽

其中,

本公开实施例提供的域自适应语义分割方法具有以下特点及有益效果:

本公开方法采用视觉Transformer作为骨干网络进行域自适应语义分割,提高了域自适应语义分割任务的平均交并比和准确率;通过观察目标域上的预测变化量,可以发现其与域自适应训练好坏及收敛情况具有高度相关性,因此可以作为域自适应训练离线迭代次数的判别依据;为了优化学习轨迹并抑制噪声,本公开采用在线和离线学习相结合的方式,在线学习过程中对教师网络引入动量更新机制以抑制高频噪声,离线学习则通过预测熵排序从而优化学习轨迹,在对抗学习过程中利用自适应得分函数实现动态的特征对齐;在综合应用上述方法之后,基于Transformer在线离线联合学习的训练方法可以获得泛化能力更强的域自适应性能和更精细的语义分割结果。

本公开第二方面实施例提供的域自适应语义分割装置,包括:

第一模块,被配置为获取不同域数据集作为训练数据,所述训练数据包括有真实标签的源域数据和无标签的目标域数据,基于Transformer网络分别构建学生网络和教师网络,初始化各网络的参数并初始化迭代训练次数和迭代训练轮数均为0;

第二模块,被配置为执行以下操作,通过所述训练数据对所述学生网络和所述教师网络进行迭代训练,获得本轮学生网络:

针对首轮的每次迭代,仅利用有标签的源域数据对所述学生网络进行训练,针对其余轮的每次迭代,利用有标签的源域数据和带离线伪标签的目标域数据对所述学生网络进行训练;

计算本次与上一次迭代由所述学生网络输出的针对目标域数据的预测变化量;

利用所述学生网络对所述教师网络进行动量更新,得到更新后的教师网络;

根据更新后的所述教师网络,构造目标域数据的在线伪标签;

利用有标签的源域数据和带在线伪标签的目标域数据,对所述学生网络进行自蒸馏和对抗训练;

令迭代训练次数加1,若在线迭代训练次数达到在线迭代训练次数上限,则获得本轮学生网络,若未达到迭代训练次数上限,则继续对学生网络和教师网络进行迭代训练;

第三模块,被配置为按照以下步骤进行下一轮迭代训练前的准备操作:

计算本轮迭代训练过程中得到的所有所述预测输出变化量的统计值,判断所述统计值是否达到阈值,若未达到阈值,则迭代训练结束,将最终获得的学生网络作为语义分割模型;若达到阈值,则令迭代训练轮数加1,然后根据上一轮迭代训练得到的所述学生网络构造目标域数据的离线伪标签,根据所述离线伪标签的预测熵对所述目标域数据进行重排序,以确定新一轮迭代训练中所述目标域数据的采样次序,初始化所述学生网络和所述教师网络,初始化迭代训练次数为0,对所述学生网络和教师网络进行新一轮迭代训练;

第四模块,被配置为利用所述语义分割模型对待处理的数据进行语义分割。

本公开第三方面实施例提供的电子设备,包括:

至少一个处理器,以及,与所述至少一个处理器通信连接的存储器;

其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被设置为用于执行本公开第一方面任一实施例所述的域自适应语义分割方法。

本公开第四方面实施例提供的计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行本公开第一方面任一实施例所述的域自适应语义分割方法。

附图说明

图1为本公开第一方面实施例提供的域自适应语义分割方法的整体流程图。

图2为本公开第一方面实施例提供的域自适应语义分割方法的原理示意图。

图3为本公开第三方面实施例提供的电子设备的结构示意图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细描述。应当理解,此处所描述的具体实施例仅仅用于解释本申请,并不用于限定本申请。

相反,本申请涵盖任何由权利要求定义的在本申请精髓和范围上做的替代、修改、等效方法以及方案。进一步,为了使公众对本申请有更好的了解,在下文对本申请的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本申请。

参见图1和图2,本公开第一方面实施例提供的基于Transformer在线离线联合学习的域自适应语义分割方法,包括以下步骤:

S100:获取不同域数据集作为训练数据,该训练数据包括有真实标签的源域数据和无标签的目标域数据,基于Transformer网络分别构建学生网络和教师网络,初始化各网络的参数并初始化迭代训练次数iter=0和迭代训练轮数epoch=0;

S200:执行以下操作,通过所述训练数据对构建的学生网络和教师网络进行迭代训练,获得本轮学生网络:

S210:针对首轮的每次迭代,仅利用有标签的源域数据对学生网络进行训练(对应图1中的步骤S210-1),针对其余轮的每次迭代,利用有标签的源域数据和带离线伪标签的目标域数据对学生网络进行训练(对应图1中的步骤S210-2);

S220:计算本次与上一次迭代由学生网络输出的针对目标域数据的预测变化量;

S230:利用学生网络对教师网络进行动量更新,得到更新后的教师网络;

S240:根据所述更新后的教师网络,构造目标域数据的在线伪标签;

S250:利用有标签的源域数据和带在线伪标签的目标域数据,对学生网络进行自蒸馏和对抗训练;

S260:令迭代训练次数iter加1(对应图1中的S260-1),若在线迭代训练次数达到在线迭代训练次数上限iter_max,则获得本轮学生网络,进入步骤S300,若未达到迭代训练次数上限,则返回步骤S210继续对学生网络和教师网络进行迭代训练;

S300:按照以下步骤进行下一轮迭代训练前的准备操作:

S310:计算本轮迭代训练过程中得到的所有预测输出变化量的统计值,判断该统计值是否达到阈值,若未达到阈值,则迭代训练结束,将步骤S260中最终获得的学生网络作为语义分割模型并进入步骤S400,若达到阈值,则令迭代训练轮数epoch加1(对应图1中的步骤S310-1)后执行步骤S320;

S320:根据上一轮迭代训练得到的学生网络构造目标域数据的离线伪标签;

S330:根据离线伪标签的预测熵对目标域数据进行重排序,以确定新一轮迭代训练中目标域数据的采样次序;

S340:初始化学生网络和教师网络,初始化迭代训练次数iter=0,并返回步骤S210对学生网络和教师网络进行新一轮迭代训练;

S400:利用所述语义分割模型对待处理的数据进行语义分割。

在一些实施例中,步骤S100具体包括以下步骤:

S110:获取带语义分割标签的图像数据作为源域数据x

S120:使用视觉Transformer网络架构分别构建学生网络

定义学生网络对源域数据的语义分割逐像素类别的预测输出为p

其中,

定义学生网络对目标域数据的语义分割逐像素类别预测输出为p

其中,

定义教师网络对目标域数据的语义分割逐像素类别预测输出为

其中,

S130:对构建的学生网络和教师网络的参数进行随机初始化,并初始化迭代训练次数iter=0和迭代训练轮数epoch=0。

在一些实施例中,步骤S110还包括:对获取的训练数据进行预处理和数据增广,包括随机翻转、缩放、裁剪、色彩抖动和/或高斯模糊等,以增强训练数据分布域的不变性。

在一些实施例中,步骤S210中,分别按照下式构造源域语义分割交叉熵损失函数

其中,

在一些实施例中,步骤S220中,按照下式计算相邻两次迭代由学生网络输出的针对目标域数据的预测变化量:

其中,p

在一些实施例中,步骤S230中,利用学生网络对教师网络按照下式进行动量更新:

θ

其中,θ

在一些实施例中,步骤S240中,按照下式构造目标域数据的在线伪标签:

其中,

在一些实施例中,步骤S250对学生网络进行自蒸馏和对抗训练的过程中:

采用按照下式构造的目标域自蒸馏交叉熵损失函数

采用按照下式构造的动态对抗学习损失函数

其中,S为非对抗域相似性网络,用于判断采样的数据与源域的域相似性,S∈[0,1],看作是每个数据的域相似性的定量函数,将来自源域的数据预测为1,将来自目标域的数据预测为0,针对输入的源域数据x

在一些实施例中,步骤S310中采用平均值作为统计值,即将本轮迭代训练过程中得到的所有目标域数据的预测变化量求和后除以迭代次数上限得到的数值。

在一些实施例中,步骤S320具体包括以下步骤:

根据上一轮迭代训练得到的学生网络

中,

按照下式构造目标域数据的离线伪标签:

其中,

在一些实施例中,步骤S330具体包括以下步骤:

根据预测煽对目标域数据进行重排序,以确定新一轮迭代训练中的目标域数据采样次序,来优化学习轨迹。基于上一轮迭代训练结束之后的学生网络

其中,

本公开第二方面实施例提供的域自适应语义分割装置,包括:

第一模块,被配置为获取不同域数据集作为训练数据,该训练数据包括有真实标签的源域数据和无标签的目标域数据,基于Transformer网络分别构建学生网络和教师网络,初始化各网络的参数并初始化迭代训练次数iter=0和迭代训练轮数epoch=0;

第二模块,被配置为执行以下操作,通过所述训练数据对构建的学生网络和教师网络进行迭代训练,获得本轮学生网络:

针对首轮的每次迭代,仅利用有标签的源域数据对学生网络进行训练,针对其余轮的每次迭代,利用有标签的源域数据和带离线伪标签的目标域数据对学生网络进行训练;

计算本次与上一次迭代由学生网络输出的针对目标域数据的预测变化量;

利用学生网络对教师网络进行动量更新,得到更新后的教师网络;

根据更新后的教师网络,构造目标域数据的在线伪标签;

利用有标签的源域数据和带在线伪标签的目标域数据,对学生网络进行自蒸馏和对抗训练;

令迭代训练次数iter加1,若在线迭代训练次数达到在线迭代训练次数上限iter_max,则获得本轮学生网络,若未达到迭代训练次数上限,则继续对学生网络和教师网络进行迭代训练;

第三模块,被配置为按照以下步骤进行下一轮迭代训练前的准备操作:

计算本轮迭代训练过程中得到的所有预测变化量的统计值,判断该统计值是否达到阈值,若未达到阈值,则迭代训练结束,将第二模块最终获得的学生网络作为语义分割模型,若达到阈值,则令迭代训练轮数epoch加1,并根据上一轮迭代训练得到的学生网络构造目标域数据的离线伪标签,根据所述离线伪标签的预测熵对目标域数据进行重排序,以确定新一轮迭代训练中目标域数据的采样次序,初始化学生网络和教师网络,初始化迭代训练次数iter=0,利用第二模块对学生网络和教师网络进行新一轮迭代训练;

第四模块,被配置为利用所述语义分割模型对待处理的数据进行语义分割。

为了实现上述实施例,本公开实施例还提出一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行,用于执行本公开第一方面实施例提供的域自适应语义分割方法。

下面参考图3,其示出了适于用来实现本公开第三方面实施例提供的电子设备的结构示意图。其中,本公开实施例中的电子设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机、服务器等等的固定终端。图3示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。

如图3所示,电子设备可以包括处理装置(例如中央处理器、图形处理器等)101,其可以根据存储在只读存储器(ROM)102中的程序或者从存储装置108加载到随机访问存储器(RAM)103中的程序而执行各种适当的动作和处理。在RAM 103中,还存储有电子设备操作所需的各种程序和数据。处理装置101、ROM 102以及RAM 103通过总线104彼此相连。输入/输出(I/O)接口105也连接至总线104。

通常,以下装置可以连接至I/O接口105:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风等的输入装置106;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置107;包括例如磁带、硬盘等的存储装置108;以及通信装置109。通信装置109可以允许电子设备与其他设备进行无线或有线通信以交换数据。虽然图3示出了具有各种装置的电子设备,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。

特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图中所示方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置109从网络上被下载和安装,或者从存储装置108被安装,或者从ROM 102被安装。在该计算机程序被处理装置101执行时,执行本公开实施例的方法中限定的上述功能。

需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。

上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。

上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:

S100:获取不同域数据集作为训练数据,所述训练数据包括有真实标签的源域数据和无标签的目标域数据,基于Transformer网络分别构建学生网络和教师网络,初始化各网络的参数并初始化迭代训练次数和迭代训练轮数均为0;

S200:执行以下操作,通过所述训练数据对所述学生网络和所述教师网络进行迭代训练,获得本轮学生网络:

S210:针对首轮的每次迭代,仅利用有标签的源域数据对所述学生网络进行训练,针对其余轮的每次迭代,利用有标签的源域数据和带离线伪标签的目标域数据对所述学生网络进行训练;

S220:计算本次与上一次迭代由所述学生网络输出的针对目标域数据的预测变化量;

S230:利用所述学生网络对所述教师网络进行动量更新,得到更新后的教师网络;

S240:根据更新后的所述教师网络,构造目标域数据的在线伪标签;

S250:利用有标签的源域数据和带在线伪标签的目标域数据,对所述学生网络进行自蒸馏和对抗训练;

S260:令迭代训练次数加1,若在线迭代训练次数达到在线迭代训练次数上限,则获得本轮学生网络,进入步骤S300,若未达到迭代训练次数上限,则返回步骤S210继续对学生网络和教师网络进行迭代训练;

S300:按照以下步骤进行下一轮迭代训练前的准备操作:

S310:计算本轮迭代训练过程中得到的所有所述预测变化量的统计值,判断所述统计值是否达到阈值,若未达到阈值,则迭代训练结束,将最终获得的学生网络作为语义分割模型并进入步骤S400,若达到阈值,则令迭代训练轮数加1后执行步骤S320;

S320:根据上一轮迭代训练得到的所述学生网络构造目标域数据的离线伪标签;

S330:根据所述离线伪标签的预测熵对所述目标域数据进行重排序,以确定新一轮迭代训练中所述目标域数据的采样次序;

S340:初始化所述学生网络和所述教师网络,初始化迭代训练次数为0,并返回步骤S210对所述学生网络和教师网络进行新一轮迭代训练;

S400:利用所述语义分割模型对待处理的数据进行语义分割。

可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++、python,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得程序,然后将其存储在计算机存储器中。

应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤,可以通过程序来指令相关的硬件完成,所开发的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

技术分类

06120116381376