发明内容
本发明解决的问题是提供一种非接触模拟式虚拟试妆方法及其系统,能够提高营销效果和广告效应,防止公共卫生问题,提高试妆效果。
为了解决上述问题,本发明提出了一种非接触式虚拟试妆方法,包括以下步骤:
确定或更新试妆图像,分析采集的图像,确定合适的面部图像作为试妆图像;
试妆动作行为分析,对试妆人员进行动作行为分析,确定虚拟试妆处理参数和动作;
基于图像处理的虚拟上妆,对试妆图像进行图像处理,实现虚拟上妆;
相应地,本发明还提供了一种非接触式虚拟试妆装置,包括:
试妆图像确定模块,分析采集的图像,确定合适的面部图像作为试妆图像;
虚拟试妆处理参数和动作确定模块,分析对试妆动作行为,确定处理参数和动作;
图像处理上妆模块,基于虚拟试妆参数和动作,对待处理试妆图像进行图像处理,实现虚拟上妆;
因此,本发明通过分析识别模拟的实际化妆行为动作,实现基于图像处理的非接触模拟式虚拟化妆,能够提高营销效果和广告效应,提高用户试妆体验,避免公共卫生问题和设备被损坏问题,并有一定的趣味性。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
请参阅图1至图9。需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
图1示出了本发明的非接触模拟式虚拟试妆的一个实施例。一种非接触模拟式虚拟试妆实施例10,包括:
摄像单元101:采集图像,作为待处理图像;
显示单元102:显示图像或者结果;
处理单元103:处理设备;
试妆品104:供用户选择的试妆品;
试妆人员105:试妆人员。
根据本发明的方法,其分析计算处理主要是通过处理单元103来完成。其中,该处理单元设备包括但不限于:1)用户设备;2)网络设备。所述用户设备包括但不限于计算机、智能手机、PDA等;所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(Cloud Computing)的由大量计算机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。试妆人员105面向摄像单元101进行化妆品104选择和化妆动作模拟;处理单元103通过摄像单元101采集试妆人员图像;设备103对采集的图像进行处理,识别分析试妆人员105的动作行为,据此对图像中试妆人员的人脸部分进行试妆处理,通过显示单元102进行显示输出;试妆人员105根据系统反馈通过化妆动作不断优化,直到自己满意。
需要说明的是,所述虚拟试妆系统中摄像单元101不限于仅使用一个摄像头,例如,可以使用两个摄像头,其中一个摄像头采集试妆人员的动作行为,另外一个摄像头采集试妆人员的面部图像。
如图2所示,给出了上述实施例1所述的虚拟试妆实施例的处理单元103的一个实施装置。在这个实施装置中,装置系统103包括处理器201和图像输入接口207。在该实施系统中,也包括了处理器201可访问的存储设备202和203。这些存储设备可以是随机存储单元RAM,也可以是程序存储器等,例如硬盘。处理器201从程序存储器加载程序并运行,从而能够输入和处理图像。此外,处理器201也可以连接到显示设备204,以及一些输入输出人机交互设备205,如鼠标、键盘等。一些其他接口设备208也可以与处理器201相连接,实现一些其他处理功能。接口206可以实现一些图像或者视频的输出,而电源209为装置系统提供电源。
图3示出了本发明的虚拟试妆方法的流程图。在步骤S1中,所述非接触模拟式虚拟试妆系统分析采集的图像,根据人脸特征检测试妆人员的面部图像,选取合适的人脸图像作为试妆图像,试妆图像由步骤S3进行处理;试妆图像根据试妆人员的离开动作进行更新。
图4是表示步骤S1处理的详细步骤的流程图。首先步骤301根据人脸特征检测待处理图像的人脸区域。步骤302判断是否存在试妆图像或者是否有试妆图像的更新指令。其中试妆图像的更新指令来自于步骤S2。如果试妆图像不存在或者存在更新指令,则执行步骤303。步骤303根据人脸特征检测合适人脸图像作为试妆图像,只有所有的人脸特征都满足,该人脸区域才能作为合适的试妆人员的试妆图像。
其中,上述人脸特征包括人脸轮廓、嘴巴、左眼、右眼,但不限于此,为了精确地确定人脸,也可以再包括其他的特征:左眉与右眉、鼻子。
例如,人脸特征包括人脸轮廓、嘴巴、左眼、右眼、鼻子。
基于步骤301和步骤302,如果已存在试妆图像并且不存在试妆图像更新指令,则执行步骤304,继续使用现有的试妆图像;否则执行步骤303更新试妆图像。其中,试妆图像可以是整幅图像,也可以是包含人脸区域的部分图像。试妆图像为待虚拟化妆处理的静态图像,采用静态图像的优点在于可以很大简化运算,并有利于试妆人员观察化妆效果。
在步骤S1处理后,步骤S2分析试妆人员的动作行为,确定虚拟化妆处理参数和操作。试妆人员模拟实际的化妆过程的动作,步骤S2分析这些动作行为,从而确定虚拟化妆所对应的处理。例如,试妆人员当用手指指向某一化妆品时,步骤S2分析该行为,确定用户选择该化妆品,从而根据所选择化妆品的特性(如色彩等)确定相应的虚拟化妆参数。
又例如,试妆人员选择一款化妆品后,用手指在脸上做出涂抹动作,步骤S2分析该动作的动作范围和时间长度,这些对应于化妆品的涂抹的范围、均匀度,以及色彩的深浅等。
这些模拟动作另外一个好处是,让用户了解到使用某一款化妆品达到满意所需要的化妆过程,掌握该产品的使用过程。
图5列举了步骤S2所述的化妆动作,包括
(1)分析试妆人员指向某一化妆品的动作,确定相应化妆参数;
(2)分析识别试妆人员在脸部的涂抹动作,检测涂抹范围和涂抹时间;
(3)分析识别试妆人员的洗脸动作,用来清除图像的虚拟化妆;
(4)检测试妆人员的离开动作,判断是否更新试妆图像,重新开始。
其中,所述的试妆人员指向某一化妆品的动作为试妆人员用手指向虚拟试妆系统台面上的某一化妆品,步骤S2根据指向的化妆产品确定后续步骤S3所需要的化妆品参数。
其中,上述的用手可以为用手指或者用手掌。例如,试妆人员用食指指向台面上的一个化妆产品。
在图5中,所述的试妆人员在脸部的涂抹动作包括手指或者手掌上下来回移动、左右来回移动、顺时针圆周运动或者逆时针圆周运动。图6给出了涂抹动作的四种涂抹样例。步骤402计算涂抹动作的动作范围St和动作时间Tt。涂抹范围St以下公式计算:
St=(Sc∪St-1)∩Sskim
其中,Sc为当前时刻手指头或者手掌中心部分的范围,St-1为上一时刻的动作范围,Sskin为试妆图像上的人脸皮肤区域。∪和∩分别是并运算和交运算。值得注意的是S0为手指头或者手掌中心第一次位于人脸区域时的涂抹范围。如果手指头或者手掌中心离开了人脸区域,则涂抹范围St将重新开始计算,这样保证了动作的连续性。
涂抹时间Tt以下公式计算
Tt=Tc-T0
其中,Tc为当前时刻,T0为手指头或者手掌中心第一次位于人脸区域时的时刻。
其中,所述的手指头或者手掌中心部分为预设的中心在手指头或者手掌中心的一个小范围。例如该小范围是一个半径为r的圆,处于圆内的所有点都属于Sc。
值得注意的是,涂抹范围St也可以根据化妆品的类型直接决定,例如,试妆人员选择了粉底产品,那么涂抹范围St就可为试妆图像中人脸区域的皮肤部分Sskin。上述实施依赖于系统的设置。
在图5所示中,步骤403分析识别试妆人员的洗脸动作,用来清赊图像的虚拟化妆,恢复试妆图像的未着妆状态。如图7所示,当用双手捂下脸,步骤403即识别为洗脸动作,从而发出虚拟化妆的清除指令。
在图5所示,步骤404检测试妆人员离开动作,判断是否更新试妆图像和重新初始化。如果试妆人员离开,检测范围内没有人员存在,或者在一个预设时间段Tr内没有检测到人脸,则系统重新开始进行采集试妆图像和初始化虚拟试妆的参数。其中,预设时间段Tr不能太短,防止试妆人员偶尔转头或者遮挡造成人脸未能检测到,一个典型值为5秒。步骤404将更新试妆图像的指令发送到步骤S1,并初始化下一步骤S3。
值得注意的是,所述步骤403的洗脸动作,当检测出该特定动作后,尽管人脸可能被遮挡一定时间,但动作时间一般小于预设时间段Tr,并且该特定动作检测优于步骤404的执行,因此如果检测到洗脸动作,可不执行步骤404。
接着,在步骤S3中,所述虚拟试妆系统基于虚拟化妆处理参数和动作对所述的试妆图像进行图像处理,进行虚拟着妆。
图8是表示步骤S3的处理的详细步骤的流程图。首先步骤501将步骤S2获得的涂抹范围映射到待处理的试妆图像上的涂抹范围。由于试妆图像为步骤S1获取的静止的一幅图像,步骤S2获得的涂抹范围为分析当前图像计算得到的在当前图像上的涂抹范围,二者存在一定的偏差。这主要是因为试妆人员的人脸区域会产生一定的移动,这会造成当前图像上的人脸区域相对于试妆图像上的人脸区域产生一定旋转、缩放和平移。为了后续的处理,需要当前图像的人脸区域和试妆图像的人脸区域对齐。这里,利用人脸特征实现对齐,通过二者的特征之间的对应关系,采用仿射变换模型计算所产生的旋转角度、缩放尺度和平移距离。但通常情况下,试妆人员的人脸在试妆过程中不会产生大的旋转角度和缩放尺度,因此为了计算便利和提高处理速度,仅计算当前人脸特征相对于试妆图像的人脸特征的平移距离,从而可以快速计算当前图像的涂抹范围在试妆图像的涂抹范围,在这种假设下,涂抹范围的计算公式按照以下公式计算
其中,(xc,yc)为当前图像的涂抹范围St的坐标点,(xr,yr)为在试妆图像的涂抹范围Sr的坐标点,(Dx,Dy)为涂抹范围St相对于涂抹范围Sr的偏移。偏移(Dx,Dy)可以通过不同的人脸特征的偏移进行计算。例如,根据人脸轮廓特征计算轮廓的中心点的相对偏移,即为当前图像上的涂抹范围相对于试妆图像的相对偏移,从而可以计算在试妆图像的涂抹范围。又例如,根据多个人脸特征的相对偏移的平均值作为当前图像上的涂抹范围相对于试妆图像的相对偏移。
接着,步骤502基于试妆图像的涂抹范围、涂抹时间、所选的化妆品参数信息,对试妆图像进行图像处理,实现虚拟上妆效果。其中涂抹范围决定了待处理的人脸区域的范围,涂抹时问决定了化妆品在涂抹范围内的厚度、均匀度。与实际化妆过程相似,涂抹时间越长,则厚度越薄,化妆色彩越淡,并且越均匀。所选的化妆品参数决定了化妆品的色系、使用范围等特性,例如,眼影产品将限制化妆品用在眼睛周围,而粉底则决定了可以应用在人脸的所有皮肤区域。又例如,唇膏的使用范围将被限制在嘴唇区域。这些参数和特性一般是预知的,系统可以预置这些化妆品的参数。试妆人员可以根据效果继续模拟化妆动作直到效果满意为止。
图9示出了本发明的虚拟试妆处理系统示意图。所述虚拟试妆处理系统2实现了图3所示的本发明的非接触模拟式虚拟试妆方法。该系统包括:试妆图像确定模块601、虚拟试妆处理参数和动作确定模块602和图像处理上妆模块603。根据图3所述的步骤S1,所述试妆图像确定模块601分析采集的图像,根据人脸特征检测试妆人员的面部图像,确定合适的图像作为试妆图像,图像处理上妆模块603对试妆图像进行处理;试妆图像根据试妆人员的相应的动作行为进行更新。虚拟试妆处理参数和动作确定模块602分析试妆人员的试妆的动作行为,确定虚拟化妆处理参数和操作,试妆人员模拟实际化妆过程,模块602分析该过程中的动作,从而确定虚拟化妆所对应的处理。图像处理上妆模块603基于虚拟化妆处理参数和动作对所述的试妆图像进行图像处理,进行虚拟着妆,实现虚拟上妆效果。试妆人员可以根据效果继续模拟化妆动作直到试妆效果满意为止。
综上所述,本发明的非接触模拟式虚拟试妆方法及系统通过相机采集图像,根据人脸特征检测合适的试妆图像进行虚拟试妆处理,从而避免直接在动态图像上进行虚拟试妆处理造成的不稳定性和误差,使用静态的试妆图像便于试妆人员观察试妆前后的效果;基于采集的图像,通过分析试妆人员的与实际化妆过程相似的模拟化妆动作行为,产生相应的产品选择、化妆处理、清除化妆、重新初始化等虚拟动作指令,这些非接触式动作可以有效地避免公共卫生问题和系统被损坏问题,此外这样模拟的化妆动作更具有真实感,让试妆人员熟悉相应产品的使用过程和相应的效果,提高体验性;再有,这样模拟的实际化妆动作可以让试妆人员直接使用已知的实际化妆动作,降低学习新的控制指令的难度,具有很好的易用性;还有,试妆图像的涂抹范围的计算通过只考虑平移运动,可有效地降低计算复杂性,提高处理速度;基于所述的化妆品参数、涂抹范围、涂抹时间,对试妆图像进行局部或者全局图像处理,实现模拟化妆,比较好地考虑到实际化妆的特点,实现均匀度、色彩等随着动作时间的渐变处理,本法简单有效,且运算量小。所以,本发明有效克服了现有技术中的不足而具高度产业利用价值,能够提高营销效果和广告效应,提高用户购物体验,并有一定的趣味性。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人员都可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。