实现虚拟试戴的方法和装置制造方法

文档序号:6549912阅读:227来源:国知局
实现虚拟试戴的方法和装置制造方法
【专利摘要】本发明提供一种实现虚拟试戴的方法和装置,能够使用户利用普通的图像采集装置例如手机上的或者计算机上的摄像头即可实现虚拟试戴。本发明的实现虚拟试戴的方法包括:对采集的初始帧进行人脸检测,在检测到人脸的情况下,在初始位置生成物品图像然后与所述初始帧叠加后输出,该初始位置与所述初始帧中的人脸的指定位置重叠;对当前帧中的人脸进行人脸姿势检测得到当前帧的人脸姿势;根据所述物品图像的当前位置和所述人脸姿势再次生成物品图像,并使该物品图像中的物品姿势与所述人脸姿势一致,然后将该物品图像与所述当前帧叠加后输出。
【专利说明】实现虚拟试戴的方法和装置

【技术领域】
[0001] 本发明涉及计算机技术,特别地涉及一种实现虚拟试戴的方法和装置。

【背景技术】
[0002] 随着电子商务的发展,网上购物成为越来越多的用户的选择。服饰作为主要的消 费品之一,也成为很多用户网购的目标。购买服饰时通常需要试穿试戴,于是虚拟试衣以及 虚拟试戴技术应运而生。
[0003] 目前的虚拟试戴技术主要有两类实现途径:
[0004] 1、人工合成模型试戴
[0005] 这种方法采用将虚拟商品佩戴在预先生成的人体或人体局部的模型上,给用户虚 拟试戴的效果。这种方式没有用户的实际身体信息,试戴效果不佳。
[0006] 2、特殊装置采集真实人体信息试戴
[0007] 该方法利用特殊装置例如景深传感器采集用户实际身体信息,形成人体或人体局 部的模型,供用户试戴。这种方式虽然获得了用户实际的身体信息,但是需要特殊装置,目 前通常在商家提供的专门场所才具备。一般用户仅具有普通的图像采集装置例如设置在手 机上的或计算机上的摄像头。


【发明内容】

[0008] 有鉴于此,本发明提供一种实现虚拟试戴的方法和装置,能够使用户利用普通的 图像采集装置例如手机上的或者计算机上的摄像头即可实现虚拟试戴。
[0009] 为实现上述目的,根据本发明的一个方面,提供了 一种实现虚拟试戴的方法。
[0010] 本发明的实现虚拟试戴的方法包括:对采集的初始帧进行人脸检测,在检测到人 脸的情况下,在初始位置生成物品图像然后与所述初始帧叠加后输出,该初始位置与所述 初始帧中的人脸的指定位置重叠;对当前帧中的人脸进行人脸姿势检测得到当前帧的人脸 姿势;根据所述物品图像的当前位置和所述人脸姿势再次生成物品图像,并使该物品图像 中的物品姿势与所述人脸姿势一致,然后将该物品图像与所述当前帧叠加后输出。
[0011] 可选地,所述对当前帧中的人脸进行人脸姿势检测得到当前帧的人脸姿势的步骤 包括:在所述初始帧中确定人脸图像上的多个特征点;针对每个特征点进行如下处理:对 特征点进行跟踪以确定该特征点在当前帧的位置,根据前一帧的人脸姿势,将所述初始帧 中的该特征点的邻域进行仿射变换以得到该邻域在当前帧中的投影区域,计算所述初始帧 中的所述邻域与当前帧中的所述投影区域之间的颜色偏移量并作为该特征点的跟踪偏差, 对于确定的所述多个特征点,选择跟踪偏差较小的多个特征点;根据所述跟踪偏差较小的 多个特征点在所述初始帧的位置以及在当前帧的位置确定当前帧的人脸姿势。
[0012] 可选地,所述对于所述多个特征点,选择跟踪偏差较小的多个特征点的步骤包括: 对于确定的所述多个特征点的跟踪偏差,以其中的最大值和最小值作为初始中心,按跟踪 偏差的大小进行聚类得到两类;选择所述两类中跟踪偏差较小的一类所对应的特征点。
[0013] 可选地,所述确定当前帧的人脸姿势的步骤之后,还包括:将所述两类中跟踪偏差 较大的一类所对应的特征点按照所述当前帧的人脸姿势投影到当前帧图像平面,以投影位 置代替这些特征点在当前帧的位置。
[0014] 可选地,所述对采集的初始帧进行人脸检测的步骤之前,还包括:在接收到复位指 令的情况下,将采集的当前帧作为所述初始帧;所述按跟踪偏差的大小进行聚类得到两类 的步骤之后,还包括:在所述跟踪偏差较小的一类特征点的数目占特征点总数目的比例小 于第一预设值的情况下,或者,在当前帧中采集到的特征点的数目占在前一帧采集到的特 征点总数目的比例小于第二预设值的情况下,输出提示信息,然后接收复位指令。
[0015] 可选地,所述物品图像为眼镜图像、头部饰品图像、或者颈部饰品图像。
[0016] 根据本发明的另一方面,提供了一种实现虚拟试戴的装置。
[0017] 本发明的实现虚拟试戴的装置包括:人脸检测模块,用于对采集的初始帧进行人 脸检测;第一输出模块,用于在所述人脸检测模块采集到人脸的情况下,在初始位置生成 物品图像然后与所述初始帧叠加后输出,该初始位置与所述初始帧中的人脸的指定位置重 叠;人脸姿势检测模块,用于对当前帧中的人脸进行人脸姿势检测得到当前帧的人脸姿势; 第二输出模块,用于根据所述物品图像的当前位置和所述人脸姿势再次生成物品图像,并 使该物品图像中的物品姿势与所述人脸姿势一致,然后将该物品图像与所述当前帧叠加后 输出。
[0018] 可选地,所述人脸姿势检测模块还用于:在所述初始帧中确定人脸图像上的多个 特征点;针对每个特征点进行如下处理:对特征点进行跟踪以确定该特征点在当前帧的位 置,根据前一帧的人脸姿势,将所述初始帧中的该特征点的邻域进行仿射变换以得到该邻 域在当前帧中的投影区域,计算所述初始帧中的所述邻域与当前帧中的所述投影区域之间 的颜色偏移量并作为该特征点的跟踪偏差,对于确定的所述多个特征点,选择跟踪偏差较 小的多个特征点;根据所述跟踪偏差较小的多个特征点在所述初始帧的位置以及在当前帧 的位置确定当前帧的人脸姿势。
[0019] 可选地,所述人脸姿势检测模块还用于:对于确定的所述多个特征点的跟踪偏差, 以其中的最大值和最小值作为初始中心,按跟踪偏差的大小进行聚类得到两类;选择所述 两类中跟踪偏差较小的一类所对应的特征点。
[0020] 可选地,还包括修改模块,用于在所述人脸姿势检测模块确定当前帧的人脸姿势 之后,将所述两类中跟踪偏差较大的一类所对应的特征点按照所述当前帧的人脸姿势投影 到当前帧图像平面,以投影位置代替这些特征点在当前帧的位置。
[0021] 可选地,还包括复位模块和提示模块,其中:所述复位模块用于接收复位指令,以 及在接收到复位指令的情况下,将采集的当前帧作为所述初始帧;所述提示模块用于在所 述人脸姿势检测模块按跟踪偏差的大小进行聚类得到两类之后,在所述跟踪偏差较小的一 类特征点的数目占特征点总数目的比例小于第一预设值的情况下,或者,在当前帧中采集 到的特征点的数目占在前一帧采集到的特征点总数目的比例小于第二预设值的情况下,输 出提示信息。
[0022] 可选地,所述物品图像为眼镜图像、头部饰品图像、或者颈部饰品图像。
[0023] 根据本发明的技术方案,通过检测各帧的人脸姿势,再按人脸姿势调整眼镜姿势, 能够使用户利用普通的图像采集装置就可完成虚拟试戴,并且用户可能转动头部以观察多 个角度的佩戴效果,具有比较高的真实性。

【专利附图】

【附图说明】
[0024]附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
[0025]图1是根据本发明实施例的实现虚拟试戴的方法的基本步骤的示意图;
[0026]图2是根据本发明实施例的人脸姿势检测的主要步骤的示意图;
[0027]图3是根据本发明实施例的采集到的特征点的示意图;
[0028]图4A和图4B分别是根据本发明实施例的在初始帧中和在当前帧中取纹理区域的 示意图;
[0029]图5是根据本发明实施例的实现虚拟试戴的装置的基本结构的示意图。

【具体实施方式】
[0030]以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种 细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识 至IJ,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同 样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0031 ]本发明实施例的虚拟试戴技术可应用于具有摄像头的手机,或者应用于连接或内 置摄像头的计算机,包括平板电脑。可实现眼镜、饰品等物品的试戴。本实施例中,以试戴 眼镜为例加以说明。使用时,用户选择试戴的眼镜,并将摄像头对准自己的面部,单击屏幕 或指定的键,此时摄像头采集用户头像并将眼镜呈现在用户头像的眼睛处。用户可以点击 屏幕中的眼镜并将其平移以进一步调整其与眼睛的位置关系。用户可以上下或左右转动颈 部以观看各个角度的眼镜佩戴效果。在该过程中,应用本实施例的技术,使屏幕上的眼镜图 像中的眼镜的姿势与人脸的姿势保持一致,从而使眼镜能够跟踪人脸移动,以实现眼镜固 定地佩戴在脸部。以下对本发明实施例的技术方案做出说明。
[0032]图1是根据本发明实施例的实现虚拟试戴的方法的基本步骤的示意图。如图i所 示,该方法主要包括如下的步骤S11至步骤S17。
[0033]步骤S11 :采集初始帧。可以是在摄像头启动的情况下自动开始采集或者根据用 户的操作指令开始采集。例如用户点击触摸屏,或者按下键盘上的任意或指定按钮。
[0034] 步骤S12 :对初始帧进行人脸检测。可采用现有的各种人脸检测方式,确认初始帧 中包含人脸并确定人脸的大致范围。该大致范围可用人脸的外接矩形来表示。
[0035]步骤S13 :生成眼镜图像并与初始帧叠加。具体生成哪个眼镜的图像,由用户进行 选择。例如用户点击屏幕中出现的多个眼镜图标中的一个。本实施例中,预先设定从人脸 范围的上端起占人脸范围上下总长的〇· 3?0· 35:1处的分点为眼睛位置。在本步骤中,将 眼镜图像与初始帧叠加时,要使眼镜图像的初始位置与设定的眼睛位置重叠。用户可以通 过拖动眼镜图像对呈现在人脸上的眼镜进行微调。
[0036] 步骤S14:采集当前帧。
[0037] 步骤S15 :对当前帧中的人脸进行人脸姿势检测。人脸姿势可采用现有的各种人 脸姿势(或称人脸姿态)检测技术来实现。人脸姿势可以用旋转参数R(r0,rl, r2)与平移 参数T(t0,tl,t2)共同确定。旋转参数与平移参数分别表示在空间直角坐标系中,相对于 初始位置,一个平面在三个坐标平面上的旋转角度以及在三个坐标轴上的平移长度。在本 实施例中,人脸图像的初始位置是初始帧中人脸图像的位置,这样,对于每个当前帧,是将 其与初始帧进行比较而得出当前帧中的人脸姿势,即上述旋转参数和平移参数。即初始帧 之后每一帧的人脸姿势是相对于初始帧中的人脸姿势而言形成的姿势。
[0038] 步骤S16 :根据眼镜图像的当前位置和步骤S15中检测到的人脸姿势再次生成眼 镜图像。在本步骤中,需使眼镜图像中的眼镜姿势与人脸姿势一致。因此要以眼镜图像的 当前位置为起始位置,按照人脸姿势的旋转参数和平移参数来确定眼镜图像中的眼镜的旋 转末值和平移末值然后据此生成眼镜图像。
[0039]步骤S17 :将步骤S16中生成的眼镜图像与当前帧叠加然后输出。此时输出的眼镜 图像因为经过步骤S16的处理,已经位于当前帧中的人脸上的眼睛附近。至本步骤,当前帧 上已经叠加了眼镜图像。对于此后采集的每一帧,同样按上述流程处理,即返回步骤S14。
[0040] 在当前帧上叠加了眼镜图像的情况下,用户即可看到如图3所示的状态。为示意 清晰,图中以黑白单线的人像30代替实际摄像头采集的人像。该人像佩戴有眼镜32。本方 案不仅可实现眼镜试戴,还可实现耳环、项链等饰品的试戴。对于试戴项链来说,采集的人 脸需包括其颈部。
[0041] 以下结合图2,对本实施例中采用的人脸姿势检测的方式加以说明。图2是根据本 发明实施例的人脸姿势检测的主要步骤的示意图。如图2所示,该方法主要包括如下的步 骤S20至步骤S29。
[0042] 步骤S20 :在初始帧中确定人脸图像上的多个特征点。因为在后续的步骤中要进 行特征点跟踪,因此本步骤中对于特征点的选择要考虑其便于跟踪。可以选择周围纹理丰 富的点或者颜色梯度较大的点,这样的点在人脸位置发生变化时仍比较便于被识别。可参 考如下文献:
[0043] Jean-Yves Bouguet, ^Pyramidal Implementation of the Lucas Kanade Feature Tracker Description of the algorithm,,) Technical report, Microprocessor Research Labs, Intel Corporation(1999);
[0044] Jianbo Shi Carlo Tomasi, "Good features to track",Proc. IEEE Comput· Soc. Conf. Comput. Vision and Pattern Recogn. , pages 593-600, 1994〇
[0045] 采集到的特征点如图3所示。图3是根据本发明实施例的采集到的特征点的示意 图。图3中的多个小圆圈例如圆圈31表示采集到的特征点。接下来对每个特征点确定其 纹理区域的偏差,该偏差实际上即为该特征点的跟踪误差。
[0046]步骤SW :取1个特征点作为当前特征点。可以对特征点进行编号,每次按编号顺 序来取。从步骤S22至步骤S24,是对一个特征点的处理。
[0047] 步骤S22 :对当前特征点进行跟踪以确定该特征点在当前帧的位置。可采用现有 的各种特征点跟踪方法,例如光流跟踪法、模板匹配法、粒子滤波法、特征点检测法等方式。 其中光流跟踪法可采用Lucas & Kanade方法。对于特征点跟踪的各类算法,在应用中都存 在一定误差,难以保证所有特征点都能被准确地在新的一帧中被定位,所以本实施例中,对 特征点的跟踪作出改进,对于每个特征点,比较其在初始帧时其一定范围的邻域(在后续 步骤的描述中称作纹理区域)与其在当前帧时相应范围的邻域的差异来确定该特征点是 否被跟踪得准确。即接下来的步骤中的处理方式。
[0048] 步骤S23 :根据前一帧的人脸姿势,将初始帧中的该特征点的邻域进行仿射变换 以得到该邻域在当前帧中的投影区域。因为两帧之间的人脸不可避免地存在或多或少的旋 转,所以最好是进行仿射变换以使两帧的局部区域具有可比性。参考图4A和图4B,图4A和 图4B分别是根据本发明实施例的在初始帧中和在当前帧中取纹理区域的示意图。一般是 以特征点为中心的矩形区域作为该特征点的纹理区域。如图4A和图4B所示,特征点45(图 中白色点)在初始帧41(图中示出帧的局部)中的纹理区域为矩形42,在当前帧43中的纹 理区域为梯形44。这是因为到当前帧时,人脸向左转过了一定角度,如果仍按矩形42的大 小在图4B中的特征点45周围取纹理区域,就会采集到过大的范围的像素甚至在另外一些 情况下会采集到背景图像。所以最好是作仿射变换,将特征点在初始帧中的纹理区域投影 到当前帧平面,使特征点在不同帧中的纹理区域具有可比性。这样,特征点在当前帧的纹理 区域实际上是上述投影区域。
[0049] 步骤S24 :计算当前特征点在初始帧中的纹理区域与该纹理区域在当前帧中的投 影区域之间的颜色偏移量。该颜色偏移量即为对该特征点的跟踪偏差。在计算时,将当前 特征点在初始帧中的纹理区域中的各个像素点的灰度值按像素的行或列连接成一个向量, 该向量长度即为该纹理区域的像素点总数量;另将上述投影区域的像素按行或列连接,再 按该总数量进行等分,在等分得到的每一格的灰度值取占比较大的像素的灰度值,所有格 的灰度值连接成另一个向量,其长度等于上述的总数量。计算这两个向量的距离得到一个 数值,该数值的大小即体现特征点的跟踪偏差。因为仅需得到跟踪偏差,所以采用灰度值比 采用RGB值得到的向量更短,有助于减少计算量。这里的向量距离可采用欧氏距离、马氏距 离、余弦距离、相关系统等来表示。本步骤之后进入步骤S25。
[0050] 步骤S25 :判断所有特征点是否都已处理。若是,则进入步骤S26,否则返回步骤 S21。
[0051] 步骤S26 :对所有特征点的跟踪偏差按大小聚为两类。可采用任意一种自聚类方 法来实现,例如K均值自聚类方法。计算时以所有特征点的跟踪偏差的最大值和最小值作 为初始中心从而聚类为跟踪偏差较大和较小两类。
[0052] 步骤S27 :根据步骤S26的聚类结果,取跟踪偏差较小的一类特征点作为有效特征 点。相应地,其他特征点作为无效特征点。
[0053] 步骤S28 :计算有效特征点从初始帧到当前帧的坐标变换关系。该坐标变换关系 由一个矩阵P表示。可采用现有的各种算法,例如Levenberg-Marquardt算法,可参考: Z. Zhang. VA flexible new technique for camera calibration . IEEE Transactions on Pattern Analysis and Machine Intelligence, 22(11):1330-1334,2000.还可以参考如下 文献中的算法:
[0054] F_Moren〇-Noguer,V. L印etit and P.Fua"EPnP:Efficient Perspective-n-Point Camera Pose Estimation"
[0055] X. S. Gao, X. -R. Hou, J. Tang, H. -F. Chang ^'Complete Solution Classification for the Perspective-Three-Point Problem"
[0056] 步骤S29 :根据步骤S28中的坐标变换关系和初始帧中的人脸姿势得出当前帧的 人脸姿势。即按上述的矩阵p和上述的旋转参数R、平移参数T计算得出当前帧(第η帧) 的旋转参数Rn和平移参数Τη。
[0057] 以上说明了当前帧中的人脸姿势的一种计算方式。在实现中还可以采用其他的人 脸姿势检测算法来得到当前帧中的人脸姿势。可以利用当前帧中的人脸姿势对上述的无效 特征点进行修正。即按上述的旋转参数Rn和平移参数Τη以及无效特征点在初始帧中的坐 标计算这些无效特征点的新坐标,将该新坐标替换它们在当前巾贞中的坐标。替换后的当前 帧中的所有特征点的坐标将用来进行下一帧的数据处理。这有助于提高下一帧处理的精 度。也可仅将当前帧中的有效特征值用来进行下一帧的处理,但这会减少可用的数据量。 [0058] 按上述方式,每一帧上都会叠加眼镜图像,使用户在转动头部的情况下仍可看到 眼镜是"佩戴"在脸上。如果用户头部动作比较剧烈,导致姿势变化过大,特别是在光线不 足的情况下这样动作,则难以准确跟踪特征点,屏幕中的眼镜也将脱离眼部的位置。在这种 情况下,可以提示用户进行复位操作。例如再次单击屏幕或指定的键,此时摄像头采集用户 头像并将眼镜呈现在用户头像的眼睛处。在这种情况下,用户的操作发出了复位指令,手机 或计算机接收复位指令后,将摄像头采集的当前帧作为上述的初始帧并按上面的方法进行 处理。在处理过程中,于步骤S27得到聚类的处理结果,可以对其进行判断,如果有效特征 点的比例小于一个设定值,例如60%,或者在本帧采集到的特征点占上一帧采集到的特征 点的比例小于一个设定值,例如30%,则输出提示信息,例如文本"单击屏幕以复位",提示 用户重新"试戴"眼镜。
[0059]图5是根据本发明实施例的实现虚拟试戴的装置的基本结构的示意图。该装置作 为软件可设置在手机或计算机中。如图5所示,实现虚拟试戴的装置50主要包括人脸检测 模块51、第一输出模块52、人脸姿势检测模块53、以及第二输出模块54。
[0060]人脸检测模块51用于对采集的初始帧进行人脸检测;第一输出模块52用于在人 脸检测模块51采集到人脸的情况下,在初始位置生成物品图像然后与所述初始帧叠加后 输出,该初始位置与初始帧中的人脸的指定位置重叠;人脸姿势检测模块53用于对当前 帧中的人脸进行人脸姿势检测得到当前帧的人脸姿势;第二输出模块54用于根据物品图 像的当前位置和人脸姿势再次生成物品图像,并使该物品图像中的物品姿势与人脸姿势一 致,然后将该物品图像与当前帧叠加后输出。
[0061]人脸姿势检测模块53还可用于:在初始帧中确定人脸图像上的多个特征点;针对 每个特征点进行如下处理:对特征点进行跟踪以确定该特征点在当前帧的位置,根据前一 帧的人脸姿势,将初始帧中的该特征点的邻域进行仿射变换以得到该邻域在当前帧中的投 影区域,计算初始帧中的邻域与当前帧中的投影区域之间的颜色偏移量并作为该特征点的 跟踪偏差;对于确定的多个特征点,选择跟踪偏差较小的多个特征点;根据跟踪偏差较小 的多个特征点在初始帧的位置以及在当前帧的位置确定当前帧的人脸姿势。
[0062]人脸姿势检测模块53还可用于:对于确定的多个特征点的跟踪偏差,以其中的最 大值和最小值作为初始中心,按跟踪偏差的大小进行聚类得到两类;选择上述两类中跟踪 偏差较小的一类所对应的特征点。
[0063]实现虚拟试戴的装置50还可包括修改模块(图中未示出),用于在所述人脸姿势 检测模块确定当前帧的人脸姿势之后,将所述两类中跟踪偏差较大的一类所对应的特征点 按照所述当前帧的人脸姿势投影到当前帧图像平面,以投影位置代替这些特征卢在当前帧 的位置。 一 ^ '
[0064]实现虚拟试戴的装置50还可包括复位模块和提示模块(图中未示出),其中:复 位模块用于接收复位指令,以及在接收到复位指令的情况下,将采集的当前帧作为初始帧; 提示模块用于在人脸姿势检测模块按跟踪偏差的大小进行聚类得到两类之后,在跟踪偏差 较小的一类特征点的数目占特征点总数目的比例大于第一预设值的情况下,或者,在当前 帧中采集到的特征点的数目占特征点总数目的比例小于第二预设值的情况下,输出提示信 息。
[0065]根据本发明实施例的技术方案,通过检测各帧的人脸姿势,再按人脸姿势调整眼 镜姿势,能够使用户利用普通的图像采集装置就可完成虚拟试戴,并且用户可能转动头部 以观察多个角度的佩戴效果,具有比较高的真实性。
[0066]以上结合具体实施例描述了本发明的基本原理,但是,需要指出的是,对本领域的 普通技术人员而言,能够理解本发明的方法和设备的全部或者任何步骤或者部件,可以在 任何计算装置(包括处理器、存储介质等)或者计算装置的网络中,以硬件、固件、软件或者 它们的组合加以实现,这是本领域普通技术人员在阅读了本发明的说明的情况下运用他们 的基本编程技能就能实现的。
[0067]因此,本发明的目的还可以通过在任何计算装置上运行一个程序或者一组程序来 实现。所述计算装置可以是公知的通用装置。因此,本发明的目的也可以仅仅通过提供包 含实现所述方法或者装置的程序代码的程序产品来实现。也就是说,这样的程序产品也构 成本发明,并且存储有这样的程序产品的存储介质也构成本发明。显然,所述存储介质可以 是任何公知的存储介质或者将来开发出的任何存储介质。
[0068] 还需要指出的是,在本发明的装置和方法中,显然,各部件或各步骤是可以分解和 /或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。并且,执行上述系列 处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序 执行。某些步骤可以并行或彼此独立地执行。
[0069]上述【具体实施方式】,并不构成对本发明保护范围的限制。本领域技术人员应该明 白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何 在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围 之内。
【权利要求】
1. 一种实现虚拟试戴的方法,其特征在于,包括: 对采集的初始帧进行人脸检测,在检测到人脸的情况下,在初始位置生成物品图像然 后与所述初始帧叠加后输出,该初始位置与所述初始帧中的人脸的指定位置重叠; 对当前帧中的人脸进行人脸姿势检测得到当前帧的人脸姿势; 根据所述物品图像的当前位置和所述人脸姿势再次生成物品图像,并使该物品图像中 的物品姿势与所述人脸姿势一致,然后将该物品图像与所述当前帧叠加后输出。
2. 根据权利要求1所述的方法,其特征在于,所述对当前帧中的人脸进行人脸姿势检 测得到当前帧的人脸姿势的步骤包括: 在所述初始帧中确定人脸图像上的多个特征点; 针对每个特征点进行如下处理: 对特征点进行跟踪以确定该特征点在当前帧的位置, 根据前一帧的人脸姿势,将所述初始帧中的该特征点的邻域进行仿射变换以得到该邻 域在当前帧中的投影区域, 计算所述初始帧中的所述邻域与当前帧中的所述投影区域之间的颜色偏移量并作为 该特征点的跟踪偏差, 对于确定的所述多个特征点,选择跟踪偏差较小的多个特征点; 根据所述跟踪偏差较小的多个特征点在所述初始帧的位置以及在当前帧的位置确定 当前帧的人脸姿势。
3. 根据权利要求2所述的方法,其特征在于,所述对于所述多个特征点,选择跟踪偏差 较小的多个特征点的步骤包括: 对于确定的所述多个特征点的跟踪偏差,以其中的最大值和最小值作为初始中心,按 跟踪偏差的大小进行聚类得到两类; 选择所述两类中跟踪偏差较小的一类所对应的特征点。
4. 根据权利要求3所述的方法,其特征在于,所述确定当前帧的人脸姿势的步骤之后, 还包括: 将所述两类中跟踪偏差较大的一类所对应的特征点按照所述当前帧的人脸姿势投影 到当前帧图像平面,以投影位置代替这些特征点在当前帧的位置。
5. 根据权利要求3所述的方法,其特征在于, 所述对采集的初始帧进行人脸检测的步骤之前,还包括:在接收到复位指令的情况下, 将采集的当前帧作为所述初始帧; 所述按跟踪偏差的大小进行聚类得到两类的步骤之后,还包括: 在所述跟踪偏差较小的一类特征点的数目占特征点总数目的比例小于第一预设值的 情况下,或者,在当前帧中釆集到的特征点的数目占在前一帧采集到的特征点总数目的比 例小于第二预设值的情况下,输出提示信息,然后接收复位指令。
6. 根据权利要求1至5中任一项所述的方法,其特征在于,所述物品图像为眼镜图像、 头部饰品图像、或者颈部饰品图像。
7. -种实现虚拟试戴的装置,其特征在于,包括: 人脸检测模块,用于对采集的初始帧进行人脸检测; 第一输出模块,用于在所述人脸检测模块采集到人脸的情况下,在初始位置生成物品 图像然后与所述初始帧叠加后输出,该初始位置与所述初始帧中的人脸的指定位置重叠; 人脸姿势检测模块,用于对当前帧中的人脸进行人脸姿势检测得到当前帧的人脸姿 势; 第二输出模块,用于根据所述物品图像的当前位置和所述人脸姿势再次生成物品图 像,并使该物品图像中的物品姿势与所述人脸姿势一致,然后将该物品图像与所述当前帧 置加后输出。
8. 根据权利要求7所述的装置,其特征在于,所述人脸姿势检测模块还用于: 在所述初始帧中确定人脸图像上的多个特征点; 针对每个特征点进行如下处理: 对特征点进行跟踪以确定该特征点在当前帧的位置, 根据前一帧的人脸姿势,将所述初始帧中的该特征点的邻域进行仿射变换以得到该邻 域在当前帧中的投影区域, 计算所述初始帧中的所述邻域与当前帧中的所述投影区域之间的颜色偏移量并作为 该特征点的跟踪偏差, 对于确定的所述多个特征点,选择跟踪偏差较小的多个特征点; 根据所述跟踪偏差较小的多个特征点在所述初始帧的位置以及在当前帧的位置确定 当前帧的人脸姿势。
9. 根据权利要求8所述的装置,其特征在于,所述人脸姿势检测模块还用于: 对于确定的所述多个特征点的跟踪偏差,以其中的最大值和最小值作为初始中心,按 跟踪偏差的大小进行聚类得到两类; 选择所述两类中跟踪偏差较小的一类所对应的特征点。
10. 根据权利要求9所述的装置,其特征在于,还包括修改模块,用于在所述人脸姿势 检测模块确定当前帧的人脸姿势之后,将所述两类中跟踪偏差较大的一类所对应的特征点 按照所述当前帧的人脸姿势投影到当前帧图像平面,以投影位置代替这些特征点在当前帧 的位置。
11. 根据权利要求9所述的装置,其特征在于,还包括复位模块和提示模块,其中: 所述复位模块用于接收复位指令,以及在接收到复位指令的情况下,将采集的当前帧 作为所述初始帧; 所述提示模块用于在所述人脸姿势检测模块按跟踪偏差的大小进行聚类得到两类之 后,在所述跟踪偏差较小的一类特征点的数目占特征点总数目的比例小于第一预设值的情 况下,或者,在当前帧中采集到的特征点的数目占在前一帧采集到的特征点总数目的比例 小于第二预设值的情况下,输出提示信息。
12. 根据权利要求7至11中任一项所述的装置,其特征在于,所述物品图像为眼镜图 像、头部饰品图像、或者颈部饰品图像。
【文档编号】G06K9/00GK104217350SQ201410270449
【公开日】2014年12月17日 申请日期:2014年6月17日 优先权日:2014年6月17日
【发明者】张斯聪 申请人:北京京东尚科信息技术有限公司, 北京京东世纪贸易有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1