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

一种人体模型的建立方法、系统、设备和存储介质与流程

2022-03-19 14:05:19 来源:中国专利 TAG:


1.本发明属于人体三维建模领域,具体涉及一种人体建模方法,尤其是基于机器学习的从照片中提取相关信息的人体模型的建立方法、系统、设备和存储介质。


背景技术:

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


技术实现要素:

16.基于上述问题,本发明提供了一种克服上述问题的人体模型的建立方法、系统、设
备和存储介质。
17.本发明提供一种人体模型的建立方法,包括:1)获取目标人体的二维图像;2)经处理获得目标人体的二维人体轮廓图像;3)通过两级神经网络获取目标人体模型的三维人体参数,包括三维人体动作姿态参数和三维人体体型参数;4)结合数学模型构造三维标准人体模型;6)获得的三维人体姿态和体型参数与三维标准人体模型的若干个基和骨骼参数相对应;7)将获得的若干组基和骨骼参数输入标准三维标准人体模型中进行拟合;8)获得与目标人体姿态和体型相同的三维目标人体模型网格。
18.进一步的,所述二维人体轮廓图像的获取利用目标检测算法,所述目标检测算法是基于卷积神经网络的目标区域快速生成网络。在将二维人体图像输入第一神经网络模型之前,还包括训练神经网络的过程,训练样本包括标注原始关节点位置的标准二维人体图像,所述原始关节点位置由人工在二维人体图像上进行高准确度地标注。
19.进一步的,所述获取目标人体模型三维人体参数的步骤还包括,将二维人体轮廓图像代入经过深度学习的第一神经网络进行关节点的回归。所述获取目标人体模型三维人体参数的步骤还包括,获得目标人体的关节点图;获取人体各部分语义分割图;身体关键点和/或身体骨骼点。还包括,将生成的目标人体的关节点图、语义分割图,身体骨骼点以及关键点信息代入经过深度学习的第二神经网络进行人体姿态和体型参数的回归。
20.进一步的,所述三维标准人体模型由若干个形体基的参数以及若干根骨骼参数构成,所述若干个形体基构成整个人体模型,每个形体基分别由基的参数单独控制变化,互不影响。
21.进一步的,还包括以下步骤,1)获得初始姿态和目标姿态的位置坐标;2)生成从初始姿态移动到目标姿态的动画序列;3)生成动画序列的过程中,采用网格mesh插帧的方式进行处理;4)插帧速度采用非匀速的插帧速率,设置为距离初始点和目标点的位置慢,中间运动过程快;5)至运动末尾则降低驱动速度,并且在最终目标姿态时静止数帧,得到整个动画序列;6)完成从初始姿态驱动骨骼移动到目标姿态。
22.进一步的,如果目标人体姿态复杂,通过多级拟合的方式完成准确拟合。
23.进一步的,所述三维人体模型具有骨骼点和模型网格的数学权值关系,骨骼点的确定可关联确定目标人体姿态的人体模型。
24.此外,还公开了一种人体模型建立系统,包括:1)二维人体图像获取模块;2)关节点图获得模块;3)语义分割图获得模块;4)人体姿态和体型参数的回归模块;5)标准三维标准人体模型拟合模块;6)三维人体模型数据处理和精修模块;7)目标人体模型网格输出模块。
25.一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现前面任一所述的方法步骤。
26.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现前面任一所述的方法步骤。
27.本发明的有益效果是:
28.1、用户操作简单。本发明提供了通过深度神经网络来分析人体全身照片得到精准人体三维模型参数的方法,仅需一张普通照片就能迅速为人体建模,非常好的适应了互联
网时代的特点和趋势,一是简单,二是快捷。用户无需任何准备,上传一张照片就是用户需要完成的所有工作。如果将本发明应用于娱乐小程序或者网络购物等场景,将会极大的增强用户的体验和粘性。不需要景深摄像头或者多组摄像头,就能得到的3d模型对应人体的真实形态,为各个行业,比如服装、健康等提供了广阔的应用场景。
29.2、高频度使用深度神经网络。本发明充分利用了深度学习网络的优势,能够在各种复杂的场景中,高精度还原人体的姿态和体型。针对不同的目的分别使用不同的神经网络,利用不同输入条件和训练方式的神经网络模型,实现了人体在复杂的背景下的精准轮廓分离,人体的语义分割,关键点和关节点的确定,排除了宽松衣物、发型的影响,做到最大程度上逼近人体的真实体型和形态。现有技术中也会使用神经网络模型,但是由于输入条件、输入参数、训练方式的不同,导致神经网络模型发挥的功能和作用有较大差异。
30.3、神经网络模型的设置更加科学和有针对性。现有技术中有一些图像处理方法,过于追求简单地直出模型,没有花时间打磨模型的细节,纯粹通过海量图像数据的训练来完成从2d图片到3d身体模型的映射,虽然效率很高,但是处理流程过于简单,完全依靠神经网络模型来生成三维人体模型,身体的比例和细节部分的一致性和效果均不如人意,并且对后续的进一步处理,完全没有帮助,而且可能成为后续程序难以跨过的障碍。而我们前一级的神经网络,人体轮廓、人体语义分割、关键点和关节点都会作为输入的项目,可以从多个角度来完成模型参数的生成,并且后一级神经网络输出的参数包含姿态和体型两个类别,可以分别控制动作姿态和体型,并且结合我们的参考模型,可以精准的复制人体模型的姿态和体型。
31.4、人体模型精确可控。目前流行的基于单图像的人体重建方法主要分为重建参数化人体模型。最常用的参数化模型为马普所的smpl模型,其包含用于描述人体姿态和描述人体体型的两套共72个参数。针对单图片重建问题,先从图片估计二维关节位置,再通过三维关节与二维平面关节投影距离最小来实现优化得到smpl参数,进而得到人体。但smpl模型,主要通过大量的人体模型实例来进行深度学习和训练,体型和形状基之间的关系是一种整体关联关系,解耦合难度很大,无法随心所欲地控制想要控制的身体部分,导致生成的模型不能达到与真实人体姿态和体型的高度一致性,此外,如果进一步应用于后续的穿衣过程,也会导致对人体表面几何细节的表现能力有限,无法很好地重建出人体表面衣物的细节纹理。但是我们的人体模型,不是通过训练得到的,参数之间存在基于数学原理的对应关系,也就是说,我们的各组参数之间没有互相牵连的关系,是各自独立的,因此我们的模型在变换过程中更具有解释性,可以更好地表征身体某一个局部的形状变化。通俗来讲,就是人的体型千人千样,很多人的大腿和小腿的比例并不满足一定的精确比例,我们的模型可以通过控制输入的参数,实现大腿和小腿分别的控制和长度调整,达到腿部比例的精确确定。
32.5、更适合亚洲人体型。人体建模通常会设计一些标准人体模型,也就是我们所说的标准人体模型或者基础人台。通过自建的标准人体模型,可以实现人体的操控,也就是从起始姿态到目标姿态的过程操控,这部分工作是完成之后的服装随人体姿态变化而变化的基础。只有人体先准确达到目标姿态,才能计算服装跟随人体到达目标姿态的具体过程。在这个过程中,我们放弃使用马普所smpl模型依靠欧洲人形体数据训练出来的几个基本人体模型,而是自己建立了一套更符合亚洲人体型的标准人体模型(标准人台)。这套人台可以
包括170根骨骼和20个形体基的参数,大大丰富了人体模型的细节部分,对细节的表达超过了smpl模型。并且结合前面所述每个基独立控制的特点,可以根据需求,对人台每一个部分进行独立、精确地控制和修改,达到了每个人体模型都更加美观的效果。此外,我们还会对人台的局部进行后期的手工调整,比如顶点数和面片数,这更是以smpl模型为代表的其他模型所不能完成的功能。除了模型高度可以精确调整,其他诸如体型胖瘦、胳膊长短、腿部的比例、腰部长短及腰围等,都可以进行精确控制,从而使得人台更加贴合用户的体型。
33.6、模型拟合速度快,拟合后姿态准确度高。为了能较快速地,同时逼真地拟合出目标人体的姿态,我们采用了多级拟合的方法,在第一次拟合中,只拟合关键或者对姿态影响大的部位,由于参与计算的参数少,可以快速拟合出目标人体模型的一个大致姿态,在这一步可以保证人体模型的姿态与目标人体基本一致。接着,为了人体模型的姿态拟合准确度更高,我们要对人体模型进行二次拟合,把基本所有的参数都代入进行计算,由于模型已经基本移动到位,这一步的参数虽然增加很多,但是由于只是微调,所以计算量大大下降了。这之后,我们基本上已经可以得到一致性超过95%的目标人体模型,如果这样的效果还没有达到要求,可以进行第三次精细拟合,做法是针对关键部位、重点部分以及感兴趣区域进行在上一次拟合基础上的拟合,把不完美的地方基本消除。这种做法比起从始至终都对所有姿态参数进行模拟计算要节省一半以上的时间。实测后发现不但模型拟合真实度非常高,而且服装和人体姿态仿真出来的效果比传统方法更佳,并且可以减少相当的处理时间。
34.7、为了能逼真地得到目标人体的姿态,在从初始姿态(姿态)到目标姿态的变化过程中,我们采用了经过优化的插帧法来完成,和传统的插帧法比较,我们的目标姿态的骨骼信息由模型回归预测得到,同时,生成从初始姿态移动到目标姿态的动画序列;通过线性插值,最近邻插值等插帧方式,形成初始姿态到目标姿态的骨骼信息时间序列。生成动画序列的过程中,采用网格mesh插帧的方式进行处理;插帧速度的设置为前后距离初始点和目标点的位置慢,中间运动过程快;尤其重要的是,在模型达到最终目标姿态时静止数帧,使得模型在高速运动后,在静止前得到一个有效的缓冲,进而得到整个完整动画序列,人体模型的姿态拟合准确度更高。这样的做法比起匀速插帧更贴近真实物理世界运动规律,服装和人体姿态仿真出来的效果更佳,并且可以减少相当的处理时间。
35.本发明通过自有标准人体模型的建立,挑选出适合亚洲人体型特点的形体基,并使用二级神经网络模型生成与20个形体基和170根骨骼相对应的参数,生成了比马普所人体smpl模型更加贴近亚洲人体型,独立操作和控制性更佳的三维人体模型。
附图说明
36.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
37.图1为一个实施例的全部处理流程图;
38.图2为一个实施例的模型参数获得模块的处理流程图;
39.图3为一个实施例的人体模型拟合处理流程图;
40.图4为本发明的系统示意图。
具体实施方式
41.下面将详细描述本发明的各个方面的特征和示例性实施例,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本发明,并不被配置为限定本发明。对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更好的理解。
42.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
43.下面结合附图对本发明实施例提供的处理人体图像的方法进行详细说明。
44.如图1所示,本发明实施例提供一种三维人体模型的生成方法、系统、设备和存储介质,通过预先的深度学习和模拟运动设置,可以大大降低三维人体模型生成时的计算量和复杂程度,并且可以达到远远超过现有2d图片生成人体模型真实度的效果。
45.本发明的建模方法包括:1)获取目标人体的二维图像;2)经处理获得目标人体的二维人体轮廓图像;3)通过两级神经网络获取目标人体模型的三维人体参数,包括三维人体动作姿态参数和三维人体体型参数;4)结合数学模型构造三维标准人体模型;6)获得的三维人体姿态和体型参数与三维标准人体模型的若干个基和骨骼参数相对应;7)将获得的若干组基和骨骼参数输入标准三维标准人体模型中进行拟合;8)获得与目标人体姿态和体型相同的三维目标人体模型网格。
46.本发明的人体模型建模方法,大致包括三个部分的步骤:一是获得目标姿态人体模型的参数;二是生成一个标准人体模型;三是标准人体模型和目标人体模型的拟合,驱动,得到与目标人体姿态和体型一致的人体模型。
47.第一部分是对获取的人体图像进行处理,获得生成人体模型所需要的参数信息。以前,这些骨骼关键点的选取通常是通过人工进行,但是这种方式效率很低,不适应互联网时代快节奏的要求,因此,在神经网络大行其道的今天,利用经过深度学习的神经网络代替人工进行关键点的选取,成为了潮流。但是,如何高效地利用神经网络则是一个需要进一步研究的问题。总体上讲,我们采用了二级神经网络加数据“精修”的思路来构建我们的参数获得体系。如图2所示,我们采用经过深度学习的神经网络来生成这些参数,主要包括以下子步骤:1)获取目标人体的二维图像;2)处理获得目标人体的二维人体轮廓图像;3)将二维人体轮廓图像代入经过深度学习的第一神经网络进行关节点的回归;4)获得目标人体的关节点图;获取人体各部分语义分割图;身体关键点;身体骨骼点;5)将生成的目标人体的关节点图、语义分割图,身体骨骼点以及关键点信息代入经过深度学习的第二神经网络进行人体姿态和体型参数的回归;6)获得输出的三维人体参数,包括三维人体动作姿态参数和三维人体体型参数。
48.所述目标人体的二维图像可以为任意姿势和任意着装的包括人体像的二维图像。
49.二维人体轮廓图像的获取利用目标检测算法,所述目标检测算法是基于卷积神经网络的目标区域快速生成网络。
50.在将二维人体图像输入第一神经网络模型之前,还包括训练神经网络的过程,训练样本包括标注原始关节点位置的标准二维人体图像,所述原始关节点位置由人工在二维人体图像上进行高准确度地标注。在这里,首先获取目标图像,并利用目标检测算法对目标图像进行人体检测。人体检测并不是使用测量仪器对真实人体进行检测,本发明中实际是指对于任意一幅给定的图像,通常是包含足够信息的二维照片,比如人脸,人的四肢和身体要求全部包括在图片中。然后,采用一定的策略对给定的图像进行搜索,以确定给定的图像中是否包含人体,如果给定的图像中包含人体,则给出人体的位置、大小等参数。在本实施例中,在获取目标图像中的人体关键点之前,需要对目标图像进行人体检测,以获取目标图像中标注人体位置的人体框,因为我们输入的图片可以是任何图片,所以不可避免的存在一些非人体图像的背景,比如桌子椅子、大树汽车楼房等,要通过一些成熟的算法把这些无用的背景去除。
51.同时,我们还要进行语义分割、关节点检测、骨骼检测和边缘检测,收集到了这些1d的点信息和2d的面信息,就可以为后面生成3d人体模型打下良好的基础。使用第一级神经网络生成人体的关节点图,可选地,目标检测算法可以为基于卷积神经网络的目标区域快速生成网络。该第一神经网络需要进行大量的数据训练,由人工对一些从网络收集来的照片进行关节点标注,然后输入神经网络进行训练,经过深度学习的神经网络,基本可以做到输入照片后就能立即获得和人工标注关节点一样准确率和效果的关节点图,同时效率是人工标注的数十倍甚至数百倍。人体关节点通常都做为人体关键点存在,人体关键点包括重要关键点,重要关键点例如包括,头顶关键点、脖颈关键点、肩部关键点、肘部关键点、手腕关键点、手部关键点、腋下关键点、腰部关键点、臀部关键点、膝盖关键点、脚踝关键点、脚趾顶部关键点和两腿中心关键点。可选的,人体关键点包括1个头顶关键点、2个脖颈关键点、2个肩部关键点、4个肘部关键点、4个手腕关键点、2个手部关键点、2个腋下关键点、2个腰部关键点、2个臀部关键点、4个膝盖关键点、4个脚踝关键点、2个脚趾顶部关键点和1个两腿中心关键点。可选的,人体关键点的个数为68个。对于人体关键点中除重要关键点之外的关键点,可根据重要关键点的位置进行确定。例如,可根据二维平面内两个重要关键点在平面距离上的平分点作为一个关键点。
52.本发明中,获得照片中人体的关节点位置,只是完成了第一步,获得了1d的点信息,还要根据这些1d的点信息生成2d的面信息,这些工作都可以通过神经网络模型以及现有技术中的成熟算法来完成。本发明由于重新设计了神经网络模型参与工作的流程和介入时机,合理设计了各种条件和参数,使得参数的生成工作更加高效,人工参与的程度降低,非常适合互联网应用场景,比如在虚拟换装的节目中,用户无需等待,基本上是瞬时就可以获得换装结果,对提高节目对用户的吸引力有着至关重要的作用。
53.在获得了相关的1d的点信息和2d的面信息后,就可以将这些参数或者结果,目标人体的关节点图、语义分割图,身体骨骼点以及关键点信息作为输入项代入经过深度学习的第二神经网络进行人体姿态和体型参数的回归。经过第二神经网络的回归计算,就可以立即输出若干组三维人体参数,包括三维人体动作姿态参数和三维人体体型参数。优选的,根据三维标准人体模型(基础人台)、预测三维人体模型、标注原始关节点位置的标准二维
人体图像以及包括预测关节点位置的标准二维人体图像设计神经网络的损失函数。
54.第二部分是预先设计建模一些基础人台。主要工作内容为:结合数学模型构造三维标准人体模型,即基础人台。
55.马普所的smpl人体模型可以避免人体在运动过程中的表面失真,可以精准的刻画人的肌肉拉伸以及收缩运动的形貌。该方法中β和θ是其中的输入参数,其中β代表是个人体高矮胖瘦、头身比等比例的10个参数,θ是代表人体整体运动位姿和24个关节相对角度的75个参数。β参数是体型blend姿态参数,可以通过10个增量模板控制人体形状变化,具体而言,每个参数控制人体形态的变化可以通过动图来刻画。通过研究参数变化的连续动画,我们可以清楚地看到每一个控制人体形态参数的连续变化,都会引起人体模型的局部甚至整体的连锁变化,为了体现人体肌肉组织的运动,smpl人体模型的每一个参数的线性变化,都会引起大面积的网格变化。形象的讲,例如在调整β1的参数时,模型会直接把β1的参数变化理解为身体的整个变化,你可能只想调整一下腰部的比例,但是模型会强制把腿部、胸部、甚至手部的胖瘦一起帮你调整。这种工作模式虽然可以大大简化工作流程,提高效率,但是对追求建模效果的项目来说,确实非常不方便的。因为smpl人体模型终究是一个通过西方人体照片和测量数据训练出来的符合西方人体型的模型,其形体变化的规律基本符合西方人的通常变化曲线,应用在亚洲人的人体模型建模中,则会出现很多问题,比如胳膊和腿的比例,腰身的比例,脖子的比例,腿长和胳膊长度等。通过我们的研究,这些方面都存在较大差值,如果硬性套用smpl人体模型,在最终生成效果上不能达到我们的要求。
56.为此,我们采用了自制人体模型的方式完成效果的提升。其核心是自建人体blendshape基来实现人体精准的独立操控。
57.所述三维标准人体模型(基础人台)由20个形体基的参数以及170根骨骼参数构成。所述形体基构成整个人体模型的各个部分,每个形体基被设置成代表一个固定的身体物理参数,每个形体基分别由基参数单独控制变化,互不影响。比如,脖子粗细、长短,大臂长短、粗细,小臂长短、粗细,整只手臂的长短、粗细,腿部长短、粗细,大腿的长短粗细,此外,还有一些形体上的胖瘦等。看似只是比smpl人体模型多了几个参数,但是其内涵明显不同,我们是20组独立的控制参数,而不是十组互相联系联动的参数。
58.所谓精准操控,一方面是增加了控制的参数,没有沿用马普所的十个β控制参数,这样,可以调整的参数除了通常的胖瘦,还加入了手臂的长度,腿部的长度,腰部、臀部和胸部的胖瘦等,在骨骼参数方面把参数提高了一倍以上,大大丰富了可以调整参数的范围,为精细化设计标准人体模型提供了良好的基础。所谓独立操控,可以理解为每一个基都是单独进行操控的,比如腰、腿、手、头部等,每根骨骼也是可以单独进行长度的调整,互相之间独立,并且不会产生形体上的联动,这样就能比较好的进行人体模型的精细化调整。不再显得模型“傻大笨粗”,总也不能调整到设计师满意的形态。
59.我们现有的自制三维标准人体模型是使用数学模型构造。所述数学模型包括线性插值数学模型。所述三维标准人体模型具有骨骼点和模型网格的数学权值关系,骨骼点的确定可关联确定标准人体模型的网格,有了这些关系和参数之后,在虚拟换装时就可以更加简单和真实。这种自制模型体现出来的是一种数学原理上的对应关系,实际上就相当于我们从人工审美和数据统计分析两个部分去重新设计这个模型,使其按照我们的设计规则去生成我们认为符合亚洲人体型的正确模型,显著区别于smpl人体模型的大数据训练模
型,所以我们的参数变换更具有可解释性,可以更好地表征人体模型局部的形体变化,并且,这种变化是基于数学原理的方式,各个参数之间没有影响,胳膊和腿之间保持了完全独立状态,我们在调整小臂长度的时候,大臂的长度和胖瘦都不会变。实际上,设计了这么多不同的参数,就是为了可以避免大数据训练出来人体模型的缺陷,在更多维度上对人体模型进行精准控制,不局限于高度等寥寥几个指标,大幅提升建模效果。
60.在设计每一个基的时候,需要设置至少两组基的参数。我们至少要设置两组参数,用来表示这个基设计端点的人体模型,比如,小臂长度这个基,一组是小臂长度是10厘米时的形状参数,另一组是小臂长度为30厘米时的形状参数,当人体小臂的长度在这两个极值之间时,都可以通过一个函数表示出来,在这样,我们在面对一个目标人体时,就可以根据目标人体的小臂长度,选择与之相对应的参数,控制变量取值在0-1之间的任意一个值,进而得出目标人体形状基的参数,代入模型就可以得到小臂的网格模型。如果成本和算力允许,还可以设置更多组基的参数,可以让人体模型的细节更加逼真和贴近真实。
61.所述骨骼由170根骨骼组成,所述形体基以及骨骼根据亚洲人体型的数据统计结果,由人工制作完成。我们同样使用大数据进行分析,但是我们不使用这些数据去训练神经网络模型,而是找到适合绝大多数亚洲人体型的区间,包括高矮胖瘦长短等参数,用这些指标来精确地描述一个人体,尤其是亚洲人的人体。我们基于一套基本的骨骼,对这些骨骼的位置、长短等指标进行了调整,使得骨骼更美观,并且蒙皮驱动过程中的操纵更灵活,同时没有太多的冗余。也只有在自建形体基的前提下,设置这么多独立的控制参数才有其实际意义,要达到设计师水准的要求,两者缺一不可。
62.第三部分是将人体模型的参数和人体模型进行拟合。如图3所示,包括以下子步骤,将获得的三维人体姿态和体型参数与三维标准人体模型的若干个基和骨骼参数相对应;将获得的若干组基和骨骼参数输入标准三维标准人体模型中进行拟合;所述三维人体模型具有骨骼点和模型网格的数学权值关系,骨骼点的确定可关联确定目标人体姿态的人体模型。
63.在这一部分,沿用上一部分生成的这两种参数,就可以代入预先设计好的人体模型进行3d人体模型的构造。这两类参数与马普所的人体smpl模型参数名称相似,但实际所包含的内容相差较大。因为两者的基础并不一样,也就是说,本发明采用自制三维标准人体模型(基础人台),马普所的smpl模型采用大数据训练生成的标准人体模型,两个模型的生成计算方式不同,虽然最后都体现为生成的3d人体模型,但是其内涵相差较大。在这一步骤后,就会得到一个初步的3d人体模型,包括骨骼位置和长短信息的人体模型的网格(mesh)。
64.在这一部分中,我们得到了拟合完成的三维人体模型,但是,无论何种人体模型,都有可能出现数据计算和处理出现错误的时候,如果目标人体姿态复杂,通过多次拟合的方式完成准确拟合。但是这种拟合,是分多个层级完成的,并不是一个平均值的概念,而是采用了多级迭代的方式,第一级先迅速把骨骼驱动到目标姿态的附近,保证速度上的高效率,第二级再根据算法进行精细化调整。
65.在第一次拟合中,只拟合关键或者对姿态影响大的部位,比如颈、肩、肘、腰、胯、膝、踝等骨骼的旋转参数,由于参与计算的参数少,可以快速拟合出目标人体模型的一个大致姿态,在这一步可以保证人体模型的姿态与目标人体基本一致。因为我们在前面的步骤中,为了生成人体模型的姿态和体型参数,已经设计了两级深度学习的神经网络。第一次拟
合中,我们只要对神经网络的设置进行一下调整,就可以在这一步获得我们想要的参数。例如,我们可以给神经网络输入人体原图、骨骼姿态图、骨骼关节点、语义分割图作为条件信息,预测得到我们自制标准人体模型中30根基础大骨骼的目标姿态旋转状态参数信息。根据这些信息,就可以较快速地拟合出目标人体模型的大致位置,由于计算量小,可以大大节约计算和模拟和时间。在这里,基础大骨骼实际上是人为规定的,主要是手臂、腿部、肩部这些,当然数量也可以不是30根。
66.因为我们的模型是自制模型,可以有多达170根的骨骼,可以表示很多人体姿态的细节,远胜于马普所的模型,所以,我们可以在基础大骨骼的基础上,利用其他骨骼信息更准确地展现人体的姿态。因此,为了人体模型的姿态拟合准确度更高,我们可以根据需要对人体模型进行二次拟合,把其他参数全部或者部分代入模型进行计算,第二次拟合开放标准人体模型其他骨骼的自由度,得到其他骨骼的参数,并且输入了边缘轮廓等条件,使用迭代拟合的方式在第一步拟合之后的结果上进行拟合。由于模型已经基本移动到位,在第一步已经大致对齐到了真实图片的人体姿态,所以第二步的拟合计算不需要太多,这一步涉及的参数虽然增加很多,但是由于只是姿态微调,所以计算量大大下降了。这之后,我们基本上已经可以得到一致性超过95%的目标人体模型。
67.如果这样的效果还没有达到要求,可以进行第三次精细拟合,做法是针对关键部位、重点部分以及感兴趣区域进行在上一次拟合基础上的拟合,把不完美的地方基本消除。如果想达到手指级别的拟合精度,就有必要引入第三步精细化拟合,输入手部或者其他重点关注部位的信息,在第二步的基础上进一步拟合。但是进行第三次拟合时,要特别注意对模拟计算时间的影响,我们实测第三次拟合之后,模型真实进一步上升,但是总处理时间已经基本达到单次全部参数拟合的水平。总体来讲,本发明这种做法比起从始至终都对所有姿态参数进行模拟计算通常要节省一半以上的时间。实测后发现不但模型拟合真实度非常高,而且服装和人体姿态仿真出来的效果与传统方法相当,最重要是可以减少相当的处理时间。多级迭代的方法,可以最大限度地利用本发明中提供的自建标准人体模型的优势,各个骨骼单独进行控制,基础大骨骼和其他骨骼分开拟合,可以借助精细化的骨骼分布,很好地完成第二次拟合过程。这样先粗后细的方案可以既保证拟合的精度同时又达到快速收敛拟合的目的。
68.在这一部分,人体模型还要完成从初始姿态向目标姿态的变化。因为我们输入的只是一张照片,照片上的目标人体姿态通常是和基础人台是不一样的,这时,为了能拟合出目标人体的姿态,就要完成从初始姿态到目标姿态的变化。为了更加逼真地模拟人体模型的拟合,若干组基和骨骼参数在标准三维标准人体模型中进行拟合时,还包括以下步骤,
69.1)获得初始姿态和目标姿态的位置坐标;初始姿态参数的获得由标准人台模型的初始化参数确定,目标姿态的骨骼信息由神经网络模型回归预测得到。
70.2)生成从初始姿态移动到目标姿态的动画序列;有了骨骼信息的初始状态以及目标姿态状态参数之后,通过线性插值,最近邻插值等插帧方式,形成初始姿态到目标姿态的骨骼信息时间序列。在驱动过程中按照每帧驱动的骨骼数,可分为全局线性插值及先驱动父节点再驱动子节点等两种方式,考虑到真实模拟物理世界中的驱动状态,本专利采用后者,先驱动父骨骼节点,再驱动子骨骼节点的方式,这样插值出来的动画序列动作更加贴合真实物理世界,仿真出来的效果更佳。
71.3)生成动画序列的过程中,采用网格mesh插帧的方式进行处理;即每一帧驱动骨骼运动之后,都通过标准人台的权重参数计算得到当前状态的人体模型顶点即面信息,更新当前的人体模型mesh状态并记录保存。
72.4)插帧速度的设置为前后距离初始点和目标点的位置慢,中间运动过程中快;本专利采用非匀速的插帧速率,即初始动作和结束动作过程中单帧移动幅度较小,移动中间过程移动幅度大的方式。模拟真实世界中物理动作的起始状态具有一定的加速过程,而运动过程中则保持较高的帧间位移距离,至运动末尾则降低驱动速度。
73.5)在驱动至最终目标姿态时静止数帧,得到整个动画序列。这样的做法比起匀速插帧更贴近真实物理世界运动规律,仿真出来的效果更佳。
74.6)完成从初始姿态驱动骨骼移动到目标姿态。
75.由于我们已经获得了骨骼的数据和网格mesh的信息和数据,这种情况下骨骼的驱动就会变的容易一些,可以采用lbs算法,dqs算法,碰撞体也是要考虑的,因为标准人台的模型是三维标准姿态下的,从初始姿态到目标姿态的变化,有可能导致人体模型的网格mesh之间出现不合理的穿插,只有结合碰撞体才能保证网格之间不出现互穿的缺陷。
76.结合图1至图3描述的根据本发明实施例的生成三维人体模型的方法可以由处理人体图像设备来实现。图4是示出根据发明实施例的处理人体图像的设备的硬件结构300示意图。
77.本发明还公开了一种人体模型建立系统,包括:1)二维人体图像获取模块;2)关节点图获得模块;3)语义分割图获得模块;4)人体姿态和体型参数的回归模块;5)标准三维标准人体模型拟合模块;6)三维人体模型数据处理和精修模块;7)目标人体模型网格输出模块。
78.以及一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现前面所述的建模方法和步骤。
79.以及一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现前面所述的建模方法和步骤。
80.如图4所示,本实施例中的实现人体建模的设备300包括:处理器301、存储器302、通信接口303和总线310,其中,处理器301、存储器302、通信接口303通过总线310连接并完成相互间的通信。
81.具体地,上述处理器301可以包括中央处理器(cpu),或者特定集成电路(asic),或者可以被配置成实施本发明实施例的一个或多个集成电路。
82.存储器302可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器302可包括hdd、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(usb)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器302可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器302可在处理人体图像设备300的内部或外部。在特定实施例中,存储器302是非易失性固态存储器。在特定实施例中,存储器302包括只读存储器(rom)。在合适的情况下,该rom可以是掩模编程的rom、可编程rom(prom)、可擦除prom(eprom)、电可擦除prom(eeprom)、电可改写rom(earom)或闪存或者两个或更多个以上这些的组合。
83.通信接口303,主要用于实现本发明实施例中各模块、装置、单元和/或设备之间的通信。
84.总线310包括硬件、软件或两者,将处理人体图像的设备300的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(agp)或其他图形总线、增强工业标准架构(eisa)总线、前端总线(fsb)、超传输(ht)互连、工业标准架构(isa)总线、无限带宽互连、低引脚数(lpc)总线、存储器总线、微信道架构(mca)总线、外围组件互连(pci)总线、pci-express(pci-x)总线、串行高级技术附件(sata)总线、视频电子标准协会局部(vlb)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线310可包括一个或多个总线。尽管本发明实施例描述和示出了特定的总线,但本发明考虑任何合适的总线或互连。
85.也就是说,图4所示的处理人体图像的设备300可以被实现为包括:处理器301、存储器302、通信接口303和总线310。处理器301、存储器302和通信接口303通过总线310连接并完成相互间的通信。存储器302用于存储程序代码;处理器301通过读取存储器302中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行本发明任一实施例中的三维人体建模的方法,从而实现结合图1至图3描述的三维人体建模的方法和装置。
86.本发明实施例还提供一种计算机存储介质,该计算机存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现本发明实施例提供的处理人体图像的方法。
87.需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
88.以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(asic)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、rom、闪存、可擦除rom(erom)、软盘、cd-rom、光盘、硬盘、光纤介质、射频(rf)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
89.还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
90.以上所述,仅为本发明的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。
再多了解一些

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

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

相关文献