一种基于智能终端的3d实时眼镜试戴方法
【技术领域】
[0001] 本发明涉及一种3D眼镜试戴方法,尤其涉及一种基于智能终端的3D实时眼镜试 戴方法。
【背景技术】
[0002] 目前基于3D眼镜试戴的方式有以下几种方式:第一,通过微软发行的Kinect体感 设备和微软发布的Kinect程序二次开发包,以红外检测的方式,达到人体移动的时候红外 检测点实时的进行移动,再将虚拟的眼镜模型与已经检测到的红外点进行绑定,达到位置 的同步移动;第二,基于平面图片的眼镜虚拟试戴,通过用户上传自己的照片来实现眼镜虚 拟试戴,通过对平面图形的面部识别算法来识别用户上传的照片中的人脸部分,从而将眼 镜图片与之叠加;第三,基于TotalImmersionSDK的眼镜虚拟试戴,这是目前国外的一款 非常流行的二次开发SDK,通过国外已经开发并封装好的SDK进行项目的二次技术开发,开 发效果和性能较好,但是加入开发的成本高昂,而且每一个项目,每一个平台都需要向法国 总部支付费用,而且开发限制非常多,不能连接数据库、不能随意让客户进行修改等。
[0003] 以上几种方式均存在各种各样的缺陷:第一,基于Kinect体感设备的眼镜虚拟试 戴缺陷包括:需要特定的Kinect体感硬件设备,费用高昂;识别过程需要先通过人体识别 从而进行面部识别;识别过程容易收到干扰,识别不稳定。第二,基于平面图片的眼镜虚 拟试戴缺陷包括:试戴过程过于死板和僵化,没有实时的互动性;通过用户上传照片的方 式进行试戴,无法同一时刻体验到戴上眼镜的不同角度试戴,操作麻烦不简便。第三,基于 Total Immersion SDK的眼镜虚拟试戴缺陷包括:基于原厂家的二次开发难度大,不方便, 而且成本高;技术限制多,如无法连接数据库,无法实时修改开发内容;二次开发产品带有 水印,去水印费用高,且每年都需要缴费,不利于长期发展。
[0004] 并且,目前市面上的3D眼镜试戴需要专门的设备,使用者需要去到有专门设备的 实体店进行体验,使用起来不够方便,成本高。
【发明内容】
[0005] 本发明所要解决的技术问题是提供一种无需特别的设备,使用方便,用户只要通 过手机、平板或电脑等智能终端即可实现的3D实时眼镜试戴的方法,实现方式简单有效, 成本低。
[0006] 对此,本发明提供一种基于智能终端的3D实时眼镜试戴方法,包括以下步骤:
[0007] 步骤S1,加载试戴程序文件,下载眼镜模型;
[0008] 步骤S2,通过智能终端启动摄像头对人脸画面进行捕捉,采集摄像头区域的灰度 数据;
[0009] 步骤S3,对人脸进行实时的识别与定位;
[0010] 步骤S4 ;判断人脸识别是否成功,若识别成功则跳转至步骤S5,若识别失败则返 回步骤S3 ;
[0011] 步骤S5,加载眼镜模型,生成3D实时眼镜试戴的试戴效果图,并等待用户的指令;
[0012] 步骤S6,当用户点击其他的眼镜列表进行试戴时,接收用户试戴其他眼镜模型的 指令,返回步骤S1 ;
[0013] 步骤S7,当用户选择拍照时,接收用户的拍照指令进行试戴效果图的拍照;
[0014] 步骤S8,完成拍照后生成二维码,扫描二维码能够实现试戴效果图的下载、保存和 分享功能。
[0015] 本发明的进一步改进在于,所述智能终端为WEB平台智能终端,所述步骤S1包括 登录WEB平台,在产品列表中输入试戴链接,点击试戴链接加载试戴程序文件,下载眼镜模 型。
[0016] 本发明的进一步改进在于,所述智能终端为基于APP软件的智能手机平台,所述 步骤S1包括登录智能手机平台,通过APP软件直接进入人脸识别画面,点击人脸识别画面 上方的眼镜示意图进而选择试戴眼镜,选择好试戴眼镜后动态下载该试戴眼镜所对应的眼 镜模型。
[0017] 本发明的进一步改进在于,所述步骤S2中,通过智能终端启动摄像头对人脸画面 进行捕捉,采集摄像头区域的灰度数据,通过人脸与人脸周围的灰度变化关系判断出人脸 的区域,在判断出人脸区域之后,在人脸上进行三维注册,把三维空间坐标定位在人脸位置 并以人脸中心为坐标原点,建立原始的人脸三维坐标。
[0018] 本发明的进一步改进在于,所述眼镜模型的建模过程为:通过3dmax软件对试戴 眼镜的照片进行原始建模,得到原始的眼镜模型,然后对眼镜模型进行贴图烘焙处理;所述 贴图烘焙处理为对眼镜模型各个不同的部位贴上贴图,贴图由试戴眼镜的照片拍摄并且通 过PS处理得到,通过贴图与眼镜模型之间的关系划分眼镜模型的UV数据,最后在3dmax软 件或maya软件中对眼镜模型进行打光和烘焙效果处理,并将效果烘焙到一张或者几张贴 图上面,进而得到烘焙处理后的贴图文件。
[0019] 本发明的进一步改进在于,所述步骤S3中,当人脸三维坐标产生变化时,对人脸 三维坐标进行缩放、平移和旋转,得到标准的人脸图像,控制眼镜模型与人脸图像实现同步 的移动与旋转,并在人脸与摄像头之间的距离发生变化的时候,眼镜模型根据人脸与摄像 头之间的距离变化进行缩放变化,进而实现眼镜模型跟随人脸三维坐标的变化而实时进行 缩放、平移和旋转,得到标准的眼镜模型。
[0020] 本发明的进一步改进在于,所述眼镜模型在3dmax软件中设定了自己的坐标点和 位置信息,当人脸转动时眼镜模型便跟着人脸的转动而转动。
[0021] 本发明的进一步改进在于,所述步骤S5中,加载眼镜模型,将标准的眼镜模型的 中点放置在人脸图像的中点下方的2~4_后进行图像合成与叠加,生成最终的试戴效果 图,并等待用户的指令。
[0022] 本发明的进一步改进在于,所述步骤S8中,实时检测用户的拍照指令,在接收到 用户的拍照指令后对试戴效果图进行拍照并生成本地二维码,用户扫描本地二维码即可在 无网络状态下直接下载穿戴效果图。
[0023] 本发明的进一步改进在于,所述步骤S8中,在接收到拍照指令后,对当前整个屏 幕画面进行捕捉,并将捕捉到的画面以二进制文件的形式进行本地存储,然后将存储二进 制文件的位置编写进本地二维码中。
[0024] 与现有技术相比,本发明的有益效果在于:用户只要通过手机、平板或电脑等智能 终端即可实现虚拟的3D实时眼镜试戴,其实现方式简单有效,无需特别的设备,使用起来 快速便捷,实时性好,成本低;在人脸转动的时候,即使转动的角度小于3°,眼镜模型也能 够实时跟随,试戴效果图真实且连贯;在此基础上,穿戴效果还可以进行拍照互动,体验者 在拍照留念后会自动生成本体二维码,在无网络的条件下,也能够直接扫描本体二维码以 实现试戴效果图的下载和保存,能够进一步实现分享试戴效果图的分享等功能。
【附图说明】
[0025] 图1是本发明一种实施例的工作流程示意图。
【具体实施方式】
[0026] 下面结合附图,对本发明的较优的实施例作进一步的详细说明。
[0027] 如图1所示,本例提供一种基于智能终端的3D实时眼镜试戴方法,包括以下步 骤:
[0028] 步骤S1,加载试戴程序文件,下载眼镜模型;
[0029] 步骤S2,通过智能终端启动摄像头对人脸画面进行捕捉,采
集摄像头区域的灰度 数据;
[0030] 步骤S3,对人脸进行实时的识别与定位;
[0031] 步骤S4 ;判断人脸识别是否成功,若识别成功则跳转至步骤S5,若识别失败则返 回步骤S3 ;
[0032] 步骤S5,加载眼镜模型,生成3D实时眼镜试戴的试戴效果图,并等待用户的指令;
[0033] 步骤S6,当用户点击其他的眼镜列表进行试戴时,接收用户试戴其他眼镜模型的 指令,返回步骤S1 ;
[0034] 步骤S7,当用户选择拍照时,接收用户的拍照指令进行试戴效果图的拍照;
[0035] 步骤S8,完成拍照后生成二维码,扫描二维码能够实现试戴效果图的下载、保存和 分享功能。
[0036] 当本例所述智能终端为WEB平台智能终端时,所述步骤S1包括登录WEB平台,在 产品列表中输入试戴链接,点击试戴链接加载试戴程序文件,下载眼镜模型。
[0037] 当本例所述智能终端为基于APP软件的智能手机平台时,所述步骤S1包括登录智 能手机平台,通过APP软件直接进入人脸识别画面,点击人脸识别画面上方的眼镜示意图 进而选择试戴眼镜,选择好试戴眼镜后动态下载该试戴眼镜所对应的眼镜模型。
[0038] 本例所述步骤S2中,通过智能终端启动摄像头对人脸画面进行捕捉,采集摄像头 区域的灰度数据,通过人脸与人脸周围的灰度变化关系判断出人脸的区域,在判断出人脸 区域之后,在人脸上进行三维注册,把三维空间坐标定位在人脸位置并以人脸中心为坐标 原点,建立原始的人脸三维坐标。
[0039] 本例通过智能终端启动摄像头对人脸进行捕捉,对人脸进行灰度采集与坐标确 定,即以人脸的中心为中点在人脸上建立起三维空间的人脸三维坐标,所述建立起三维空 间的人脸三维坐标的过程为:通过摄像头对人脸的画面进行捕捉,通过人脸与人脸周围的 灰度变化关系判断出人脸的区域,因为人脸在摄像头的捕捉下即使人是静止不动的,人脸 也会有极轻微的转动,那么,人脸周围区域也会有灰度变化,依此原理判断出人脸区域之 后,我们在人脸上进行人脸三维注册,并把空间坐标定位在人脸位置,而眼镜模型位于人脸 三维坐标的在建模软件中所设定的位置中,该眼镜模型拥有自己的坐标点,当人脸转动时 眼镜模型便跟着人脸进行转动。
[0040] 现有技术中,当人脸转动角度过小时,比如转动小于3°时,虚拟的3D眼镜试戴是 没办法实时跟随的,导致试戴效果不好;而本例将人脸与人脸边缘环境进行灰度计算,得到 人脸的区域,将获得的人脸区域作为一个新的坐标轴建立XYZ轴,这个XYZ轴便是注册在 人脸上的三维标记,进而得到人脸三维坐标,当头部有转动的时候人脸三维坐标会跟着转 动,即使人脸在转动角度为小于3°以下的小角度时,虚拟的眼镜模型也能够实时跟随人脸 三维坐标一起转动,进而使得虚拟的眼镜试戴能够有真的戴在人脸上一般神奇和顺畅的效 果,哪怕是在3°以下的小角度转动的时候跟踪稳定贴合度也非常高。
[0041] 然后再将眼镜模型放置在虚拟的三维坐标的中点,让眼镜模型与人脸三维坐标一 起移动与旋转,当人脸与摄像头的距离发生变化的时候,其眼镜模型与人脸坐标也一起根 据透视的原理进行缩放变化,这整个过程都是通过虚拟图像与现实场景叠加的方式进行, 在这个变换的过程中,用户可以随时进行合成图像和拍照等功能。
[0042] 本例所述眼镜模型的建模过程为:通过3dmax软件对试戴眼镜的照片进行原始建 模,得到原始的眼镜模型,然后对眼镜模型进行贴图烘焙处理;所述贴图烘焙处理为对眼镜 模型各个不同的部位贴上贴图,贴图由试戴眼镜的照片拍摄并且通过PS处理得到,通过贴 图与眼镜模型之间的关系划分眼镜模型的UV数据,最后在3dmax软件或maya软件中对眼 镜模型进行打光和烘焙效果处理,并将效果烘焙到一张或者几张贴图上面,进而得到烘焙 处理后的贴图文件,以便得到更加真实的眼镜模型。
[0043] 本例所述步骤S3中,当人脸三维坐标产生变化时,对人脸三维坐标进行缩放、平 移和旋转,得到标准的人脸图像,控制眼镜模型与人脸图像实现同步的移动与旋转,并在人 脸与摄像头之间的距离发生变化的时候,眼镜模型根据人脸与摄像头之间的距离变化进行 缩放变化,进而实现眼镜模型跟随人脸三维坐标的变化而实时进行缩放、平移和旋转,得到 标准的眼镜模型。所述眼镜模型在3dmax软件中设定了自己的坐标点和位置信息,当人脸 转动时眼镜模型便跟着人脸的转动而转动。
[0044] 本例所述步骤S5中,加载眼镜模型,将标准的眼镜模型的中点放置在人脸图像的 中点下方的2~4_后进行图像合成与叠加,生成最终的试戴效果图,并等待用户的指令。
[0045] 本例所述缩放是指原始的人脸三维坐标与原始的眼镜模型的缩放,即指的是对原 始的人脸三维坐标或人脸图像以及原始的眼镜模型的缩放,需要进行人脸与试戴眼镜按照 真实比例演示虚拟穿戴,就必须要进行图像的缩放。
[0046] 这种图像的缩放的解决方案有三种:第一种是缩放人脸三维坐标以适应眼镜模型 的大小;第二种是缩放眼镜模型以适应人脸三维坐标的大小;第三种是将原始的人脸三维 坐标与原始的眼镜模型按照事先约定好的"协议"同时缩放人脸三维坐标和眼镜模型,本例 使用的是第三种方案,它将更有利于用制作好的标准的人脸图像去适应大量不同的镜架库 中的标准的眼镜模型;本例应用第三种方案,相当于对眼镜模型和人脸三维坐标提出了一 种相互之间都遵循的协议,或者说是一种预先设置好的标准,来达到原始的人脸三维坐标 与原始的眼镜模型在缩放这点上的"默契"。
[0047] 本例所述的缩放采用事先约定好的缩放倍数,其内容为:设定原始的人脸三维坐 标中的目标物上的两个点的实际距离为2x毫米,这两个点在标准的人脸图像中的像素差 约定为3x,那么当这两点在原始的人脸三维坐标中的像素差为h,则其从原始的人脸三维 坐标到标准的人脸图像的缩放比例为3x/h,所述标准的人脸图像也称标准图像。
[0048] 该缩放协议的正确性的推导如下:假设真实世界中有两点间的距离为2x毫米,那 么在标准的人脸图像中的像素差为3x;原始的人脸三维坐标中这两点的像素差为hl,按照 协议得到缩放比例则为3x/hl。另外两点间的距离为2y毫米,那么在标准的人脸图像中 的像素差为3y;原始的人脸三维坐标中这两点的像素差为h2按照协议得到缩放比例为3y/ h2。真实世界中距离比=2y:2x= (h2*3y/h2) : (hl*3x/hl) = 3y:3x=标准的人脸图像中 的像素差比。本例所述的x、y和h均为自然数。
[0049] 本例所述步骤S3和步骤S4中,所述平移的位移量为:
AX是人脸图像和眼镜模型所需要平移的x轴数据,△Y人脸图像和眼镜模型所需要平移的y轴数据,xl为人脸图像的中心的x轴数据,x2为眼镜模型的中心的x轴数据,yl为人脸图 像的中心的y轴数据,y2为眼镜模型的中心的y轴数据,zoomface是固定的偏移参数,
是矫正参数,所述ro为0. 5~1,所述 经 〇 证明,所述ro最佳为0.85。
[0050] 本例由于在眼镜模型与人脸图像之间经过了上述标准化算法处理,因此眼镜模型 与人脸图像之间的跟踪识别便特别准确顺畅;所述眼镜模型通过3dmax软件建模得到,每 一个眼镜模型都是超过
10万个面的高精模型。
[0051] 本例所述的平移采用上述的平移算法进而得到平移的位移量,即针对人脸三维坐 标和眼镜模型分别计算出相对位移量,然后根据相对位移量分别对人脸三维坐标和眼镜模 型进行平移,使得眼镜模型到达人脸三维坐标的合适位置。
[0052] 本例所述的旋转,主要是根据采集人脸的灰度数据变换进而判断人脸的角度变 化,进而控制眼镜模型实现实时的角度跟随,使得眼镜模型就像是贴在标准的人脸图像上 一样,能够根据使用者的位置和角度变换,进而实现虚拟试戴效果的实时跟随。
[0053] 本例所述步骤S8中,实时检测用户的拍照指令,在接收到用户的拍照指令后对试 戴效果图进行拍照并生成本地二维码,用户扫描本地二维码即可在无网络状态下直接下载 穿戴效果图。所述步骤S8中,在接收到拍照指令后,对当前整个屏幕画面进行捕捉,并将捕 捉到的画面以二进制文件的形式进行本地存储,然后将存储二进制文件的位置编写进本地 二维码中。
[0054] 在步骤S8中,用户可以对当前整个画面进行捕捉,并将其以文件的形式进行保 存;在图片文件保存之后,会出现一个二维码图片,使用者用手机扫描二维码便可获取图片 进行下一步分享操作;与现有技术不同的是:我们的拍照功能会将整个屏幕截图文件进行 储存,存储的格式是二进制文件,存储的方式是本地存储,然后将储存的位置编写进二维码 中,用户在通过手机进行二维码扫描即可直接访问二进制文件的存储位置,无需网络条件 下即可进行图片的保存,保存的图片文件没有经过压缩,不会产生失真,并且还能够分享至 朋友圈。
[0055] 所述本地二维码是指存储位置位于本地智能终端、本地存储器或本地服务器的二 维码,该二维码会以二进制文件的格式对进行试戴效果图存储,不经过压缩和处理,因此, 试戴效果图不会产生失真,即使在无网络的情况下,也能够方便的实现下载和保存功能。
[0056] 以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定 本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在 不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的 保护范围。
【主权项】
1. 一种基于智能终端的3D实时眼镜试戴方法,其特征在于,包括以下步骤: 步骤Sl,加载试戴程序文件,下载眼镜模型; 步骤S2,通过智能终端启动摄像头对人脸画面进行捕捉,采集摄像头区域的灰度数 据; 步骤S3,对人脸进行实时的识别与定位; 步骤S4 ;判断人脸识别是否成功,若识别成功则跳转至步骤S5,若识别失败则返回步 骤S3 ; 步骤S5,加载眼镜模型,生成3D实时眼镜试戴的试戴效果图,并等待用户的指令; 步骤S6,当用户点击其他的眼镜列表进行试戴时,接收用户试戴其他眼镜模型的指令, 返回步骤Sl; 步骤S7,当用户选择拍照时,接收用户的拍照指令进行试戴效果图的拍照; 步骤S8,完成拍照后生成二维码,扫描二维码能够实现试戴效果图的下载、保存和分享 功能。2. 根据权利要求1所述的基于智能终端的3D实时眼镜试戴方法,其特征在于,所述智 能终端为WEB平台智能终端,所述步骤S1包括登录WEB平台,在产品列表中输入试戴链接, 点击试戴链接加载试戴程序文件,下载眼镜模型。3. 根据权利要求1所述的基于智能终端的3D实时眼镜试戴方法,其特征在于,所述智 能终端为基于APP软件的智能手机平台,所述步骤Sl包括登录智能手机平台,通过APP软 件直接进入人脸识别画面,点击人脸识别画面上方的眼镜示意图进而选择试戴眼镜,选择 好试戴眼镜后动态下载该试戴眼镜所对应的眼镜模型。4. 根据权利要求1至3任意一项所述的基于智能终端的3D实时眼镜试戴方法,其特征 在于,所述步骤S2中,通过智能终端启动摄像头对人脸画面进行捕捉,采集摄像头区域的 灰度数据,通过人脸与人脸周围的灰度变化关系判断出人脸的区域,在判断出人脸区域之 后,在人脸上进行三维注册,把三维空间坐标定位在人脸位置并以人脸中心为坐标原点,建 立原始的人脸三维坐标。5. 根据权利要求4所述的基于智能终端的3D实时眼镜试戴方法,其特征在于,所述眼 镜模型的建模过程为:通过3dmax软件对试戴眼镜的照片进行原始建模,得到原始的眼镜 模型,然后对眼镜模型进行贴图烘焙处理;所述贴图烘焙处理为对眼镜模型各个不同的部 位贴上贴图,贴图由试戴眼镜的照片拍摄并且通过PS处理得到,通过贴图与眼镜模型之间 的关系划分眼镜模型的UV数据,最后在3dmax软件或maya软件中对眼镜模型进行打光和 烘焙效果处理,并将效果烘焙到一张或者几张贴图上面,进而得到烘焙处理后的贴图文件。6. 根据权利要求4所述的基于智能终端的3D实时眼镜试戴方法,其特征在于,所述步 骤S3中,当人脸三维坐标产生变化时,对人脸三维坐标进行缩放、平移和旋转,得到标准的 人脸图像,控制眼镜模型与人脸图像实现同步的移动与旋转,并在人脸与摄像头之间的距 离发生变化的时候,眼镜模型根据人脸与摄像头之间的距离变化进行缩放变化,进而实现 眼镜模型跟随人脸三维坐标的变化而实时进行缩放、平移和旋转,得到标准的眼镜模型。7. 根据权利要求6所述的基于智能终端的3D实时眼镜试戴方法,其特征在于,所述眼 镜模型在3dmax软件中设定了自己的坐标点和位置信息,当人脸转动时眼镜模型便跟着人 脸的转动而转动。8. 根据权利要求1至3任意一项所述的基于智能终端的3D实时眼镜试戴方法,其特征 在于,所述步骤S5中,加载眼镜模型,将标准的眼镜模型的中点放置在人脸图像的中点下 方的2~4_后进行图像合成与叠加,生成最终的试戴效果图,并等待用户的指令。9. 根据权利要求1至3任意一项所述的基于智能终端的3D实时眼镜试戴方法,其特征 在于,所述步骤S8中,实时检测用户的拍照指令,在接收到用户的拍照指令后对试戴效果 图进行拍照并生成本地二维码,用户扫描本地二维码即可在无网络状态下直接下载穿戴效 果图。10. 根据权利要求9所述的基于智能终端的3D实时眼镜试戴方法,其特征在于,所述步 骤S8中,在接收到拍照指令后,对当前整个屏幕画面进行捕捉,并将捕捉到的画面以二进 制文件的形式进行本地存储,然后将存储二进制文件的位置编写进本地二维码中。
【专利摘要】本发明提供一种基于智能终端的3D实时眼镜试戴方法,包括:步骤S1,加载试戴程序文件,下载眼镜模型;步骤S2,启动摄像头对人脸画面进行捕捉;步骤S3,对人脸进行实时的识别与定位;步骤S4;判断人脸识别是否成功,若识别成功则跳转至步骤S5,若识别失败则返回步骤S3;步骤S5,加载眼镜模型,生成试戴效果图;步骤S6,接收用户试戴其他眼镜模型的指令,返回步骤S1;步骤S7,接收用户的拍照指令;步骤S8,完成拍照后生成二维码,实现试戴效果图的下载、保存和分享功能。本发明无需特别的设备,使用方便,用户只要通过手机、平板或电脑等智能终端即可实现的3D实时眼镜试戴的方法,实现方式简单有效,实时性好,成本低。
【IPC分类】G06T17/00, G06F3/01
【公开号】CN104898832
【申请号】CN201510241953
【发明人】陈洪标
【申请人】深圳彼爱其视觉科技有限公司
【公开日】2015年9月9日
【申请日】2015年5月13日