具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本方法通过视频提取脉搏波特征参数,并通过分析其与视频录制同时记录血压真实值间的相关性,选择相关性较大的特征参数与对应血压真实值进行模型训练,最后,建立血压的BP神经网络模型,并且为提高BP神经网络模型对血压估计的准确性,提出一种基于遗传算法优化的BP神经网络估计方法。利用遗传算法优化BP神经网络的权值和阈值,然后训练BP神经网络估计模型获取最优解,充分发挥了BP神经网络的局部搜索能力和遗传算法的全局搜索能力的优势。该方法的实现流程如下:
将采集到的面部视频进行相关的处理,提取多个感兴趣区域的脉搏信号,然后通过信号处理提取信号中与血压有关的特征参数,其中包括波形的幅值、面积、频率、相位差等以及相应的个体信息参数,最后将这些参数带入与血压之间的关系,通过优化后神经网络建立由这些参数确定的血压估计模型。为了更好的阐述上述发明构思,提出本发明的各个实施例。
在本发明的实施例中,该方法既可以应用于终端,也可以应用于服务器。其中终端可以是移动电话、智能电话、笔记本电脑、数字广播接收器、个人数字助理(PDA)、平板电脑(PAD)等用户设备(User Equipment,UE)、手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其它处理设备、移动台(Mobile station,MS)等。该终端具有一个视频采集单元,如摄像头等,或者该终端可接收服务器传输过来的视频并对视频文件进行处理。且该终端可以提供一个用户界面,并在用户界面提供一个输入窗口、血压估计按钮,以及血压输出显示界面,输入窗口用于输入用户的个人特征数据,如身高体重等。血压输出显示界面用于将生成的血压估计值可视化。或者,该终端具有音频单元,用于将生成的血压估计值作为音频输出。此外,该终端还可以与互联网连接,实现相关数据库的存储的数据之间的调用。
参阅图1,在一个实施例中,提供了一种血压估计模型的训练方法,该方法既可以应用于终端,也可以应用于服务器,本实施例以应用于终端举例说明。该血压估计模型的训练方法具体包括如下步骤:
步骤S100、获取血压估计特征数据集与初始权值和阈值集。
该步骤种使用的是本发明实施例提供的非接触血压估计方法获得血压估计特征数据集,该血压估计特征数据集为一确定的用户的血压估计特征,其中,包括脉搏波幅度、心率带脉冲幅度、心率带脉冲面积、心率特征、脉搏传导时间差以及用户的年龄、性别、身高、体重等。且采集了该血压估计特征数据集对应的真实血压值。
在一些实施例中,血压估计特征数据集中也可包括若干组数据,每一组数据为一确定的用户的血压估计特征构成的数据集,且均具有确定的真实血压值。
同时,该步骤中使用血压估计模型为BP神经网络,该血压估计模型的初始权值和阈值集为(-1,1)之间的随机数。例如,本发明实施例使用的是(-1,1)之间的120个随机数。
例如,在一些实施例中,该BP神经网络的网络层数为3层,即包括一个隐藏层。本发明实施例使用的BP神经网络使用的输入即血压估计特征数据集,包括有236维特征参数,即该BP神经网络的输入层为236维特征参数,输出层为对应的舒张压和收缩压。此时,该BP神经网络的隐藏层神经元的个数通过下式确定:
其中Nh为隐藏层神经元个数,Ni为输入神经元个数,No为输出神经元个数。将236维特征参数,输出层为对应的舒张压和收缩压代入上式,得隐藏层神经元Nh为22个。
例如,在一些实施例中,该BP神经网络选择ReLU函数(Rectified Linear Unit,线性整流函数)为激活函数。由于ReLU函数为本领域技术人员的已知函数,此处不再赘述。
因此,在一些实施例中,本发明使用的BP神经网络由三部分组成:输入层(inputlayer),隐藏层(hidden layers),输出层(output layers)。输入层为236维特征参数,输出层为对应的舒张压和收缩压,即估计血压值,隐藏层神经元为22个。BP神经网络的初始权值和阈值设定为(-1,1)之间的随机数,隐含层到输出层以及输出层的激活函数均是ReLU函数。
同时,在一实施例中,设定BP神经网络的学习速率是0.1,训练误差是0.01,最大训练次数为500。
步骤S200、将初始权值和阈值集的所有样本分别作为血压估计模型的权值和阈值,通过血压估计特征数据集对血压估计模型进行训练和测试,获得每一个样本对应的训练结果的测试误差。
例如,该步骤中用于将(-1,1)中的120个随机数均作为前述的BP神经网络构件的血压估计模型的权值和阈值的初始值,然后使用步骤S100的血压估计特征数据集开始训练和测试。
具体的,步骤S200包括以下步骤:
步骤S201、将初始权值和阈值集的所有样本分别作为血压估计模型的权值和阈值,获得各个样本对应的训练用血压估计模型。
例如,初始权值和阈值集包括120个位于(-1,1)之间的随机数,则构建有120个训练用血压估计模型的BP神经网络。每一个BP神经网络具有不同的权值或阈值。
步骤S202、将所述血压估计特征数据集的特征样本作为所述训练用血压估计模型的输入,获得训练用所述血压估计模型输出的各个特征样本对应的测试血压值。
例如,在上一步骤S201中构建好120个训练用血压估计模型的BP神经网络后,对步骤S100的血压估计特征数据集进行训练,每一个血压估计模型的BP神经网络输出估计的舒张压和收缩压,即存在120组输出的测试血压值。
步骤S203、根据所述测试血压值和真实血压值计算得到每一个样本对应的训练结果的测试误差。
例如,该步骤203通过将120组输出的测试血压值和该血压估计特征数据集对应的用户的真实血压值进行对比可得120个随机数中每个样本随机数对应的训练结果的测试误差。
例如,对于血压估计特征数据集,可选择70%的数据为训练集,然后将剩余的30%的数据为测试集。具体的,BP神经网络的训练步骤是本领域技术人员已知技术,且在确定初始权值和阈值后,具体的训练过程不是本发明实施例保护的要点,在此不再赘述。即步骤S200为训练的血压估计模型的测试过程。
步骤S300、根据所述测试误差,获得每一个样本的个体适应度值。
在遗传算法中,适应度函数是判断样本个体好坏的唯一标准,在本发明实施例中,个体是BP神经网络的初始权值和阈值。例如,在前述步骤中,将120个体值带入到BP神经网络作为初始权值和阈值,并将训练后的模型用测试样本进行测试,如果测试样本的预测误差越小,那么个体越优。
例如,在一些实施例中,将适应度函数定义为BP神经网络的预测输出和期望输出之间的误差绝对值和F,对应的适应度计算公式为:
上式中,n为BP神经网络的输出节点数,例如,在一些实施例中,BP神经网络的输出节点数n为2,yi为BP神经网络的第i个节点的期望输出,即已知的真实血压值,oi为第i个节点的预测输出,即输出的估计血压值。
经过对训练的BP神经网络进行测试后,就可获得每个样本对应的个体适应度值,即误差绝对值和F。
步骤S400、根据所述个体适应度值,利用遗传算法获得最优权值和阈值。
该步骤利用遗传算法优化BP神经网络的权值和阈值,然后训练BP神经网络估计模型获取最优解,充分发挥了BP神经网络的局部搜索能力和遗传算法的全局搜索能力的优势。
遗传算法的基本要点包括四个方面的内容,它们分别是个体的编码方法、适应度函数的确立、遗传操作和运行过程中交叉、变异操作的确定。
例如,在一实施例中,个体编码方法选择的是实数编码,该步骤利用的遗传算法中每个个体本身就是一个实数串,这个实数串由四部分组成:隐含层与输入层连接权值、输出层与隐含层连接权值、隐含层阈值、输出层阈值。即该步骤的遗传算法中个体包含了神经网络的全部权值和阈值信息,对应的个体编码长度计算公式为:
l=Ni*Nh+Nh+Nh*No+No
其中l代表编码长度,Ni代表BP神经网络的输入神经元个数,Nh代表BP神经网络的隐含层神经元个数,No代表BP神经网络的输出神经元个数。例如,在一发明实施例中,将BP神经网络的各层节点数带入得到对应个体编码长度为5260,即一共存在5260个权值和阈值。
具体的,该步骤包括以下步骤:
步骤S401、获取进化代数T,T为大于1的自然数。例如,确定进化代数为200。
步骤S402、将所述初始权值和阈值集作为第一代种群数据,即t=1;根据所述测试误差,获得每一个样本的个体适应度值。
步骤S403、根据遗传算法对种群数据进行优化处理,得到下一代种群数据。
该步骤即产生了新的种群数据。
其中,所述根据遗传算法对种群数据进行优化处理,得到下一代种群数据,包括以下步骤:
S403a、根据样本的个体适应度值,确定每一个样本的选择概率,其中,每一个样本的选择概率与个体适应度值成反比。
例如,该步骤中选择轮盘赌法来作为选择操作的方法。轮盘赌法中个体被选中的概率与其适应度大小成比例。在本发明实施例中,个体适应度值越小,表征对应的样本个体越好,所以样本个体的选择概率跟适应度成反比。在每一代种群中,针对个体xi而言,设其适应度值为Fi那么xi的选择概率Pi的计算分为两步:
其中,k为系数。
步骤S403b、根据所述选择概率,对种群数据中的所有样本执行选择运算。
例如,该步骤可从每一代带处理的种群数据选择两个样本个体。
步骤S403c、对种群数据内各个样本执行交叉运算和/或变异运算的操作,获得优化样本,所述优化样本构成下一代种群数据。
其中,交叉运算为:
例如,本发明实施例使用的遗传算法分别设置初始种群个数为120,进化代数为200,交叉概率为0.8,以及变异概率为0.3。其中,交叉是将被选中的两个个体的基因按一定的概率进行交叉,生成两个新的样本个体。
例如,由于本发明实施例的个体编码方法采用的是实数编码方法,所以选择实数交叉法。交叉后两个新的样本个体在其位置j处的值的计算方法如下:
akj=akj(1-b)+aljb
alj=alj(1-b)+akjb
上述两个式子中,b是(0,1)之间的随机数,a是存储种群个体信息的矩阵。一般情况下遗传算法的交叉概率的取值范围在(0.4,0.9)之间,例如,本发明实施例选择交叉概率为0.8。
其中,变异运算为:
变异,即随机从待处理的种群数据中选择一个样本个体作为变异对象,再随机改变该样本个体某个位置的值。目的是为了维持种群的多样性,使用变异算子产生新的样本个体。例如,本发明实施例中变异运算产生的新的样本个体在其位置j处的值的计算公式如下:
上式中,amax为基因aij的最大值,amin为基因aij的最小值,r是(0,1)之间的随机数。而f(g)的计算公式如下:
其中g是当前的迭代次数,r2是一个随机数,Gmax是最大的进化次数。从公式可知,位置j变异后的值有两种计算结果,具体选择哪种结果取决于随机数r的值。变异一共执行M次,M为一大于0的自然数。
步骤S403c最后将交叉运算或者变异运算或者经过交叉运算和变异运算之后形成的新的样本个体组成的新种群,作为下一代种群数据。遗传算法的优化处理完成,下一代种群数据诞生。
此时,进化代数增加一代,即t=t+1。然后将下一代种群数据的所有样本分别作为血压估计模型的权值和阈值,通过血压估计特征数据集对血压估计模型进行训练,获得每一个样本对应的训练结果的测试误差。根据所述测试误差,获取所述下一代种群数据的所有样本的个体适应度值。
该步骤即用于评价每一代种群数据的优劣,具体的,仍然将优化处理后的个体构建新的训练用的血压估计模型的BP神经网络,然后测试该BP神经网络,并优化处理后的个体的个体适应度值,以对新产生的个体正确评价其优劣。
步骤S404、判断进化代数是否达到,若是,即当t=T时,表示达到进化代数,则返回最低的个体适应度值对应的样本,即得最优权值和阈值。该最低的个体适应度值为整个遗传算法优化过程中获得最低的个体适应度值,该最低的个体适应度值对应的样本个体即为最优个体,即得最优权值和阈值。
若否,即当t<T时,则返回步骤S403,直至进化代数达到,满足收敛。
步骤S500、将最优权值和阈值作为血压估计模型的权值和阈值,通过血压估计特征数据集对血压估计模型进行二次训练和测试,获得对应的优化训练结果的二次测试误差。
该步骤又通过遗传算法获得的最优权值和阈值构建了一个BP神经网络,然后对该BP神经网络继续训练和测试。
具体的,步骤S500包括以下步骤:
将最优权值和阈值作为血压估计模型的权值和阈值。
对血压估计模型执行训练操作,将所述血压估计特征数据集的特征样本作为所述血压估计模型的输入,获得所述血压估计模型输出的各个特征样本对应的测试血压值。
以及根据测试血压值和真实血压值计算获得二次测试误差。
步骤S600、根据二次测试误差对血压估计模型的权值和阈值进行调整,直至满足收敛条件,得到目标血压估计模型。
其中,计算得到二次测试误差后,继续根据该二次测试误差对BP神经网络调整其权值和阈值,然后继续训练,直至满足收敛条件,得到目标血压估计模型。即是已经训练好确定的血压估计模型。
例如,在一些实施例中,设定BP神经网络的学习速率是0.1,训练误差是0.01,最大训练次数为500。在训练误差小于0.01后结束训练或者得到最大训练次数500次结束训练,说明血压估计模型训练完成。
具体的,步骤S600包括以下步骤:判断是否满足收敛条件,即所述二次测试误差是否满足训练误差或调整次数达到预设值,若满足,将所述二次测试误差对应的血压估计模型的权值和阈值作为最优参数,得到目标血压估计模型。
若不满足,则根据所述血压误差值对所述血压估计模型中的权值和阈值进行调整,然后继续对血压估计模型执行训练操作,直至满足收敛条件。
从而,本发明实施例提供了一种适用大样本人群、精度高、应用场合多的血压估计模型。
参阅图3,本发明实施例还提供了一种非接触血压估计方法,所述方法包括:
步骤S700、获取用户的输入面部视频与个体特征。
其中,用户的输入面部视频是指终端采集或者接收的待测试血压的用户的面部视频,且可选为正对用户的面部采集的视频,例如,两分钟面部视频。用户的体特征是指终端护着服务器接收的用户的个体信息特征,包括年龄、性别、身高以及体重。
步骤S800、将所述输入面部视频转换为若干帧输入图片,并从每帧输入图片中选取若干个感兴趣区域,所述感兴趣区域为面部血液波动强的区域,也就是说血液波动幅度超过设定阈值的区域认定为感兴趣区域。
其中,终端或者服务器对接收的输入面部视频进行处理,转换为若干帧输入图片。然后再对获得的所有帧图片进行处理。
具体的,步骤S800包括以下步骤:
步骤S801、定位每帧所述输入图片中的人脸关键点。
其中,人脸关键点的选取是为了将信号提取限制在具有血液波动强的区域,以最大化从输入面部视频提取的信号的信噪比。
步骤S802、以所述人脸关键点为参考选取若干个感兴趣区域,所述感兴趣区域为面部血液波动强的区域。
例如,参阅图4,感兴趣区域包括10个,分别为:前额(窄)1,前额(宽)2,鼻子(鼻梁)3,鼻子(尖端)4,左脸5,右脸6,上唇7,下唇8,下巴9以及整个面部。
其中,感兴趣区域的选取可以通过预设的感兴趣框选择,且10个感兴趣区域的感兴趣框不同。
步骤S900、根据所述感兴趣区域,获得所述感兴趣区域的信号序列。
其中,步骤S900包括以下步骤:
步骤S901、对所述感兴趣区域进行三通道分离,并计算各个通道中的对应于感兴趣区域的区域的灰度平均值,获得所述感兴趣区域的三维信号序列.
例如,对所有帧图片的10个感兴趣区域进行红绿蓝(RGB)三通道分离,计算每个通道的各感兴趣区域的灰度平均值,即可得到三维的信号序列。
步骤S902、根据所述三维信号序列分离获得三个一维的信号序列。
例如,在一些实施例中,对上述三维的信号序列通过ICA(Independent ComponentAnalysis,独立成分分析)进行盲源分离,得到新的三个一维信号序列。通过盲源分离降低噪声的干扰,得到更加单纯的信号序列。
需要说明的是,ICA是本领域技术人员已知的用来处理盲源分离问题的技术,本领域技术人员知晓如何实施,此处不在赘述。
步骤S1000、根据所述信号序列,提取用户的血压估计特征,所述血压估计特征与所述个体特征共同构成所述用户的血压估计特征数据集。
该步骤用于从信号序列中提出有利于血压估计的特征。其中,在一些实施例中,所述血压估计特征包括脉搏波幅度、心率带脉冲幅度、心率带脉冲面积、心率特征、脉搏传导时间差。
因此,所述根据所述信号序列,提取用户的血压估计特征,包括:
步骤S1001、对至少部分感兴趣区域对应的信号序列进行归一化和去趋势处理,获得归一化信号。
步骤S1002、利用椭圆带通滤波器与低通滤波器依次对所述归一化信号进行滤波处理,获取滤波信号;其中,所述每一个滤波信号的平均幅度为所述脉搏波幅度。
步骤S1003、将所述归一化信号求和,并过滤掉目标频带之外的归一化信号,获得心率带信号;其中,所述心率带信号的平均幅度为心率带脉冲幅度。
步骤S1004、利用积分中值定理获得所述心率带信号对应的心率带脉冲面积。
前述3个步骤获得是脉搏波特征,在本发明实施例中指的是脉搏波幅度、心率带脉冲幅度以及心率带脉冲面积。其中,脉搏波幅度反映了面部脉管系统中血流的变化,而心率带脉冲幅度和心率带脉冲面积反映的是心率/脉搏频率。
例如,在一实施例中,分别对来自前面9个感兴趣区域:前额(窄)1,前额(宽)2,鼻子(鼻梁)3,鼻子(尖端)4,左脸5,右脸6,上唇7,下唇8以及下巴9,上述9个感兴趣区域的信号序列进行归一化和去趋势处理。然后,通过23个不同的椭圆带通滤波器(宽度为0.1Hz)对获得的归一化信号进行滤波,范围从0.7-0.8Hz到2.9-3Hz(以0.1Hz的增量)。然后,通过低通滤波器(0.02Hz)对每个归一化信号进行滤波,以使信号平滑,获得滤波信号。每一个滤波信号的的平均幅度被用作特征:脉搏波幅度。
然后继续对前述的9个感兴趣区域进行归一化和去趋势化后的归一化信号进行求和,并过滤掉0.9到1.1Hz频带之外的信号,仅留下心率带内的心率带信号。使心率带信号通过低通滤波器(0.02Hz)使信号平滑。将心率带信号的平均幅度用作特征:心率带脉冲幅度。
最后用积分中值定理求得特征:心率带脉冲面积。
步骤S1005、对剩余部分感兴趣区域对应的信号序列进行归一化、去趋势处理以及滤波处理,获得心率信号,所述心率信号的最大幅值处对应频率值为心率特征。
该步骤用于获得心率特征。一般正常人的平静心率范围为55到110,在本发明实施例中通过整个面部脉搏波的心率带的频率来确定,其反映血液流过血管的频率。
例如,将感兴趣区域:整个面部的脉搏波进行归一化和去趋势,过滤掉0.7到4Hz频带之外的信号,获得心率信号。其幅值最大处对应频率的值,即为心率特征。
步骤S1006、对选择的部分感兴趣区域对应的信号序列进行归一化、去趋势处理以及滤波处理,获得滤波信号,根据所述滤波信号获得所述选择的部分感兴趣区域之间的相位差,根据所述相位差和心率信号获取脉搏传导时间差。
该步骤用于获取脉搏传导时间差,其中,脉搏传导时间差与血压波在整个动脉血管中血液传播的速度有关。
例如,在一实施例中,将感兴趣区域:前额(宽)2,左脸5,右脸6,以及下巴9的信号序列进行归一化和去趋势处理,然后用巴特沃兹滤波器进行滤波,获得滤波信号。其中,滤波范围为0.7-4.0Hz。然后,使用滤波信号来计算所选感兴趣区域之间的相位差,并使用相位差和心率信号来计算特征:脉搏传导时间差。
然后所述血压估计特征与所述个体特征共同构成所述用户的血压估计特征数据集。例如,本发明实施例提供血压估计模型包括236维输入层,即对应于236个血压估计特征。除了4个步骤S700获取的个体特征外,剩余232个是通过步骤S1001-S1005从每个用户的10个感兴趣区域的信号序列中提取的。
步骤S1100、将所述血压估计特征数据集作为血压估计模型的输入,获取血压估计模型输出的估计血压值。
该步骤即将提出的用户的血压估计特征数据集作为血压估计模型的输入,进行血压估计,输出该用户的估计的血压值。血压估计模型即是采用前述方法训练得到。
为便于更好的实施本发明实施例的上述方案,下面还提供用于实施上述方案的相关设备。请参阅图5,本申请的实施例提供一种非接触血压估计装置,包括:
获取单元101,用于获取用户输入的面部视频与个体特征;
处理单元102,用于将所述面部视频转换为若干帧输入图片,并从每帧输入图片中选取若干个感兴趣区域,所述感兴趣区域为面部血液波动强的区域;以及
信号提取单元103,用于根据所述感兴趣区域获得所述感兴趣区域的信号序列,所述信号序列包括脉搏信号;
特征提取单元104,用于根据所述脉搏信号获得血压估计特征,所述血压估计特征与所述个体特征共同构成所述用户的血压估计特征数据集;以及
分析与输出单元105,用于将所述血压估计特征数据集作为血压估计模型的输入,获取血压估计模型输出的估计血压值。
请参阅图6,本申请的实施例还提供一种电子设备的结构框图,该设备可以是智能手机、平板电脑、笔记本电脑或者台式电脑等。电子设备可能被称为用于终端、便携式终端、台式终端等。
通常,电子设备包括:至少一个处理器301;以及存储器302,用于存储计算机程序指令。
处理器301可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器301可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器301也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(CentralProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器301可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。处理器301还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于血压估计模型的计算操作,使得血压估计模型可以自主训练学习,提高效率和准确度。
存储器302可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器302还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器302中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器801所执行以实现本申请中方法实施例提供血压估计模型训练方法或者非接触血压估计方法。
在一些实施例中,终端还可选包括有:通信接口303和至少一个外围设备。处理器301、存储器302和通信接口303之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与通信接口303相连。具体地,外围设备包括:视频采集单元、射频电路304、显示屏305和电源306中的至少一种。
通信接口303可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器301和存储器302。在一些实施例中,处理器301、存储器302和通信接口303被集成在同一芯片或电路板上;在一些其他实施例中,处理器301、存储器302和通信接口303中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路304用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路304通过电磁信号与通信网络以及其他通信设备进行通信。射频电路304将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路304包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组等等。射频电路304可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路304还可以包括NFC(NearField Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏305用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏305是触摸显示屏时,显示屏305还具有采集在显示屏305的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器301进行处理。此时,显示屏305还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏305可以为一个,电子设备的前面板;在另一些实施例中,显示屏305可以为至少两个,分别设置在电子设备的不同表面或呈折叠设计;在再一些实施例中,显示屏305可以是柔性显示屏,设置在电子设备的弯曲表面上或折叠面上。甚至,显示屏305还可以设置成非矩形的不规则图形,也即异形屏。显示屏305可以采用LCD(LiquidCrystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
电源306用于为电子设备中的各个组件进行供电。电源306可以是交流电、直流电、一次性电池或可充电电池。当电源306包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
图7示出了本申请一个实施例提供的服务器的结构示意图。该服务器用于实施上述实施例中提供的图神经网络的节点编码方法。具体来讲:
所述服务器包括中央处理单元(CPU)401、包括随机存取存储器(RAM)402和只读存储器(ROM)403的系统存储器404,以及连接系统存储器404和中央处理单元401的系统总线405。所述服务器400还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)406,和用于存储操作系统413、应用程序414和其他程序模块415的大容量存储设备407。
所述基本输入/输出系统406包括有用于显示信息的显示器408和用于用户输入信息的诸如鼠标、键盘之类的输入设备409。其中所述显示器408和输入设备409都通过连接到系统总线405的输入输出控制器410连接到中央处理单元401。所述基本输入/输出系统406还可以包括输入输出控制器410以用于接收和处理来自键盘、鼠标、视频采集单元或电子触控笔等多个其他设备的输入。类似地,输入输出控制器410还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备407通过连接到系统总线405的大容量存储控制器(未示出)连接到中央处理单元401。所述大容量存储设备407及其相关联的计算机可读介质为服务器400提供非易失性存储。也就是说,所述大容量存储设备407可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器404和大容量存储设备407可以统称为存储器。
根据本申请的各种实施例,所述服务器400还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器400可以通过连接在所述系统总线405上的网络接口单元411连接到网络412,或者说,也可以使用网络接口单元411来连接到其他类型的网络或远程计算机系统(未示出)。
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本发明而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。