基于GA-BP-MC神经网络的人体三维尺寸信息预测方法及装置与流程

文档序号:22614877发布日期:2020-10-23 19:14阅读:204来源:国知局
基于GA-BP-MC神经网络的人体三维尺寸信息预测方法及装置与流程

本发明涉及计算机与网络技术领域,尤指一种人体三维尺寸信息预测方法及装置。



背景技术:

随着信息技术在服装领域的快速发展,人体尺寸测量测量技术已逐渐应用在个性化服装定制、虚拟试衣等各种技术领域中,在线非接触式人体尺寸测量更是在服装定制领域起着至关重要的作用。

目前,非接触式人体尺寸测量技术主要基于的是三维人体扫描系统。但是,由于测量仪器的成本昂贵、测量地点不灵活等问题,导致该技术无法在市场上广泛普及。为了满足中小企业的需求,基于图像的非接触式人体测量方法被提出。

在三维尺寸预测方面,当前传统算法主要包括:超椭圆曲线法、椭圆傅里叶法、多元函数建模等,但由于人体体型的异构性易导致模型在实际拟合过程中,尺寸信息的精度无法满足人体着装尺寸的需求。此外,预测值为统计的平均值,无法体现个体的自身特性。使得传统算法难以准确的预测人体的围度信息。



技术实现要素:

本发明的目的是提供一种基于ga-bp-mc神经网络的人体三维尺寸信息预测方法及装置,有效解决现有技术难以准确预测人体围度信息的技术问题。

本发明提供的技术方案如下:

本发明提供了一种基于ga-bp-mc神经网络的人体三维尺寸信息预测方法,包括:

s10形成训练样本集,所述训练样本集中每一组训练数据包含多个输入参数和一个目标三维尺寸,所述多个输入参数包括用户的特征信息、预设部位的二维尺寸及预设部位相对于身高的比例系数,所述预设部位的二维尺寸及其相对于身高的比例系数由获取的用户特征信息结合用户的正面图像和侧面图像得到,所述特征信息中包括身高信息;

s20构建一多输入、含多个隐含层的bp网络模型;

s30利用ga算法(遗传算法)优化所述bp网络模型初始的权值和阈值,得到最优的个体的权值和阈值;

s40基于所述最优的个体的权值和阈值及形成的训练样本集对所述bp网络模型进行训练,确定模型参数;

s50将包含用户的特征信息、预设部位的二维尺寸及预设部位相对于身高的比例系数的测试数据输入训练好的ga-bp网络模型中得到预设部位的三维预测尺寸;

s60将所述三维预测尺寸输入mc模型中进行修正得到修正后的三维尺寸信息,完成对所述预设部位三维尺寸信息的预测。

本发明还提供了一种基于ga-bp-mc神经网络的人体三维尺寸信息预测装置,包括:

样本集获取模块,用于形成训练样本集,所述训练样本集中每一组训练数据包含多个输入参数和一个目标三维尺寸,所述多个输入参数包括用户的特征信息、预设部位的二维尺寸及预设部位相对于身高的比例系数,所述预设部位的二维尺寸及其相对于身高的比例系数由获取的用户特征信息结合用户的正面图像和侧面图像得到,所述特征信息中包括身高信息;

网络模型构建模块,用于构建一多输入、含多个隐含层的bp网络模型;

遗传算法优化模块,用于利用ga算法优化所述网络模型构建模块构建的bp网络模型初始的权值和阈值,得到最优的个体的权值和阈值;

模型训练模块,用于基于所述遗传算法优化模块优化的最优的个体的权值和阈值及形成的训练样本集对所述bp网络模型进行训练,确定模型参数;

三维尺寸预测模块,用于将包含用户的特征信息、预设部位的二维尺寸及预设部位相对于身高的比例系数的测试数据输入所述模型训练模块训练好的ga-bp网络模型中得到预设部位的三维预测尺寸;

预测值修正模块,用于将所述三维尺寸预测模块预测的三维预测尺寸输入mc模型中进行修正得到修正后的三维尺寸信息,完成对所述预设部位三维尺寸信息的预测。

本发明还提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时实现上述基于ga-bp-mc神经网络的人体三维尺寸信息预测方法的步骤。

本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述基于ga-bp-mc神经网络的人体三维尺寸信息预测方法的步骤。

在本发明提供的ga-bp-mc神经网络的人体三维尺寸信息预测方法及装置中,提出了一种适合人体三维尺寸预测的ga-bp-mc神经网络模型,其结合了ga算法(geneticalgorithm,遗传算法)对bp神经网络进行优化,并且利用马尔科夫链(markovchain,mc)对bp神经网络的输出值进行优化,通过输入从正交人体图像中获取的二维尺寸信息即可自动预测人体具有三维属性部位的围度信息(如头围、领围、胸围、臀围等)。实验结果表明,相对于传统模型拟合和ga-bp网络模型来说,本发明提供的ga-bp-mc神经网络模型预测结果更准率,平均误差更小。

另外,由于人体自身结构的异构性,为了解决多元函数拟合方法的测量结果为拟合的平均值,无法表现出被测用户的特异性的问题。在bp神经网络中采用多维度的信息作为输入,极大程度的提高了三维尺寸预测的准确性和算法的鲁棒性。

附图说明

下面将以明确易懂的方式,结合附图说明优选实施例,对上述特性、技术特征、优点及其实现方式予以进一步说明。

图1是本发明中基于ga-bp-mc神经网络的人体三维尺寸信息预测方法一种实施例流程示意图流程示意图;

图2为本发明一实例中bp网络模型结构图;

图3为本发明中ga-bp网络模型的流程图;

图4为本发明中ga-bp-mc网络模型的流程图;

图5为本发明中二维尺寸及其相对于身高的比例系数获取流程图;

图6为本发明中基于ga-bp-mc神经网络的人体三维尺寸信息预测装置结构图;

图7为本发明一实例中基于ga-bp-mc神经网络模型的人体三维尺寸方法流程结构图;

图8为本发明中终端设备结构示意图。

附图标号说明:

100-人体三维尺寸信息预测装置,110-样本集获取模块,120-网络模型构建模块,130-遗传算法优化模块,140-模型训练模块,150-三维尺寸预测模块,160-预测值修正模块。

具体实施方式

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施例。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施例。

如图1所示为本发明基于ga-bp-mc神经网络的人体三维尺寸信息预测方法一种实施例流程示意图,从图中可以看出,在该人体三维尺寸信息预测方法中包括:s10形成训练样本集,训练样本集中每一组训练数据包含多个输入参数和一个目标三维尺寸,多个输入参数包括用户的特征信息、预设部位的二维尺寸及预设部位相对于身高的比例系数,预设部位的二维尺寸及其相对于身高的比例系数由获取的用户特征信息结合用户的正面图像和侧面图像得到,特征信息中包括身高信息;s20构建一多输入、含多个隐含层的bp网络模型;s30利用ga算法优化bp网络模型初始的权值和阈值,得到最优的个体的权值和阈值;s40基于最优的个体的权值和阈值及形成的训练样本集对bp网络模型进行训练,确定模型参数;s50将包含用户的特征信息、预设部位的二维尺寸及预设部位相对于身高的比例系数的测试数据输入训练好的ga-bp网络模型中得到预设部位的三维预测尺寸;s60将三维预测尺寸输入mc模型中进行修正得到修正后的三维尺寸信息,完成对预设部位三维尺寸信息的预测。

在本实施例形成的训练样本集中每一组训练数据对应一用户的身体相关参数,包括多个训练输入参数,如用户的身高信息、性别信息、鞋码信息、特定部位的二维尺寸等;目标三维尺寸为用户的标准三维尺寸,如,头围的三维尺寸、领围的三维尺寸等,且当输入的二维尺寸为用户臀部的二维尺寸,目标三维尺寸对应为臀部的三维尺寸;当输入的二维尺寸为用户头部的二维尺寸,目标三维尺寸对应为头部的三维尺寸等。预设部位的二维尺寸包括正面二维尺寸和侧面二维尺寸,其中,正面二维尺寸根据正面图像中测量的尺寸和身高比例转换得到,身高比例为正面图像中的用户身高与获取的特征信息中的身高信息之间的比值;侧面二维尺寸根据侧面图像中测量的尺寸和身高比例转换得到,身高比例为侧面图像中的用户身高与获取的特征信息中的身高信息之间的比值。预设部位相对于身高的比例系数为正面图像和/或侧面图像中,预设部位所在高度(相对于用户来说)与用户身高的比例,预设部位包括头部、颈部、胸部、臀部等,如当预设部位为胸部,则该部位相对于身高的比例系数为用户胸部的高度与用户身高的比例。

bp学习算法的基本思想是通过网络输出误差的反向传播,调整和修改网络的连接权值w,使误差达到最小,其学习过程包括前向计算和误差反向传播,具体:

1)向前传播

将输入参数全部传递至第一层隐含层中的全部神经元中,各神经元节点的输出如式(1):

其中,k为隐含层的层数,wik第k层隐含层第i个节点的权重,为第k层隐含层第i个节点的输入,θk为第k层隐含层的阈值,nk为第k层隐含层节点的总数。

以此类推,将第一层隐含层的输出作为输入传递到第二层隐含层中的全部神经元中。最后输出节点的输出如式(2):

其中,为第k层隐含层中第i个节点的输出值,yi为第k层隐含层中第i个节点的阈值。

2)反向传播

定义如式(3)的误差函数e:

其中,tik为样本输入时第k层隐含层中第i个节点的理想目标,为第k层隐含层中第i个节点的实际输出,nk为第k层隐含层节点的总数。

为使误差最小,采用最速梯度下降法优化权值,具体从输出层开始逐步向前修正,其中,权值的调整δw如式(4):

修正的权值w为:

其中,η为学习步长。

基于bp算法的误差反向传播神经网络(errorbackpropagtionneuralnetwork,bp-neuralnetwork)是一种多层的前馈神经网络,主要由输入层、输出层和一层或多层隐含层三个部分构成。在训练过程中,其根据梯度下降法对模型进行训练的同时利用误差反向传播调整前馈神经网络的权重,更新输入层与输出层之间的非线性映射关系。

在本实施例中,bp网络模型为多输入结构(能有效的避免饱和现象的发生),输入层的输入参数包括:用户的身高信息和性别信息、预设部位的二维尺寸和侧面二维尺寸、及预设部位相对于身高的比例系数,共五个维度信息;且输入层的神经元数量与输入参数的维度一致。另外,为了保证预测数据精确性的同时避免bp网络模型出现过拟合现象,隐含层的个数s大于log2n,n表示输入参数的维度,即隐含层的个数应大于等于2。另外,为了保证整个bp网络模型中神经元的有效性,本实施例中选用的激活函数为s函数(sigmoid函数)。在一实例中,建立的包含2个隐含层的bp网络模型结构图如图2所示,输入层中包含5个神经元,通过实验第一层隐含层中包含10个神经元,第二层隐含层中包含2个神经元,输出层中包含1个神经元。输入层的输入参数包括性别s、身高h、x围宽度(对应正面二维尺寸)、x围厚度(对应侧面二维尺寸)及x围比例系数r,其中,x表示为头、颈、胸等具有三维属性的人体部位,输出三维预测尺寸y。

ga算法是一种模拟生物“适者生存”遗传进化的概率寻优算法,它对一个初始种群,根据适应度择优、杂交、突变后遗传得到下一代种群,不断重复进化直到满足要求的具有最大适应度的个体出现,由于bp神经网络在求取误差函数最小值时遵循梯度下降的原理,以至于该方法对初始值、步长等参数要求严格,迭代的时耗较长,并且极易陷入局部最优。而ga算法通过选择、交叉和变异等操代替了bp神经网络采取的梯度下降原理,同时能够自适应的调整搜索方向和空间,具备强大的全局搜索能力。因此,基于ga算法在对于神经网络构造时,通过发挥ga算法的全局搜索能力,优化网络的初始权值和阈值,使其搜索范围处于全局最优附近区域。然后利用bp神经网络的非线性逼近能力,达到快速的收敛效果。基于此,在步骤s30中,利用ga算法优化bp网络模型(ga-bp网络模型)初始的权值和阈值,得到最优的个体的权值和阈值。

在另一实施例中,在步骤s30利用ga算法优化bp网络模型初始的权值和阈值,得到最优的个体的权值和阈值的流程图如图3所示,包括:构建了多输入、含多个隐含层的bp网络模型(包括网络结构、传递函数等)之后,利用ga算法优化bp网络模型初始的权值和阈值,得到最优的个体的权值和阈值,在优化过程中,首先初始化种群,之后确定适应性函数、设置ga算法参数(种群规模、进化代数等),之后依次进行选择操作、交叉操作和变异操作,接着计算适应度值,最后判断是否完成进化代数,若是,获取最优的初始化权值和阈值,作为bp网络模型的初始权值和阈值。在bp网络模型中,通过计算网络误差、调整权值阈值等操作对bp网络模型进行训练,在达到精度或最大迭代次数时,保存网络,结束训练。

具体,ga-bp神经网络算法以mse的倒数作为适应度指标,通过ga算法构造最优的个体的权值和阈值用于bp神经网络,主要步骤如下:

s31以bp网络模型中各层的权重和阀值为种群中个体的基因编码,初始化种群,设个体总数为m;

s32根据个体基因编码对应的bp网络模型中权重和阀值,计算各层神经元节点的输出,其中,前两个隐含层中神经元节点的输出如式(6)和(7):

其中,hj为第一隐含层第一层隐含层第j个神经元的输出,xi为输入层第i个神经元的输入参数,i=1,2,...,n;w1ij为第一隐含层第一层隐含层中输入层第i个神经元到第一隐含层第一层隐含层第j个神经元的连接权值,b1j为第一隐含层第一层隐含层第j个神经元的阈值;w2jk为第一层隐含层第j个神经元到第二层隐含层第k个神经元的连接权值,yk为第二隐含层第二层隐含层第k个节点输出,b2k为第二隐含层第二层隐含层第k个神经元的阈值;

s33以f为mse的倒数作为个体适应度,计算种群中所有个体的适应度如式(8)和(9):

其中,tm为目标三维尺寸,ym为三维预测尺寸,m=1,2,3,...,n。

s34根据所有个体的适应度,采用轮盘赌法进行选择操作,从父代中挑选适应度高的个体产生下一代个体,第h个个体被选中的概率概率ph为如式(10)

其中,q为种群中个体的总数,ph适应度越好,被选中的概率越高。

s35根据预先设定的交叉概率判断是否进行交叉操作,若是,随机选两个个体对相同位置基因进行交叉(杂交),以期产生更优秀的基因;

s36随机选取个体并根据预先设定的变异概率判断是否进行变异操作,若是,随机选基因片段进行变异,以期打破固化状态,增加活力;

s37循环步骤s32~s37直至达到预设适应度或达到预先设定的迭代次数,输出最优的个体的权值和阈值。

在另一实施例中,使用mc模型对ga-bp网络模型输出的三维预测尺寸进行修正得到修正后的三维尺寸信息,ga-bp-mc网络模型的流程图如图4所示,包括:构建了多输入、含多个隐含层的bp网络模型(包括网络结构、传递函数等)之后,利用ga算法优化bp网络模型初始的权值和阈值,得到最优的个体的权值和阈值,在优化过程中,首先初始化种群,之后确定适应性函数、设置ga算法参数(种群规模、进化代数等),之后依次进行选择操作、交叉操作和变异操作,接着计算适应度值,最后判断是否完成进化代数,若是,获取最优的初始化权值和阈值,作为bp网络模型的初始权值和阈值。在bp网络模型中,通过计算网络误差、调整权值阈值等操作对bp网络模型进行训练,在达到精度或最大迭代次数时,保存网络,结束训练。将待预测数据输入训练好的ga-bp网络模型中,输出预测值(对应前述三维预测尺寸),计算残差后输入mc模型对其进行修正得到ga-bp-mc预测结果(对应前述修正后的三维尺寸信息)。

具体,在步骤s60中,已知ga-bp网络模型三维预测尺寸的相对误差的变化区间,取该区间的中点作为三维预测尺寸的相对误差,则通过式(11)来修三维预测尺寸:

其中,为修正后的三维尺寸信息,为ga-bp网络模型输出的三维预测尺寸;δu与δd分别为三维预测尺寸相对误差所处区间的上、下限值,相对误差为ga-bp网络模型三维预测尺寸误差变化区间的中点;为平均相对误差。

以下对马尔科夫链进行说明,如果对任意的n>1时,任意存在着i1,i2,...,in-1,j∈s恒保持p{xn=j|x1=i1,x2=i2,...,xn-1=in-1}=p{xn=j|xn-1=in-1},其中,可数集s被称为状态空间,对概率空间(ω,f,p)内以一维可数集为指数集的随机变量集合x={xn:n>0},则称该离散型随机过程{xt,t∈t}为马尔科夫链。

如果在时刻tn,系统的状态为xn=i的条件下,在下一时刻tn+1系统状态为xn+1=j的概率pij(n)与n无关,则称马尔科夫链是齐次马尔科夫链,由状态ei经过n步转移到状态ej的转移概率如式(12):

其中,li表示状态ei出现的总次数,表示状态ei经过n步转移到状态ej的次数。得到n步的状态转移矩阵p(m)如式(13):

若起始状态ei的初始向量为p0,则经m步转移后的状态向量如式(14):

pm=p0p(m)(14)

从序列中取距预测值最近n个已知状态的数值,由状态转移矩阵分别得到第i1,i2,...,in-1,j∈s个已知状态经m(m=n,n-1,...,1)步转移到预测值状态的概率,然后计算对应同一状态的n个概率值之和,取概率和最大者对应的状态为预测值(对应本实例中的三维预测尺寸)相对误差的状态。

在另一实施例中,如图5所示,在步骤s10获取用户的特征信息,并结合用户的正面图像和侧面图像得到预设部位的二维尺寸及预设部位相对于身高的比例系数形成训练样本集和测试样本集中,包括:s11获取用户的特征信息、正面图像及侧面图像;s12对正面图像和侧面图像进行预处理操作,提取轮廓得到对应的正面轮廓图和侧面轮廓图;s13针对正面轮廓图和侧面轮廓图进行人体结构关键区域的自适应分割;s14针对分割后的图片提取关键区域的特征点;s15结合提取的特征点及用户的特征信息得到相应的预设部位的二维尺寸及预设部位相对于身高的比例系数。

在本实施例中,首先对用户的特征信息和图像进行采集,采集的图像包括正面图像及侧面图像,特征信息包括身高信息、性别信息等。之后对采集的图像进行预处理,处理过程依次为将其规范化处理为600×1000格式、rgb空间转化为hsv空间、分离s空间、求sobel算子、边缘增强、二值化、闭运算及提取最大轮廓得到正面图像和侧面图像对应的正面轮廓图和侧面轮廓图;之后针对正面轮廓图和侧面轮廓图进行人体结构关键区域的自适应分割,并针对分割后的图片提取关键区域的特征点,如,针对正面轮廓图提取颈部特征点、肩部特征点、胸部特征点、腰部特征点、臀部特征点、脚部特征点、手部特征点等,针对侧面轮廓图提取颈部特征点、胸部特征点、腰部特征点、臀部特征点、脚部特征点等。最后,根据比例法得到相应的预设部位的二维尺寸及预设部位相对于身高的比例系数。

本发明还提供了一种基于ga-bp-mc神经网络的人体三维尺寸信息预测装置100,如图6所示,包括:样本集获取模块110,用于形成训练样本集,训练样本集中每一组训练数据包含多个输入参数和一个目标三维尺寸,多个输入参数包括用户的特征信息、预设部位的二维尺寸及预设部位相对于身高的比例系数,预设部位的二维尺寸及其相对于身高的比例系数由获取的用户特征信息结合用户的正面图像和侧面图像得到,特征信息中包括身高信息;网络模型构建模块120,用于构建一多输入、含多个隐含层的bp网络模型;遗传算法优化模块130,用于利用ga算法优化网络模型构建模块120构建的bp网络模型初始的权值和阈值,得到最优的个体的权值和阈值;模型训练模块140,用于基于遗传算法优化模块130优化的最优的个体的权值和阈值及形成的训练样本集对bp网络模型进行训练,确定模型参数;三维尺寸预测模块150,用于将包含用户的特征信息、预设部位的二维尺寸及预设部位相对于身高的比例系数的测试数据输入模型训练模块140训练好的ga-bp网络模型中得到预设部位的三维预测尺寸;预测值修正模块160,用于将三维尺寸预测模块150预测的三维预测尺寸输入mc模型中进行修正得到修正后的三维尺寸信息,完成对预设部位三维尺寸信息的预测。

在本实施例形成的训练样本集中每一组训练数据对应一用户的身体相关参数,包括多个训练输入参数,如用户的身高信息、性别信息、鞋码信息、特定部位的二维尺寸等;目标三维尺寸为用户的标准三维尺寸,如,头围的三维尺寸、领围的三维尺寸等,且当输入的二维尺寸为用户臀部的二维尺寸,目标三维尺寸对应为臀部的三维尺寸;当输入的二维尺寸为用户头部的二维尺寸,目标三维尺寸对应为头部的三维尺寸等。预设部位的二维尺寸包括正面二维尺寸和侧面二维尺寸,其中,正面二维尺寸根据正面图像中测量的尺寸和身高比例转换得到,身高比例为正面图像中的用户身高与获取的特征信息中的身高信息之间的比值;侧面二维尺寸根据侧面图像中测量的尺寸和身高比例转换得到,身高比例为侧面图像中的用户身高与获取的特征信息中的身高信息之间的比值。预设部位相对于身高的比例系数为正面图像和/或侧面图像中,预设部位所在高度(相对于用户来说)与用户身高的比例,预设部位包括头部、颈部、胸部、臀部等,如当预设部位为胸部,则该部位相对于身高的比例系数为用户胸部的高度与用户身高的比例。

基于bp算法的误差反向传播神经网络(errorbackpropagtionneuralnetwork,bp-neuralnetwork)是一种多层的前馈神经网络,主要由输入层、输出层和一层或多层隐含层三个部分构成。在训练过程中,其根据梯度下降法对模型进行训练的同时利用误差反向传播调整前馈神经网络的权重,更新输入层与输出层之间的非线性映射关系。

在本实施例中,bp网络模型为多输入结构(能有效的避免饱和现象的发生),输入层的输入参数包括:用户的身高信息和性别信息、预设部位的二维尺寸和侧面二维尺寸、及预设部位相对于身高的比例系数,共五个维度信息;且输入层的神经元数量与输入参数的维度一致。另外,为了保证预测数据精确性的同时避免bp网络模型出现过拟合现象,隐含层的个数s大于log2n,n表示输入参数的维度,即隐含层的个数应大于等于2。另外,为了保证整个bp网络模型中神经元的有效性,本实施例中选用的激活函数为s函数(sigmoid函数)。

ga算法是一种模拟生物“适者生存”遗传进化的概率寻优算法,它对一个初始种群,根据适应度择优、杂交、突变后遗传得到下一代种群,不断重复进化直到满足要求的具有最大适应度的个体出现,由于bp神经网络在求取误差函数最小值时遵循梯度下降的原理,以至于该方法对初始值、步长等参数要求严格,迭代的时耗较长,并且极易陷入局部最优。而ga算法通过选择、交叉和变异等操代替了bp神经网络采取的梯度下降原理,同时能够自适应的调整搜索方向和空间,具备强大的全局搜索能力。因此,基于ga算法在对于神经网络构造时,通过发挥ga算法的全局搜索能力,优化网络的初始权值和阈值,使其搜索范围处于全局最优附近区域。然后利用bp神经网络的非线性逼近能力,达到快速的收敛效果。基于此,在步骤s30中,利用ga算法优化bp网络模型(ga-bp网络模型)初始的权值和阈值,得到最优的个体的权值和阈值。

在另一实施例中,在步骤s30利用ga算法优化bp网络模型初始的权值和阈值,得到最优的个体的权值和阈值的流程图如图3所示,包括:构建了多输入、含多个隐含层的bp网络模型(包括网络结构、传递函数等)之后,利用ga算法优化bp网络模型初始的权值和阈值,得到最优的个体的权值和阈值,在优化过程中,首先初始化种群,之后确定适应性函数、设置ga算法参数(种群规模、进化代数等),之后依次进行选择操作、交叉操作和变异操作,接着计算适应度值,最后判断是否完成进化代数,若是,获取最优的初始化权值和阈值,作为bp网络模型的初始权值和阈值。在bp网络模型中,通过计算网络误差、调整权值阈值等操作对bp网络模型进行训练,在达到精度或最大迭代次数时,保存网络,结束训练。

在另一实例中,遗传算法优化模块(ga-bp神经网络算法)中以mse的倒数作为适应度指标,通过ga算法构造最优的个体的权值和阈值用于bp神经网络,包括:种群初始化单元,用于以bp网络模型中各层的权重和阀值为种群中个体的基因编码,初始化种群,设个体总数为m;神经元节点输出计算模块,用于根据个体基因编码对应的bp网络模型中权重和阀值,计算各层神经元节点的输出,其中,前两个隐含层中神经元节点的输出如式(6)和(7)。个体适应度计算单元,用于以f为mse的倒数作为个体适应度,计算种群中所有个体的适应度如式(8)和(9)。选择操作单元,用于根据所有个体的适应度,采用轮盘赌法进行选择操作,从父代中挑选适应度高的个体产生下一代个体,第i个个体被选中的概率概率pi如式(10)和(11)。交叉操作单元,用于根据预先设定的交叉概率判断是否进行交叉操作,若是,随机选两个个体对相同位置基因进行交叉。变异操作单元,用于随机选取个体并根据预先设定的变异概率判断是否进行变异操作,若是,随机选基因片段进行变异。在优化过程中,循环步骤s32~s37直至达到预设适应度或达到预先设定的迭代次数,输出最优的个体的权值和阈值。

在另一实施例中,使用mc模型对ga-bp网络模型输出的三维预测尺寸进行修正得到修正后的三维尺寸信息,ga-bp-mc网络模型的流程图如图4所示,包括:构建了多输入、含多个隐含层的bp网络模型(包括网络结构、传递函数等)之后,利用ga算法优化bp网络模型初始的权值和阈值,得到最优的个体的权值和阈值,在优化过程中,首先初始化种群,之后确定适应性函数、设置ga算法参数(种群规模、进化代数等),之后依次进行选择操作、交叉操作和变异操作,接着计算适应度值,最后判断是否完成进化代数,若是,获取最优的初始化权值和阈值,作为bp网络模型的初始权值和阈值。在bp网络模型中,通过计算网络误差、调整权值阈值等操作对bp网络模型进行训练,在达到精度或最大迭代次数时,保存网络,结束训练。将待预测数据输入训练好的ga-bp网络模型中,输出预测值(对应前述三维预测尺寸),计算残差后输入mc模型对其进行修正得到ga-bp-mc预测结果(对应前述修正后的三维尺寸信息)。

具体,在预测值修正模块160中,已知ga-bp网络模型三维预测尺寸的相对误差的变化区间,取该区间的中点作为三维预测尺寸的相对误差,则通过式(15)来修三维预测尺寸。

在另一实施例中,在样本集获取模块110中,包括:图像获取单元,用于获取用户的特征信息、正面图像及侧面图像;预处理单元,用于对图像获取单元获取的正面图像和侧面图像进行预处理操作,提取轮廓得到对应的正面轮廓图和侧面轮廓图;图像分割单元,用于针对预处理单元得到的正面轮廓图和侧面轮廓图进行人体结构关键区域的自适应分割;特征点提取单元,用于针对图像分割单元分割后的图片提取关键区域的特征点;二维尺寸获取单元,用于结合特征点提取单元提取的特征点及样本集获取单元获得的用户特征信息得到相应的预设部位的二维尺寸及预设部位相对于身高的比例系数。

在本实施例中,首先对用户的特征信息和图像进行采集,采集的图像包括正面图像及侧面图像,特征信息包括身高信息、性别信息等。之后对采集的图像进行预处理,处理过程依次为将其规范化处理为600×1000格式、rgb空间转化为hsv空间、分离s空间、求sobel算子、边缘增强、二值化、闭运算及提取最大轮廓得到正面图像和侧面图像对应的正面轮廓图和侧面轮廓图;之后针对正面轮廓图和侧面轮廓图进行人体结构关键区域的自适应分割,并针对分割后的图片提取关键区域的特征点,如,针对正面轮廓图提取颈部特征点、肩部特征点、胸部特征点、腰部特征点、臀部特征点、脚部特征点、手部特征点等,针对侧面轮廓图提取颈部特征点、胸部特征点、腰部特征点、臀部特征点、脚部特征点等。最后,根据比例法得到相应的预设部位的二维尺寸及预设部位相对于身高的比例系数。

在一实例中,基于ga-bp-mc神经网络模型的人体三维尺寸方法流程结构图如图7所示,主要分为以下的几个步骤对人体三维尺寸进行预测:体型分类、人体结构关键区域自适应分割、多特征提取、ga-bp模型训练和mc模型训练。在模型训练之前,采集包括偏瘦体型、正常体型和偏胖体型的部分人体照片并对其进行图像预处理(过程参照图5),提取完整的人体轮廓划分人体体型,并且根据不同体型进行人体特征区域自适应划分,之后提取关键区域的特征点得到x(表示为头、颈、胸等具有三维属性的人体部位)围的宽度、x围的厚度及x围与身高的比例系数r。之后,获取人体性别s、身高h、x围的宽度、x围的厚度及x围与身高的比例系数r多个特征对设计好的ga-bp神经网络进行训练,输出预测值。最后,ga-bp神经网络的预测值与真实值作为输入用以训练mc模型,最后输出最终优化结果。

在一实例中,建立包含2个隐含层的bp网络模型,输入层中包含5个神经元,通过实验第一层隐含层中包含10个神经元,第二层隐含层中包含2个神经元,输出层中包含1个神经元。输入层的输入参数包括性别s、身高h、x围宽度(对应正面二维尺寸)、x围厚度(对应侧面二维尺寸)及x围比例系数r,其中,x表示为头、颈、胸等具有三维属性的人体部位,输出三维预测尺寸y。通过工程实例,利用基于传统拟合方法、ga-bp网络模型、ga-bp-mc神经网络模型进行数据对比如表1所示。

表1:算法的误差分析

由结果可知,相对于传统模型拟合、ga-bp网络模型来说,本发明提供的ga-bp-mc神经网络模型测量值明显更准确,平均误差更小。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序单元或模块,以完成以上描述的全部或者部分功能。实施例中的各程序模块可以集成在一个处理单元中,也可是各个单元单独物理存在,也可以两个或两个以上单元集成在一个处理单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件程序单元的形式实现。另外,各程序模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。

图8是本发明一个实施例中提供的终端设备的结构示意图,如所示,该终端设备200包括:处理器220、存储器210以及存储在存储器210中并可在处理器220上运行的计算机程序211,例如:基于ga-bp-mc神经网络的人体三维尺寸信息预测程序。处理器220执行计算机程序211时实现上述各个基于ga-bp-mc神经网络的人体三维尺寸信息预测方法实施例中的步骤,或者,处理器220执行计算机程序211时实现上述各基于ga-bp-mc神经网络的人体三维尺寸信息预测装置实施例中各模块的功能。

终端设备200可以为笔记本、掌上电脑、平板型计算机、手机等设备。终端设备200可包括,但不仅限于处理器220、存储器210。本领域技术人员可以理解,图8仅仅是终端设备200的示例,并不构成对终端设备200的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如:终端设备200还可以包括输入输出设备、显示设备、网络接入设备、总线等。

处理器220可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器220可以是微处理器或者该处理器也可以是任何常规的处理器等。

存储器210可以是终端设备200的内部存储单元,例如:终端设备200的硬盘或内存。存储器210也可以是终端设备200的外部存储设备,例如:终端设备200上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,存储器210还可以既包括终端设备200的内部存储单元也包括外部存储设备。存储器210用于存储计算机程序211以及终端设备200所需要的其他程序和数据。存储器210还可以用于暂时地存储已经输出或者将要输出的数据。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述或记载的部分,可以参见其他实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

在本申请所提供的实施例中,应该理解到,所揭露终端设备和方法,可以通过其他的方式实现。例如,以上所描述的终端设备实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性、机械或其他的形式。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可能集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序211发送指令给相关的硬件完成,计算机程序211可存储于一计算机可读存储介质中,该计算机程序211在被处理器220执行时,可实现上述各个方法实施例的步骤。其中,计算机程序211包括:计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读存储介质可以包括:能够携带计算机程序211代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如:在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施例,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施例,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1