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

一种光照匹配的虚拟试衣方法、设备和存储介质与流程

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


1.本发明属于用户虚拟换装和试衣领域,具体涉及虚拟换装中使用的人体建模,衣服建模,以及衣服模型与人体模型的贴合,尤其是从目标人体照片中计算和提取相关光照信息,并根据该光照信息匹配与之适应的光照匹配的虚拟试衣方法、设备和存储介质。


背景技术:

2.随着互联网技术的发展,网上购物方式越来越普及。相比于实体店购物,网上在线购物具有商品种类多、购物方便等优势。但是,在网上购买商品,也存在一些不易解决的问题,最主要的就是无法实地查看要买的商品。在所有的商品种类中,服装商品这个问题最为突出。相比于实体店购物中可以实时地换装查看服装效果,在线服装购物无法提供针对消费者本身的效果图,只能提供模特试衣的图片,有的甚至根本没有试衣图片,消费者无法实时直观地获取服装和自身体型形象的匹配程度。造成了大量的退换货。
3.针对这一问题,经营者尝试利用虚拟试衣技术为消费者提供模拟试衣效果解决这一问题。当然,现实中还存在其他可以使用虚拟换衣试衣技术的场合,比如网络游戏中。因此,这一技术得到了较快的发展。
4.虚拟试衣是指用户不用实际换上想要观看穿着效果的衣服,也能在终端屏幕上实时查看“换装”效果的一种技术应用。现有的换装技术应用主要包括平面试衣和三维虚拟试衣技术。前者基本上是采集用户的图片,采集衣服的图片,然后对衣物进行拉伸或者压缩成与人体大小相同的状态,再进行裁剪和拼接,形成“穿衣”后的图像,但这类图像由于简单粗暴的图像处理方式而造成真实度较差,完全没有考虑到用户的实际体型,只是把服装生搬硬套到用户照片上,不能满足用户的需求。后者通常通过三维采集设备采集人的三维信息并结合服装的特征进行合成,或者通过手动输入用户提供的身体数据信息,并按照一定的规则生成一个虚拟的人体三维模型mesh,然后与服装贴图进行结合。整体上来说,这类三维虚拟试衣需要进行大量的数据采集或者三维数据计算,硬件成本高,在普通用户中不易推广。
5.随着云计算技术、人工智能技术和智能终端处理能力的发展,产生了二维虚拟试衣技术。此类技术主要包括三个步骤:(1)对用户提供的个人身体信息进行处理,得到目标人体模型;(2)对服装信息进行处理得到服装模型;(3)将人体模型和服装模型融合在一起,生成人穿着该服装的模拟图。
6.对于第(1)点,由于流程设计、模型参数选择、神经网络的训练方法等诸多不确定因素的累积,最终生成的换衣图片质量并不如传统的三维虚拟试衣技术,这其中,人体模型的建立因为是其基础步骤,并且后面的穿衣过程也必须以前面生成的人体模型为基础,所以,一旦人体模型生成的不准确,容易产生人体模型与试衣者体型差距过大、皮肤纹理丢失、身体部位丢失等问题,影响最终的生成的换衣图片效果。
7.在一般的计算机视觉领域中,人体建模的初始起点有很多种,通常包括使用3d扫描设备对真实人体进行全方位扫描,基于多视角景深照相的三维重建方法,以及给定图像
结合人体模型的方法实现三维重建这三大类。其中,使用3d扫描设备对真实人体进行全方位扫描获得信息最多最准确,但是这类设备通常比较昂贵,并且需要人体模特的高度配合,整个处理过程对处理的设备的要求非常高,所以一般都应用于一些专业领域;其次,多视角三维重建方法需要提供被重建人体多个视角相互重叠的图像并建立图像间的空间转换关系,使用多组摄像头,以拍摄多张的方式,拼合出一个3d模型,操作相对简化了一些,但是计算复杂度仍然较大,并且多数情况下,只有现场参与的人才能获得多角度的图片。深度摄像头多角度拍照方法拿到的贴图然后拼合得到的模型,没有身体尺度数据,不能为3d感知提供基础。再次,单张图像结合人体模型的方法只需要提供一张图像,基于神经网络的三维人体特征曲线智能生成方法,通过神经网络训练,获得可以用来描述人体颈部、胸部、腰部以及臀部等部位曲线的权值和阂值,然后根据人体截面的围长、宽度、厚度等的尺寸参数信息,就能直接生成与真实人体体型吻合的人体三维曲线就可以获得预测的人体模型。但这种方法由于输入信息量较少,而求解过程仍然需要消耗较多的计算量,导致最终的模型效果不能令人满意。
8.对于第(2)点,在生成三维服装模型的现有技术中,存在几种不同的方法。目前,比较传统的服装三维模型建立方式是基于二维衣服裁片的设计与缝合方法。这种方法需要一定的服装专业知识来对样板进行设计,这并非是所有的虚拟试衣的用户所具备的素质,同时这种方法也需要人工指定样板间的缝合关系,这将消耗大量的时间来进行设定。除此之外,另一种较为新颖的三维建模方法是基于手绘的,可以通过用户手绘的线条信息生成简单的服装模型。但是,这种方法需要专业的人员来进行手绘,并且可复制性和可重复性较差,需要耗费用户大量时间去进行服装的细节绘画,难以大规模推广至电子商务中。这两种方法都更倾向于创新设计新的服装,而不是对已有待售的服装进行三维建模。还有一种是在获取服装图片信息的基础之上,综合使用图像处理技术与图形仿真技术,最终生成虚拟三维服装模型。在图片中通过轮廓检测与分类获取服装轮廓与尺码,通过机器学习的方法从轮廓中找出的边与边的关键点,通过关键点对应关系生成缝合信息,最后在三维空间中对服装进行物理缝合的仿真,获取服装穿着在人体上的真实效果。
9.综上,基于互联网技术和其所处的网络环境特点,从单张人体图像直接输出最终换装后图像或者照片的方式无疑是最优选的,其便捷性是最好的,用户无需亲临现场,只需一张照片,即可完成整个虚拟换衣过程。那么随之而来的问题就是,只要能保证其获得的结果照片效果基本和真实3d模拟换衣相当,就会成为主流。这其中,(1)如何通过一张照片而获得最接近人体真实状态的人体模型,以及(2)如何把三维服装模型以最接近真实的状态穿到人体模型上,就成为虚拟换衣方法中两个最重要的不可回避的问题。
10.针对第一点。现有技术中,构造人体模型的方法通常有几类:(1)基于回归的方法,通过卷积神经网络重建出体素表示的人体模型,算法首先根据输入图片估计人体主要关节点的位置,然后根据关键点位置估计出给定指定大小体素网格中,根据其内部每个单元体素是否被占用,从而用内部占用体素的整个形状来描述重建出的人体形状;(2)基于单张图片的人体重建,该方法同时估计出人体三维形状和姿态,该方法首先在图像上对简单的人体骨骼关键点进行了粗略的标注,然后根据这些粗关键点进行人体模型的初始匹配和拟合,得到人体大致形状。(3)用23个骨骼节点来表示人体骨架,然后用每个骨骼节点的旋转来表示整个人体的姿态,同时,用6890个顶点位置来表达人体形状,在拟合过程中,给定骨
骼节点位置,同时拟合出形状和姿态的参数,从而进行三维人体重建;或者先用cnn模型来预测图像上的关键点,然后采用smpl模型进行拟合,得到初始的人体模型。接着,用拟合得到的形状参数来回归一个人体关节包围盒,每个关节对应一个包围盒,用轴长和半径来表示其包围盒。最后,结合初始模型和回归得到的包围盒从而得到三维人体重建。以上方法存在建模速度较慢,其建模精度不够,并且重建效果强依赖所创建的身体和姿态数据库的问题。
11.针对第二点。现有技术中存在这样的虚拟试衣方案,包括:获取着装的参考人体模型以及未着装的目标人体模型;为所述参考人体模型和所述目标人体模型分别嵌入相同层次结构的骨架;对所述参考人体模型和所述目标人体模型的骨架进行皮肤绑定;计算所述目标人体模型骨架中骨头的旋转量,递归调整所述目标人体模型骨架中的所有骨头,使所述目标人体模型骨架与所述参考人体模型骨架的姿势保持一致;根据所述目标人体模型骨架中骨头的旋转量,利用lbs蒙皮算法进行所述目标人体模型的皮肤变形;在对所述目标人体模型进行皮肤变形的基础上,将服装模型从所述参考人体模型上迁移到所述目标人体模型上。该发明在目标人体模型和参考人体模型姿势调整一致后,可以降低服装模型从参考人体向目标人体迁移的难度,将低效的非刚性配准问题转换为高效的刚性配准问题,从而实现了将服装模型从所述参考人体模型上迁移到所述目标人体模型。解决了在保持衣服在试穿前后尺寸不变的情况下,完成衣服在不同人体、不同姿势下的自动化试穿的技术问题。但是,这种蒙皮的方法,过于注重衣服和皮肤之间的固定间距,在拟合速度上占据优势,但是在服装匹配度和真实度上存在较大劣势,只适合一些需要快速简单处理衣物跟随皮肤网格移动的场合。此外,上述方法只是关注了如何最大限度的还原和再现衣物模型,却并没有关注衣物模型本来的样貌应该是什么样的。
12.现有技术一公开了一种光照分离的单视角人体服装几何细节重建方法,包括:通过单rgb采集人体运动数据,得到单rgb图像,并从所述单rgb图像中提取人物姿态,求解每一帧中人物的形状、姿态和相对空间位置;通过预设的衣服模板生成二维衣服网格模型,并通过粒子模拟的方法使得衣服的不同部分缝合及穿到处于初始姿态的人物身上;将人物姿态过渡变换到视频中第1帧的姿态下,并对三维的衣物进行联合物理模拟,且对于后续所有帧均基于人体姿态进行逐帧的衣服物理仿真;通过人体分割的方法求解衣服参数,使得模拟后衣服形状与图像中的分割图达到吻合条件;对于视频中的每一帧,使用图像光照分离的方法提取出图像的本征光照图像和本征反照率图像;通过物理模拟出的初始衣服形状,并求解得到所述衣服网格模型的逐顶点法向,并通过球谐光照的假设得到光照信息;通过球谐光照的假设在预设球谐光照系数的前提下,求解衣服的逐顶点形变,得到衣服的几何细节;将每帧求解后的所述衣服逐顶点形变投影到逐顶点上的局部坐标系下,并做每一帧投影系数的时域平滑,得到最终动态衣服细节重建结果。
13.该现有技术虽然考虑了光照条件对衣服模型的影响,可以只需要一台rgb相机采集人体,利用图像的本征分解信息得到场景光照,从而可以联合求解光照和衣服的表面细节信息,并获取就可以对单rgb 视频中的人物和衣物同时进行建模和仿真,进而通过衣服建模和表面细节求解的框架,可以使得输入图像中衣服的细节能够得到比较好的重建。但是,由于过于关注对每一帧图像的高度还原,使用的计算方法和计算原理较为复杂,所使用的方法需要在整个过程中持续的完成相关运算,所以对服装模型重建的时间控制较差,模
拟解算时间较长,不适合互联网场景下的虚拟换装应用。
14.由此可见,为了配合互联网行业的发展趋势,在虚拟试衣这个细分领域,最少的输入信息、最少的计算量和最佳的效果将是三个一直被追求的基本目标。需要我们在这三者之间寻找一个最佳的平衡点,提供一种可以做到简单输入,计算量不超过终端设备承受力,效果接近专业设备的服装匹配方法。


技术实现要素:

15.基于上述问题,本发明提供了一种克服上述问题的三维服装模型匹配方法、设备和存储介质。
16.本发明提供一种光照匹配的虚拟试衣方法,所述方法包括:
17.1)获取目标人体的二维图像;
18.2)获得目标人体图像的语义分割图;
19.3)获取服装的二维图像;
20.4)进行预制服装与目标人体图像的光照强度和光照角度的匹配;
21.5)选择相适应的服装纹理贴图制作服装的三维模型。
22.进一步的,还包括服装模型与人体模型的匹配过程,结合数学模型构造三维标准人体模型,所述三维标准模型处于初始pose姿态;将三维服装模型贴合到初始pose的三维标准人体模型,即标准基础人台身上;根据目标人体二维图像,通过神经网络模型计算获得三维目标人体模型参数;将获得的若干组 pose基和体型shape三维人体参数输入三维标准人体模型中进行拟合;获得与目标人体姿态和体型相同,并且穿着换装后服装的目标人体模型。
23.进一步的,获取目标人体二维图像的轮廓图,将二维人体轮廓图像代入经过深度学习的神经网络进行回归,获得目标人体图像的语义分割图。
24.进一步的,匹配过程中还包括,获取目标人体二维图像的rgb颜色空间的值,将目标图像的rgb值转换为xyz颜色空间的xyz值,将目标图像xyz颜色空间的xyz值转换为lab颜色空间的值,将lab图像与语义分割图结合得到目标人体部分对应的l通道值,通过l通道数值得到目标人体部分对应的光照强度等级。按照不同的光照强度等级,采集服装模型在不同光照强度下的纹理贴图,根据目标人体光照强度选择对应光照强度的纹理贴图进行服装模型渲染。
25.还包括,获取目标人体图像的rgb值,将rgb值转换为灰度值,将灰度图像与语义分割图结合得到目标人体部分对应的灰度图,计算出图像感兴趣区域中每个像素的水平和竖直方向的亮度差分值δ,进而求得灰度图像中整体图像亮度差分统计特征γ。通过比对预先建立好的图像差分统计特征图片库,计算当前图片与特征库图片的余弦相似度值,选择特征相似度最高的一张估计为当前图片的光照角度。按照不同的光照角度,采集服装模型在不同光照角度下的纹理贴图,根据目标人体光照角度选择对应光照角度的纹理贴图进行服装模型渲染。
26.此外,还提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现前面所述的方法和步骤。
27.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处
理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现前面所述的方法和步骤。
28.本发明的有益效果是:
29.1、虚拟服装的光照条件与目标人体图像高度一致。我们在一开始制作三维服装模型的时候,就考虑到了实际拍摄的目标人体照片,有可能出现若干种光照条件,包括不同的光照强度和光照角度,反映在照片上,会有比较明显的不同。比如照片中光照强度较差,人脸部和皮肤颜色较深,而服装模型由于都是采用良好光照条件生成的,所以很可能出现换装后的照片,人脸部和裸露的四肢比较灰暗,而衣服则非常鲜亮,直接导致换装效果特别不真实。为此,我们采用了一套服装预制多种光照条件模型的方法,一是把需要耗费大量时间的不同服装模型制作的工作提前完成,在用户点击开始换装后,不会感觉到有处理时间上的延迟;二是服装模型和人体照片匹配的自然程度极高,暗的时候一起暗,亮的时候一起亮,服装和皮肤之间的过渡非常自然,尤其是只涉及半身衣服或者某一个单品虚拟换装的时候,更能体现我们的优势,整个换装后的照片毫无违和感。例如一套旗袍,会有大约十种以上的光照种类,组合出不同的光照强度等级和光照角度组合,也就是说,一套旗袍,我们的服装模型库里面就会有十套以上的这种旗袍,可以在输入照片处于不同光照条件下,都与之可以较完美地匹配。
30.2、虚拟服装的真实度高。这里,真实度实际包括两方面的内容,一是衣物自然跟随人体状态变化的真实性高;一是衣物布料纹理的还原度高。我们首先将三维服装模型穿在三维标准人体模特身上,输入目标人体模型的体型参数得到目标人体模型,通过服装自适应的方式让三维服装模型跟随从标准人体模型到目标人体模型体型的变化而变化,并且衣物状态的变化非常真实。此外,我们还采用了布料模拟其实就是模拟出接近真实(当然也可以做的和现实中的物理效果不符)的布料效果,我们这里主要突出的是布料纹理模拟的高还原度,包括布料印花的模拟的正确度。布料模拟采用布料模拟和蒙皮方法的结合,在衣服移动后基本不发生形变的部分采用蒙皮方式,在衣服移动过程中发生形变的部分采用布料模拟的方式保证逼真度和解算速度。布料模拟过程中,在人体模型达到目标姿态时,对服装的布料进行若干帧重力解算,以保证服装布料在目标姿态下的逼真度。
31.3、用户操作简单。本发明提供了通过深度神经网络来分析人体全身照片得到精准人体三维模型参数的方法,仅需一张普通照片就能迅速为人体建模;同时,三维服装模型是提前通过对二维服装图片进行加工处理得到的,用户无需参与这些幕后工作,只需要选择想虚拟试衣的服装样式即可,系统会自动匹配相应的服装模型。非常好地适应了互联网时代的特点和趋势,一是简单,二是快捷。用户无需任何准备,上传一张照片就是用户需要完成的所有工作。如果将本发明应用于娱乐小程序或者网络购物等场景,将会极大的增强用户的体验和粘性。不需要景深摄像头或者多组摄像头,就能得到的3d模型对应人体的真实形态,为各个行业,比如服装、健康等提供了广阔的应用场景。
32.4、高频度使用深度神经网络。本发明充分利用了深度学习网络的优势,能够在各种复杂的场景中,高精度还原人体的姿态和体型。针对不同的目的分别使用不同的神经网络,利用不同输入条件和训练方式的神经网络模型,实现了人体在复杂的背景下的精准轮廓分离,人体的语义分割,关键点和关节点的确定,排除了宽松衣物、发型的影响,做到最大程度上逼近人体的真实体型和形态。
33.5、人体模型精确可控。最常用的参数化模型为马普所的smpl模型,其包含用于描述人体姿态和描述人体体型的两套共72个参数。但smpl模型,主要通过大量的人体模型实例来进行深度学习和训练,体型和形状基之间的关系是一种整体关联关系,解耦合难度很大,无法随心所欲地控制想要控制的身体部分。但是我们的人体模型,不是通过训练得到的,参数之间存在基于数学原理的对应关系,也就是说,我们的各组参数之间没有互相牵连的关系,是各自独立的,因此我们的模型在变换过程中更具有解释性,可以更好地表征身体某一个局部的形状变化。
34.本发明通过一系列方法保持了三维服装模型真实度和还原度,并在衣服模型和人体模型的匹配中充分考虑了光照强度和光照角度对最后成片质量的影响,提前设置了不同光照条件的几组服装模型,使用与输入照片最匹配的服装模型进行虚拟试衣,既保持了处理速度的快速,又保持了衣物模拟的真实性。
附图说明
35.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
36.图1为一个实施例的全部处理流程图;
37.图2为一个实施例的光照强度参数获得模块的处理流程图;
38.图3为一个实施例的光照角度参数获得模块的处理流程图;
39.图4为本发明的系统示意图。
具体实施方式
40.下面将详细描述本发明的各个方面的特征和示例性实施例,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本发明,并不被配置为限定本发明。对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更好的理解。
41.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
42.下面结合附图对本发明实施例提供的处理人体图像的方法进行详细说明。
43.如图1所示,本发明实施例公开了一种光照匹配的虚拟试衣方法,所述方法包括:
44.1)获取目标人体的二维图像;
45.2)获得目标人体图像的语义分割图;
46.3)获取服装的二维图像;
47.4)进行预制服装与目标人体图像的光照强度和光照角度的匹配;
48.5)选择相适应的服装纹理贴图制作服装的三维模型。
49.上述服装模型与人体模特的匹配方法大致包括几个部分的步骤。一是生成三维服装模型;二是生成一个标准人体模型,并把三维服装模型套在标准人体模型身上;三是获得目标姿态人体模型的参数;四是让标准人体模型的体型和姿态均变为和目标人体模型一致,同时模拟出三维服装模型跟随人体模型的变化而发生的真实变化。
50.第一部分主要是生成三维服装模型。在生成三维服装模型的现有技术中,存在几种不同的方法。目前,比较传统的服装三维模型建立方式是基于二维衣服裁片的设计与缝合方法。这种方法需要一定的服装专业知识来对样板进行设计。另一种较为新颖的三维建模方法是基于手绘的,可以通过用户手绘的线条信息生成简单的服装模型。还有一种是在获取服装图片信息的基础之上,综合使用图像处理技术与图形仿真技术,最终生成虚拟三维服装模型。在图片中通过轮廓检测与分类获取服装轮廓与尺码,通过机器学习的方法从轮廓中找出的边与边的关键点,通过关键点对应关系生成缝合信息,最后在三维空间中对服装进行物理缝合的仿真,获取服装穿着在人体上的真实效果。此外,还有映射法,数学模型仿真法等方法,本发明对这一部分并不作出特别的限定。
51.但是,三维服装模型需要匹配到标准人体模型上,总的要求是基于已适配到标准人体模型上的服装模型,通过布料物理模拟的方式,适配到目标姿态下的人体模型上,且保证服装的自然性和合理性。所以通常要满足一些基本要求,包含但不限于以下几点:a.要和标准人台的初始pose完全贴合不穿模; b.输出为均匀的四边面;c.模型的uv需要展开平铺紧凑对齐,并且贴图须通过photoshop工具人工对齐uv;d.进行过顶点合并;e.输出模型应均匀减面,参考标准总面数不超过15w面/套;f.需要在主流服装设计软件里调节材质,解算10帧动画观察布料效果,达到预期并把材质参数保存;g.需要在主流设计软件里里调节渲染材质,预览一张渲染,保证材质lambert属性合理。
52.本发明的光照匹配的虚拟试衣方法,包括:1)获取目标人体的二维图像;2)获得目标人体图像的语义分割图;3)获取服装的二维图像;4)进行预制服装与目标人体图像的光照强度和光照角度的匹配; 5)选择相适应的服装纹理贴图制作服装的三维模型。
53.其中,获取目标人体二维图像后,可以根据算法或者代入神经网络模型输出人体轮廓图,将二维人体轮廓图像代入经过深度学习的神经网络进行回归,获得目标人体图像的语义分割图。
54.其中,步骤3)尤为关键,还包括以下步骤:获取目标人体二维图像的rgb颜色空间的值,将目标图像的rgb值转换为xyz颜色空间的xyz值,将目标图像xyz颜色空间的xyz值转换为lab颜色空间的值。将lab图像与语义分割图结合得到目标人体部分对应的l通道值,通过l通道数值得到目标人体部分对应的光照强度等级。
55.亮度是指图片的明暗程度,对比度是指图片明暗的差异,饱和度则是图片颜色的饱满程度。图片文件一般是rgb格式,主要用于显示。rgb是三种颜色的缩写,其中r是指红色(red)、g是指绿色(green), b是指蓝色(blue)。现代的时候颜色理论认为所有颜色都是红、绿和蓝三种颜色的组合。在计算机中,每一种颜色都是用一个字节(byte)来记录,rgb图片文件中就用三个字节来分别记录红绿蓝三种颜色,所以比较好的图片文件都是24位的。有
的图片文件还支持透明度,透明度也可以用一个字节来记录,因此支持透明度的图片文件就是32位的。在用一个字节记录颜色时,字节可以看成数字,一个字节有8 位(bit),每位可代表一个数值为0或1的二进制数,这样一个8位的二进制数转换成十进制数就可以表示从0到255的范围。颜色值就可以用从0到255的数值来表示颜色的明暗。当数值为0时颜色最暗,而当数值为255时颜色最亮。当红绿蓝三个的颜色值都是0的时候,图片就是黑色的,而当红绿蓝三个颜色值都是白色的时候,图片就是白色的,因此红绿蓝三种颜色值的变化,就可以组合出包含黑白灰在内的16,777,216种颜色。
56.同rgb颜色空间相比,lab是一种不常用的色彩空间。它是在1931年国际照明委员会(cie)制定的颜色度量国际标准的基础上建立起来的。1976年,经修改后被正式命名为cielab。它是一种设备无关的颜色系统,也是一种基于生理特征的颜色系统。这也就意味着,它是用数字化的方法来描述人的视觉感应。lab颜色空间中的l分量用于表示像素的亮度,取值范围是[0,100],表示从纯黑到纯白;a表示从红色到绿色的范围,取值范围是[127,-128];b表示从黄色到蓝色的范围,取值范围是[127,-128]。
[0057]
两者的区别主要在于:rgb的是由红色通道(r)、绿色通道(g)、蓝色通道(b)组成的,最亮的红色 最亮的绿色 最亮的蓝色=白色;最暗的红色 最暗的绿色 最暗的蓝色=黑色;而在最亮和最暗之间,相同明暗度的红色 相同明暗度的绿色 相同明暗度的蓝色=灰色。在rgb的任意一个通道内,白和黑表示这个颜色的明暗度。所以,有白色或者灰白色的地方,r、g、b三个通道都不可能是黑色的,因为必须要有r、g、b三个通道来构成这些颜色。
[0058]
而lab不一样,lab中的明度通道(l)专门负责整张图的明暗度,简单的说就是整幅图的黑白版。 a通道和b通道只负责颜色的多少。a通道表示从洋红色(通道里的白色)至深绿色(通道里的黑色)的范围;b表示从焦黄色(通道里的白色)至袅蓝色(通道里的黑色)的范围;a、b通道里的50%中性灰色表示没有颜色,所以越接近灰色说明颜色越少,而且a通道和b通道的颜色没有亮度。这就说明了为什么在a、b通道中红色衣物的轮廓通常非常清晰,因为红色是洋红色 焦黄色组成的。
[0059]
一张图片是由纵横交织的点构成的,一个点叫一个像素。横向和纵向点数的多少就构成了图片的分辨率,横向的点数与纵向点数的乘积就是像素数,像素数的多少可以用来衡量图片分辨率对高低。对图片进行剪裁的时候,图片的像素数会减少,分辨率也就会降低。图片上每个像素的每种颜色都可以有从 0到255的变化,数值越高,颜色的亮度越大,因此当改变一张图片的亮度时,实际上就是同时改变图片上每个像素的每个颜色的数值,提高图片的亮度,就是将图片上每个像素的每个颜色的数值,反向调整,则会降低图片的亮度。对于图片上每个像素的每个颜色值,以127为界,小于127的数值算暗,大于127的算亮。如果将图片上每个像素的颜色值小于127的所有颜色值减小,而将图片上每个像素的颜色值大于127的所有颜色值加大,我们看到的就是图片对比度的调整,也就是让图片中暗的部分越暗,而将图片中亮的部分越亮。
[0060]
光照强度估计的方式,主要通过lab通道的值进行估计,直接使用rgb图像无法完成这一工作。lab 颜色空间中的l分量用于表示像素的亮度,取值范围是[0,100],表示从纯黑到纯白。rgb的原始图片无法直接转换为lab通道,需要借助xyz颜色空间,把rgb颜色空间转换到xyz颜色空间,之后再把xyz 颜色空间转换到lab颜色空间。具体过程大致如下:
[0061]
(1)rgb转xyz
[0062]
假设r,g,b为像素三个通道,取值范围均为[0,255],转换公式如下:
[0063][0064][0065][0066]
m=0.4124,0.3576,0.1805
[0067]
0.2126,0.7152,0.0722
[0068]
0.0193,0.1192,0.9505
[0069]
等同于如下公式:
[0070]
x=var_r*0.4124 var_g*0.3576 var_b*0.1805
[0071]
y=var_r*0.2126 var_g*0.7152 var_b*0.0722
[0072]
z=var_r*0.0193 var_g*0.1192 var_b*0.9505
[0073]
上面的gamma函数,是用来对图像进行非线性色调编辑的,目的是提高图像对比度。这个函数不是唯一的。
[0074]
rgb是经过gamma校正的色彩分量:r=g(r),g=g(g),b=g(b)。其中rgb为原始的色彩分量。
[0075]
g是gamma校正函数:当x<0.018时,g(x)=4.5318*x;当x>=0.018时,g(x)=1.099* d^0.45-0.099
[0076]
rgb以及rgb的取值范围则均为[0,1)。计算完成后,xyz的取值范围则有所变化,分别是:[0, 0.9506),[0,1),[0,1.0890)。
[0077]
(2)xyz转lab
[0078]
l

=116f(y/yn)-16
[0079]a★
=500[f(x/xn)-f(y/yn)]
[0080]b★
=200[f(y/yn)-f(z/zn)]
ꢀꢀ
(5)
[0081][0082]
上面两个公式中,l*,a*,b*是最终的lab色彩空间三个通道的值。
[0083]
其中f是一个类似gamma函数的校正函数:当x>0.008856时,f(x)=x^(1/3);当x<=0.008856 时,f(x)=(7.787*x) (16/116)。
[0084]
x,y,z是rgb转xyz后线性归一化之后计算出来的值,xn,yn,zn一般默认是95.047,
100.0, 108.883。计算完成后,l的取值范围[0,100),而a和b则约为[-169, 169)和[-160, 160)。
[0085]
通过上述转换计算,就可以得出人体部分的2d照片对应的l通道数值,通过比对感兴趣区域的l 通道数值,可以量化成若干个不同的光照强度等级,例如对感兴趣区域的l值求平均值,按照这个l’值进行光照等级量化。由于人的视觉审美一般喜欢光照适当鲜艳的照片,所以在选取l’值的时候,一般选用80%分位数的更光亮的值。
[0086]
由于在衣服模型制作的时候,已经按照不同光照强度条件下采集了若干组衣服的纹理贴图,在上一步骤中得到光照强度等级之后,就可以按照不同的光照强度等级,采集服装模型在不同光照强度下的纹理贴图,根据目标人体光照强度选择对应光照强度的纹理贴图进行服装模型渲染。
[0087]
步骤3)还包括以下并列步骤:通过rgb图转换灰度图,通过计算梯度的方式估计光照角度。
[0088]
理论上,光照方向的计算算法很多,但是基本没有一种方案可以极其精确地解决真实世界中各种场景下的光照问题,因而本方案对真实环境的光照来源做了适当的条件简化,并且很多场景下,光照的来源是左或右,高光,水平光或者底光的影响比较大,具体是多少度高光的差异并没有那么明显,实验证明这种方案计算出来的关照角度基本可以区分出大概的光照方向。
[0089]
获取目标人体图像的rgb值,将rgb值转换为转换为灰度值。先将rgb图像转化为灰度图,排除由于原图颜色差异带入的额外影响。由于关注的是人体区域的光照方向,所以结合2d图片的语义分割信息,只把感兴趣的人体区域(适当向外延伸扩展)提取出来,用于计算光照方向。
[0090]
将灰度图像与语义分割图结合得到目标人体部分对应的灰度图,选用适当的滤波器算子,计算出图像感兴趣区域中每个像素的水平和竖直方向的亮度差分值δ,进而求得灰度图像中整体图像亮度差分统计特征γ。通过比对预先建立好的图像差分统计特征图片库,计算当前图片与特征库图片的余弦相似度值,选择特征相似度最高的一张估计为当前图片的光照角度。按照不同的光照角度,采集服装模型在不同光照角度下的纹理贴图,根据目标人体光照角度选择对应光照角度的纹理贴图进行服装模型渲染。
[0091]
把光照强度和光照角度这两个参数统一整合,就可以得到非常趋近于目标人体照片光照情况的三维服装模型,为服装模拟的整体真实度打下非常好的基础。
[0092]
第二部分是根据我们的人体建模方法,预先设计建模一些基础人台,并把三维服装模型套在标准人体模型身上,以达到和我们后续工作流程相适应的效果。主要工作内容为:结合数学模型构造三维标准人体模型,即基础人台。马普所的smpl人体模型可以避免人体在运动过程中的表面失真,可以精准的刻画人的肌肉拉伸以及收缩运动的形貌。该方法中β和θ是其中的输入参数,其中β代表是个人体高矮胖瘦、头身比等比例的10个参数,θ是代表人体整体运动位姿和24个关节相对角度的75个参数。β参数是shapeblendpose参数,可以通过10个增量模板控制人体形状变化,具体而言,每个参数控制人体形态的变化可以通过动图来刻画。通过研究参数变化的连续动画,我们可以清楚地看到每一个控制人体形态参数的连续变化,都会引起人体模型的局部甚至整体的连锁变化,为了体现人体肌肉组织的运动,smpl 人体模型的每一个参数的线性变化,都会引起大面积的网格变化。形象的讲,例
如在调整β1的参数时,模型会直接把β1的参数变化理解为身体的整个变化,你可能只想调整一下腰部的比例,但是模型会强制把腿部、胸部、甚至手部的胖瘦一起帮你调整。这种工作模式虽然可以大大简化工作流程,提高效率,但是对追求建模效果的项目来说,确实非常不方便的。因为smpl人体模型终究是一个通过西方人体照片和测量数据训练出来的符合西方人体型的模型,其形体变化的规律基本符合西方人的通常变化曲线,应用在亚洲人的人体模型建模中,则会出现很多问题,比如胳膊和腿的比例,腰身的比例,脖子的比例,腿长和胳膊长度等。通过我们的研究,这些方面都存在较大差值,如果硬性套用smpl人体模型,在最终生成效果上不能达到我们的要求。
[0093]
为此,我们采用了自制人体模型的方式完成效果的提升。其核心是自建人体blendshape基来实现人体精准的独立操控。优选的,所述三维标准人体模型(基础人台)由20个形体基的参数以及170根骨骼参数构成。所述若干个基构成整个人体模型,每个形体基分别由参数单独控制变化,互不影响。所谓精准操控,一方面是增加了控制的参数,没有沿用马普所的十个β控制参数,这样,可以调整的参数除了通常的胖瘦,还加入了手臂的长度,腿部的长度,腰部、臀部和胸部的胖瘦等,在骨骼参数方面把参数提高了一倍以上,大大丰富了可以调整参数的范围,为精细化设计标准人体模型提供了良好的基础。所谓独立操控,可以理解为每一个基都是单独进行操控的,比如腰、腿、手、头部等,每根骨骼也是可以单独进行长度的调整,互相之间独立,并且不会产生形体上的联动,这样就能比较好的进行人体模型的精细化调整。不再显得模型“傻大笨粗”,总也不能调整到设计师满意的形态。我们现有的模型,体现出来的是一种数学原理上的对应关系,实际上就相当于我们从人工审美和数据统计分析两个部分去设计这个模型,使其按照我们的设计规则去生成我们认为符合亚洲人体型的正确模型,显著区别于smpl人体模型的大数据训练模型,所以我们的参数变换更具有可解释性,可以更好地表征人体模型局部的形体变化,并且,这种变化是基于数学原理的方式,各个参数之间没有影响,胳膊和腿之间保持了完全独立状态。实际上,设计了这么多不同的参数,就是为了可以避免大数据训练出来人体模型的缺陷,在更多维度上对人体模型进行精准控制,不局限于高度等寥寥几个指标,大幅提升建模效果。也只有在自建形体基的前提下,设置这么多独立的控制参数才有其实际意义,要达到设计师水准的要求,两者缺一不可。
[0094]
至于把三维服装模型穿在标准人体模型身上,则是本领域常规的技术,本发明对此不做过多的限定,可以达到要求的效果即可。
[0095]
第三部分是对获取的人体图像进行处理,获得生成人体模型所需要的参数信息。以前,这些骨骼关键点的选取通常是通过人工进行,但是这种方式效率很低,不适应互联网时代快节奏的要求,因此,在神经网络大行其道的今天,利用经过深度学习的神经网络代替人工进行关键点的选取,成为了潮流。但是,如何高效地利用神经网络则是一个需要进一步研究的问题。总体上讲,我们采用了二级神经网络加数据“精修”的思路来构建我们的参数获得体系。如图2所示,我们采用经过深度学习的神经网络来生成这些参数,主要包括以下子步骤:1)获取目标人体的二维图像;2)处理获得目标人体的二维人体轮廓图像;3)将二维人体轮廓图像代入经过深度学习的第一神经网络进行关节点的回归;4)获得目标人体的关节点图;获取人体各部分语义分割图;身体关键点;身体骨骼点;5)将生成的目标人体的关节点图、语义分割图,身体骨骼点以及关键点信息代入经过深度学习的第二神经网络进行
人体姿态和体型参数的回归;6)获得输出的三维人体参数,包括三维人体动作pose参数和三维人体体型shape参数。
[0096]
所述目标人体的二维图像可以为任意姿势和任意着装的包括人体像的二维图像。二维人体轮廓图像的获取利用目标检测算法,所述目标检测算法是基于卷积神经网络的目标区域快速生成网络。
[0097]
在将二维人体图像输入第一神经网络模型之前,还包括训练神经网络的过程,训练样本包括标注原始关节点位置的标准二维人体图像,所述原始关节点位置由人工在二维人体图像上进行高准确度地标注。在这里,首先获取目标图像,并利用目标检测算法对目标图像进行人体检测。人体检测并不是使用测量仪器对真实人体进行检测,本发明中实际是指对于任意一幅给定的图像,通常是包含足够信息的二维照片,比如人脸,人的四肢和身体要求全部包括在图片中。然后,采用一定的策略对给定的图像进行搜索,以确定给定的图像中是否包含人体,如果给定的图像中包含人体,则给出人体的位置、大小等参数。在本实施例中,在获取目标图像中的人体关键点之前,需要对目标图像进行人体检测,以获取目标图像中标注人体位置的人体框,因为我们输入的图片可以是任何图片,所以不可避免的存在一些非人体图像的背景,比如桌子椅子、大树汽车楼房等,要通过一些成熟的算法把这些无用的背景去除。
[0098]
同时,我们还要进行语义分割、关节点检测、骨骼检测和边缘检测,收集到了这些1d的点信息和 2d的面信息,就可以为后面生成3d人体模型打下良好的基础。使用第一级神经网络生成人体的关节点图,可选地,目标检测算法可以为基于卷积神经网络的目标区域快速生成网络。该第一神经网络需要进行大量的数据训练,由人工对一些从网络收集来的照片进行关节点标注,然后输入神经网络进行训练,经过深度学习的神经网络,基本可以做到输入照片后就能立即获得和人工标注关节点一样准确率和效果的关节点图,同时效率是人工标注的数十倍甚至数百倍。
[0099]
本发明中,获得照片中人体的关节点位置,只是完成了第一步,获得了1d的点信息,还要根据这些 1d的点信息生成2d的面信息,这些工作都可以通过神经网络模型以及现有技术中的成熟算法来完成。本发明由于重新设计了神经网络模型参与工作的流程和介入时机,合理设计了各种条件和参数,使得参数的生成工作更加高效,人工参与的程度降低,非常适合互联网应用场景,比如在虚拟换装的节目中,用户无需等待,基本上是瞬时就可以获得换装结果,对提高节目对用户的吸引力有着至关重要的作用。
[0100]
在获得了相关的1d的点信息和2d的面信息后,就可以将这些参数或者结果,目标人体的关节点图、语义分割图,身体骨骼点以及关键点信息作为输入项代入经过深度学习的第二神经网络进行人体姿态和体型参数的回归。经过第二神经网络的回归计算,就可以立即输出若干组三维人体参数,包括三维人体动作pose参数和三维人体体型shape参数。优选的,根据三维标准人体模型(基础人台)、预测三维人体模型、标注原始关节点位置的标准二维人体图像以及包括预测关节点位置的标准二维人体图像设计神经网络的损失函数。
[0101]
第四部分,也就是最关键的部分,是将人体模型的参数和人体模型进行拟合,同时,保证衣服跟随移动后的状态尽量真实。如图3所示,移动过程包括以下子步骤,将获得的三维人体pose和shape参数与三维标准人体模型的若干个基和骨骼参数相对应;将获得的若干组基和骨骼参数输入标准三维人体参数模型中进行拟合;所述三维人体模型具有骨骼
点和模型网格的数学权值关系,骨骼点的确定可关联确定目标人体姿态的人体模型。在这一部分,沿用上一部分生成的这两种参数,就可以代入预先设计好的人体模型进行3d人体模型的构造。这两类参数与马普所的人体smpl模型参数名称相似,但实际所包含的实质内容相差较大。因为两者的基础并不一样,也就是说,本发明采用自制三维标准人体模型(基础人台),每个基都是我们自己根据亚洲人的体型和身材比例设计的,包括若干个smpl模型没有涉及到的部位,马普所的smpl模型采用大数据训练生成的标准人体模型,两个模型的生成计算方式不同,虽然最后都体现为生成的3d人体模型,但是其内涵相差较大。在这一步骤后,就会得到一个初步的3d人体模型,包括骨骼位置和长短信息的人体模型的网格(mesh)。
[0102]
在这一部分,把三维服装模型套在标准人体模型身上后,需要让标准人体模型的体型和姿态均变为和目标人体一致,同时模拟出三维服装模型跟随人体模型的变化而发生的真实变化。我们使用几个方法来保证以上目的的顺利达成。
[0103]
首先,装备自适应是指,基于已适配到标准人体模型上的服装模型,给定目标姿态人体模型,即与标准人体模型姿态相同、网格结构相同,网格顶点、网格单元的数目、以及顶点与顶点之间拓扑连接关系均相同,仅高矮胖瘦等体型不同的人体模型,通过服装自适应匹配的方式,将三维服装模型适配到目标体型的人体模型上,随着人体模型胖瘦的变化而变化,且保证服装的自然性和合理性。
[0104]
在装备自适应的过程中,对标准人体模型的网格面片生成一种场,三维服装的各个面片与标准人体模型对应位置建立一种固定的场对应关系,当标准人体模型体型向着目标人体模型的体型发生变化的时候,三维服装模型也可以实现与之对应的均匀变化。
[0105]
在这一部分,人体模型还要完成从初始pose向目标pose的变化。因为我们输入的只是一张照片,照片上的目标人体姿态通常是和基础人台是不一样的,这时,为了能拟合出目标人体的姿态,就要完成从初始pose到目标pose的变化。为了更加逼真地模拟在拟合步骤中,若干组基和骨骼参数在标准三维人体参数模型中进行拟合时,还包括以下步骤,
[0106]
1)获得初始pose和目标pose的位置坐标;初始pose参数的获得由标准人台模型的初始化参数确定,目标pose的骨骼信息由神经网络模型回归预测得到。2)生成从初始pose移动到目标pose的动画序列;3)生成动画序列的过程中,采用网格mesh插帧的方式进行处理;4)插帧速度的设置为前后距离初始点和目标点的位置慢,中间运动过程中快;5)在驱动至最终目标pose时静止数帧,得到整个动画序列。6)完成从初始pose驱动骨骼移动到目标pose。这样的做法比起匀速插帧更贴近真实物理世界运动规律,仿真出来的效果更佳。
[0107]
结合图1至图3描述的根据本发明实施例的包括生成服装模型、生成三维人体模型的方法可以由处理人体图像设备来实现。图4是示出根据发明实施例的处理人体图像的设备的硬件结构300示意图。
[0108]
本发明还公开了以及一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现前面所述的服装模型匹配方法和步骤。
[0109]
以及一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现前面所述的服装模型匹配方法和步骤。
[0110]
如图4所示,本实施例中的实现虚拟试衣的设备300包括:处理器301、存储器302、通信接口303和总线310,其中,处理器301、存储器302、通信接口303通过总线310连接并完成相互间的通信。
[0111]
具体地,上述处理器301可以包括中央处理器(cpu),或者特定集成电路(asic),或者可以被配置成实施本发明实施例的一个或多个集成电路。
[0112]
存储器302可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器302可包括 hdd、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(usb)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器302可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器302可在处理人体图像设备300的内部或外部。在特定实施例中,存储器302是非易失性固态存储器。在特定实施例中,存储器302包括只读存储器(rom)。在合适的情况下,该rom 可以是掩模编程的rom、可编程rom(prom)、可擦除prom(eprom)、电可擦除prom(eeprom)、电可改写rom(earom)或闪存或者两个或更多个以上这些的组合。
[0113]
通信接口303,主要用于实现本发明实施例中各模块、装置、单元和/或设备之间的通信。
[0114]
总线310包括硬件、软件或两者,将处理人体图像的设备300的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(agp)或其他图形总线、增强工业标准架构(eisa)总线、前端总线(fsb)、超传输(ht)互连、工业标准架构(isa)总线、无限带宽互连、低引脚数(lpc)总线、存储器总线、微信道架构(mca)总线、外围组件互连(pci)总线、pci-express(pci-x)总线、串行高级技术附件(sata)总线、视频电子标准协会局部(vlb)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线310可包括一个或多个总线。尽管本发明实施例描述和示出了特定的总线,但本发明考虑任何合适的总线或互连。
[0115]
也就是说,图4所示的处理人体图像的设备300可以被实现为包括:处理器301、存储器302、通信接口303和总线310。处理器301、存储器302和通信接口303通过总线310连接并完成相互间的通信。存储器302用于存储程序代码;处理器301通过读取存储器302中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行本发明任一实施例中的虚拟试衣方法,从而实现结合图1至图3描述的虚拟试衣的方法和装置。
[0116]
本发明实施例还提供一种计算机存储介质,该计算机存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现本发明实施例提供的处理人体图像的方法。
[0117]
需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
[0118]
以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(asic)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代
码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、rom、闪存、可擦除rom(erom)、软盘、cd-rom、光盘、硬盘、光纤介质、射频(rf) 链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
[0119]
还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
[0120]
以上所述,仅为本发明的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。
再多了解一些

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

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

相关文献