HK1202690B - 实现虚拟试戴的方法和装置 - Google Patents
实现虚拟试戴的方法和装置 Download PDFInfo
- Publication number
- HK1202690B HK1202690B HK15103138.0A HK15103138A HK1202690B HK 1202690 B HK1202690 B HK 1202690B HK 15103138 A HK15103138 A HK 15103138A HK 1202690 B HK1202690 B HK 1202690B
- Authority
- HK
- Hong Kong
- Prior art keywords
- face
- current frame
- frame
- image
- initial
- Prior art date
Links
Description
技术领域
本发明涉及计算机技术,特别地涉及一种实现虚拟试戴的方法和装置。
背景技术
随着电子商务的发展,网上购物成为越来越多的用户的选择。服饰作为主要的消费品之一,也成为很多用户网购的目标。购买服饰时通常需要试穿试戴,于是虚拟试衣以及虚拟试戴技术应运而生。
目前的虚拟试戴技术主要有两类实现途径:
1、人工合成模型试戴
这种方法采用将虚拟商品佩戴在预先生成的人体或人体局部的模型上,给用户虚拟试戴的效果。这种方式没有用户的实际身体信息,试戴效果不佳。
2、特殊装置采集真实人体信息试戴
该方法利用特殊装置例如景深传感器采集用户实际身体信息,形成人体或人体局部的模型,供用户试戴。这种方式虽然获得了用户实际的身体信息,但是需要特殊装置,目前通常在商家提供的专门场所才具备。一般用户仅具有普通的图像采集装置例如设置在手机上的或计算机上的摄像头。
发明内容
有鉴于此,本发明提供一种实现虚拟试戴的方法和装置,能够使用户利用普通的图像采集装置例如手机上的或者计算机上的摄像头即可实现虚拟试戴。
为实现上述目的,根据本发明的一个方面,提供了一种实现虚拟试戴的方法。
本发明的实现虚拟试戴的方法包括:对采集的初始帧进行人脸检测,在检测到人脸的情况下,在初始位置生成物品图像然后与所述初始帧叠加后输出,该初始位置与所述初始帧中的人脸范围的指定位置重叠;对当前帧中的人脸进行人脸姿势检测得到当前帧的人脸姿势;根据所述物品图像的当前位置和所述人脸姿势再次生成物品图像,并使该物品图像中的物品姿势与所述人脸姿势一致,然后将该物品图像与所述当前帧叠加后输出。
可选地,所述对当前帧中的人脸进行人脸姿势检测得到当前帧的人脸姿势的步骤包括:在所述初始帧中确定人脸图像上的多个特征点;针对每个特征点进行如下处理:对特征点进行跟踪以确定该特征点在当前帧的位置,根据前一帧的人脸姿势,将所述初始帧中的该特征点的邻域进行仿射变换以得到该邻域在当前帧中的投影区域,计算所述初始帧中的所述邻域与当前帧中的所述投影区域之间的颜色偏移量并作为该特征点的跟踪偏差,对于确定的所述多个特征点,选择跟踪偏差较小的多个特征点;根据所述跟踪偏差较小的多个特征点在所述初始帧的位置以及在当前帧的位置确定当前帧的人脸姿势。
可选地,所述对于所述多个特征点,选择跟踪偏差较小的多个特征点的步骤包括:对于确定的所述多个特征点的跟踪偏差,以其中的最大值和最小值作为初始中心,按跟踪偏差的大小进行聚类得到两类;选择所述两类中跟踪偏差较小的一类所对应的特征点。
可选地,所述确定当前帧的人脸姿势的步骤之后,还包括:将所述两类中跟踪偏差较大的一类所对应的特征点按照所述当前帧的人脸姿势投影到当前帧图像平面,以投影位置代替这些特征点在当前帧的位置。
可选地,所述对采集的初始帧进行人脸检测的步骤之前,还包括:在接收到复位指令的情况下,将采集的当前帧作为所述初始帧;所述按跟踪偏差的大小进行聚类得到两类的步骤之后,还包括:在所述跟踪偏差较小的一类特征点的数目占特征点总数目的比例小于第一预设值的情况下,或者,在当前帧中采集到的特征点的数目占在前一帧采集到的特征点总数目的比例小于第二预设值的情况下,输出提示信息,然后接收复位指令。
可选地,所述物品图像为眼镜图像、头部饰品图像、或者颈部饰品图像。
根据本发明的另一方面,提供了一种实现虚拟试戴的装置。
本发明的实现虚拟试戴的装置包括:人脸检测模块,用于对采集的初始帧进行人脸检测;第一输出模块,用于在所述人脸检测模块采集到人脸的情况下,在初始位置生成物品图像然后与所述初始帧叠加后输出,该初始位置与所述初始帧中的人脸范围的指定位置重叠;人脸姿势检测模块,用于对当前帧中的人脸进行人脸姿势检测得到当前帧的人脸姿势;第二输出模块,用于根据所述物品图像的当前位置和所述人脸姿势再次生成物品图像,并使该物品图像中的物品姿势与所述人脸姿势一致,然后将该物品图像与所述当前帧叠加后输出。
可选地,所述人脸姿势检测模块还用于:在所述初始帧中确定人脸图像上的多个特征点;针对每个特征点进行如下处理:对特征点进行跟踪以确定该特征点在当前帧的位置,根据前一帧的人脸姿势,将所述初始帧中的该特征点的邻域进行仿射变换以得到该邻域在当前帧中的投影区域,计算所述初始帧中的所述邻域与当前帧中的所述投影区域之间的颜色偏移量并作为该特征点的跟踪偏差,对于确定的所述多个特征点,选择跟踪偏差较小的多个特征点;根据所述跟踪偏差较小的多个特征点在所述初始帧的位置以及在当前帧的位置确定当前帧的人脸姿势。
可选地,所述人脸姿势检测模块还用于:对于确定的所述多个特征点的跟踪偏差,以其中的最大值和最小值作为初始中心,按跟踪偏差的大小进行聚类得到两类;选择所述两类中跟踪偏差较小的一类所对应的特征点。
可选地,还包括修改模块,用于在所述人脸姿势检测模块确定当前帧的人脸姿势之后,将所述两类中跟踪偏差较大的一类所对应的特征点按照所述当前帧的人脸姿势投影到当前帧图像平面,以投影位置代替这些特征点在当前帧的位置。
可选地,还包括复位模块和提示模块,其中:所述复位模块用于接收复位指令,以及在接收到复位指令的情况下,将采集的当前帧作为所述初始帧;所述提示模块用于在所述人脸姿势检测模块按跟踪偏差的大小进行聚类得到两类之后,在所述跟踪偏差较小的一类特征点的数目占特征点总数目的比例小于第一预设值的情况下,或者,在当前帧中采集到的特征点的数目占在前一帧采集到的特征点总数目的比例小于第二预设值的情况下,输出提示信息。
可选地,所述物品图像为眼镜图像、头部饰品图像、或者颈部饰品图像。
根据本发明的技术方案,通过检测各帧的人脸姿势,再按人脸姿势调整眼镜姿势,能够使用户利用普通的图像采集装置就可完成虚拟试戴,并且用户可能转动头部以观察多个角度的佩戴效果,具有比较高的真实性。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的实现虚拟试戴的方法的基本步骤的示意图;
图2是根据本发明实施例的人脸姿势检测的主要步骤的示意图;
图3是根据本发明实施例的采集到的特征点的示意图;
图4A和图4B分别是根据本发明实施例的在初始帧中和在当前帧中取纹理区域的示意图;
图5是根据本发明实施例的实现虚拟试戴的装置的基本结构的示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本发明实施例的虚拟试戴技术可应用于具有摄像头的手机,或者应用于连接或内置摄像头的计算机,包括平板电脑。可实现眼镜、饰品等物品的试戴。本实施例中,以试戴眼镜为例加以说明。使用时,用户选择试戴的眼镜,并将摄像头对准自己的面部,单击屏幕或指定的键,此时摄像头采集用户头像并将眼镜呈现在用户头像的眼睛处。用户可以点击屏幕中的眼镜并将其平移以进一步调整其与眼睛的位置关系。用户可以上下或左右转动颈部以观看各个角度的眼镜佩戴效果。在该过程中,应用本实施例的技术,使屏幕上的眼镜图像中的眼镜的姿势与人脸的姿势保持一致,从而使眼镜能够跟踪人脸移动,以实现眼镜固定地佩戴在脸部。以下对本发明实施例的技术方案做出说明。
图1是根据本发明实施例的实现虚拟试戴的方法的基本步骤的示意图。如图1所示,该方法主要包括如下的步骤S11至步骤S17。
步骤S11:采集初始帧。可以是在摄像头启动的情况下自动开始采集或者根据用户的操作指令开始采集。例如用户点击触摸屏,或者按下键盘上的任意或指定按钮。
步骤S12:对初始帧进行人脸检测。可采用现有的各种人脸检测方式,确认初始帧中包含人脸并确定人脸的大致范围。该大致范围可用人脸的外接矩形来表示。
步骤S13:生成眼镜图像并与初始帧叠加。具体生成哪个眼镜的图像,由用户进行选择。例如用户点击屏幕中出现的多个眼镜图标中的一个。本实施例中,预先设定从人脸范围的上端起占人脸范围上下总长的0.3~0.35:1处的分点为眼睛位置。在本步骤中,将眼镜图像与初始帧叠加时,要使眼镜图像的初始位置与设定的眼睛位置重叠。用户可以通过拖动眼镜图像对呈现在人脸上的眼镜进行微调。
步骤S14:采集当前帧。
步骤S15:对当前帧中的人脸进行人脸姿势检测。人脸姿势可采用现有的各种人脸姿势(或称人脸姿态)检测技术来实现。人脸姿势可以用旋转参数R(r0,r1,r2)与平移参数T(t0,t1,t2)共同确定。旋转参数与平移参数分别表示在空间直角坐标系中,相对于初始位置,一个平面在三个坐标平面上的旋转角度以及在三个坐标轴上的平移长度。在本实施例中,人脸图像的初始位置是初始帧中人脸图像的位置,这样,对于每个当前帧,是将其与初始帧进行比较而得出当前帧中的人脸姿势,即上述旋转参数和平移参数。即初始帧之后每一帧的人脸姿势是相对于初始帧中的人脸姿势而言形成的姿势。
步骤S16:根据眼镜图像的当前位置和步骤S15中检测到的人脸姿势再次生成眼镜图像。在本步骤中,需使眼镜图像中的眼镜姿势与人脸姿势一致。因此要以眼镜图像的当前位置为起始位置,按照人脸姿势的旋转参数和平移参数来确定眼镜图像中的眼镜的旋转末值和平移末值然后据此生成眼镜图像。
步骤S17:将步骤S16中生成的眼镜图像与当前帧叠加然后输出。此时输出的眼镜图像因为经过步骤S 16的处理,已经位于当前帧中的人脸上的眼睛附近。至本步骤,当前帧上已经叠加了眼镜图像。对于此后采集的每一帧,同样按上述流程处理,即返回步骤S14。
在当前帧上叠加了眼镜图像的情况下,用户即可看到如图3所示的状态。为示意清晰,图中以黑白单线的人像30代替实际摄像头采集的人像。该人像佩戴有眼镜32。本方案不仅可实现眼镜试戴,还可实现耳环、项链等饰品的试戴。对于试戴项链来说,采集的人脸需包括其颈部。
以下结合图2,对本实施例中采用的人脸姿势检测的方式加以说明。图2是根据本发明实施例的人脸姿势检测的主要步骤的示意图。如图2所示,该方法主要包括如下的步骤S20至步骤S29。
步骤S20:在初始帧中确定人脸图像上的多个特征点。因为在后续的步骤中要进行特征点跟踪,因此本步骤中对于特征点的选择要考虑其便于跟踪。可以选择周围纹理丰富的点或者颜色梯度较大的点,这样的点在人脸位置发生变化时仍比较便于被识别。可参考如下文献:
Jean-Yves Bouguet,“Pyramidal Implementation of the Lucas KanadeFeature Tracker Description of the algorithm”,Technical report,MicroprocessorResearch Labs,Intel Corporation(1999);
Jianbo Shi Carlo Tomasi,“Good features to track”,Proc.IEEEComput.Soc.Conf.Comput.Vision and Pattern Recogn.,pages593-600,1994。
采集到的特征点如图3所示。图3是根据本发明实施例的采集到的特征点的示意图。图3中的多个小圆圈例如圆圈31表示采集到的特征点。接下来对每个特征点确定其纹理区域的偏差,该偏差实际上即为该特征点的跟踪误差。
步骤S21:取1个特征点作为当前特征点。可以对特征点进行编号,每次按编号顺序来取。从步骤S22至步骤S24,是对一个特征点的处理。
步骤S22:对当前特征点进行跟踪以确定该特征点在当前帧的位置。可采用现有的各种特征点跟踪方法,例如光流跟踪法、模板匹配法、粒子滤波法、特征点检测法等方式。其中光流跟踪法可采用Lucas&Kanade方法。对于特征点跟踪的各类算法,在应用中都存在一定误差,难以保证所有特征点都能被准确地在新的一帧中被定位,所以本实施例中,对特征点的跟踪作出改进,对于每个特征点,比较其在初始帧时其一定范围的邻域(在后续步骤的描述中称作纹理区域)与其在当前帧时相应范围的邻域的差异来确定该特征点是否被跟踪得准确。即接下来的步骤中的处理方式。
步骤S23:根据前一帧的人脸姿势,将初始帧中的该特征点的邻域进行仿射变换以得到该邻域在当前帧中的投影区域。因为两帧之间的人脸不可避免地存在或多或少的旋转,所以最好是进行仿射变换以使两帧的局部区域具有可比性。参考图4A和图4B,图4A和图4B分别是根据本发明实施例的在初始帧中和在当前帧中取纹理区域的示意图。一般是以特征点为中心的矩形区域作为该特征点的纹理区域。如图4A和图4B所示,特征点45(图中白色点)在初始帧41(图中示出帧的局部)中的纹理区域为矩形42,在当前帧43中的纹理区域为梯形44。这是因为到当前帧时,人脸向左转过了一定角度,如果仍按矩形42的大小在图4B中的特征点45周围取纹理区域,就会采集到过大的范围的像素甚至在另外一些情况下会采集到背景图像。所以最好是作仿射变换,将特征点在初始帧中的纹理区域投影到当前帧平面,使特征点在不同帧中的纹理区域具有可比性。这样,特征点在当前帧的纹理区域实际上是上述投影区域。
步骤S24:计算当前特征点在初始帧中的纹理区域与该纹理区域在当前帧中的投影区域之间的颜色偏移量。该颜色偏移量即为对该特征点的跟踪偏差。在计算时,将当前特征点在初始帧中的纹理区域中的各个像素点的灰度值按像素的行或列连接成一个向量,该向量长度即为该纹理区域的像素点总数量;另将上述投影区域的像素按行或列连接,再按该总数量进行等分,在等分得到的每一格的灰度值取占比较大的像素的灰度值,所有格的灰度值连接成另一个向量,其长度等于上述的总数量。计算这两个向量的距离得到一个数值,该数值的大小即体现特征点的跟踪偏差。因为仅需得到跟踪偏差,所以采用灰度值比采用RGB值得到的向量更短,有助于减少计算量。这里的向量距离可采用欧氏距离、马氏距离、余弦距离、相关系统等来表示。本步骤之后进入步骤S25。
步骤S25:判断所有特征点是否都已处理。若是,则进入步骤S26,否则返回步骤S21。
步骤S26:对所有特征点的跟踪偏差按大小聚为两类。可采用任意一种自聚类方法来实现,例如K均值自聚类方法。计算时以所有特征点的跟踪偏差的最大值和最小值作为初始中心从而聚类为跟踪偏差较大和较小两类。
步骤S27:根据步骤S26的聚类结果,取跟踪偏差较小的一类特征点作为有效特征点。相应地,其他特征点作为无效特征点。
步骤S28:计算有效特征点从初始帧到当前帧的坐标变换关系。该坐标变换关系由一个矩阵P表示。可采用现有的各种算法,例如Levenberg-Marquardt算法,可参考:Z.Zhang."A flexible new technique for camera calibration".IEEE Transactionson Pattern Analysis and Machine Intelligence,22(11):1330-1334,2000.还可以参考如下文献中的算法:
F.Moreno-Noguer,V.Lepetit and P.Fua"EPnP:Efficient Perspective-n-Point Camera Pose Estimation"
X.S.Gao,X.-R.Hou,J.Tang,H.-F.Chang;"Complete Solution Classificationfor the Perspective-Three-Point Problem"
步骤S29:根据步骤S28中的坐标变换关系和初始帧中的人脸姿势得出当前帧的人脸姿势。即按上述的矩阵P和上述的旋转参数R、平移参数T计算得出当前帧(第n帧)的旋转参数Rn和平移参数Tn。
以上说明了当前帧中的人脸姿势的一种计算方式。在实现中还可以采用其他的人脸姿势检测算法来得到当前帧中的人脸姿势。可以利用当前帧中的人脸姿势对上述的无效特征点进行修正。即按上述的旋转参数Rn和平移参数Tn以及无效特征点在初始帧中的坐标计算这些无效特征点的新坐标,将该新坐标替换它们在当前帧中的坐标。替换后的当前帧中的所有特征点的坐标将用来进行下一帧的数据处理。这有助于提高下一帧处理的精度。也可仅将当前帧中的有效特征值用来进行下一帧的处理,但这会减少可用的数据量。
按上述方式,每一帧上都会叠加眼镜图像,使用户在转动头部的情况下仍可看到眼镜是“佩戴”在脸上。如果用户头部动作比较剧烈,导致姿势变化过大,特别是在光线不足的情况下这样动作,则难以准确跟踪特征点,屏幕中的眼镜也将脱离眼部的位置。在这种情况下,可以提示用户进行复位操作。例如再次单击屏幕或指定的键,此时摄像头采集用户头像并将眼镜呈现在用户头像的眼睛处。在这种情况下,用户的操作发出了复位指令,手机或计算机接收复位指令后,将摄像头采集的当前帧作为上述的初始帧并按上面的方法进行处理。在处理过程中,于步骤S27得到聚类的处理结果,可以对其进行判断,如果有效特征点的比例小于一个设定值,例如60%,或者在本帧采集到的特征点占上一帧采集到的特征点的比例小于一个设定值,例如30%,则输出提示信息,例如文本“单击屏幕以复位”,提示用户重新“试戴”眼镜。
图5是根据本发明实施例的实现虚拟试戴的装置的基本结构的示意图。该装置作为软件可设置在手机或计算机中。如图5所示,实现虚拟试戴的装置50主要包括人脸检测模块51、第一输出模块52、人脸姿势检测模块53、以及第二输出模块54。
人脸检测模块51用于对采集的初始帧进行人脸检测;第一输出模块52用于在人脸检测模块51采集到人脸的情况下,在初始位置生成物品图像然后与所述初始帧叠加后输出,该初始位置与初始帧中的人脸的指定位置重叠;人脸姿势检测模块53用于对当前帧中的人脸进行人脸姿势检测得到当前帧的人脸姿势;第二输出模块54用于根据物品图像的当前位置和人脸姿势再次生成物品图像,并使该物品图像中的物品姿势与人脸姿势一致,然后将该物品图像与当前帧叠加后输出。
人脸姿势检测模块53还可用于:在初始帧中确定人脸图像上的多个特征点;针对每个特征点进行如下处理:对特征点进行跟踪以确定该特征点在当前帧的位置,根据前一帧的人脸姿势,将初始帧中的该特征点的邻域进行仿射变换以得到该邻域在当前帧中的投影区域,计算初始帧中的邻域与当前帧中的投影区域之间的颜色偏移量并作为该特征点的跟踪偏差;对于确定的多个特征点,选择跟踪偏差较小的多个特征点;根据跟踪偏差较小的多个特征点在初始帧的位置以及在当前帧的位置确定当前帧的人脸姿势。
人脸姿势检测模块53还可用于:对于确定的多个特征点的跟踪偏差,以其中的最大值和最小值作为初始中心,按跟踪偏差的大小进行聚类得到两类;选择上述两类中跟踪偏差较小的一类所对应的特征点。
实现虚拟试戴的装置50还可包括修改模块(图中未示出),用于在所述人脸姿势检测模块确定当前帧的人脸姿势之后,将所述两类中跟踪偏差较大的一类所对应的特征点按照所述当前帧的人脸姿势投影到当前帧图像平面,以投影位置代替这些特征点在当前帧的位置。
实现虚拟试戴的装置50还可包括复位模块和提示模块(图中未示出),其中:复位模块用于接收复位指令,以及在接收到复位指令的情况下,将采集的当前帧作为初始帧;提示模块用于在人脸姿势检测模块按跟踪偏差的大小进行聚类得到两类之后,在跟踪偏差较小的一类特征点的数目占特征点总数目的比例大于第一预设值的情况下,或者,在当前帧中采集到的特征点的数目占特征点总数目的比例小于第二预设值的情况下,输出提示信息。
根据本发明实施例的技术方案,通过检测各帧的人脸姿势,再按人脸姿势调整眼镜姿势,能够使用户利用普通的图像采集装置就可完成虚拟试戴,并且用户可能转动头部以观察多个角度的佩戴效果,具有比较高的真实性。
以上结合具体实施例描述了本发明的基本原理,但是,需要指出的是,对本领域的普通技术人员而言,能够理解本发明的方法和设备的全部或者任何步骤或者部件,可以在任何计算装置(包括处理器、存储介质等)或者计算装置的网络中,以硬件、固件、软件或者它们的组合加以实现,这是本领域普通技术人员在阅读了本发明的说明的情况下运用他们的基本编程技能就能实现的。
因此,本发明的目的还可以通过在任何计算装置上运行一个程序或者一组程序来实现。所述计算装置可以是公知的通用装置。因此,本发明的目的也可以仅仅通过提供包含实现所述方法或者装置的程序代码的程序产品来实现。也就是说,这样的程序产品也构成本发明,并且存储有这样的程序产品的存储介质也构成本发明。显然,所述存储介质可以是任何公知的存储介质或者将来开发出的任何存储介质。
还需要指出的是,在本发明的装置和方法中,显然,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行。某些步骤可以并行或彼此独立地执行。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (10)
1.一种实现虚拟试戴的方法,其特征在于,包括:
对采集的初始帧进行人脸检测,在检测到人脸的情况下,在初始位置生成物品图像然后与所述初始帧叠加后输出,该初始位置与所述初始帧中的人脸范围的指定位置重叠;
对当前帧中的人脸进行人脸姿势检测得到当前帧的人脸姿势;
根据所述物品图像的当前位置和所述人脸姿势再次生成物品图像,并使该物品图像中的物品姿势与所述人脸姿势一致,然后将该物品图像与所述当前帧叠加后输出;
所述对当前帧中的人脸进行人脸姿势检测得到当前帧的人脸姿势的步骤包括:
在所述初始帧中确定人脸图像上的多个特征点;
针对每个特征点进行如下处理:
对特征点进行跟踪以确定该特征点在当前帧的位置,
根据前一帧的人脸姿势,将所述初始帧中的该特征点的邻域进行仿射变换以得到该邻域在当前帧中的投影区域,
计算所述初始帧中的所述邻域与当前帧中的所述投影区域之间的颜色偏移量并作为该特征点的跟踪偏差,
对于确定的所述多个特征点,选择跟踪偏差较小的多个特征点;
根据所述跟踪偏差较小的多个特征点在所述初始帧的位置以及在当前帧的位置确定当前帧的人脸姿势。
2.根据权利要求1所述的方法,其特征在于,所述对于所述多个特征点,选择跟踪偏差较小的多个特征点的步骤包括:
对于确定的所述多个特征点的跟踪偏差,以其中的最大值和最小值作为初始中心,按跟踪偏差的大小进行聚类得到两类;
选择所述两类中跟踪偏差较小的一类所对应的特征点。
3.根据权利要求2所述的方法,其特征在于,所述确定当前帧的人脸姿势的步骤之后,还包括:
将所述两类中跟踪偏差较大的一类所对应的特征点按照所述当前帧的人脸姿势投影到当前帧图像平面,以投影位置代替这些特征点在当前帧的位置。
4.根据权利要求2所述的方法,其特征在于,
所述对采集的初始帧进行人脸检测的步骤之前,还包括:在接收到复位指令的情况下,将采集的当前帧作为所述初始帧;
所述按跟踪偏差的大小进行聚类得到两类的步骤之后,还包括:
在所述跟踪偏差较小的一类特征点的数目占特征点总数目的比例小于第一预设值的情况下,或者,在当前帧中采集到的特征点的数目占在前一帧采集到的特征点总数目的比例小于第二预设值的情况下,输出提示信息,然后接收复位指令。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述物品图像为眼镜图像、头部饰品图像、或者颈部饰品图像。
6.一种实现虚拟试戴的装置,其特征在于,包括:
人脸检测模块,用于对采集的初始帧进行人脸检测;
第一输出模块,用于在所述人脸检测模块采集到人脸的情况下,在初始位置生成物品图像然后与所述初始帧叠加后输出,该初始位置与所述初始帧中的人脸范围的指定位置重叠;
人脸姿势检测模块,用于对当前帧中的人脸进行人脸姿势检测得到当前帧的人脸姿势;
第二输出模块,用于根据所述物品图像的当前位置和所述人脸姿势再次生成物品图像,并使该物品图像中的物品姿势与所述人脸姿势一致,然后将该物品图像与所述当前帧叠加后输出;
所述人脸姿势检测模块还用于:
在所述初始帧中确定人脸图像上的多个特征点;
针对每个特征点进行如下处理:
对特征点进行跟踪以确定该特征点在当前帧的位置,
根据前一帧的人脸姿势,将所述初始帧中的该特征点的邻域进行仿射变换以得到该邻域在当前帧中的投影区域,
计算所述初始帧中的所述邻域与当前帧中的所述投影区域之间的颜色偏移量并作为该特征点的跟踪偏差,
对于确定的所述多个特征点,选择跟踪偏差较小的多个特征点;
根据所述跟踪偏差较小的多个特征点在所述初始帧的位置以及在当前帧的位置确定当前帧的人脸姿势。
7.根据权利要求6所述的装置,其特征在于,所述人脸姿势检测模块还用于:
对于确定的所述多个特征点的跟踪偏差,以其中的最大值和最小值作为初始中心,按跟踪偏差的大小进行聚类得到两类;
选择所述两类中跟踪偏差较小的一类所对应的特征点。
8.根据权利要求7所述的装置,其特征在于,还包括修改模块,用于在所述人脸姿势检测模块确定当前帧的人脸姿势之后,将所述两类中跟踪偏差较大的一类所对应的特征点按照所述当前帧的人脸姿势投影到当前帧图像平面,以投影位置代替这些特征点在当前帧的位置。
9.根据权利要求7所述的装置,其特征在于,还包括复位模块和提示模块,其中:
所述复位模块用于接收复位指令,以及在接收到复位指令的情况下,将采集的当前帧作为所述初始帧;
所述提示模块用于在所述人脸姿势检测模块按跟踪偏差的大小进行聚类得到两类之后,在所述跟踪偏差较小的一类特征点的数目占特征点总数目的比例小于第一预设值的情况下,或者,在当前帧中采集到的特征点的数目占在前一帧采集到的特征点总数目的比例小于第二预设值的情况下,输出提示信息。
10.根据权利要求6至9中任一项所述的装置,其特征在于,所述物品图像为眼镜图像、头部饰品图像、或者颈部饰品图像。
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201410270449.XA CN104217350B (zh) | 2014-06-17 | 2014-06-17 | 实现虚拟试戴的方法和装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| HK1202690A1 HK1202690A1 (zh) | 2015-10-02 |
| HK1202690B true HK1202690B (zh) | 2018-01-19 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI554951B (zh) | 實現虛擬試戴的方法和裝置 | |
| US11861070B2 (en) | Hand gestures for animating and controlling virtual and graphical elements | |
| EP3028177B1 (en) | Devices, systems and methods of virtualizing a mirror | |
| US8976160B2 (en) | User interface and authentication for a virtual mirror | |
| US8982110B2 (en) | Method for image transformation, augmented reality, and teleperence | |
| US8970569B2 (en) | Devices, systems and methods of virtualizing a mirror | |
| US10740918B2 (en) | Adaptive simultaneous localization and mapping (SLAM) using world-facing cameras in virtual, augmented, and mixed reality (xR) applications | |
| US20160080662A1 (en) | Methods for extracting objects from digital images and for performing color change on the object | |
| US11047691B2 (en) | Simultaneous localization and mapping (SLAM) compensation for gesture recognition in virtual, augmented, and mixed reality (xR) applications | |
| Wang et al. | Real time eye gaze tracking with kinect | |
| US20130169530A1 (en) | Human eye controlled computer mouse interface | |
| US20090116766A1 (en) | Method and apparatus for augmenting a mirror with information related to the mirrored contents and motion | |
| US10146306B2 (en) | Gaze position detection apparatus and gaze position detection method | |
| Sun et al. | Real-time gaze estimation with online calibration | |
| US10789778B1 (en) | Systems and methods for displaying augmented-reality objects | |
| WO2017084319A1 (zh) | 手势识别方法及虚拟现实显示输出设备 | |
| JP6656572B1 (ja) | 情報処理装置、表示制御方法および表示制御プログラム | |
| CN117372475A (zh) | 眼球追踪方法和电子设备 | |
| Arar et al. | Towards convenient calibration for cross-ratio based gaze estimation | |
| Arar et al. | Robust gaze estimation based on adaptive fusion of multiple cameras | |
| Huang et al. | 3D virtual-reality interaction system | |
| WO2019045719A1 (en) | CARTOGRAPHY OF DIRECTION OF LOOK | |
| HK1202690B (zh) | 实现虚拟试戴的方法和装置 | |
| Brito et al. | Recycling a landmark dataset for real-time facial capture and animation with low cost hmd integrated cameras | |
| CN113011932A (zh) | 试衣镜系统、图像处理方法、装置及设备 |