一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种人体模型神经网络训练方法、设备和存储介质与流程

2022-03-01 21:24:28 来源:中国专利 TAG:


1.本发明属于人体三维建模领域,具体涉及一种人体模型建模中使用的神经网络模型的训练方法、设备和存储介质,尤其是一种对神经网络模型生成的人体模型进行修正后,再使用该修正后得到模型训练神经网络模型的方法。


背景技术:

2.随着互联网技术的发展,网上购物方式越来越普及。相比于实体店购物,网上在线购物具有商品种类多、购物方便等优势。但是,在网上购买商品,也存在一些不易解决的问题,最主要的就是无法实地查看要买的商品。在所有的商品种类中,服装商品这个问题最为突出。相比于实体店购物中可以实时地换装查看服装效果,在线服装购物无法提供针对消费者本身的效果图,只能提供模特试衣的图片,有的甚至根本没有试衣图片,消费者无法实时直观地获取服装和自身体型形象的匹配程度。造成了大量的退换货。
3.针对这一问题,经营者尝试利用虚拟试衣技术为消费者提供模拟试衣效果解决这一问题。当然,现实中还存在其他可以使用虚拟换衣试衣技术的场合,比如网络游戏中。因此,这一技术得到了较快的发展。
4.虚拟试衣是指用户不用实际换上想要观看穿着效果的衣服,也能在终端屏幕上实时查看“换装”效果的一种技术应用。现有的换装技术应用主要包括平面试衣和三维虚拟试衣技术。前者基本上是采集用户的图片,采集衣服的图片,然后进行裁剪和拼接,形成“穿衣”后的图像,但这类图像由于简单粗暴的图像处理方式而造成真实度较差,完全没有考虑到用户的实际体型,只是把服装生搬硬套到用户照片上,不能满足用户的需求。后者通常通过三维采集设备采集人的三维信息并结合服装的特征进行合成,或者通过手动输入用户提供的身体数据信息,并按照一定的规则虚拟生成一个人体三维模型,然后与服装贴图进行结合。整体上来说,这类三维虚拟试衣需要进行大量的数据采集或者三维数据计算,硬件成本高,在普通用户中不易推广。
5.随着云计算技术、人工智能技术和智能终端处理能力的发展,产生了二维虚拟试衣技术。此类技术主要包括三个步骤:(1)对用户提供的个人身体信息进行处理,得到目标人体模型;(2)对服装信息进行处理得到服装模型;(3)将人体模型和服装模型融合在一起,生成人穿着该服装的模拟图。
6.但是,由于流程设计、模型参数选择、神经网络的训练方法等诸多不确定因素的累积,最终生成的换衣图片质量并不如传统的三维虚拟试衣技术,这其中,人体模型的建立因为是其基础步骤,并且后面的穿衣过程也必须以前面生成的人体模型为基础,所以,一旦人体模型生成的不准确,容易产生人体模型与试衣者体型差距过大、皮肤纹理丢失、身体部位丢失等问题,影响最终的生成的换衣图片效果。
7.在一般的计算机视觉领域中,人体建模的初始起点有很多种,通常包括使用3d扫描设备对真实人体进行全方位扫描,基于多视角景深照相的三维重建方法,以及给定图像结合人体模型的方法实现三维重建这三大类。其中,使用3d扫描设备对真实人体进行全方
位扫描获得信息最多最准确,但是这类设备通常比较昂贵,并且需要人体模特的高度配合,整个处理过程对处理的设备的要求非常高,所以一般都应用于一些专业领域;其次,多视角三维重建方法需要提供被重建人体多个视角相互重叠的图像并建立图像间的空间转换关系,使用多组摄像头,以拍摄多张的方式,拼合出一个3d模型,操作相对简化了一些,但是计算复杂度仍然较大,并且多数情况下,只有现场参与的人才能获得多角度的图片。深度摄像头多角度拍照方法拿到的贴图然后拼合得到的模型,没有身体尺度数据,不能为3d感知提供基础。再次,单张图像结合人体模型的方法只需要提供一张图像,基于神经网络的三维人体特征曲线智能生成方法,通过神经网络训练,获得可以用来描述人体颈部、胸部、腰部以及臀部等部位曲线的权值和阂值,然后根据人体截面的围长、宽度、厚度等的尺寸参数信息,就能直接生成与真实人体体型吻合的人体三维曲线就可以获得预测的人体模型。但这种方法由于输入信息量较少,而求解过程仍然需要消耗较多的计算量,导致最终的模型效果不能令人满意。
8.基于互联网技术和其所处的网络环境特点,从单张图像直接输出最终人体模型的方式无疑是优选的,其便捷性是最好的,用户无需亲临现场,只需一张照片,即可完成整个换衣过程。那么随之而来的问题就是,只要能保证其获得的结果照片效果基本和真实3d模拟换衣相当,就会成为主流。这其中,如何通过一张照片而获得最接近人体真实状态的人体模型,就成为重中之重。
9.现有技术中,构造人体模型的方法通常有几类:(1)基于回归的方法,通过卷积神经网络重建出体素表示的人体模型,算法首先根据输入图片估计人体主要关节点的位置,然后根据关键点位置估计出给定指定大小体素网格中,根据其内部每个单元体素是否被占用,从而用内部占用体素的整个形状来描述重建出的人体形状;(2)基于单张图片的人体重建,该方法同时估计出人体三维形状和姿态,该方法首先在图像上对简单的人体骨骼关键点进行了粗略的标注,然后根据这些粗关键点进行人体模型的初始匹配和拟合,得到人体大致形状。(3)用23个骨骼节点来表示人体骨架,然后用每个骨骼节点的旋转来表示整个人体的姿态,同时,用6890个顶点位置来表达人体形状,在拟合过程中,给定骨骼节点位置,同时拟合出形状和姿态的参数,从而进行三维人体重建;或者先用cnn模型来预测图像上的关键点,然后采用smpl模型进行拟合,得到初始的人体模型。接着,用拟合得到的形状参数来回归一个人体关节包围盒,每个关节对应一个包围盒,用轴长和半径来表示其包围盒。最后,结合初始模型和回归得到的包围盒从而得到三维人体重建。以上方法存在建模速度较慢,其建模精度不够,并且重建效果强依赖所创建的身体和姿态数据库的问题。
10.现有技术一公开了一种基于体测数据的人体建模方法,如图1所示,所述方法包括:获取体测数据;根据所述体测数据,通过预先训练好的预测模型对预先创建的人体模型进行线性回归,拟合得到预测人体模型,所述预先创建的人体模型包括预先定义的多组标记特征点以及对应的标准形状基,所述体测数据包括与每组标记特征点对应的测量数据;根据所述预测人体模型,得到目标人体模型,所述目标人体模型包括测量数据、目标形状基以及目标形状系数。但是这种方法,对体测数据要求非常高,包括体长数据与围长数据,比如身高、臂长、肩宽、腿长、小腿长、大腿长、脚板长,头围、胸围、腰围、大腿围等,不仅测量还要计算。确实节约了计算量,但是用户体验却非常不好,程序很繁琐。并且在人体模型的训练上,参考了smpl模型的训练方式。
11.smpl模型是一种参数化人体模型,是马普所提出的一种人体建模方法,该方法可以进行任意的人体建模和动画驱动。这种方法与传统的lbs的最大的不同在于其提出的人体姿态影像体表形貌的方法,这种方法可以模拟人的肌肉在肢体运动过程中的凸起和凹陷。因此可以避免人体在运动过程中的表面失真,可以精准的刻画人的肌肉拉伸以及收缩运动的形貌。该方法中β和θ是其中的输入参数,其中β代表是个人体高矮胖瘦、头身比等比例的10个参数,θ是代表人体整体运动位姿和24个关节相对角度的75个参数。但是这种模型生成方式,核心是训练数据的大量积累,获得体型和形状基之间的关系,但是,这种关系由于互相之间具有极强的关联性,每个形状基之间无法做到独立控制,不容易进行解耦合操作,比如,胳膊和腿之间也存在一定关联关系,胳膊动的时候腿理论上也会跟着运动,很难在smpl模型上实现针对不同特点体型的改进。
12.现有技术二公开了一种三维人体模型的生成方法,包括:获取二维人体图像;将所述二维人体图像输入至三维标准人体模型中,得到与所述二维人体图像对应的三维人体参数;将所述训练样本输入神经网络中进行训练,得到三维标准人体模型,包括:将所述训练样本中的所述标准二维人体图像输入至所述神经网络中,得到与所述标准二维人体图像对应的预测三维人体参数;根据所述预测三维人体参数调整三维柔性可变形模型,得到预测三维人体模型;根据所述预测三维人体模型中关节点位置通过反向映射得到所述标准二维人体图像中预测关节点位置。这种建模方式,利用模型判断和最后经神经网络输出的参数仅仅只有关节点参数,然后利用了smpl模型的成熟体型对其进行与目标人体姿态一致的细节调整,虽然计算量减少,但是由于输入参数较少,并且只能在smpl预测模型的基础上完成调整,很难输出特别理想的与目标人体姿态高度一致的人体模型。
13.现有技术三公开了一种基于机器学习的3d试衣平台,包括:(1)、用户输入身高、体重、三围、性别、肤色,手机摄像头拍取用户的照片信息到3d试衣平台;(2)、3d试衣平台利用机器学习技术根据平台现有的大量真实数据和模型进行训练,并按照用户输入的高、体重、三围、性别、肤色信息匹配出最接近使用人身材的模型;(3)、用户网购看重衣服后,点击试衣,跳转到3d试衣平台,平台利用3dmax技术将衣服和人体模型进行匹配建模并生成实际效果模型。利用tensorflow框架建立卷积神经网络,以用户输入的身高、体重、三围、脸型作为x向量,利用先用的真实样本数据进行训练;经过大量的计算之后得到包含模型的肩宽,大小手臂粗度、大小手臂长度、大小腿粗度、大小腿长度、用户输入的胸围、用户输入的臀围这些数据,利用这些数据作为变量结合3dmax技术进行3d建模。这种技术的最大缺点在于获取真实人体的数据非常困难,需要真实测量每一个真实样本,这样的工作量是非常不经济的。
14.在目前的人体建模领域,使用神经网络模型生成人体模型的方法,由于存在海量的训练图片并且输出的模型效果较好,处于比较主流的位置。因此,生成的模型的质量,也就是和原始图片的吻合度成为了最关键的因素,对深度学习的神经网络而言,如何对其进行训练并达到最优的训练效果和训练效能,成为亟需要解决的问题。


技术实现要素:

15.为了配合互联网行业的发展趋势,在虚拟试衣尤其是人体建模这个细分领域,最少的输入信息、最少的计算量和最佳的效果将是三个一直被追求的基本目标。需要我们在这三者之间寻找一个最佳的平衡点,提供一种可以做到简单输入,计算量不超过终端设备
承受力,效果接近专业设备的人体建模方法。为了解决上述问题,本发明提供了一种克服上述问题的人体模型神经网络训练方法、设备和存储介质。
16.本发明提供一种人体模型神经网络训练方法,所述方法包括:
17.1)获取目标人体的二维图像;
18.2)利用神经网络获得目标人体模型的参数,根据参数得到三维目标人体模型网格;
19.3)将二维图像和目标人体模型导入三维建模软件;
20.4)利用三维建模软件对二维图像和目标人体模型进行一致性调整,得到修正后的新目标人体模型;
21.5)将新目标人体模型作为输出结果代入神经网络进行计算;
22.6)利用计算结果对模型参数进行调整,完成对神经网络的训练。
23.所述训练方法还包括:结合数学模型构造三维标准人体模型;通过神经网络获取目标人体模型的三维人体参数,包括三维人体动作姿态参数和三维人体体型参数;获得的三维人体姿态和体型参数与三维标准人体模型的若干个基和骨骼参数相对应;将获得的若干组基和骨骼参数输入标准三维标准人体模型中进行拟合。
24.优选的,所述获取目标人体模型的参数的步骤还包括,1)获取目标人体的二维图像;2)处理获得目标人体的二维人体轮廓图像;3)将二维人体轮廓图像代入经过深度学习的第一神经网络进行关节点的回归;4)获得目标人体的关节点图;获取人体各部分语义分割图;身体关键点;身体骨骼点;5)将生成的目标人体的关节点图、语义分割图,身体骨骼点以及关键点信息代入经过深度学习的第二神经网络进行人体姿态和体型参数的回归;6)获得输出的三维人体参数,包括三维人体动作姿态参数和三维人体体型参数。
25.优选的,在将二维人体图像输入第一神经网络模型之前,还包括训练第一神经网络的过程,训练样本包括标注原始关节点位置的标准二维人体图像,所述原始关节点位置由人工在二维人体图像上进行高准确度地标注。
26.优选的,所述三维标准人体模型由若干个形体基的参数以及若干根骨骼参数构成,所述若干个形体基构成整个人体模型,每个形体基分别由基的参数单独控制变化,互不影响。所述三维标准人体模型具有骨骼点和模型网格的数学权值关系,骨骼点的确定可关联确定目标人体姿态的人体模型。
27.优选的,所述一致性调整由人工完成。所述导入的目标人体模型与目标人体的二维图像之间姿态的一致性通过对人体模型骨骼的调整实现,体型的一致性通过对人体模型形体基的调整实现。在得到修正后的新目标人体模型后,在软件内渲染出人体模型的三视图,与照片进行比对后进行补充修正调整。
28.一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现前面任一所述的方法步骤。
29.一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现前面任一所述的方法步骤。
30.本发明的有益效果是:
31.1、训练效果优秀。因为我们是用最正确的答案去训练神经网络。众所周知,神经网
络的各种算法繁多,各种参数也非常多,各种损失函数(loss)会因为项目需求的不同而多种多样,只有通过不断的训练、迭代,才能更好地趋近于产出最正确的“答案”。在实际测试中,我们发现对于通过一张图片就直出三维人体模型的神经网络来讲,受到各种参数和loss函数的影响,结果的准确性并不是很高,尤其是一些复杂的人体姿态。但是,现有技术又没有特别好的方法去针对错误进行有效训练,目前将输出结果代回模型的方法,收敛速度比较慢,直接调整参数则偶然性较大,同时收敛速度也飘忽不定。我们的做法是,把神经网络生成的不是很准确地反映照片中人体真实姿态和真实体态的目标人体模型,导入主流的三维建模软件中,同时把原始照片导入该软件,操纵人体模型与照片进行视觉上的“贴合”,得到修正后的新目标人体模型。这个新的模型就会比直出的模型更加贴近照片中的真实人体姿态和体型。再将这个修正后的模型代入神经网络进行训练,相当于用正确答案去训练神经网络,可以大幅提高参数的准确性和loss的合理性,神经网络模型收敛速度非常理想,并且训练完成后可以得到与人体照片姿态和体型高度一致的目标人体模型。
32.2、神经网络模型的设置更加科学和有针对性。现有技术中有一些图像处理方法,过于追求简单地直出模型,没有花时间打磨模型的细节,纯粹通过海量图像数据的训练来完成从2d图片到3d身体模型的映射,虽然效率很高,但是处理流程过于简单,完全依靠神经网络模型来生成三维人体模型,身体的比例和细节部分的一致性和效果均不如人意,并且对后续的进一步处理,完全没有帮助,而且可能成为后续程序难以跨过的障碍。而我们把这些不太准确的人体模型,稍作调整后,就可以作为很好的答案来训练神经网络,调整参数,一步一步趋近于神经网络最理想的输出状态。
33.3、高频度使用深度神经网络。本发明充分利用了深度学习网络的优势,能够在各种复杂的场景中,高精度还原人体的姿态和体型。针对不同的目的分别使用不同的神经网络,利用不同输入条件和训练方式的神经网络模型,实现了人体在复杂的背景下的精准轮廓分离,人体的语义分割,关键点和关节点的确定,排除了宽松衣物、发型的影响,做到最大程度上逼近人体的真实体型和形态。现有技术中也会使用神经网络模型,但是由于由于输入条件、输入参数、训练方式的不同,导致神经网络模型发挥的功能和作用有较大差异。而我们前一级的神经网络,人体轮廓、人体语义分割、关键点和关节点都会作为输入的项目,可以从多个角度来完成模型参数的生成,并且后一级神经网络输出的参数包含姿态和体型两个类别,可以分别控制动作和体型,并且结合我们的参考模型,可以精准的复制人体模型的姿态和体型。
34.4、人体模型精确可控。目前流行的基于单图像的人体重建方法主要分为重建参数化人体模型。最常用的参数化模型为马普所的smpl模型,其包含用于描述人体姿态和描述人体体型的两套共72个参数。针对单图片重建问题,先从图片估计二维关节位置,再通过三维关节与二维平面关节投影距离最小来实现优化得到smpl参数,进而得到人体。但smpl模型,主要通过大量的人体模型实例来进行深度学习和训练,体型和形状基之间的关系是一种整体关联关系,解耦合难度很大,无法随心所欲地控制想要控制的身体部分,导致生成的模型不能达到与真实人体姿态和体型的高度一致性,此外,如果进一步应用于后续的穿衣过程,也会导致对人体表面几何细节的表现能力有限,无法很好地重建出人体表面衣物的细节纹理。但是我们的人体模型,不是通过训练得到的,参数之间存在基于数学原理的对应关系,也就是说,我们的各组参数之间没有互相牵连的关系,是各自独立的,因此我们的模
型在变换过程中更具有解释性,可以更好地表征身体某一个局部的形状变化。通俗来讲,本发明通过自有标准人体模型的建立,使用与20个形体基和17θ根骨骼相对应的参数,生成了比马普所人体smpl模型更加贴近亚洲人体型,独立操作和控制性更佳的三维人体模型。人的体型千人千样,很多人的大腿和小腿的比例并不满足一定的精确比例,我们的模型可以通过控制输入的参数,实现大腿和小腿分别的控制和长度调整,达到腿部比例的精确确定。实际上,也只有这样的人体模型,也能完美地匹配我们整套训练方法,因为我们的训练方法,要求人体模型的每个部分都尽可能地可以进行单独调整,这样才能充分发挥本发明训练方法的优势,可以在所有肉眼可见的部分,实现人体模型和照片中人体的贴合。
35.5、用户操作简单。本发明提供了通过深度神经网络来分析人体全身照片得到精准人体三维模型参数的方法,仅需一张普通照片就能迅速为人体建模,非常好的适应了互联网时代的特点和趋势,一是简单,二是快捷。用户无需任何准备,上传一张照片就是用户需要完成的所有工作。如果将本发明应用于娱乐小程序或者网络购物等场景,将会极大的增强用户的体验和粘性。不需要景深摄像头或者多组摄像头,就能得到的3d模型对应人体的真实形态,为各个行业,比如服装、健康等提供了广阔的应用场景。
附图说明
36.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
37.图1为一个实施例的全部处理流程图;
38.图2为一个实施例的模型参数获得模块的处理流程图;
39.图3为一个实施例的人体模型修正处理示意图;
40.图4为本发明的系统示意图。
具体实施方式
41.下面将详细描述本发明的各个方面的特征和示例性实施例,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本发明,并不被配置为限定本发明。对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更好的理解。
42.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
43.下面结合附图对本发明实施例提供的处理人体图像的方法进行详细说明。
44.如图1所示,本发明实施例提供一种三维人体模型神经网络的训练方法,通过对生成的人体模型进行细节上的对齐和调整,使得深度学习神经网络的参数精度大大提高,收敛速度明显加快,可以大大提高三维人体模型生成时的一致性和还原度。
45.首先,本发明公开了一种人体模型神经网络的训练方法,包括:
46.1)获取目标人体的二维图像;
47.2)利用神经网络获得目标人体模型的参数,根据参数得到三维目标人体模型网格;
48.3)将二维图像和目标人体模型导入三维建模软件;
49.4)利用三维建模软件对二维图像和目标人体模型进行一致性调整,得到修正后的新目标人体模型;
50.5)将新目标人体模型作为输出结果代入神经网络进行计算;
51.6)利用计算结果对模型参数进行调整,完成对神经网络的训练。
52.训练方法还包括:结合数学模型构造三维标准人体模型;通过神经网络获取目标人体模型的三维人体参数,包括三维人体动作姿态参数和三维人体体型参数;获得的三维人体姿态和体型参数与三维标准人体模型的若干个基和骨骼参数相对应;将获得的若干组基和骨骼参数输入标准三维标准人体模型中进行拟合。
53.训练方法大致包括三个部分的步骤。一是获得与目标人体姿态和体型相同的三维目标人体模型;二是利用三维建模软件对二维图像和目标人体模型进行一致性调整;三是利用修正后的人体模型完成对神经网络的训练。
54.第一部分是对获取的人体图像进行处理,获得生成人体模型所需要的参数信息。以前,这些骨骼关键点的选取通常是通过人工进行,但是这种方式效率很低,不适应互联网时代快节奏的要求,因此,在神经网络大行其道的今天,利用经过深度学习的神经网络代替人工进行关键点的选取,成为了潮流。但是,如何高效地利用神经网络则是一个需要进一步研究的问题。总体上讲,我们采用了二级神经网络加数据“精修”的思路来构建我们的参数获得体系。如图2所示,我们采用经过深度学习的神经网络来生成这些参数,主要包括以下子步骤:1)获取目标人体的二维图像;2)处理获得目标人体的二维人体轮廓图像;3)将二维人体轮廓图像代入经过深度学习的第一神经网络进行关节点的回归;4)获得目标人体的关节点图;获取人体各部分语义分割图;身体关键点;身体骨骼点;5)将生成的目标人体的关节点图、语义分割图,身体骨骼点以及关键点信息代入经过深度学习的第二神经网络进行人体姿态和体型参数的回归;6)获得输出的三维人体参数,包括三维人体动作姿态参数和三维人体体型参数。
55.二维人体轮廓图像的获取利用目标检测算法,所述目标检测算法是基于卷积神经网络的目标区域快速生成网络。在将二维人体图像输入第一神经网络模型之前,还包括训练神经网络的过程,训练样本包括标注原始关节点位置的标准二维人体图像,所述原始关节点位置由人工在二维人体图像上进行高准确度地标注。在这里,首先获取目标图像,并利用目标检测算法对目标图像进行人体检测。人体检测并不是使用测量仪器对真实人体进行检测,本发明中实际是指对于任意一幅给定的图像,通常是包含足够信息的二维照片,比如人脸,人的四肢和身体要求全部包括在图片中。然后,采用一定的策略对给定的图像进行搜索,以确定给定的图像中是否包含人体,如果给定的图像中包含人体,则给出人体的位置、
大小等参数。在本实施例中,在获取目标图像中的人体关键点之前,需要对目标图像进行人体检测,以获取目标图像中标注人体位置的人体框,因为我们输入的图片可以是任何图片,所以不可避免的存在一些非人体图像的背景,比如桌子椅子、大树汽车楼房等,要通过一些成熟的算法把这些无用的背景去除。
56.同时,我们还要进行语义分割、关节点检测、骨骼检测和边缘检测,收集到了这些1d的点信息和2d的面信息,就可以为后面生成3d人体模型打下良好的基础。使用第一级神经网络生成人体的关节点图,可选地,目标检测算法可以为基于卷积神经网络的目标区域快速生成网络。该第一神经网络需要进行大量的数据训练,由人工对一些从网络收集来的照片进行关节点标注,然后输入神经网络进行训练,经过深度学习的神经网络,基本可以做到输入照片后就能立即获得和人工标注关节点一样准确率和效果的关节点图,同时效率是人工标注的数十倍甚至数百倍。人体关节点通常都作为人体关键点存在。
57.本发明中,获得照片中人体的关节点位置,只是完成了第一步,获得了1d的点信息,还要根据这些1d的点信息生成2d的面信息,这些工作都可以通过神经网络模型以及现有技术中的成熟算法来完成。本发明由于重新设计了神经网络模型参与工作的流程和介入时机,合理设计了各种条件和参数,使得参数的生成工作更加高效,人工参与的程度降低,非常适合互联网应用场景,比如在虚拟换装的节目中,用户无需等待,基本上是瞬时就可以获得换装结果,对提高节目对用户的吸引力有着至关重要的作用。
58.在获得了相关的1d的点信息和2d的面信息后,就可以将这些参数或者结果,目标人体的关节点图、语义分割图,身体骨骼点以及关键点信息作为输入项代入经过深度学习的第二神经网络进行人体姿态和体型参数的回归。经过第二神经网络的回归计算,就可以立即输出若干组三维人体参数,包括三维人体动作姿态参数和三维人体体型参数。优选的,根据三维标准人体模型(基础人台)、预测三维人体模型、标注原始关节点位置的标准二维人体图像以及包括预测关节点位置的标准二维人体图像设计神经网络的损失函数。
59.在这部分,我们还会预先设计建模一些基础人台。主要工作内容为:结合数学模型构造三维标准人体模型,即基础人台。马普所的smpl人体模型通过研究参数变化的连续动画,我们可以清楚地看到每一个控制人体形态参数的连续变化,都会引起人体模型的局部甚至整体的连锁变化,为了体现人体肌肉组织的运动,smpl人体模型的每一个参数的线性变化,都会引起大面积的网格变化。形象的讲,例如在调整β1的参数时,模型会直接把β1的参数变化理解为身体的整个变化,你可能只想调整一下腰部的比例,但是模型会强制把腿部、胸部、甚至手部的胖瘦一起帮你调整。这种工作模式虽然可以大大简化工作流程,提高效率,但是对追求建模效果的项目来说,确实非常不方便的。因为smpl人体模型终究是一个通过西方人体照片和测量数据训练出来的符合西方人体型的模型,其形体变化的规律基本符合西方人的通常变化曲线,应用在亚洲人的人体模型建模中,则会出现很多问题,比如胳膊和腿的比例,腰身的比例,脖子的比例,腿长和胳膊长度等。通过我们的研究,这些方面都存在较大差值,如果硬性套用smpl人体模型,在最终生成效果上不能达到我们的要求。
60.为此,我们采用了自制人体模型的方式完成效果的提升。其核心是自建人体blend体型基来实现人体精准的独立操控。所述三维标准人体模型(基础人台)由20个形体基的参数以及170根骨骼参数构成。所述若干个基构成整个人体模型,每个形体基分别由参数单独控制变化,互不影响。所谓独立操控,可以理解为每一个基都是单独进行操控的,比如腰、
腿、手、头部等,每根骨骼也是可以单独进行长度的调整,互相之间独立,并且不会产生形体上的联动,这样就能比较好的进行人体模型的精细化调整。我们现有的模型,体现出来的是一种数学原理上的对应关系,可以更好地表征人体模型局部的形体变化,并且,这种变化是基于数学原理的方式,各个参数之间没有影响,胳膊和腿之间保持了完全独立状态。
61.需要强调的是,我们的人体模型,不是通过训练得到的,参数之间存在基于数学原理的对应关系,也就是说,我们的各组参数之间没有互相牵连的关系,是各自独立的,因此我们的模型在变换过程中更具有解释性,可以更好地表征身体某一个局部的形状变化。通俗来讲,本发明通过自有标准人体模型的建立,使用与20个形体基和170根骨骼相对应的参数,生成了比马普所人体smpl模型更加贴近亚洲人体型,独立操作和控制性更佳的三维人体模型。我们的模型可以通过控制输入的参数,实现大腿和小腿分别的控制和长度调整,达到腿部比例的精确确定。实际上,也只有这样的人体模型,也能完美地匹配我们整套训练方法,因为我们的训练方法,要求人体模型的每个部分都尽可能地可以进行单独调整,这样才能充分发挥本发明训练方法的优势,可以在所有肉眼可见的部分,实现人体模型和照片中人体的贴合。
62.第一部分还包括人体模型的参数和人体模型进行拟合生成目标人体模型。如图2所示,包括以下子步骤,将获得的三维人体姿态和体型参数与三维标准人体模型的若干个基和骨骼参数相对应;将获得的若干组基和骨骼参数输入标准三维标准人体模型中进行拟合;所述三维人体模型具有骨骼点和模型网格的数学权值关系,骨骼点的确定可关联确定目标人体姿态的人体模型。在这一部分,沿用上一部分生成的这两种参数,就可以代入预先设计好的人体模型进行3d人体模型的构造。这两类参数与马普所的人体smpl模型参数名称相似,但实际所包含的内容相差较大。因为两者的基础并不一样,也就是说,本发明采用自制三维标准人体模型(基础人台),马普所的smpl模型采用大数据训练生成的标准人体模型,两个模型的生成计算方式不同,虽然最后都体现为生成的3d人体模型,但是其内涵相差较大。在这一步骤后,就会得到一个初步的3d人体模型,包括骨骼位置和长短信息的人体模型的网格(mesh)。
63.第二部分中,我们完成人体模型的修正。
64.从我们设计的神经网络模型中输出的人体模型,实际上是和原始照片中人体的姿态大致相同的,一般称之为目标人体模型。由于骨骼关节图已经经过人工标注的持续训练,已经具有了一定的一致性。很少出现照片姿态是胳膊处于抬起位置,人体模型中胳膊在下的极端情况。一般情况下,目标人体模型和我们判定的照片中实际人体姿态和体型差距并不是很明显。但是,以前并没有人会对这些不太完美的人体模型做进一步的处理,通常的做法是,继续通过其他方法调整神经网络的参数和权重设置,不断输出参数修正后的人体模型,如果姿态更接近了,则证明参数调整较为成功。但是从效率上来讲,这样的调整方式偶然性大,效果一般,效率一般。
65.本发明的训练思路是,对神经网络生成的不完美的人体模型,进行人工进行干预和调整,使该模型达到与照片人体姿态高度一致的状态,并将这个修正后的模型作为前述照片应该生成的人体模型,代回神经网络模型进行计算,得出神经网络应该具有什么样的参数才能输出正确答案。相对于现有技术中获得真实人体模型数据的各种方法,本发明的方法简单、有效,只需要一张照片就能完成整个修正和训练过程,大大简化了数据获取的时
间和设备成本。此外,还要强调的是,正是由于我们采用了自制的可以独立控制每个部分的标准人体模型,才能获得最优的修正效果。如果采用马普所的smpl模型,不可能达到独立控制模型去贴合照片的最佳效果。
66.参见图3,本发明中,如果想得到姿态“完美”的人体模型,首先要将生成的模型导入现有的主流三维建模软件中,比如maya;其次,将原始的二维照片也导入建模软件,在同一任务框内显示导入的照片和人体模型;再次,在maya中单独任务框中对人体模型的骨骼和关节点进行调整,由美工操纵人体模型绑定的关节点和骨骼,参照和原始照片不太一致的部分,向照片中的姿态和体型“靠拢”。比如照片中胳膊抬起是左前方30度,生成的模型是左前方25度,只需手动移动5度即可完成调整。比较复杂的情况是,胳膊的方向、胳膊的胖瘦、胳膊的长短、手旋转的方向等都不太一致,这时,需要美工一一进行调整。调整的方式使用maya中常用的方式即可,比如拖拽整个关节的ik方式,直接调整xyz坐标,调整欧拉角等。实际上,这个步骤人工参与进来,会比较高的提高模型的准确度和最终的工作效率,也有通过软件实现两者“贴合”的,但是,基本都是采用图像处理技术来操作,准确度下降的比较多,这样会让后面的再训练变得效率和效果比较低。虽然手工和软件自动调整,最后的目标都是人体模型完全“覆盖”原始照片中的人体部分,但是我们还是倾向于采用人工调整的方式。但是需要强调的是,这对本发明要求保护的训练方法的实现并没有多大影响,因为采用无论采用何种方式,都是为了让生成的人体模型尽可能地贴近原始图片中人体的姿态和体型,有了这个修正模型的步骤,就会大幅提高训练的准确性,可以让我们更精准地调整各种参数,从而生成更贴近照片真实人体情况的目标人体模型。
67.在调整完毕后,我们还加入了一个验收修补环节,在maya内渲染出人体模型的三视图,然后与照片进行比对,如果高度一致则可以作为结果对神经网络进行训练。如果还有不一致的地方,则进入软件对不一致的地方再次进行微调。因为在maya虚拟的3d空间内,利用人眼的视线去对齐模型和照片,虽然已经比较准确,但是肉眼对齐难免出现一点误差,生成模型的二维图片后,可以从二维的静态角度去仔细观察照片和模型在二维空间内的不一致,更容易发现在3d空间内不容易发现的不一致之处,比如胳膊肘部的形状,向后弯曲的肢体,以及前倾或后仰的身体等,为修正出更完美的模型提供了进一步的助力。
68.在第四部分,我们把重新修正后的人体模型,作为结果重新输入神经网络对其进行训练,以便神经网络能够知道输入的照片和输出的模型最准确的匹配结果是什么。神经网络的训练方法有很多种,但是基本的流程和思路是差不多的,简单讲就是让神经网络知道什么是对的什么是错的。其中一种常用深度学习神经网络训练方法通常包括:(1)数据预处理;(2)将数据输入神经网络(每个神经元先输入值加权累加再输入激活函数作为该神经元的输出值)正向传播,得到得分或者结果;(3)将“得分”或者“结果”输入误差函数loss function(正则化惩罚,防止过度拟合),与期待值比较得到误差,多个则为和,通过误差判断识别程度(损失值越小越好);(4)通过反向传播(反向求导,误差函数和神经网络中每个激活函数都要求,最终目的是使误差最小)来确定梯度向量;(5)最后通过梯度向量来调整每一个权值,向“得分”或者“结果”使误差趋于0或收敛的趋势调节;(6)重复上述过程直到设定次数或损误差失的平均值不再下降(最低点);(7)训练完成。
69.可以看出,大部分神经网络训练的过程,本来就是基于大量的数据的,最开始训练时,神经网络模型对于很多场景效果都不好,所以需要大量标注各种badcase,然后我们把
标注完的badcase都加入到训练集里,让神经网络知道这些badcase的真实值应该是什么样,等网络学会了以后再碰到类似的图像,他就能准确的对这种场景进行预测了。但是,这种训练实际上效率并不是非常高,所以训练的过程其实是一个反复迭代的过程,如果能用几乎和标准答案一致的结果来训练模型什么是对的和好的,则越往后出现的badcase越少,并且收敛速度提升很快,模型表现也越好。
70.结合图1至图3描述的根据本发明实施例的生成三维人体模型神经网络的训练方法流程。图4是示出根据发明实施例的处理人体图像的设备的硬件结构300示意图。
71.本发明还公开了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现前面所述的训练方法和步骤。
72.以及一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现前面所述的训练方法和步骤。
73.如图4所示,本实施例中的实现神经网络训练方法的设备300包括:处理器301、存储器302、通信接口303和总线310,其中,处理器301、存储器302、通信接口303通过总线310连接并完成相互间的通信。
74.具体地,上述处理器301可以包括中央处理器(cpu),或者特定集成电路(asic),或者可以被配置成实施本发明实施例的一个或多个集成电路。
75.存储器302可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器302可包括hdd、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(usb)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器302可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器302可在处理人体图像设备300的内部或外部。在特定实施例中,存储器302是非易失性固态存储器。在特定实施例中,存储器302包括只读存储器(rom)。在合适的情况下,该rom可以是掩模编程的rom、可编程rom(prom)、可擦除prom(eprom)、电可擦除prom(eeprom)、电可改写rom(earom)或闪存或者两个或更多个以上这些的组合。
76.通信接口303,主要用于实现本发明实施例中各模块、装置、单元和/或设备之间的通信。
77.总线310包括硬件、软件或两者,将处理人体图像的设备300的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(agp)或其他图形总线、增强工业标准架构(eisa)总线、前端总线(fsb)、超传输(ht)互连、工业标准架构(isa)总线、无限带宽互连、低引脚数(lpc)总线、存储器总线、微信道架构(mca)总线、外围组件互连(pci)总线、pci-express(pci-x)总线、串行高级技术附件(sata)总线、视频电子标准协会局部(vlb)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线310可包括一个或多个总线。尽管本发明实施例描述和示出了特定的总线,但本发明考虑任何合适的总线或互连。
78.也就是说,图4所示的处理人体图像的设备300可以被实现为包括:处理器301、存储器302、通信接口303和总线310。处理器301、存储器302和通信接口303通过总线310连接并完成相互间的通信。存储器302用于存储程序代码;处理器301通过读取存储器302中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行本发明任一实施例中
的神经网络训练方法,从而实现结合图1至图3描述的神经网络训练方法。
79.本发明实施例还提供一种计算机存储介质,该计算机存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现本发明实施例提供的神经网络训练方法。
80.需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
81.以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(asic)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、rom、闪存、可擦除rom(erom)、软盘、cd-rom、光盘、硬盘、光纤介质、射频(rf)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
82.还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
83.以上所述,仅为本发明的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献