一种3D眼镜互动试戴系统及方法与流程

文档序号:11951924阅读:488来源:国知局
一种3D眼镜互动试戴系统及方法与流程

本发明涉及数字处理技术领域,更具体地说,涉及一种3D眼镜互动试戴系统及方法。



背景技术:

目前基于3D眼镜试戴的方式有以下几种方式:第一,通过微软发行的Kinect体感设备和微软发布的Kinect程序二次开发包,以红外检测的方式,达到人体移动的时候红外检测点实时的进行移动,再将虚拟的眼镜模型与已经检测到的红外点进行绑定,达到位置的同步移动;第二,基于平面图片的眼镜虚拟试戴,通过用户上传自己的照片来实现眼镜虚拟试戴,通过对平面图形的面部识别算法来识别用户上传的照片中的人脸部分,从而将眼镜图片与之叠加;第三,基于Total Immersion SDK的眼镜虚拟试戴,通过已经开发并封装好的SDK进行二次技术开发,进而到达较好的眼镜试戴效果和性能。

然而,目前3D眼镜试戴均存在如下缺陷:试戴互动性差,例如,不能实时根据用户的需求而进行试戴,多用户之间互动试戴,缺乏娱乐性。



技术实现要素:

本发明要解决的技术问题在于,针对现有3D眼镜试戴的上述不足,提供一种3D眼镜互动试戴系统及方法。

本发明解决上述问题所采用的的技术方案是提供了一种3D眼镜互动试戴方法,包括以下步骤:

实时获取所拍摄范围内的当前图像;

当检测到当前图像中仅存在一个用户的人脸图像时,根据所述人脸图像获得符合所述人脸图像的至少一副3D眼镜,并将其中一副3D眼镜显示在所述人脸图像上以使用户试戴3D眼镜;

在检测到用户的人脸摇动第一预定角度时,根据所述第一预定角度时切换3D眼镜以使用户试戴不同的3D眼镜。

其中,还包括:

当检测到当前图像中存在至少一个用户的人脸图像时,根据其中一个用户的人脸图像获得符合所述人脸图像的3D眼镜,并将3D眼镜显示在所述人脸图像上以使用户试戴所述3D眼镜;

在检测到已试戴3D眼镜的用户的人脸向一预设方向转动第二预定角度时,将3D眼镜显示在未试戴3D眼镜的其中一个用户的人脸图像上,以使不同用户试戴3D眼镜。

其中,所述根据所述人脸图像获取符合所述人脸图像的一副3D眼镜的步骤包括:

实时获取所述人脸图像;

将所述人脸图像进行处理以获取所述人脸图像的2D特征点组,并根据所述2D特征点组识别所述人脸图像中是否包含人脸;

在识别到所述人脸图像中包含人脸时,根据所述2D特征点组计算人头的三维位置和姿态,以及左右外眼角之间的距离;

根据所述人头的三维位置和姿态以及左右外眼角之间的距离,确认眼镜3D模型的位置、姿态和缩放比例,并对所述眼镜3D模型进行渲染以得到所述眼镜3D模型的2D投影;

将所述2D投影与所述人脸图像进行融合以得到3D眼镜。

其中,所述根据所述2D特征点组计算人头的三维位置和姿态,以及左右外眼角之间的距离的步骤包括:

将所述2D特征点组通过ASM算法进行定位以得到关键特征点组的三维像素坐标;

根据所述关键特征点组的三维像素坐标计算所述人头的三维位置和姿态,以及左右外眼角之间的距离。

其中,所述将3D眼镜显示在所述人脸图像上以使用户试戴所述3D眼镜的步骤包括:

实时检测所述人脸图像相对于预定坐标的位置;

在检测到所述人脸图像相对于预定坐标而移动预设距离时,将3D眼镜相对于预定坐标而移动对应的预设距离以使3D眼镜显示在所述人脸图像上,进而使用户试戴3D眼镜。

为解决上述技术问题,本发明采用的另一技术方案是提供一种3D眼镜互动试戴系统,包括:

摄像头,用于实时获取所拍摄范围内的当前图像;

处理设备,用于当检测到当前图像中仅存在一个用户的人脸图像时,根据所述人脸图像获得符合所述人脸图像的至少一副3D眼镜;

显示设备,用于将其中一副3D眼镜显示在所述人脸图像上以使用户试戴3D眼镜;

所述处理设备进一步用于在检测到用户的人脸摇动到第一预定角度时,根据所述第一预定角度切换3D眼镜以使用户试戴不同的3D眼镜。

其中,所述处理设备还用于当检测到存在当前图像中至少一个用户的人脸图像时,根据其中一个用户的人脸图像获得符合所述人脸图像的3D眼镜;

所述显示设备还用于将3D眼镜显示在所述人脸图像上以使用户试戴所述3D眼镜;

所述处理设备进一步用于在检测到已试戴3D眼镜的用户的人脸向一预设方向转动第二预定角度时,将3D眼镜显示在未试戴3D眼镜的其中一个用户的人脸图像上,以使不同用户试戴3D眼镜。

其中,所述处理设备包括:

识别模块,用于在获取到人脸图像后,将所述人脸图像进行处理以获取所述人脸图像的2D特征点组,并根据所述2D特征点组识别所述人脸图像中是否包含人脸

跟踪模块,用于在识别到所述人脸图像中包含人脸时,根据所述2D特征点组计算人头的三维位置和姿态,以及左右外眼角之间的距离;

渲染模块,用于根据所述人头的三维位置和姿态以及左右外眼角之间的距离,确认眼镜3D模型的位置、姿态和缩放比例,并对所述眼镜3D模型进行渲染以得到所述眼镜3D模型的2D投影;

融合模块,用于将所述2D投影与所述人脸图像进行融合以得到3D眼镜。

其中,所述跟踪模块具体用于执行以下动作:

将所述2D特征点组通过ASM算法进行定位以得到关键特征点组的三维像素坐标;

根据所述关键特征点组的三维像素坐标计算所述人头的三维位置和姿态,以及左右外眼角之间的距离。

其中,所述处理设备还用于实时检测所述人脸图像相对于预定坐标的位置,并在在检测到所述人脸图像相对于预定坐标而移动预设距离时,将3D眼镜相对于预定坐标而移动对应的预设距离;

所述显示设备还用于将相对于预定坐标而移动对应的预设距离的3D眼镜进行显示以使3D眼镜显示在所述人脸图像上,进而使用户试戴3D眼镜。

实施本发明,具有以下有益效果:在仅存在一个用户的人脸图像时,根据人脸图像获取3D眼镜,并通过人脸摇动第一预定角度来进行3D眼镜的切换,以实现用户试戴不同的3D眼镜,进而达到互动试戴不同的3D眼镜的效果。同时,在存在多个用户的人脸图像时,选取其中一个用户的人脸图像来获取3D眼镜以试戴3D眼镜,通过检测该已试戴3D眼镜的用户的人脸是否向预设方向转动第二预定角度来使不同的用户试戴3D眼镜,进而到达不同用户之间互动试戴的效果,增强娱乐性。另外,用户试戴的3D眼镜随着用户的人脸的移动而移动,实时性强。

附图说明

图1是本发明的3D眼镜互动试戴方法第一实施例的流程图。

图2是本发明的根据人脸图像获得符合该人脸图像的一副3D眼镜实施例的流程图。

图3a和3b是本发明的3D眼镜互动试戴的一个应用场景的示意图。

图4是本发明的3D眼镜互动试戴方法第二实施例的流程图。

图5a和5b是本发明的3D眼镜互动试戴的另一个应用场景的示意图。

图6是本发明的3D眼镜互动试戴系统实施例的结构示意图。

图7是本发明的处理设备实施例的结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

如图1所示,是本发明的3D眼镜互动试戴方法第一实施例的流程图,包括以下步骤:

S102、当检测到仅存在一个用户的人脸图像时,根据所述人脸图像获得符合所述人脸图像的至少一副3D眼镜,并将其中一副3D眼镜显示在所述人脸图像上以使用户试戴3D眼镜;

在此步骤之前,实时获取所拍摄的范围内的当前图像,进而检测是否存在用户的人脸图像,可通过摄像头实时拍摄当前图像,再通过分析当前图像来实时检测当前是否存在用户的人脸图像。在检测到仅存在一个用户的人脸图像时,根据人脸图像获得符合该人脸图像的至少一副3D眼镜,将其中一副3D眼镜显示在该人脸图像上,即该用户试戴3D眼镜,其中在获得符合该人脸图像的两幅3D眼镜时,两幅3D眼镜的类型或者风格不相同,而3D眼镜的类型或者风格可根据人脸图像中人头的位置和姿态来确定。

具体地,如图2所示,根据人脸图像获得符合该人脸图像的一副3D眼镜的步骤包括:

在步骤S201中,实时获取该人脸图像。在此步骤中,摄像头实时获取所拍摄的范围内的当前图像,进而可从当前图像中获取人脸图像。

随后,在步骤S202中,将该人脸图像进行处理以获取该人脸图像的2D特征点组;在此步骤中,通过AdaBoost算法将该人脸图像进行处理得到2D特征点组。

在步骤S203中,根据2D特征点组识别该人脸图像中是否包含人脸;若识别到该人脸图像中包含人脸,则执行步骤S204,否则,执行步骤S201。在此步骤中,2D特征点组包括眼眉、眼睛、鼻子或嘴巴等的特征点时,则识别该人脸图像中包含人脸。

在步骤S204中,在识别到该人脸图像中包含人脸时,根据2D特征点组计算人头的三维位置和姿态,以及左右外眼角之间的距离;在此步骤中,具体地,首先,将2D特征点组通过ASM算法进行定位以得到关键特征点组的三维像素坐标;然后,再根据关键特征点组的三维像素坐标计算所述人头的三维位置和姿态,以及左右外眼角之间的距离。关键特征点组包括面部的86个特征点。

随后,在步骤S205中,根据步骤S204中计算得到的人头的三维位置和姿态以及左右外眼角之间的距离,确认眼镜3D模型的位置、姿态和缩放比例,并对该眼镜3D模型进行渲染以得到所述眼镜3D模型的2D投影。在此步骤中,通过投射投影法对该眼镜3D模型进行渲染。

最后,在步骤S206中,将上述2D投影与该人脸图像进行融合以得到3D眼镜。在此步骤中,通过融合算法将上述2D投影与该人脸图像进行融合。在本发明中,通过上述步骤,帧率可达到27FPS,可实现实时试戴。

具体地,将3D眼镜显示在人脸图像上以使用户试戴所述3D眼镜的步骤包括:首先,实时检测人脸图像相对于预定坐标的位置;预定坐标可以为当前图像的中心点的坐标,也可以为其他位置点的坐标。其次,在检测到人脸图像相对于预定坐标而移动预设距离时,将3D眼镜相对于预定坐标而移动对应的预设距离以使3D眼镜显示在人脸图像上,进而使用户试戴3D眼镜。用户的移动引起人脸图像的移动,根据人脸图像的移动预设距离,相应地3D眼镜也移动对应的预设距离,进而实现用户与3D眼镜之间的实时试戴。

S104、在检测到用户的人脸摇动第一预定角度时,根据所述第一预定角度切换3D眼镜以使用户试戴不同的3D眼镜。

当人脸摇动第一预定角度时,此时根据该第一预定角度来切换3D眼镜,该第一预定角度为自定义的角度,若人脸摇动的角度大于或等于第一预定角度时,切换3D眼镜,而若人脸摇动的角度小于第一预定角度时,不进行3D眼镜的切换,在本实施例中,根据第一预定角度切换的3D眼镜,可根据人脸摇动该第一预设角度时人脸的位置和姿态来确定切换后的3D眼镜。如图3a所示,为人脸摇动前试戴一3D眼镜的情景,如图3b所示,为人脸摇动第一预定角度后试戴另一3D眼镜的情景。用户通过这种互动试戴可更好选择适合自己的3D眼镜。

在本实施例中,通过实时检测当前是否存在用户的人脸图像,在仅存在一个用户的人脸图像时,根据人脸图像获取3D眼镜,并通过人脸摇动第一预定角度来进行3D眼镜的切换,以实现用户试戴不同的3D眼镜,进而达到互动试戴不同的3D眼镜的效果。

如图4所示,是本发明的3D眼镜互动试戴方法第二实施例的流程图,本实施例的方法与上述实施例中的方法的区别在于,该方法还包括以下步骤:

S106、当检测到存在至少一个用户的人脸图像时,根据其中一个用户的人脸图像获得符合该人脸图像的3D眼镜,并将3D眼镜显示在该人脸图像上以使用户试戴3D眼镜;

在此步骤中,在检测到当前存在多个用户的人脸图像时,可根据预定的顺序选取其中一个用户的人脸图像,根据该用户的人脸图像获得3D眼镜,进而该用户试戴3D眼镜,当然,也可随机选取用户的人脸图像。

S108、在检测到已试戴3D眼镜的用户的人脸向一预设方向转动第二预定角度时,将3D眼镜显示在未试戴3D眼镜的其中一个用户的人脸图像上,以使不同用户试戴3D眼镜。

在此步骤中,第二预定角度为自定义的角度,预设方向可以是向左,也可以是向右,当然,该预设方向可以根据未试戴3D眼镜的用户的人脸图像与已试戴3D眼镜的用户的人脸图像的位置关系来确定,例如,未试戴3D眼镜的用户的人脸图像位于已试戴3D眼镜的用户的人脸图像的右侧,则该预设方向为向右。如5a所示,是一个用户试戴3D眼镜的情景,此时,该用户向左边移动一定角度,如图5b所示,3D眼镜被另一用户试戴,通过这种互动试戴可使不同用户之间进行互动试戴,增强娱乐性。

在本实施例中,通过实时检测当前是否存在用户的人脸图像,在存在多个用户的人脸图像时,选取其中一个用户的人脸图像来获取3D眼镜以试戴3D眼镜,通过检测该已试戴3D眼镜的用户的人脸是否向预设方向转动第二预定角度来使不同的用户试戴3D眼镜,进而到达不同用户之间互动试戴的效果。

如图6所示,是本发明的3D眼镜互动试戴系统实施例的结构示意图,该系统600通过上述的方法来实现3D眼镜互动试戴,包括摄像头610、处理设备620和显示设备630,摄像头610、处理设备620和显示设备630依次连接。在本实施例中,处理设备620可为个人计算机,显示设备630可为LED显示器。

摄像头610用于实时获取所拍摄范围内的当前图像;

处理设备620用于当检测到仅存在一个用户的人脸图像时,根据该人脸图像获得符合该人脸图像的至少一副3D眼镜;显示设备630用于将其中一幅3D眼镜显示在该人脸图像上以使用户试戴3D眼镜。

处理设备620进一步用于在检测到用户的人脸摇动到第一预定角度时,根据该第一预定角度切换3D眼镜以使用户试戴不同的3D眼镜。

在本发明的另一实施例中,处理设备620还用于当检测到存在至少一个用户的人脸图像时,根据其中一个用户的人脸图像获得符合人脸图像的3D眼镜;

显示设备630还用于将3D眼镜显示在人脸图像上以使用户试戴所述3D眼镜;

处理设备620进一步用于在检测到已试戴3D眼镜的用户的人脸向一预设方向转动第二预定角度时,将3D眼镜显示在未试戴3D眼镜的其中一个用户的人脸图像上,以使不同用户试戴3D眼镜。

具体地,如图7所示,处理设备620根据该人脸图像获得符合该人脸图像的一副3D眼镜处理设备,包括识别模块621、跟踪模块622、渲染模块623和融合模块624。其中,识别模块621用于在获取到人脸图像后,将人脸图像进行处理以得到人脸图像的2D特征点组,并根据2D特征点组识别人脸图像中是否包含人脸;跟踪模块622用于在识别到人脸图像中包含人脸时,根据2D特征点组计算人头的三维位置和姿态,以及左右外眼角之间的距离,具体地,该跟踪模块622首先将2D特征点组通过ASM算法进行定位以得到关键特征点组的三维像素坐标,其次根据得到的关键特征点组的三维像素坐标计算人头的三维位置和姿态以及左右外眼角之间的距离。渲染模块623用于根据上述人头的三维位置和姿态以及左右外眼角之间的距离,确认眼镜3D模型的位置、姿态和缩放比例,并对该眼镜3D模型进行渲染以得到所述眼镜3D模型的2D投影,其中可通过投射投影法对该眼镜3D模型进行渲染。融合模块624用于将上述2D投影与该人脸图像进行融合以得到3D眼镜,其中可通过融合算法将上述2D投影与该人脸图像进行融合。

进一步地,处理模块620还用于实时检测人脸图像相对于预定坐标的位置,并在在检测到人脸图像相对于预定坐标而移动预设距离时,将3D眼镜相对于预定坐标而移动对应的预设距离,此时,显示设备630还用于将相对于预定坐标而移动对应的预设距离的3D眼镜进行显示以使3D眼镜显示在人脸图像上,进而使用户试戴3D眼镜。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1