本申请涉及通信工程技术领域,尤其涉及一种识别码的识别方法、装置和设备。
背景技术:
通过电子设备的摄像头扫描识别码,对扫描得到的识别码进行识别后,提示用户进行与扫描的识别码相关的操作,是现有智能电子设备的一个重要应用场景。在当今智能电子设备普及的环境下,扫描识别码后并识别该识别码广泛应用于移动支付、共享单车、社交、应用下载、导航、购物等领域。
一般可通过专门的识别码扫描应用程序(application,简称app)或者其它附带识别码扫描功能的app打开识别码扫描界面,电子设备通过识别码扫描界面对识别码进行扫描后对识别码进行识别。上述识别码的识别方法,都需要用户打开对应的app,通过点击app界面中的相关按钮(比如微信app中的“扫一扫”按钮)输入打开识别码扫描界面的操作,电子设备根据用户输入的打开识别码扫描界面的操作,打开摄像头,显示识别码扫描界面,通过摄像头对准待处理识别码,对待处理识别码进行扫描后,根据扫描得到的待处理识别码的图像进行识别码的识别。
上述识别码的识别方法需要经过用户繁琐的操作后,才能进行识别码的扫描与识别,识别码的识别效率不高,影响了用户的使用体验。
技术实现要素:
本申请提供一种识别码的识别方法、装置和设备,克服了现有技术中识别码的识别效率不高的技术问题。
第一方面,本申请提供一种识别码的识别方法,应用于电子设备,包括:
获取所述电子设备第一运动过程中第一预设时长内的n组第一加速度;每组第一加速度包括:所述电子设备分别在x轴方向、y轴方向和z轴方向的加速度;其中,n为正整数;
根据所述n组第一加速度和训练模型,采用机器学习算法得到所述电子设备第一运动过程的运动类型;所述训练模型是采用所述机器学习算法,基于多个训练样本训练得到的,所述训练样本包括电子设备第二运动过程中第二预设时长内的多组第二加速度;
若所述运动类型为扫码运动,则拍摄图像,并根据拍摄得到的至少一张图像进行识别码的识别。
通过电子设备运动过程的多组第一加速度判断电子设备运动的类型是否为扫码运动,若是,则拍摄图像,并根据拍摄得到的至少一张图像进行识别码的识别,无需打开任何应用程序进行入识别码的扫描页面,只需移动电子设备,使电子设备进行具有扫码特征的扫描运动即可,因此本申请实施例的方法识别码的识别过程操作简单。而且由于无需打开任何应用程序进行入识别码的扫描页面,节省了打开相应应用程序进行入识别码的扫描页面的时间,同时由于机器学习算法运算过程的高效性,使得本申请实施的方法识别过程比较快,识别效率高。
在一种可能的设计中,若所述运动类型为扫码运动,则拍摄图像,并根据所述电子设备拍摄得到的至少一张图像进行识别码的识别,包括:
若所述运动类型为扫码运动,则开启摄像头并控制所述摄像头开始拍摄图像;
检测所述至少一张图像中是否存在包括识别码的图像;
若是,则根据至少一张包括识别码的图像,识别所述识别码。
在确定运动类型为扫码运动后,才开启摄像头,降低了电子设备的功耗。
在一种可能的设计中,所述方法还包括:
检测所述n组第一加速度中的前m组第一加速度的x轴方向、y轴方向和z轴方向的加速度是否均在预设范围内,若是,则开启摄像头;其中,m≤n,m为正整数;
若所述运动类型为扫码运动,则拍摄图像,并根据拍摄得到的至少一张图像进行识别码的识别,包括:
若所述运动类型为扫码运动,则控制所述摄像头开始拍摄图像;
检测所述至少一张图像中是否存在包括识别码的图像;
若是,则根据至少一张包括识别码的图像,识别所述识别码。
当确定电子设备疑似扫码运动时,就开启摄像头,节省了摄像头的初始化时间,缩短了本申请实施的识别码的识别方法所消耗的时间。
在一种可能的设计中,若所述至少一张图像中不存在包括识别码的图像,则控制所述摄像头停止拍摄图像。
在拍摄的至少一张图像中不存在包括识别码的图像时,控制摄像头停止拍摄图像,降低了电子设备的功耗。
在一种可能的设计中,若所述运动类型为非扫码运动,则关闭所述摄像头。
在确定运动类型为非扫码运动后,关闭摄像头,降低了电子设备的功耗。
在一种可能的设计中,所述机器学习算法为长短期记忆lstm神经网络算法,所述训练模型为lstm神经网络模型;
所述根据n组第一加速度和训练模型,采用机器学习算法得到所述电子设备第一运动过程的运动类型,包括:
根据所述n组第一加速度和所述lstm神经网络模型,采用lstm神经网络算法,得到目标标签,所述目标标签用于指示所述电子设备第一运动过程的运动类型。
在一种可能的设计中,所述机器学习算法为长短期记忆lstm神经网络算法,所述训练模型为lstm神经网络模型;
根据所述n组第一加速度和训练模型,采用机器学习算法得到所述电子设备第一运动过程的运动类型之前,还包括:
获取多个训练样本,每个训练样本包括电子设备第二运动过程中第二预设时长内的多组第二加速度;
获取各训练样本各自的标签,所述标签用于指示训练样本对应的运动类型;
根据各训练样本各自包括的多组第二加速度和各自的标签,采用lstm神经网络算法对所有训练样本进行训练,得到lstm神经网络模型。
在一种可能的设计中,所述摄像头为低功耗红外镜头。
第二方面,本申请提供一种识别码的识别装置,包括:
加速度获取模块,用于获取所述电子设备第一运动过程中第一预设时长内的n组第一加速度;每组第一加速度包括:所述电子设备分别在x轴方向、y轴方向和z轴方向的加速度;其中,n为正整数;
运动类型获取模块,用于根据所述n组第一加速度和训练模型,采用机器学习算法得到所述电子设备第一运动过程的运动类型;所述训练模型是采用所述机器学习算法,基于多个训练样本训练得到的,所述训练样本包括电子设备第二运动过程中第二预设时长内的多组第二加速度;
识别模块,用于若所述运动类型为扫码运动,则拍摄图像,并根据拍摄得到的至少一张图像进行识别码的识别。
在一种可能的设计中,所述识别模块具体用于,
若所述运动类型为扫码运动,则开启摄像头并控制所述摄像头开始拍摄图像;
检测所述至少一张图像中是否存在包括识别码的图像;
若是,则根据至少一张包括识别码的图像,识别所述识别码。
在一种可能的设计中,所述装置还包括:摄像头开启模块;
所述摄像头开启模块,用于检测所述n组第一加速度中的前m组第一加速度的x轴方向、y轴方向和z轴方向的加速度是否均在预设范围内,若是,则开启摄像头;其中,m≤n,m为正整数;
则所述识别模块具体用于:
若所述运动类型为扫码运动,则控制所述摄像头开始拍摄图像;
检测所述至少一张图像中是否存在包括识别码的图像;
若是,则根据至少一张包括识别码的图像,识别所述识别码。
在一种可能的设计中,所述识别模块还具体用于,若所述至少一张图像中不存在包括识别码的图像,则控制所述摄像头停止拍摄图像。
在一种可能的设计中,所述识别模块还具体用于,若所述运动类型为非扫码运动,则关闭所述摄像头。
在一种可能的设计中,所述识别模块还具体用于,若所述至少一张图像中不存在包括识别码的图像,则控制所述摄像头停止拍摄图像。
在一种可能的设计中,所述机器学习算法为长短期记忆lstm神经网络算法,所述训练模型为lstm神经网络模型;
所述运动类型获取模块,具体用于根据所述n组第一加速度和所述lstm神经网络模型,采用lstm神经网络算法,得到目标标签,所述目标标签用于指示所述电子设备第一运动过程的运动类型。
在一种可能的设计中,所述机器学习算法为长短期记忆lstm神经网络算法,所述训练模型为lstm神经网络模型;
所述装置还包括:训练模型获取模块;
所述训练模型获取模块,用于在根据所述n组第一加速度和训练模型,采用机器学习算法得到所述电子设备第一运动过程的运动类型之前,获取多个训练样本,每个训练样本包括电子设备第二运动过程中第二预设时长内的多组第二加速度;
获取各训练样本各自的标签,所述标签用于指示训练样本对应的运动类型;
根据各训练样本各自包括的多组第二加速度和各自的标签,采用lstm神经网络算法对所有训练样本进行训练,得到lstm神经网络模型。
在一种可能的设计中,所述摄像头为低功耗红外镜头。
第三方面,本申请还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,在所述计算机程序被处理器执行时,执行第一方面任一可能设计中的方法。
第四方面,本申请还提供一种电子设备,包括处理器和与所述处理器相连的存储器、摄像头和加速度检测器;
所述加速度检测器用于检测电子设备在运动过程中的加速度,并将检测得到的加速度发送至所述处理器;
所述摄像头用于根据所述处理器的指示拍摄图像;
所述存储器,用于存储程序;
所述处理器,用于执行所述存储器存储的所述程序,当所述程序被执行时,所述处理器用于执行上述识别码的识别方法中任一所述的方法。
本申请实施例中的识别码的识别方法通过电子设备运动过程的多组加速度判断电子设备运动的类型是否为扫码运动,若是,则拍摄图像,并根据拍摄得到的至少一张图像进行识别码的识别,无需打开任何应用程序进行入识别码的扫描页面,只需在需要扫码时,移动电子设备,使电子设备进行具有扫码特征的扫描运动即可,因此本申请实施例的识别码的识别方法的识别过程操作简单。而且由于无需打开任何应用程序进行入识别码的扫描页面,节省了打开相应应用程序进行入识别码的扫描页面的时间,同时由于机器学习算法运算过程的高效性,使得本申请实施例的方法识别过程比较快,识别效率高。
附图说明
图1为本申请实施例提供的应用场景示意图;
图2为本申请实施例提供的电子设备的结构示意图;
图3为本申请实施例提供的识别码的识别方法的流程图一;
图4为本申请实施例提供的三层神经网络示意图;
图5为本申请实施例提供的lstm神经网络算法示意图;
图6为本申请实施例提供的识别码的识别方法的流程图二;
图7为本申请实施例提供的识别码的识别方法的流程图三;
图8为本申请实施例提供的识别码的识别装置的结构示意图一;
图9为本申请实施例提供的识别码的识别装置的结构示意图二;
图10为本申请实施例提供的识别码的识别装置的结构示意图三。
具体实施方式
图1为本申请提供的应用场景示意图。
参见图1,电子设备100可为手机、平板电脑、可穿戴移动设备等;识别码200可为二维码、条形码等。其中,电子设备100可从内置的加速度传感器和/或陀螺仪中获取电子设备在x轴方向、y轴方向和z轴方向的加速度,电子设备100中存储有训练模型。
具体地,当用户需要电子设备100对识别码200进行识别时,用户会对电子设备100进行移动,使电子设备100发生相对于识别码200的运动过程。电子设备100在检测到电子设备100运动后,获取电子设备100运动过程中预设时长内的多组加速度,每组加速度包括电子设备在x轴方向、y轴方向和z轴方向的加速度;根据多组加速度和训练模型,采用机器学习算法得到电子设备100运动的类型,若电子设备100运动的类型为扫码运动,则拍摄图像,并根据拍摄的至少一张图像进行识别码的识别。本申请的识别码的识别方法通过电子设备运动过程中的加速度数据判断电子设备运动的类型是否为扫码运动,若是,开始拍摄图像,并根据拍摄的图像进行识别码的识别,识别码的识别操作简单,识别效率高,提升了用户的使用体验。
图2为本申请实施例提供的电子设备的结构示意图;参见图2,本申请实施例的电子设备20可包括:处理器21、存储器22、通信总线23、加速度检测器24、摄像头25和发送器26。其中,通信总线23用于实现处理器21、加速度检测器24、摄像头25和发送器26之间的连接通信。
具体地,存储器22可以是以下的任一种或任一种组合:固态硬盘(solidstatedrives,ssd)、机械硬盘、磁盘、磁盘整列等存储介质,可向处理器21提供指令和数据。
存储器22中存储有训练模型。存储器22还存储如下的元素:操作系统和应用程序模块。
其中,操作系统,可包含各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。应用程序模块,可包含各种应用程序,用于实现各种应用业务。
加速度检测器24可为加速度传感器和/或陀螺仪,加速度检测器24用于检测电子设备在运动过程中的加速度,并将检测得到的加速度发送至处理器21。
摄像头25用于根据处理器21的指示拍摄图像。
处理器21用于通过调用存储器22存储的程序或指令以及数据,执行如下步骤:获取加速度检测器24检测得到的电子设备第一运动过程中第一预设时长内的n组第一加速度;每组第一加速度包括:电子设备分别在x轴方向、y轴方向和z轴方向的加速度;其中,n为正整数;根据n组第一加速度和训练模型,采用机器学习算法得到电子设备第一运动过程的运动类型;训练模型是采用机器学习算法,基于多个训练样本训练得到的,训练样本包括电子设备第二运动过程中第二预设时长内的多组第二加速度;若电子设备第一运动过程的运动类型为扫码运动,则控制摄像头25开始拍摄图像,摄像头25将拍摄的至少一张图像发送至处理器21,处理器21根据拍摄得到的至少一张图像进行识别码的识别。
处理器21执行上述步骤后,得到识别码被识别后的信息,将该信息发送至发送器26。
发送器26用于将处理器21发送的该信息发送至相应的处理设备,比如服务器。
可选地,处理器21具体用于若电子设备第一运动过程的运动类型为扫码运动,则开启摄像头25并控制摄像头25开始拍摄图像;摄像头25将拍摄的至少一张图像发送至处理器21;处理器21检测至少一张图像中是否存在包括识别码的图像,若是,则根据至少一张包括识别码的图像,识别该识别码。
可选地,处理器21还具体用于若至少一张图像中不存在包括识别码的图像,则控制摄像头25停止拍摄图像。
具体地,摄像头25可为低功耗红外镜头。
或者,处理器21还用于检测n组第一加速度中的前m组第一加速度的x轴方向、y轴方向和z轴方向的加速度是否均在预设范围内,若是,则开启摄像头25;其中,m≤n,m为正整数;此时,处理器21具体用于若电子设备第一运动过程的运动类型为扫码运动,则控制摄像头25开始拍摄图像;摄像头25将拍摄的至少一张图像发送至处理器21;处理器21检测至少一张图像中是否存在包括识别码的图像,若是,则根据至少一张包括识别码的图像,识别该识别码。
可选地,处理器21还具体用于若电子设备第一运动过程的运动类型为非扫码运动,则关闭摄像头25。
可选地,处理器21还具体用于,若至少一张图像中不存在包括识别码的图像,则控制摄像头25停止拍摄图像。
具体地,摄像头25可为低功耗红外镜头。
可选地,当机器学习算法为长短期记忆lstm神经网络算法,训练模型为lstm神经网络模型时,处理器21还具体用于;根据n组第一加速度和lstm神经网络模型,采用lstm神经网络算法,得到目标标签,目标标签用于指示电子设备第一运动过程的运动类型。
可选地,当机器学习算法为长短期记忆lstm神经网络算法,训练模型为lstm神经网络模型时,在根据n组第一加速度和训练模型,采用机器学习算法得到电子设备第一运动过程的运动类型之前,处理器21还用于;获取多个训练样本,每个训练样本包括电子设备第二运动过程中第二预设时长内的多组第二加速度;获取各训练样本各自的标签,标签用于指示训练样本对应的运动类型;根据各训练样本各自包括的多组第二加速度和各自的标签,采用lstm神经网络算法对所有训练样本进行训练,得到lstm神经网络模型。
本实施例提供的电子设备通过电子设备运动过程的多组加速度判断电子设备运动的类型是否为扫码运动,若是,则拍摄图像,并根据拍摄得到的至少一张图像进行识别码的识别;即本实施中的电子设备,无需打开任何应用程序进行入识别码的扫描页面,只需在需要扫码时,移动电子设备,使电子设备进行具有扫码特征的扫描运动即可,因此本实施例的电子设备识别过程操作简单。而且由于无需打开任何应用程序进行入识别码的扫描页面,节省了打开相应应用程序进行入识别码的扫描页面的时间,同时由于机器学习算法运算过程的高效性,使得本实施的电子设备识别过程比较快,识别效率高。
图3为本申请实施例提供的识别码的识别方法的流程图一;参见图3,本实施的方法包括:
步骤s101、获取电子设备第一运动过程中第一预设时长内的n组第一加速度;每组第一加速度包括:电子设备分别在x轴方向、y轴方向和z轴方向的加速度;其中,n为正整数;
步骤s102、根据n组第一加速度和训练模型,采用机器学习算法得到电子设备运动的类型;该训练模型是采用该机器学习算法,基于多个训练样本训练得到的,训练样本包括电子设备第二运动过程中第二预设时长内的多组第二加速度;
步骤s103、若电子设备运动的类型为扫码运动,则拍摄图像,并根据拍摄得到的至少一张图像进行识别码的识别。
具体地,本实施例的执行主体可为图1中所示的电子设备。
在实际过程中,若用户想要进行识别码的识别,比如需要扫描某商家的“微信支付”的二维码进行付款,用户事先将电子设备位置和“微信支付”的二维码的位置进行匹配,然后开始移动电子设备,以使电子设备做具有扫码特征的运动。具有扫码特征的运动符合以下条件:电子设备的速度矢量的模值和其模值变化幅度均较小,加速度矢量的模值和其模值变化幅度均较小,且加速度矢量的方向和速度矢量的方向变化幅度较小,或者加速度矢量的方向和速度矢量的方向每间隔t±δt时间方向相反,在t±δt时长内加速度矢量的方向和速度矢量的方向变化幅度较小。
比如,若该二维码的承载体垂直于水平地面,则用户移动电子设备,使电子设备在与水平地面所成的角度为90°±δα1的平面空间内运动,比如:电子设备在与水平地面所成的角度为90°±δα1的平面空间内相对于该二维码做上下往复运动或者向下运动或者向上运动。δα1可小于5°。
若该二维码的承载体平行于水平地面,则用户移动电子设备,电子设备在与水平地面所成的角度成0°±δα2的平面空间内运动,比如:电子设备在与水平地面所成的角度成0°±δα2的平面空间内相对于该二维码做前后往复运动或左右往复运动或向前运动或向后运动或向左运动或向右运动。δα2可小于5°。
若该二维码的承载体即不平行于水平地面也不垂直于水平地面,且承载体与水平地面所成的角度为α,则用户移动电子设备,使电子设备在与水平地面的角度成α±δα3的平面空间内运动。δα3可小于5°。
电子设备会通过与电子设备运动过程中相关的数据(比如加速度数据)得到电子设备运动的类型。
在上述运动过程中,若用户移动电子设备的速度在预设阈值范围内,电子设备根据上述运动过程中的加速度数据,可得到上述运动过程的类型均为扫码运动。
下面结合步骤s101~步骤s102说明电子设备通过与电子设备运动过程中相关的数据得到电子设备运动的类型的具体实现过程。
对于步骤s101,在检测到电子设备运动时,获取电子设备运动过程中的第一预设时长内的n组第一加速度;每组第一加速度包括:电子设备分别在x轴方向、y轴方向和z轴方向的加速度;其中,n为正整数。其中,第一预设时长可为2s。
具体地,电子设备中内置的加速度传感器和陀螺仪可检测到电子设备分别在x轴方向、y轴方向和z轴方向的加速度。比如,加速度传感器检测的电子设备在某一时刻的加速度为(x1、y1、z1),陀螺仪检测得到的加速度为(x2、y2、z2),则该组第一加速度可为(x1、y1、z1、x2、y2、z2),该组第一加速度还可为(x1、y1、z1),该组第一加速度还可为(x2、y2、z2)。若加速度传感器和陀螺仪均每隔10ms检测一次电子设备的加速度,则在2s的第一预设时长内各自可检测到200组加速度。电子设备获取加速度传感器和/或陀螺仪检测得到的多组第一加速度。
其中,电子设备具有如下功能:当电子设备经历了两个运动特征不同的运动过程时,电子设备可将两种运动过程区分开来。比如,电子设备放在用户的口袋中,用户需要扫码时,会先从口袋中将电子设备取出至与待识别的识别码的位置匹配的位置,其对应一个运动过程,称为a运动过程;然后用户移动电子设备使电子设备做具有扫码特征的动作,这又对应一个运动过程,称为b运动过程。在b运动过程开始的很短时间内,电子设备根据从加速度传感器和陀螺仪获取的加速度,会判断加速度特征发生了明显的变化:a运动过程加速度的大小和方向变化幅度均较大,b运动过程加速度的大小和方向变化幅度均较小,于是电子设备在感知到加速度特征由加速度的大小和方向变化幅度均较大变为加速度的大小和方向变化幅度均较小后,电子设备判断b运动过程开始。所以,在该场景下,步骤s101中,电子设备会在检测到a运动过程开始后获取多组第一加速度,而在检测到b运动过程开始后重新获取多组第一加速度。
对于步骤s102,根据该多组第一加速度和事先对多个训练样本训练得到的训练模型,采用机器学习算法,得到电子设备运动的类型。
其中,机器学习算法可为长短时记忆(longshort-termmemory,简称lstm)神经网络算法,还可为决策树算法。
若机器学习算法为lstm神经网络算法,则训练模型为lstm神经网络模型;此时,根据该多组第一加速度和训练模型,采用机器学习算法,得到电子设备运动的类型为:根据该多组第一加速度和lstm神经网络模型,采用lstm神经网络算法,得到电子设备运动的类型。
若机器学习算法为决策树算法,则训练模型为对多个训练样本训练得到的决策树对应的分类规则;此时,根据该多组第一加速度和训练模型,采用机器学习算法,得到电子设备运动的类型为:根据该多组第一加速度和训练得到的决策树对应的分类规则,采用决策树算法,得到电子设备运动的类型。
下面以lstm神经网络算法为例,说明“根据多组第一加速度和lstm神经网络模型,采用机器学习算法,得到电子设备运动的类型”的过程。
根据多组第一加速度和lstm神经网络模型,采用机器学习算法,得到电子设备运动的类型具体包括:根据n组第一加速度和lstm神经网络模型,采用lstm神经网络算法,得到目标标签,目标标签用于指示电子设备第一运动过程的运动类型。
具体地,对于lstm神经网络,lstm神经网络包括输入层、隐藏层和输出层,输入层和输出层各为一层,隐藏层至少为一层,每层均包括至少一个神经元。lstm神经网络模型包括各层神经元之间的连接权值。
电子设备将多组第一加速度作为lstm神经网络输入层的输入,各层神经元之间的连接权值采用lstm神经网络模型包括的各层神经元之间的连接权值;根据多组第一加速度和lstm神经网络模型,采用lstm神经网络算法在lstm神经网络中进行运算,最终得到一个输出,该输出为指示电子设备第一运动过程的运动类型对应的目标标签。
本领域技术人员可以理解的是,电子设备在获取到一组加速度后就可将该组加速度输入至lstm神经网络的输入层,以节省得到电子设备运动类型的时间。
在实际的应用过程中,电子设备第一运动过程的运动类型分为扫码运动和非扫码运动。当电子设备根据n组第一加速度和lstm神经网络模型,采用lstm神经网络算法,得到的目标标签为第一预设标签时,说明电子设备第一运动过程的运动类型为扫码运动,则可执行后续的与识别码的识别相关的过程,而得到的目标标签为第二预设标签时,说明运动类型为非扫码运动,则结束识别码的识别流程。其中,第一预设标签用于指示电子设备第一运动过程的运动类型为扫码运动,第一预设标签可为1,第二预设标签用于指示电子设备第一运动过程的运动类型为非扫码运动,第二预设标签可为0。
下面以最简单的神经网络说明连接权值的含义。
图4为本申请实施例提供的三层神经网络示意图,参见图4,输入层3个神经元,隐含层3个神经元,输出层1个神经元。
比如,某样本的输入向量(x1,x2,x3),隐藏层第一个神经元31的输入为:h1=w11×x1+w21x2+w31x3,其中,w11为输入层的第一个神经元21与隐藏层第一个神经元31之间的连接权值,w21为输入层的第2个神经元22与隐藏层第1个神经元31之间的连接权值,w31为输入层的第3个神经元23与隐藏层第1个神经元31之间的连接权值。剩余的各层神经元之间的连接权值的含义同上,此处不再赘述。对于隐藏层第一个神经元的输出由相应的神经网络算法(比如bp神经网络算法、rnn神经网络算法,lstm神经网络算法)决定。隐藏层各神经元输出后,根据隐藏层的各神经元和输出层的神经元之间的连接权值,得到输出层的神经元的输入,再根据相应的神经网络算法最终得到输出层的神经元的输出,输出层的神经元的输出即为该样本经过相应的神经网络后得到的输出。
图5为本申请实施例提供的lstm神经网络算法示意图。
参见图5,xt-1为t-1时刻某一神经元s的输入,ht-1为当输入为xt-1时神经元s的输出,ct-1为与t-1时刻对应的神经元s的状态,xt为t时刻神经元s的输入,ht为当输入为xt时神经元s的输出,ct为t时刻对应的神经元s的状态,xt+1为t+1时刻的神经元s的输入,ht+1为当输入为xt+1时神经元s的输出,ct+1为t+1时刻对应的神经元s的状态。
也就是说在t时刻,神经元s具有三个输入:ct-1,xt,ht-1。
其中,因为本实施例中lstm神经网络的输入为多组第一加速度,因此,对于某一神经元s来讲在不同的时刻具有不同的输入和输出。对于t时刻,xt是根据上一层各神经元的输出以及上一层各神经元和神经元s之间的连接权值计算得到的,ht-1也可以称为上一时刻神经元s的输出,ct-1也可以称为上一时刻神经元s的状态,现在需要做的是计算神经元s在t时刻输入xt后的输出ht。可通过公式一至公式六计算:
ft=σ(wf·[ht-1,xt]+bf)公式一;
it=σ(wi·[ht-1,xt]+bi)公式二;
ot=σ(wo·[ht-1,xt]+bo)公式五;
ht=ot·tanh(ct)公式六;
其中,ft为遗忘门,wf为遗忘门的权重矩阵,bf为遗忘门的偏置项,σ为sigmoid函数,it为输入门,wi为输入门的权重矩阵,bi为输入门的偏置项,
通过上述过程,lstm神经网络关于当前的记忆和长期的记忆组合在一起,形成了新的单元状态ct。由于遗忘门的控制,lstm神经网络可以保存很久很久之前的信息,由于输入门的控制,它又可以避免当前无关紧要的内容进入记忆;输出门控制了长期记忆对当前输出的影响。
lstm神经网络的每个神经元的输出均可按照上述公式一至公式六计算得到,最终可得到多组第一加速度作为lstm神经网络的输入时,根据lstm神经网络模型,采用lstm神经网络算法后对应的输出,即电子设备第一运动过程的运动的类型对应的目标标签。
下面对lstm神经网络模型的获取过程进行说明。
(1)、获取多个训练样本,每个训练样本包括电子设备第二运动过程中第二预设时长内的多组第二加速度;
(2)、获取各训练样本各自的标签,标签用于指示训练样本对应的运动类型;
(3)、根据各训练样本各自包括的多组第二加速度和各自的标签,采用lstm神经网络算法对所有训练样本进行训练,得到lstm神经网络模型。
对于(1)、在获取训练样本前,需要明确扫码运动对应的运动过程的特征以及非扫码运动对应的运动过程的特征。
比如:当电子设备在与水平地面所成的角度为90°±δα1的平面空间内做上下往复运动或者向下运动或者向上运动;或者电子设备在与水平地面所成的角度成0°±δα2的平面空间内前后往复运动或左右往复运动或向前运动或向后运动或向左运动或向右运动;或者电子设备在与水平地面的角度成α±δα3的平面空间内运动时,若上述运动过程若电子设备运动的速度的大小在预设阈值范围内,则可认为上述运动过程的运动类型均为扫码运动。
当电子设备的多种运动过程为:由于用户拿起或抬起电子设备产生的运动过程,由于用户将电子设备放至桌面等物体表面产生的运动过程,由于用户甩动电子设备产生的运动过程,由于用户将电子设备放入口袋产生的运动过程,由于用户自身的移动带动电子设备移动的过程(比如,电子设备被放置在用户的包里,用户走路或骑车带动电子设备移动的过程)。则可认为上述运动过程的运动类型均为非扫码运动。
在明确了扫码运动对应的运动过程的特征以及非扫码运动对应的运动过程的特征后,可进行训练样本的获取。
训练样本的获取过程举例如下:选定用户1,使用户移动电子设备,用户移动电子设备带动的电子设备的运动过程满足以下条件:电子设备在与水平地面所成角度为90°±δα1的平面空间内的向下运动,电子设备的运动速度的大小在预设阈值范围内;获取电子设备在与水平地面所成角度为90°±δα1的平面空间内的向下运动的过程中第二预设时长内的多组第二加速度,则得到了训练样本a。可知,该训练样本对应的运动类型为扫码运动。
选定用户1,使用户再次移动电子设备,用户移动电子设备带动的电子设备的运动过程满足以下条件:电子设备在与水平地面所成角度为90°±δα1的平面空间内的向下运动,电子设备的运动速度的大小在预设阈值范围内;获取电子设备在与水平地面所成角度为90°±δα1的平面空间内的向下运动的过程中第二预设时长内的多组第二加速度,则得到了训练样本b。可知,该训练样本对应的运动类型为扫码运动。
选定用户2,使用户移动电子设备,用户移动电子设备带动的电子设备的运动过程满足以下条件:电子设备在与水平地面所成角度为90°±δα1的平面空间内的向下运动,电子设备的运动速度的大小在预设阈值范围内;获取电子设备在与水平地面所成角度为90°±δα1的平面空间内的向下运动的过程中第二预设时长内的多组第二加速度,则得到了训练样本c。可知,该训练样本对应的运动类型为扫码运动。
选定不同的用户获取训练样本,可使得最终得到的训练模型的测试精度较高,即实际过程中判定电子设备的运动类型的准确率较高。
选定用户1,使用户移动电子设备,将电子设备从桌上拿起,获取电子设备在被用户从桌面上拿起的运动过程中第二预设时长内的多组第二加速度,则得到了训练样本d。可知,该训练样本对应的运动类型为非扫码运动。
其中,可选地,第二预设时长和第一预设时长相同。
选定不同的用户获取训练样本,可使得最终得到的训练模型的测试精度较高,即实际过程中判定电子设备的运动类型的准确率较高。
对于每个运动过程(包括属于扫码运动类型的运动过程和属于非扫码运动的类型的运动过程选定),选定多个不同的用户分别来执行多次,最终得到多个训练样本。
本领域技术人员可以理解的是,训练样本的个数要足够多,以使训练模型的测试精度较高。
对于(2),对于获取的每个训练样本,比如,训练样本a对应的运动类型为扫码运动,则训练样本a的标签应该标注为第一预设标签,例如为1,用户通过电子设备的界面将训练样本a的标签输入,电子设备获取训练样本a的标签—第一预设标签;训练样本b对应的运动类型为扫码运动,则训练样本b的标签应该标注为第一预设标签,例如为1,用户通过电子设备的界面将训练样本b的标签输入,电子设备获取训练样本b的标签—第一预设标签;训练样本d对应的运动类型为非扫码运动,则训练样本d的标签应该标注为第二预设标签,例如为0,用户通过电子设备的界面将训练样本d的标签输入,电子设备获取训练样本d的标签—第二预设标签。
对于(3),对于第一个进行训练的训练样本,将该训练样本的多组第二加速度作为lstm神经网络的输入,将训练样本的标签作为期望输出,lstm神经网络各层神经元之间的连接权值赋予初始值;根据上述输入以及各层神经元之间的连接权值,采用lstm神经网络算法,得到该训练样本对应的实际输出;采用误差函数对实际输出和期望输出进行处理后,根据处理结果调整各层神经元之间的连接权值,得到调整后各层神经元之间的连接权值。
对于第二个进行训练的训练样本,将该训练样本的多组第二加速度作为lstm神经网络的输入,将该训练样本的标签作为期望输出,此时,采用的lstm神经网络各层神经元之间的连接权值为第一个训练样本训练完毕后,得到的调整后各层神经元之间的连接权值;根据输入以及各层神经元之间的连接权值,采用lstm神经网络算法,得到该训练样本对应的实际输出;采用误差函数对实际输出和期望输出进行处理后,根据处理结果调整各层神经元之间的连接权值,得到调整后各层神经元之间的连接权值。
对于第三个进行训练的训练样本,将该训练样本的多组第二加速度作为lstm神经网络的输入,将该训练样本的标签作为期望输出,此时,采用的lstm神经网络各层神经元之间的连接权值为第二个训练样本训练完毕后,得到的调整后各层神经元之间的连接权值;根据输入以及各层神经元之间的连接权值,采用lstm神经网络算法,得到该训练样本对应的实际输出;采用误差函数对实际输出和期望输出进行处理后,根据处理结果调整各层神经元之间的连接权值,得到调整后各层神经元之间的连接权值。
重复执行上述训练过程,直至全局误差在允许的范围内,也就是训练的精度满足要求后,停止训练过程,每个训练样本至少被训练一次。
最后一次训练得到的调整后的各层神经元之间的连接权值即为lstm神经网络模型。
在得到电子设备的运动类型后,对于步骤s103,若电子设备运动的类型为扫码运动,则拍摄图像,并根据拍摄得到的至少一张图像进行识别码的识别。
具体地,若通过步骤s101~步骤s102得到的电子设备运动的类型为非扫码运动,则结束识别码的识别流程。
若通过步骤s101~步骤s102得到的电子设备运动的类型为扫码运动,则通过电子设备的摄像头拍摄图像,可选地,拍摄的图像为多张。比如可通过电子设备的摄像头按照配置好的帧率和码率拍摄视频,拍摄得到的视频缓存至电子设备的缓存空间,拍摄得到的视频对应多帧视频图像。
为了防止将不是扫码运动的电子设备运动的类型误判为扫码运动,“根据拍摄得到的至少一张图像进行识别码的识别”的过程如下。
电子设备开始拍摄图像后,检测拍摄得到的至少一张图像中是否存在包括识别码的图像。即电子设备开始拍摄图像后,可同时开始检测拍摄得到的至少一张图像中是否存在包括识别码的图像的过程。
其中,可采用角点检测方法或边缘检测方法判断图像中是否存在识别码,比如可通过基于边缘增强的二维码区域定位算法,判断图像中是否包括识别码。
检测拍摄得到的至少一张图像中是否存在包括识别码的图像的具体的实现方式可为:在拍摄过程中,若拍摄的图像为视频帧图像,则根据已拍摄的视频,生成视频帧信息,对视频帧信息进行时间窗口抽样,得到多帧视频帧图像,对抽样得到的多帧视频帧图像进行有无识别码的判定。
若抽样得到的多帧视频帧图像中,均没有识别码,则停止拍摄图像,并结束识别码的识别流程。该种情况适用于将电子设备运动的类型误判为扫码运动的场景,可降低电子设备的功耗。
若抽样得到的多帧视频帧图像中,存在包括识别码的图像,则确定电子设备的运动的类型为扫码运动,继续拍摄视频,并根据至少一帧包括识别码的图像进行识别,直至识别码识别成功,停止拍摄视频,结束识别码的识别流程。
检测拍摄得到的至少一张图像中是否存在包括识别码的图像的具体的实现方式还可为:在拍摄过程中,若拍摄的图像为视频帧图像,从已拍摄得到的视频的第一帧视频帧图像开始,依次检测视频帧图像中是否包括识别码,最多检测预设帧数的视频图像。
比如,预设帧数为20帧;若检测了20帧视频图像,20帧视频图像均没有识别码,则停止拍摄图像,并结束识别码的识别流程。该种情况适用于将电子设备运动的类型误判为扫码运动的场景,可降低电子设备的功耗。
若检测到第5帧视频图像,第5帧视频图像中具有识别码的图像,则确定电子设备的运动的类型为扫码运动,继续拍摄视频,并根据至少一帧包括识别码的视频图像进行识别,直至识别码识别成功,停止拍摄视频,结束识别码的识别流程。
其中,若识别码为qr二维码,识别码的识别方法可为:从已拍摄的图像中,选取多张包括qr二维码的视频帧图像,将多张包括qr二维码的视频帧图像融合,形成一张清晰的图像,然后通过定位、分割、解码等过程完成qr二维码的识别。
在识别码识别成功后,进入至识别码对应的应用,比如识别码为摩拜共享单车的二维码码,则二维码码识别成功后,电子设备将识别识别码得到的信息发送至摩拜共享单车相关的服务器,摩拜共享单车相关的服务器控制摩拜共享单车实现开锁。
本实施例中的识别码的识别方法通过电子设备运动过程的多组加速度判断电子设备运动的类型是否为扫码运动,若是,则拍摄图像,并根据拍摄得到的至少一张图像进行识别码的识别;即本实施中的识别码的识别方法,无需打开任何应用程序进行入识别码的扫描页面,只需在需要扫码时,移动电子设备,使电子设备进行具有扫码特征的扫描运动即可,因此本实施例的方法识别码的识别过程操作简单。而且由于无需打开任何应用程序进行入识别码的扫描页面,节省了打开相应应用程序进行入识别码的扫描页面的时间,且由于机器学习算法运算过程的高效性,使得本实施的方法识别过程比较快,识别效率高。
本实施例的识别码的识别方法包括:获取电子设备第一运动过程中第一预设时长内的n组第一加速度;每组第一加速度包括:电子设备分别在x轴方向、y轴方向和z轴方向的加速度;其中,n为正整数;根据n组第一加速度和训练模型,采用机器学习算法得到电子设备运动的类型;训练模型是采用机器学习算法,基于多个训练样本训练得到的,训练样本包括电子设备第二运动过程中第二预设时长内的多组第二加速度;若电子设备运动的类型为扫码运动,则拍摄图像,并根据拍摄得到的至少一张图像进行识别码的识别。本实施例的识别码的识别方法,识别过程操作简单且识别效率高。
应理解,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
下面采用几个具体的实施例对上一实施例进行详细的说明。
图6为本申请实施例提供的识别码的识别方法的流程图二;参见图6,本实施的方法包括:
步骤s201、获取电子设备第一运动过程中第一预设时长内的n组第一加速度;每组第一加速度包括:电子设备分别在x轴方向、y轴方向和z轴方向的加速度;其中,n为正整数;
步骤s202、根据n组第一加速度和训练模型,采用机器学习算法得到电子设备运动的类型;该训练模型是采用该机器学习算法,基于多个训练样本训练得到的,训练样本包括电子设备第二运动过程中第二预设时长内的多组第二加速度;
步骤s203、若电子设备运动的类型为扫码运动,则开启摄像头并控制摄像头开始拍摄图像;
步骤s204、检测所拍摄的至少一张图像中是否存在包括识别码的图像;
步骤s205、若所拍摄的至少一张图像中存在包括识别码的图像,则根据拍摄得到的至少一张包括识别码的图像进行识别码的识别。
具体地,本实施例中的步骤s201~步骤s202与上一实施例的步骤s101~步骤s102相同,本实施例不再赘述。
对于步骤s203,在得到电子设备运动的类型后,若电子设备运动的类型为扫码运动,则开启摄像头并控制摄像头开始拍摄图像。也就是说摄像头是在确定电子设备运动的类型为扫码运动后开启的,并不是在检测到电子设备运动后就开启的,节省了电子设备的能耗。
对于步骤s204~步骤s205,参见上一实施例中步骤s103,本实施例不再赘述。
进一步地,对于步骤s204若所拍摄的至少一张图像中不存在包括识别码的图像,则控制摄像头停止拍摄图像,并结束识别码的识别流程。
本实施例中,在确定电子设备运动的类型为扫码运动后开启摄像头并控制摄像头开始拍摄图像,可以降低电子设备的功耗。
应理解,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
为了进一步提高识别码的识别效率,本实施例在上一实施例的基础上作了进一步的改进。
图7为本申请实施例提供的识别码的识别方法的流程图三;参见图7,本实施的方法包括:
步骤s301、获取电子设备第一运动过程中第一预设时长内的n组第一加速度;每组第一加速度包括:电子设备分别在x轴方向、y轴方向和z轴方向的加速度;其中,n为正整数;
步骤s302、当n组第一加速度中的前m组第一加速度的x轴方向、y轴方向和z轴方向的加速度均在各自对应的预设范围内时,则开启摄像头;m≤n,m为正整数;
步骤s303、根据n组第一加速度和训练模型,采用机器学习算法得到电子设备运动的类型;该训练模型是采用该机器学习算法,基于多个训练样本训练得到的,训练样本包括电子设备第二运动过程中第二预设时长内的多组第二加速度;
步骤s304、若电子设备运动的类型为扫码运动,则控制摄像头开始拍摄图像;
步骤s305、检测所拍摄的至少一张图像中是否存在包括识别码的图像;
步骤s306、若所拍摄的至少一张图像中存在包括识别码的图像,则根据拍摄得到的至少一张图像进行识别码的识别。
具体地,本实施例中的步骤s301与图2所示的实施例中的步骤s101相同,本实施例不再赘述。
本实施例与上一实施例的区别在于:开启摄像头的时间不相同。
对于步骤s302,当n组第一加速度中的前m组第一加速度中的x轴方向、y轴方向和z轴方向的加速度均在预设范围内时,则开启摄像头;m≤n,m为正整数。
若电子设备的运动类型为扫码运动,则电子设备x轴方向、y轴方向和z轴方向的加速度均会在预设范围内。换句话说,若电子设备x轴方向、y轴方向和z轴方向的加速度均在预设范围内,则认为电子设备的运动为疑似扫码运动,本实施例就是利用该特征确定摄像头的开启时间。
比如,预设的范围为[-a,a],电子设备每获取一组第一加速度,就将该组第一加速度中的x轴方向、y轴方向和z轴方向的加速度与预设的范围[-a,a]对比,若m组第一加速度中的x轴方向、y轴方向和z轴方向的加速度均在预设的范围[-a,a]内,则认为电子设备的运动为疑似扫码运动,此时,开启摄像头。
由于对比过程运算量小,则“判断m组第一加速度中的x轴方向、y轴方向和z轴方向的加速度是否均在预设范围内”的过程结束时间会早于“根据n组第一加速度和训练模型,采用机器学习算法得到电子设备运动的类型”的过程结束时间,也就是开启摄像头的时间早于“根据n组第一加速度和训练模型,采用机器学习算法得到电子设备运动的类型”的过程结束时间。那么,在电子设备的运动类型确定时,摄像头已经开启,此时可以直接控制摄像头开始拍摄图像,节省了在确定电子设备的运动类型后才开启摄像头时,摄像头的初始化时间,从而加快了本实施的方法的识别过程,识别效率高。
若n组第一加速度中的前m组第一加速度中存在至少一组x轴方向、y轴方向和z轴方向的第一加速度不在预设范围内,则认为电子设备的运动不为扫码运动,此时,结束识别码的识别流程。
对于步骤s303,参见图1所示的实施例中的步骤s102,本实施例不再赘述。
对于步骤s304~步骤s306,参见图1所示的实施例中的步骤s102,本实施例不再赘述。
进一步地,对于步骤s304,若电子设备运动的类型不为扫码运动,则关闭摄像头,并结束识别码的识别流程。
进一步地,对于步骤s306:若所拍摄的至少一张图像中不存在包括识别码的图像,则控制摄像头停止拍摄图像,并结束识别码的识别流程。
本实施例中通过在判断电子设备疑似扫码运动时,就开启摄像头,节省了摄像头的初始化时间,加快了本实施的方法的识别过程,因此本实施例的识别码的识别方法识别效率高。
应理解,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
上述针对电子设备所实现的功能,对本申请实施例提供的方案进行了介绍。可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。结合本申请中所公开的实施例描述的各示例的单元及算法步骤,本申请实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同的方法来实现所描述的功能,但是这种实现不应认为超出本申请实施例的技术方案的范围。
本申请实施例可以根据上述方法示例对电子设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
图8为本申请实施例提供的识别码的识别装置的结构示意图一;参见图8,本实施例的装置包括:加速度获取模块81、运动类型获取模块82和识别模块83。
加速度获取模块81,用于获取电子设备第一运动过程中第一预设时长内的n组第一加速度;每组第一加速度包括:电子设备分别在x轴方向、y轴方向和z轴方向的加速度;其中,n为正整数;运动类型获取模块82,用于根据n组第一加速度和训练模型,采用机器学习算法得到电子设备第一运动过程的运动类型;训练模型是采用机器学习算法,基于多个训练样本训练得到的,训练样本包括电子设备第二运动过程中第二预设时长内的多组第二加速度;识别模块83,用于若电子设备第一运动过程的运动类型为扫码运动,则拍摄图像,并根据拍摄得到的至少一张图像进行识别码的识别。
当机器学习算法为长短期记忆lstm神经网络算法,训练模型为lstm神经网络模型时,运动类型获取模块82,具体用于根据n组第一加速度和lstm神经网络模型,采用lstm神经网络算法,得到目标标签,目标标签用于指示电子设备第一运动过程的运动类型。
识别模块83具体用于,若电子设备第一运动过程的运动类型为扫码运动,则开启摄像头并控制所述摄像头开始拍摄图像;检测至少一张图像中是否存在包括识别码的图像;若是,则根据至少一张包括识别码的图像,识别该识别码。
识别模块83还具体用于,若至少一张图像中不存在包括识别码的图像,则控制摄像头停止拍摄图像。
本实施例的装置,可以用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图9为本申请实施例提供的识别码的识别装置的结构示意图二,参见图9,在图8所示的装置的基础上,本实施例的装置还包括:摄像头开启模块84;
摄像头开启模块84,用于检测n组第一加速度中的前m组第一加速度的x轴方向、y轴方向和z轴方向的加速度是否均在预设范围内,若是,则开启摄像头;其中,m≤n,m为正整数;则识别模块83具体用于:若电子设备的第一运动过程的运动类型为扫码运动,则控制摄像头开始拍摄图像;检测至少一张图像中是否存在包括识别码的图像;若是,则根据至少一张包括识别码的图像,识别该识别码。
识别模块83还具体用于,若至少一张图像中不存在包括识别码的图像,则控制摄像头停止拍摄图像。
识别模块83还具体用于,若电子设备的第一运动过程的运动类型为非扫码运动,则关闭摄像头。
本实施例的装置,可以用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图10为本申请实施例提供的识别码的识别装置的结构示意图三,参见图10,在图8或9所示的装置的基础上,本实施例的装置还包括:训练模型获取模块85;
当机器学习算法为长短期记忆lstm神经网络算法,训练模型为lstm神经网络模型时,训练模型获取模块85,用于在根据n组第一加速度和训练模型,采用机器学习算法得到电子设备第一运动过程的运动类型之前,获取多个训练样本,每个训练样本包括电子设备第二运动过程中第二预设时长内的多组第二加速度;获取各训练样本各自的标签,标签用于指示训练样本对应的运动类型;根据各训练样本各自包括的多组第二加速度和各自的标签,采用lstm神经网络算法对所有训练样本进行训练,得到lstm神经网络模型。
本实施例的装置,可以用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
本申请实施例提供一种计算机程序产品,该计算机程序产品包括计算机执行指令,该计算机执行指令存储在计算机可读存储介质中。电子设备的至少一个处理器可以从计算机可读存储介质读取该计算机执行指令,至少一个处理器执行该计算机执行指令使得电子设备执行上述方法实施例所示的方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不做限定。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。