CN103020961A - 基于图像的虚拟服装拟合的方法和设备 - Google Patents
基于图像的虚拟服装拟合的方法和设备 Download PDFInfo
- Publication number
- CN103020961A CN103020961A CN2012104866396A CN201210486639A CN103020961A CN 103020961 A CN103020961 A CN 103020961A CN 2012104866396 A CN2012104866396 A CN 2012104866396A CN 201210486639 A CN201210486639 A CN 201210486639A CN 103020961 A CN103020961 A CN 103020961A
- Authority
- CN
- China
- Prior art keywords
- frame
- video
- user
- prestores
- posture
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本发明提供一种用于基于图像的虚拟服装拟合的方法,包括:构建数据库,所述数据库包括给定衣物的预存视频帧以及对应的预存骨架姿势;接收输入视频,所述输入视频包括包含用户骨架姿势的输入帧;将所述用户骨架姿势与所述预存骨架姿势进行匹配,以在所述数据库中查找所述给定衣物的预存视频帧;将查找到的所述给定衣物的预存视频帧叠加到所述用户骨架姿势;以及在输出帧中呈现叠加有所述给定衣物的预存视频帧的用户骨架姿势。本发明还提供一种用于基于图像的虚拟服装拟合的设备。本发明提供的技术方案能够很好地将数据库中存储的衣物与用户的身体拟合起来,从而产生良好的用户体验。
Description
技术领域
本发明涉及成像和图像处理领域,具体地,本发明涉及虚拟服装拟合的方法和设备。
背景技术
传统的服装试穿均需要用户将服装物理地穿戴到身上,并在镜子中观看该服装是否与自己的身材、肤色、气质等匹配。
随着网络购物的兴起,用户无需到商场中亲自挑选服装,而只需在网络上订制服装即可。但网络购物环境将不允许用户亲自试穿服装,从而导致了当服装通过物流递送到用户时,用户可能不满意甚至需要退货或更换。这一方面恶化了用户网络购物的体验,另一方面也加重了商家以及物流企业的压力,同时增加了其流通成本。
虚拟服装拟合技术允许用户在选择或购买服装之前将服装虚拟地加在模特或者其自身的照片上,从而预先查看服装穿在身上的效果。
目前,存在一些商用的系统来将虚拟服装穿在用户身上。例如,Swivel将衣物的静态图像叠加在用户的图片上。但是,由于衣物的图片是静态的,所以这种系统并不能很好地适应用户身体的变化,因此也就无法充分地展现服装与身体的匹配。
为了在用户移动时提供服装的相应动作,诸如Fitnect之类的一些其他系统依赖于3D衣物建模、渲染和动画,其中的每一项对于其自身都极具挑战。例如,具有精细配饰的婚礼服饰的复杂性使得难以对其进行建模和动画。此外,诸如天鹅绒和绸缎材质的衣料具有特殊的反光特性,这对于再现出来极具挑战性。有些这些问题,难以以3D建模的方法来实时地生成逼真的反馈,并且这也将降低用户体验。
发明内容
本发明的目的至少在于克服现有技术中衣物和用户拟合度较低的缺陷。
根据本发明的一个方面,提供一种用于基于图像的虚拟服装拟合的方法,包括:构建数据库,所述数据库包括给定衣物的预存视频帧以及对应的预存骨架姿势;接收输入视频,所述输入视频包括包含用户骨架姿势的输入帧;将所述用户骨架姿势与所述预存骨架姿势进行匹配,以在所述数据库中查找所述给定衣物的预存视频帧;将查找到的所述给定衣物的预存视频帧叠加到所述用户骨架姿势;以及在输出帧中呈现叠加有所述给定衣物的预存视频帧的用户骨架姿势。
根据本发明的一个实施方式,通过如下方式来将所述用户骨架姿势与所述预存骨架姿势进行匹配:(1)通过以下方程来得到一维序列;
其中i是所述输入视频中的输入帧的索引,li是所述数据库中针对输入视频中第i个输入帧的预存视频帧的索引,D(li,i)是i所索引的输入帧中的用户骨架姿势的第一姿态矢量与li所索引的预存储视频帧的第二姿势矢量之间的欧几里得距离,如果li-1和li为相邻帧,则S(li-1,li)被设置为0,否则S(li-1,li)被设置为1,λ为常数,目标函数E为一维序列;其中所述姿势矢量表示人体至少一个部位的3D位置;(2)对所述目标函数E应用动态规划算法以确定所述一维序列的全局最优值,从而查找到所述给定衣物的预存视频帧。
根据本发明的一个实施方式,通过如下方式来将所述用户骨架姿势与所述预存骨架姿势进行匹配:(1)将所述输入视频中以第i个输入帧为中心的N个连续输入帧中用户骨架姿势的第一姿态矢量连接起来形成第一运动矢量;(2)将所述数据库中以第li个预存帧为中心的N个连续预存视频帧中预存骨架姿势的第二姿态矢量连接起来形成第二运动矢量;其中N是整数;(3)通过以下方程来得到一维序列;
其中i是所述输入视频中的输入帧的索引,li是所述数据库中针对输入视频中第i个输入帧的预存视频帧的索引,D(li,i)是i所索引的输入帧中的用户骨架姿势的第一姿态矢量与li所索引的预存储视频帧的第二姿势矢量之间的欧几里得距离,如果li-1和li为相邻帧,则S(li-1,li)被设置为0,否则S(li-1,li)被设置为第一运动矢量与第二运动矢量之间的欧几里得距离,λ为常数,目标函数E为一维序列;其中所述姿势矢量表示人体至少一个部位的3D位置;(4)对所述目标函数E应用动态规划算法以确定所述一维序列的全局最优值,从而查找到所述给定衣物的预存视频帧。
根据本发明的一个实施方式,其中所述姿势矢量包括人体关节的绝对3D位置,并且所述姿势矢量为人体关节的绝对3D位置的组合。
根据本发明的一个实施方式,其中所述姿势矢量包括人体至少一个关节的绝对3D位置,以及其他关节相对于所述至少一个关节的相对3D位置,并且所述姿势矢量为所述绝对3D位置与所述相对3D位置的组合。
根据本发明的一个实施方式,进一步包括:对叠加到所述用户骨架姿势上的预存视频帧进行非硬性变形校正以使得所述预存视频帧与所述输入帧中的用户骨架姿势匹配。
根据本发明的一个实施方式,进一步包括:在所述相邻的输出帧之间内插附加帧,以使得输出帧保持平滑。
根据本发明的一个实施方式,进一步包括:根据光流算法移动,移动所述给定衣物的预存视频帧,从而与所述用户骨架姿势匹配。
根据本发明的另一方面,提供一种用于基于图像的虚拟服装拟合的设备,包括:用于构建数据库的装置,所述数据库包括给定衣物的预存视频帧以及对应的预存骨架姿势;用于接收输入视频的装置,所述输入视频包括包含用户骨架姿势的输入帧;用于将所述用户骨架姿势与所述预存骨架姿势进行匹配,以在所述数据库中查找所述给定衣物的预存视频帧的装置;用于将查找到的所述给定衣物的预存视频帧叠加到所述用户骨架姿势的装置;以及用于在输出帧中呈现叠加有所述给定衣物的预存视频帧的用户骨架姿势的装置。
本发明提供的技术方案能够很好地将数据库中存储的衣物与用户的身体拟合起来,从而产生良好的用户体验。
附图说明
图1示出了根据本发明一个方面的用于基于图像的虚拟服装拟合的方法的流程图;
图2(a)-图2(c)示出了根据本发明一种实施方式的、当模特具有相同姿势但不同运动形态时衣物的形式的图片;
图3(a)示出了衣物没有与用户身体良好匹配的一种情形;
图3(b)示出了对图3(a)中的衣物进行非硬性变形,从而使得衣物能够较好地匹配用户身体的情形;
图4(a)示出了在两个数据库帧中模特的骨架姿势相同的但所记录的骨架姿势与衣物的相对位置不同的情形;
图4(b)示出了衣物不能准确地叠加到用户骨架上的示意图;
图4(c)示出了经过抖动补偿后的衣物与用户骨架的叠加图;以及
图5示出了根据本发明另一个方面的用于基于图像的虚拟服装拟合的设备的框图。
具体实施方式
下面结合附图来对本发明的实施方式进行详细描述。
图1示出了根据本发明一个方面的用于基于图像的虚拟服装拟合的方法的流程图。
如图1所示,本发明提供一种用于基于图像的虚拟服装拟合的方法,包括:在步骤S100,构建数据库,所述数据库包括给定衣物的预存视频帧以及对应的预存骨架姿势;在步骤S110,接收输入视频,所述输入视频包括包含用户骨架姿势的输入帧;在步骤S120,将所述用户骨架姿势与所述预存骨架姿势进行匹配,以在所述数据库中查找所述给定衣物的预存视频帧;在步骤S130,将查找到的所述给定衣物的预存视频帧叠加到所述用户骨架姿势;以及,在步骤S140,在输出帧中呈现叠加有所述给定衣物的预存视频帧的用户骨架姿势。
在构建针对给定衣物的预存视频帧以及对应的预存骨架姿势时,可以让服装模特穿上该给定衣物,然后做出一些常规的动作,并且自由地移动以提供附加的衣物配置以及动作。
视频摄像机拍摄模特的这些动作以及活动,并将视频按照帧存储起来。在本发明中,针对每件衣物,通常存储不少于5000帧。需要理解的是,存储的帧越多,则匹配越精确,并且视频的流畅度更好,而帧的数量越少,则匹配的精确度较低,但匹配的速度较高。
通常,在捕捉模特的动作时,采用单色背景,优选为蓝色背景,从而能够在进行叠加或匹配时将该单色背景去除。
可以采用Adobe公司开发的After Effects软件中的“Roto Brush”功能来将所获取的视频帧中的衣物进行分段,这在Bai X.,Wang.J.,Simons,D.,以及Sapiro,G于2009年发表的“Video snapcut:robustvideo object cutout using localized classifiers.ACM Trans.Graph.28”中进行了介绍。这里将不再详述。
原则上,模特的身体形状应当与用户的身体形状匹配,从而能够使得叠加的衣物有好的拟合。为简化起见,本发明假设模特与用户的身体形状是相似的,并且将身体形状的修改作为未来进一步研究和方向。
根据本发明的实施方式,本发明采用骨架姿势来确定用户所摆出的姿势。可以通过人体各个关节的位置来描述骨架姿势。例如,可以采用人体四肢主要关节的位置来确定用户所摆出的姿势。当然为了更精细的姿势,可以采用用户身体其他部位的位置来确定用户所摆出的姿势,本发明并不局限于人体上任何特定位置。
本领域技术人员可以理解的是,可以采用微软的Kinect相机来捕捉用户和/或模特的视频,并从中确定用户和/或模特的骨架姿势。
因此,根据本发明的实施方式,对于每种衣物,在数据库中均存放有模特穿着该衣物时摆出不同姿势而使得衣物呈现的不同形态,并且存储有模特对应的骨架姿势。
当获取到用户(即期望试穿衣物)的用户输入视频时,可以从该输入视频中提取用户的骨架姿势,并将该骨架姿势与数据库中存储的模特的骨架姿势进行匹配,并由此找到对应的衣物(即找到对应的帧)。
在找到对应衣物之后,可以将衣物叠加到所拍摄的用户的视频帧上,从而看起来似乎是用户穿着该衣物。用户可以仅摆出一个姿势,当找到与该一个姿势匹配的衣物时,则可以衣物虚拟地叠加到用户身上,并且以单帧的方式展现给用户,或者可以连续地播放该帧后面的连续帧,从而看起来似乎是用户做出了多个动作。用户也可以摆出多个姿势,当找到该多个姿势各自匹配的衣物时,可以将找到的衣物分别虚拟地叠加到用户身上,并且将叠加有衣物的所有姿势展现给用户,从而用户将看到其自己穿着所选衣物摆出的各种姿势。
根据本发明的一个实施方式,通过如下方式来将所述用户骨架姿势与所述预存骨架姿势进行匹配:
首先,本发明通过基线(baseline)方法来作为基本的框架和基础。
具体而言,通过以下方程(1)来得到一维序列;
其中i是所述输入视频中的输入帧的索引,li是所述数据库中针对输入视频中第i个输入帧的预存视频帧的索引,D(li,i)是i所索引的输入帧中的用户骨架姿势的第一姿态矢量与li所索引的预存储视频帧的第二姿势矢量之间的欧几里得(Euclidean)距离,如果li-1和li为相邻帧,则S(li-1,li)被设置为0,否则S(li-1,li)被设置为1,λ为常数,目标函数E为一维序列;其中所述姿势矢量表示人体至少一个部位的3D位置。
上述姿势矢量优选地为人体关节的位置矢量。例如,取人体的8个关节来表示人体的姿态,并且每一个关节采用3个元素来表示(即该关节相对于摄像机(例如Kinect)在高度方向、横向以及前后方向上的坐标),因此,每个姿态矢量为一个3x8的矩阵。当然,本领域技术人员可以理解的是,可以采用多于或少于8个人体位置来构成姿态矢量,并且这些位置也不限于关节,而是可以包括人体上任何适当的部位。
对于每一个输入的视频帧,本发明查询数据库以找到最匹配的人体姿态。为了将最终所得动画(视频)中的突发改变最小化,通常在数据库中选择构成连续序列的帧。
此外,考虑到模特和用户的动作速度可能不同,因此判断两个镇是否相邻可以采用多种方式。例如可以直接采用紧邻的两个帧作为相邻帧,也可以将间隔小于特定距离(例如间隔小于4个帧)的两个帧作为相邻帧。例如,当间隔小于4个帧的两个帧被认为是相邻帧时,则意味着可以将视频的速度加速到4倍。
λ为常数,本领域技术人员可以根据实际的需要来确定其大小。根据本发明的一个实施方式,λ为100。
接下来,对所述目标函数E应用动态规划算法以确定所述一维序列的全局最优值,从而查找到所述给定衣物的预存视频帧。
由于动态规划算法要求后面的帧来确定当前帧处的结果,所以本发明中缓存了若干个帧(例如M=10个),并在间隔[i-1,i+M]中应用动态规划算法,以获得第i个帧处的结果。处于实时展现的需求,在优化目标函数E时通常不可能穷尽地检查数据库中所有的帧。对于对于每个输入的帧,首先应用大约的最接近的邻近搜索(参见Arya等人于1998年发表的“An optimal algorithm for approximate nearestneighbor searching fixed dimensions.J.ACM,891-923”)。以找到一组具有最相似姿态矢量的候选帧,然后,动态规划算法从这些候选帧中找到最合适的一个。根据本发明的一个实施方式,本发明采用75个候选帧。
一旦在数据库中找到合适的衣物帧,则被分段的衣物虚拟地叠加到输入视频帧中的用户身上。根据本发明的实施方式,通过将用户臀部以及肩膀关节的平均位置与模特的骨架进行匹配来定位衣物。其尺度按照相对肩膀宽度来进行设置。
上述方法通常可应用于仅随着用户骨架姿势不同而不同的衣物,例如比较紧身的衣物。这些衣物并不随着用户的运动而改变太多形态。
图2(a)-图2(c)示出了根据本发明一种实施方式的、当模特具有相同姿势但不同运动形态时衣物的形式的图片。
如图2(a)-图2(c)所示,穿着裙子的模特的姿势是相同的,但图2(a)中的模特基本保持静止,裙角下垂;图2(b)中的模特保持中等速度的旋转,其裙角稍微飞起;而图2(c)中的模特旋转速度最快,因此其裙角显著飞起。
从图2(a)至图2(c)中可以看出,采用如图1所示的方法将不能很好地将运动中模特的服装拟合到用户骨架上,即使用户和模特的骨架姿势是相同的。
为了解决这个问题,根据本发明的一个实施方式,采用了运动矢量的形式来计算模特运动时服装所展现出的状态,从而能够更精确地将服装拟合到用户身上。
可以理解的是,当人的身体剧烈运动时,视频中相邻帧之间骨架姿势之间将具有比较大的区别,因此,通过相邻帧的骨骼姿势可以确定用户是否在进行剧烈运动。
根据本发明的一个实施方式,通过如下方式来将所述用户骨架姿势与所述预存骨架姿势进行匹配:
(1)将所述输入视频中以第i个输入帧为中心的N个连续输入帧中用户骨架姿势的第一姿态矢量连接起来形成第一运动矢量;
(2)将所述数据库中以第li个预存帧为中心的N个连续预存视频帧中预存骨架姿势的第二姿态矢量连接起来形成第二运动矢量;其中N是整数;
从上面的步骤(1)可以看出,在输入视频中,本发明以第i个帧为中心,并将该第i个帧前后的帧所对应的姿态矢量连接起来形成新的矢量,在此我们称为第一运动矢量。
同理,从上面的步骤(2)可以看出,在预存的视频中,本发明以第li个帧为中心,并将该第li个帧前后的帧所对应的姿态矢量连接起来形成新的矢量,在此我们称为第二运动矢量。
还可以理解,尽管将姿态矢量串联起来,但每个姿态矢量对于每个姿态仍然是独立的,因此仍然可以采用上面的方程(1)来进行计算。
(3)通过以下方程来得到一维序列;
其中i是所述输入视频中的输入帧的索引,li是所述数据库中针对输入视频中第i个输入帧的预存视频帧的索引,D(li,i)是i所索引的输入帧中的用户骨架姿势的第一姿态矢量与li所索引的预存储视频帧的第二姿势矢量之间的欧几里得距离。
与方程(1)不同之处在于,对于采用运动矢量的情况,如果li-1和li为相邻帧,则S(li,i)被设置为0,否则S(li,i)被设置为第一运动矢量与第二运动矢量之间的欧几里得距离,λ为常数,目标函数E为一维序列;
同理,在(4),对所述目标函数E应用动态规划算法以确定所述一维序列的全局最优值,从而查找到所述给定衣物的预存视频帧。
根据本发明的实施方式,两个运动矢量之间的差别被计算为对应姿态矢量之间的差异的加权和。具体而言,可以为处于中间的帧给予较高的权重,而对于两边的帧给予较低的权重。
根据本发明的一个实施方式,采用了11个帧,则其权重分别为1、1、2、2、3、4、3、2、2、1、1。需要理解的是,这仅仅是一个示例,本发明可以采用不同数量的帧,可以赋予不同的权重,也可以不赋予任何权重。
通过本发明的以上实施方式,可以较好地解决运动所带来的衣物形态发生显著改变的情况,从而使得拟合程度更佳。
在以上的实施方式中,本发明采用了人体部位(例如人体关节)的绝对3D位置,并且将例如关节的绝对3D位置组合起来形成姿态矢量以描述人体姿态。但是,这种姿态矢量的数据量相对较大,特别是对于数千甚至上万帧的图像而言,其对于计算机构成很重的处理负担。
为了解决这样的问题,根据本发明的一个实施方式,所述姿势矢量包括人体至少一个关节的绝对3D位置,以及其他关节相对于所述至少一个关节的相对3D位置,并且所述姿势矢量为所述绝对3D位置与所述相对3D位置的组合。
例如,可以首先确定例如人体肩膀位置的绝对3D位置,在确定了该绝对3D位置之后,则可以通过长度值以及旋转角度来确定肘关节相对于肩膀的位置,并进而确定腕关节的位置;进一步地,以肩膀位置为基准,可以确定胯关节、膝关节以及踝关节的相对位置。
从上面的描述中可以看出,对于肘关节而言,仅需要长度和角度两个元素即可以确定出其位置。因此,对于8个关节而言,则3+2x7=17个元素就已经足够了。甚至对于另外一个肩关节以及胯关节,仅需要一个程度元素即可确定其相对于肩关节的位置,从而进一步减少了数据量。
需要理解的是,以上仅仅是示例性的一般描述,旨在于使得本发明能够被更容易地理解。
根据本发明的一个实施方式,本发明从臀部点开始,并且以宽度优先的方式将骨架识别为树结构。在该树结构中,姿态向量是母关节和子关节之间的旋转角度。这些旋转角度可以以欧拉角的四元数来表示。但是在本发明中并不需要完全的3D旋转。例如,前臂的绕轴旋转并不会对衣物外观造成太大的改变。
因此,可以看出,以上的以相对位置来描述骨架姿势的方式已经足够了,这能够提高从数据库中找到相似帧的机会,并且进一步降低姿势测量中噪声的影响。通过这种方式来工作还使得本发明对于用户之间的骨架比率改变不太敏感。
根据本发明的实施方式,本发明忽略了将父关节与子关节连接起来的关节的绕轴旋转的旋转分量,并且通过关节在其父关节中本地坐标系中的归一化3D位置(归一化为单位长度)来表示该关节。每个归一化位置实际上是具有两个自由度的单位矢量。以此方式形成的姿态矢量之间的差别通过欧几里得距离来计算。此外,对于衬衫而言,仅需要考虑上半部分的关节,而对于裤子或者裙子而言,则仅需要考虑下半部分的关节。
由于对视频进行采样是一个非连续的、粗略的过程,因此视频中的一些细节可能会被丢失,因此,有些时候衣物并不能很好地与用户的动作进行匹配。当然,这可以通过对视频进行更多的采样来进行,但如上所述,这将加大计算负担,并且降低拟合的速度。
图3(a)示出了衣物没有与用户身体良好匹配的一种情形。如图3(a)所示,数据库中存储的衣物的两只袖子抬升了一个角度,但实际中用户双臂的抬升角度略大于该上述两只袖子的角度,此时衣物将不能与用户的身体良好拟合。
有多种方式来对这种无法拟合的情况进行修正和校正,以使得衣物能够与用户的身体良好地匹配和对准。
Zhou等人与2010年发表的“Parametric reshaping of human bodiesin images.ACM Trans.Graph.29,4”以及Weiss等人于2011年发表的“Home 3D body scans from nosy image and range data.In proc.ICCV”公开了一种考虑全身匹配的方法。根据本发明的一个实施方式,可以采用以上方法来对图3(a)所示的情况进行校正。但是,由于计算量较大,这些方法的运行效率较低。
根据本发明的一个实施方式,进一步包括:对叠加到所述用户骨架姿势上的预存视频帧进行非硬性变形校正以使得所述预存视频帧与所述输入帧中的用户骨架姿势匹配。
根据本发明的一个实施方式,为减小计算量,可以仅对身体的一部分进行校正。例如,Schaefer等人于2006年发表的“Imagedeformation using moving leas squares.ACM Trans.Graph.”中公开了采用四肢上的关节点作为控制点来对衣物和身体不匹配的情况进行校正。图3(b)示出了对图3(a)中的衣物进行非硬性变形,从而使得衣物能够较好地匹配用户身体的情形。
为了使得输出视频更加流畅,根据本发明的一个实施方式,进一步包括:在所述相邻的输出帧之间内插附加帧,以使得输出帧保持平滑。
尽管动态规划算法希望相邻视频帧之间的运动平滑,旦在从数据库中选择的两个连续帧之间在连接时仍然可能出现抖动或者跳变,这将造成较差的用户体验。
设A1,A2,…An是由动态规划算法从连续序列中选择出的n个数据库帧,(即针对给定衣物的预存视频帧),并且类似地B1、B2,…Bn是来自另一连续序列的数据库帧。为了在帧An和B1之间具有平滑的表现,本发明计算这两个帧之间的光流,并且线性地内插入相应点,以生成帧B1’,从而An和B1之间的过度会更加平滑。还可以在B1’和B2之间插入B2’,并且使得B2’替换原先的B2,从而进一步改善输出视频的流畅性和连续性。
需要理解的是,上面的描述仅仅是一些示例,如何进行内插并不局限于上面所描述的具体实施方式,而是可以根据实际情况进行选择,例如可以插入多个中间帧,也可以采用其他非线性算法来插入中间帧。
需要理解的是,专业术语“光流”对于本领域技术人员而言是清楚的。光流是两张图(帧)之间的向量场,其表示了两张图时间的对应关系。例如,设OF(x,y)是一个图像A和B之间的光流,那么图像A中间的(x,y)点就应该对应到图像B中的(x,y)+OF(x,y)点。因此通过光流,可以找到适当的点进行内插。
根据本发明的一个实施方式,进一步包括:根据光流算法移动,移动所述给定衣物的预存视频帧,从而与所述用户骨架姿势匹配。
由低端运动捕捉设备例如微软的Kinect相机捕捉的骨架姿势通常含有很多噪声。进一步而言,其是不稳定的,因为衣物和骨架之间的相对位置可以随着时间漂移。
图4(a)示出了在两个数据库帧中模特的骨架姿势相同的但所记录的骨架姿势与衣物的相对位置不同的情形。这在进行拟合时会导致两个数据库帧之间的抖动。例如如图4(b)所示,其在进行拟合时并不能准确地将衣物叠加到用户的骨架上。
本发明还采用上述的光流算法来解决上述问题。
具体而言,首先确定两个预存帧对应的第一预存骨架姿势A和第二预存骨架姿势B的第一平均位置CA和第二平均位置CB;接下来,使得CA对应于第二预存骨架姿势B中的点C’;然后,计算该C’与所述第二平均位置之间的差d=C’-CB;以及,在输出帧中,将与所述第二预存骨架姿势B对应的给定衣物移动距离d,然后叠加到所述用户骨架姿势。同理,在第二预存骨架姿势B接下来的第一个帧中,移动2d/3,而在第二预存骨架姿势B接下来的第二个帧中,移动3/d,从而得到更平滑的过度。
图4(c)示出了经过抖动补偿后的衣物与用户骨架的叠加图。可以看出,经过抖动补偿之后,衣物与用户有着相对较好的匹配。
图5示出了根据本发明另一个方面的用于基于图像的虚拟服装拟合的设备的框图
根据本发明的另一方面,如图5所示,提供一种用于基于图像的虚拟服装拟合的设备20,包括:用于构建数据库的装置200,所述数据库包括给定衣物的预存视频帧以及对应的预存骨架姿势;用于接收输入视频的装置210,所述输入视频包括包含用户骨架姿势的输入帧;用于将所述用户骨架姿势与所述预存骨架姿势进行匹配,以在所述数据库中查找所述给定衣物的预存视频帧的装置220;用于将查找到的所述给定衣物的预存视频帧叠加到所述用户骨架姿势的装置230;以及用于在输出帧中呈现叠加有所述给定衣物的预存视频帧的用户骨架姿势的装置240。
通过本发明的以上方法和设备,可以在数据库中找到与用户摆出的姿势相匹配的衣物造型,并且将该找到的衣物造型虚拟地叠加到用户身上,就好像是用户穿着该衣物一样。并且,通过本发明,可以向客户展现流畅和相对逼真的视频,从而增加用户体验。
本发明的方法和设备可以在网络购物中使用,从而避免了用户无法真实感受衣物是否合适的烦恼。也可以在真实的实体店铺中使用,从而无需用户试穿每一件衣服,这样避免了用户的麻烦,也可以保护衣物,降低店铺成本。
需要理解的是,尽管本发明以衣物为对象进行了描述,但本发明的上述方法可以应用于其他方面,例如可以应用于计算机动画中的虚拟角色、化妆等等。
应该理解,框图和流程图的每个框以及框图和流程图的框的组合可以分别由包括计算机程序指令的各种装置来实施。这些计算机程序指令可以加载到通用计算机、专用计算机或其他可编程数据处理设备上以产生机器,从而在计算机或其他可编程数据处理设备上执行的指令创建了用于实现一个或多个流程图框中指定的功能的装置。
这些计算机程序指令还可以存储在可以引导计算机或其他可编程数据处理设备(诸如处理元件,例如包括控制器20(在图1中示出))的计算机可读存储器中从而以特定方式起作用,从而存储在计算机可读存储器中的指令制造包括用于实现图12所示的一个或多个流程图框中所指定功能的计算机可读指令的制品。计算机程序指令还可以加载到计算机或其他可编程数据处理设备上以使得在计算机或其他可编程数据处理设备上执行一系列的操作步骤,从而产生计算机实现的过程,进而在计算机或其他可编程数据处理设备上执行的指令提供了用于实现一个或多个流程图框中所指定功能的步骤。
因而,框图和流程图的框支持用于执行指定功能的装置的组合、用于执行指定功能的步骤的组合和用于执行指定功能的程序指令装置的组合。还应该理解,框图和流程图的每个框以及框图和流程图的框的组合可以由执行指定功能或步骤的、基于硬件的专用计算机系统实现,或由专用硬件和计算机指令的组合实现。
这些实施方式所涉及的、从上面描述和相关联的附图中呈现的教导获益的领域中的技术人员将认识到这里记载的本发明的很多修改和其他实施方式。因此,应该理解,本发明不限于公开的具体实施方式,旨在将修改和其他实施方式包括在所附权利要求书的范围内。尽管在这里采用了特定的术语,但是仅在一般意义和描述意义上使用它们并且不是为了限制的目的而使用。
应该注意的是,上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
Claims (10)
1.一种用于基于图像的虚拟服装拟合的方法,包括:
构建数据库,所述数据库包括给定衣物的预存视频帧以及对应的预存骨架姿势;
接收输入视频,所述输入视频包括包含用户骨架姿势的输入帧;
将所述用户骨架姿势与所述预存骨架姿势进行匹配,以在所述数据库中查找所述给定衣物的预存视频帧;
将查找到的所述给定衣物的预存视频帧叠加到所述用户骨架姿势;以及
在输出帧中呈现叠加有所述给定衣物的预存视频帧的用户骨架姿势。
2.根据权利要求1所述的方法,其中,通过如下方式来将所述用户骨架姿势与所述预存骨架姿势进行匹配:
(1)通过以下方程来得到一维序列;
其中i是所述输入视频中的输入帧的索引,li是所述数据库中针对输入视频中第i个输入帧的预存视频帧的索引,D(li,i)是i所索引的输入帧中的用户骨架姿势的第一姿态矢量与li所索引的预存储视频帧的第二姿势矢量之间的欧几里得距离,如果li-1和li为相邻帧,则S(li-1,li)被设置为0,否则S(li-1,li)被设置为1,λ为常数,目标函数E为一维序列;
其中所述姿势矢量表示人体至少一个部位的3D位置;
(2)对所述目标函数E应用动态规划算法以确定所述一维序列的全局最优值,从而查找到所述给定衣物的预存视频帧。
3.根据权利要求1所述的方法,其中通过如下方式来将所述用户骨架姿势与所述预存骨架姿势进行匹配:
(1)将所述输入视频中以第i个输入帧为中心的N个连续输入帧中用户骨架姿势的第一姿态矢量连接起来形成第一运动矢量;
(2)将所述数据库中以第li个预存帧为中心的N个连续预存视频帧中预存骨架姿势的第二姿态矢量连接起来形成第二运动矢量;
其中N是整数;
(3)通过以下方程来得到一维序列;
其中i是所述输入视频中的输入帧的索引,li是所述数据库中针对输入视频中第i个输入帧的预存视频帧的索引,D(li,i)是i所索引的输入帧中的用户骨架姿势的第一姿态矢量与li所索引的预存储视频帧的第二姿势矢量之间的欧几里得距离,如果li-1和li为相邻帧,则S(li-1,li)被设置为0,否则S(li-1,li)被设置为第一运动矢量与第二运动矢量之间的欧几里得距离,λ为常数,目标函数E为一维序列;
其中所述姿势矢量表示人体至少一个部位的3D位置;
(4)对所述目标函数E应用动态规划算法以确定所述一维序列的全局最优值,从而查找到所述给定衣物的预存视频帧。
4.根据权利要求2或3所述的方法,其中所述姿势矢量包括人体关节的绝对3D位置,并且所述姿势矢量为人体关节的绝对3D位置的组合。
5.根据权利要求2或3所述的方法,其中所述姿势矢量包括人体至少一个关节的绝对3D位置,以及其他关节相对于所述至少一个关节的相对3D位置,并且所述姿势矢量为所述绝对3D位置与所述相对3D位置的组合。
6.根据权利要求1-3中任意一项所述的方法,进一步包括:对叠加到所述用户骨架姿势上的预存视频帧进行非硬性变形变形校正以使得所述预存视频帧与所述输入帧中的用户骨架姿势匹配。
7.根据权利要求1-3中任意一项所述的方法,进一步包括:根据光流算法,在所述相邻的输出帧之间内插附加帧,以使得输出帧保持平滑。
8.根据权利要求1-3中任意一项所述的方法,进一步包括:根据光流算法移动,移动所述给定衣物的预存视频帧,从而与所述用户骨 架姿势匹配。
9.一种用于基于图像的虚拟服装拟合的设备,包括:
用于构建数据库的装置,所述数据库包括给定衣物的预存视频帧以及对应的预存骨架姿势;
用于接收输入视频的装置,所述输入视频包括包含用户骨架姿势的输入帧;
用于将所述用户骨架姿势与所述预存骨架姿势进行匹配,以在所述数据库中查找所述给定衣物的预存视频帧的装置;
用于将查找到的所述给定衣物的预存视频帧叠加到所述用户骨架姿势的装置;以及
用于在输出帧中呈现叠加有所述给定衣物的预存视频帧的用户骨架姿势的装置。
10.根据权利要求9所述的设备,其中,通过如下方式来将所述用户骨架姿势与所述预存骨架姿势进行匹配:
(1)通过以下方程来得到一维序列;
其中i是所述输入视频中的输入帧的索引,li是所述数据库中针对输入视频中第i个输入帧的预存视频帧的索引,D(li,i)是i所索引的输入帧中的用户骨架姿势的第一姿态矢量与li所索引的预存储视频帧的第二姿势矢量之间的欧几里得距离,如果li-1和li为相邻帧,则S(li-1,li)被设置为0,否则S(li-1,li)被设置为1,λ为常数,目标函数E为一维序列;
其中所述姿势矢量表示人体至少一个部位的3D位置;
(2)对所述目标函数E应用动态规划算法以确定所述一维序列的全局最优值,从而查找到所述给定衣物的预存视频帧。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210486639.6A CN103020961B (zh) | 2012-11-26 | 2012-11-26 | 基于图像的虚拟服装拟合的方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210486639.6A CN103020961B (zh) | 2012-11-26 | 2012-11-26 | 基于图像的虚拟服装拟合的方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103020961A true CN103020961A (zh) | 2013-04-03 |
CN103020961B CN103020961B (zh) | 2015-08-05 |
Family
ID=47969527
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210486639.6A Expired - Fee Related CN103020961B (zh) | 2012-11-26 | 2012-11-26 | 基于图像的虚拟服装拟合的方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103020961B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105843386A (zh) * | 2016-03-22 | 2016-08-10 | 宁波元鼎电子科技有限公司 | 一种商场虚拟试衣系统 |
CN105869217A (zh) * | 2016-03-31 | 2016-08-17 | 南京云创大数据科技股份有限公司 | 一种虚拟真人试衣方法 |
CN108055479A (zh) * | 2017-12-28 | 2018-05-18 | 暨南大学 | 一种动物行为视频的制作方法 |
CN108564058A (zh) * | 2018-04-25 | 2018-09-21 | 咪咕动漫有限公司 | 一种图像处理方法、装置及计算机可读存储介质 |
WO2019178853A1 (zh) * | 2018-03-23 | 2019-09-26 | 真玫智能科技(深圳)有限公司 | 一种实现走秀的方法及装置 |
CN110472462A (zh) * | 2018-05-11 | 2019-11-19 | 北京三星通信技术研究有限公司 | 姿态估计方法、基于姿态估计的处理方法及电子设备 |
CN111882380A (zh) * | 2020-06-30 | 2020-11-03 | 飞诺门阵(北京)科技有限公司 | 一种虚拟试衣的方法、装置、系统及电子设备 |
CN112258608A (zh) * | 2020-10-22 | 2021-01-22 | 北京中科深智科技有限公司 | 一种基于数据驱动的动画自动生成方法及系统 |
CN112950751A (zh) * | 2019-12-11 | 2021-06-11 | 阿里巴巴集团控股有限公司 | 姿态动作的展示方法及装置、存储介质、系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102298797A (zh) * | 2011-08-31 | 2011-12-28 | 深圳市美丽同盟科技有限公司 | 三维虚拟试衣的方法、装置及系统 |
US20120086783A1 (en) * | 2010-06-08 | 2012-04-12 | Raj Sareen | System and method for body scanning and avatar creation |
-
2012
- 2012-11-26 CN CN201210486639.6A patent/CN103020961B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120086783A1 (en) * | 2010-06-08 | 2012-04-12 | Raj Sareen | System and method for body scanning and avatar creation |
CN102298797A (zh) * | 2011-08-31 | 2011-12-28 | 深圳市美丽同盟科技有限公司 | 三维虚拟试衣的方法、装置及系统 |
Non-Patent Citations (1)
Title |
---|
FURKAN ISIKDOGAN ET AL.: "A Real Time Virtual Dressing Room Application using Kinect", 《CMPE537 COMPUTER VISION COURSE PROJECT》 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105843386A (zh) * | 2016-03-22 | 2016-08-10 | 宁波元鼎电子科技有限公司 | 一种商场虚拟试衣系统 |
CN105843386B (zh) * | 2016-03-22 | 2019-05-17 | 浙江诺和品牌管理有限公司 | 一种商场虚拟试衣系统 |
CN105869217A (zh) * | 2016-03-31 | 2016-08-17 | 南京云创大数据科技股份有限公司 | 一种虚拟真人试衣方法 |
CN105869217B (zh) * | 2016-03-31 | 2019-03-19 | 南京云创大数据科技股份有限公司 | 一种虚拟真人试衣方法 |
CN108055479A (zh) * | 2017-12-28 | 2018-05-18 | 暨南大学 | 一种动物行为视频的制作方法 |
WO2019178853A1 (zh) * | 2018-03-23 | 2019-09-26 | 真玫智能科技(深圳)有限公司 | 一种实现走秀的方法及装置 |
CN108564058A (zh) * | 2018-04-25 | 2018-09-21 | 咪咕动漫有限公司 | 一种图像处理方法、装置及计算机可读存储介质 |
CN108564058B (zh) * | 2018-04-25 | 2020-10-23 | 咪咕动漫有限公司 | 一种图像处理方法、装置及计算机可读存储介质 |
CN110472462A (zh) * | 2018-05-11 | 2019-11-19 | 北京三星通信技术研究有限公司 | 姿态估计方法、基于姿态估计的处理方法及电子设备 |
CN112950751A (zh) * | 2019-12-11 | 2021-06-11 | 阿里巴巴集团控股有限公司 | 姿态动作的展示方法及装置、存储介质、系统 |
CN112950751B (zh) * | 2019-12-11 | 2024-05-14 | 阿里巴巴集团控股有限公司 | 姿态动作的展示方法及装置、存储介质、系统 |
CN111882380A (zh) * | 2020-06-30 | 2020-11-03 | 飞诺门阵(北京)科技有限公司 | 一种虚拟试衣的方法、装置、系统及电子设备 |
CN112258608A (zh) * | 2020-10-22 | 2021-01-22 | 北京中科深智科技有限公司 | 一种基于数据驱动的动画自动生成方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103020961B (zh) | 2015-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103020961B (zh) | 基于图像的虚拟服装拟合的方法和设备 | |
US10699108B1 (en) | Body modeling and garment fitting using an electronic device | |
US10964078B2 (en) | System, device, and method of virtual dressing utilizing image processing, machine learning, and computer vision | |
US8818883B2 (en) | Personalized shopping avatar | |
US10542785B2 (en) | Method and system for virtually selecting clothing | |
CN108475439B (zh) | 三维模型生成系统、三维模型生成方法和记录介质 | |
JP4473754B2 (ja) | 仮想試着装置 | |
NL1037949C2 (nl) | Werkwijze voor het op afstand bepalen van kledingmaten. | |
CA2734143C (en) | Method and apparatus for estimating body shape | |
CN107209962A (zh) | 用于生成与3d衣服图像结合的人的3d虚拟身体模型的方法,以及相关的装置、系统和计算机程序产品 | |
CN113711269A (zh) | 用于确定身体量度和提供服装尺码推荐的方法和系统 | |
US10813715B1 (en) | Single image mobile device human body scanning and 3D model creation and analysis | |
WO2015129353A1 (ja) | 仮想試着システム、仮想試着プログラム、仮想試着方法および仮想試着プログラムを記憶した記憶媒体 | |
CN107590708B (zh) | 一种生成用户特定体形模型的方法和装置 | |
CN104021589A (zh) | 一种三维模拟试衣方法 | |
KR20150079585A (ko) | 일련의 2d 이미지로부터 정확한 신체 사이즈 치수를 도출하는 시스템 및 방법 | |
CN105556508A (zh) | 虚拟镜子的装置、系统和方法 | |
JP6980097B2 (ja) | サイズ測定システム | |
KR102202490B1 (ko) | 3차원 신체 모델 측정 장치 및 방법 | |
JP3780017B2 (ja) | 時系列画像解析装置及びその解析方法 | |
CN111401340B (zh) | 目标对象的运动检测方法和装置 | |
CN108921898A (zh) | 摄像机位姿确定方法、装置、电子设备和计算机可读介质 | |
EP3801201A1 (en) | Measuring surface distances on human bodies | |
Alemany et al. | Data management and processing of 3D body scans | |
CN112614185A (zh) | 地图构建方法及装置、存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150805 Termination date: 20171126 |
|
CF01 | Termination of patent right due to non-payment of annual fee |