一种眼镜虚拟试戴方法与流程

文档序号:11433205阅读:668来源:国知局
一种眼镜虚拟试戴方法与流程

本技术涉及网络信息技术,计算机视觉,人机交互与计算机图形技术,具体涉及一种眼镜虚拟试戴方法。



背景技术:

手机摄像技术发展,人们用手机拍摄的图像用于图像识别更加容易,移动互联网技术可以使人们利用网络快速加载数据资源,两者结合带来了对图像识别与数据交互产生更多可能,但是,人们在选择眼镜产品时,无法在短时间内试戴大量产品,无法实时的获取适合自己的产品,并对比多个眼镜产品的试戴效果。



技术实现要素:

本发明的目的在于解决现有技术中人们在选择眼镜产品时,无法在短时间内试戴大量产品,无法实时的获取适合自己的产品,并对比多个眼镜产品的试戴效果的问题,提供一种眼镜虚拟试戴方法。

本发明解决其技术问题所采用的技术方案是:

提供一种眼镜虚拟试戴方法,包括:

采集头部图像信息,并提取所述头部图像信息中的双眼位置及头部空间旋转信息;

加载眼镜模型,并依据所述双眼位置及头部空间旋转信息匹配于所述眼镜模型的二维模型;

通过预设的优化算法生成所述头部图像信息与所述眼镜模型的三维模型相结合的试戴图像信息。

在本发明所述的眼镜虚拟试戴方法中,所述采集头部图像信息,并提取所述头部图像信息中的双眼位置及头部空间旋转信息,包括:

通过摄像头获取头部图像信息;

提取所述头部图像信息中的面部特征点;

标记双眼中心位置点,获取双眼中心位置点之间的瞳距,并设置双眼中心位置点之间的连线以提取所述双眼位置;

依据所述面部特征点确定所述头部图像信息中的空间xyz轴转角信息以提取所述头部空间旋转信息,其中,x轴平行于所述摄像头的摄像方向且平行于水平面,y轴平行于所述摄像头的摄像方向且垂直于水平面,z轴垂直于所述摄像头的摄像方向且平行于水平面。

在本发明所述的眼镜虚拟试戴方法中,所述通过摄像头获取头部图像信息,包括:

判断所述头部图像信息中的脸部的z轴偏转角是否处于±45°范围内,若是,则确认为正面脸部图像,若否,则重新获取头部图像信息。

在本发明所述的眼镜虚拟试戴方法中,所述加载眼镜模型,并依据所述双眼位置及头部空间旋转信息匹配于所述眼镜模型的二维模型,包括:

加载所述眼镜模型,所述眼镜模型包括镜框模型及镜架模型;

通过所述连线的反正切计算所述连线的水平夹角,依据所述水平夹角对所述镜框模型在所述z轴上旋转相应的角度;

通过像素计算在所述二维模型中所述镜框模型与所述镜架模型的二维连接点。

在本发明所述的眼镜虚拟试戴方法中,所述通过预设的优化算法生成所述头部图像信息与所述眼镜模型的三维模型相结合的试戴图像信息,包括:

将所述镜框模型设置于所述头部图像信息中的对应位置;

依据所述头部空间旋转信息计算所述镜框模型与所述镜架模型的三维连接点;

通过所述优化算法计算所述眼镜模型于空间xyz轴的坐标,从而生成所述试戴图像信息。

在本发明所述的眼镜虚拟试戴方法中,所述通过所述优化算法计算所述眼镜模型于空间xyz轴的坐标,从而生成所述试戴图像信息,包括:

获取眼镜模型的原坐标,通过原坐标的原坐标矩阵与透视矩阵、x轴旋转矩阵、y轴旋转矩阵、z轴旋转矩阵、缩放矩阵及平移矩阵相乘计算所述眼镜模型于空间xyz轴的新坐标矩阵:

从而获取新坐标(x′,y′,z′);其中,原坐标为(x,y,z),原坐标矩阵为透视矩阵为x轴变换矩阵为y轴变换矩阵为z轴变换矩阵为缩放矩阵为平移矩阵为新坐标矩阵为为y轴偏转角。

在本发明所述的眼镜虚拟试戴方法中,所述通过所述优化算法计算所述眼镜模型于空间xyz轴的坐标,从而生成所述试戴图像信息,还包括:

获取设备屏幕视口像素宽度w,依据相应的比例系数确定视距d;

当重新绘制二维模型时,生成缩放矩阵及平移矩阵,并依据新坐标(x′,y′,z′)及计算所得的p值计算平面投影坐标以重新绘制二维模型。

在本发明所述的眼镜虚拟试戴方法中,还包括:

于显示屏中显示所述试戴图像信息,从而使所述消费用户实时获取试戴眼镜的效果。

在本发明所述的眼镜虚拟试戴方法中,还包括:

于显示屏中接收平移操作或缩放操作或旋转操作,依据所述平移操作于所述显示屏中平移所述眼镜模型的三维模型,依据所述缩放操作于所述显示屏中缩放所述眼镜模型的三维模型,依据所述旋转操作于所述显示屏中旋转所述眼镜模型的三维模型。

在本发明所述的眼镜虚拟试戴方法中,所述平移操作为单点单方向滑屏操作,所述缩放操作为两点向相反方向滑屏操作,所述旋转操作为两点向同一时针旋转滑屏操作。

上述公开的一种眼镜虚拟试戴方法具有以下有益效果:利用摄像头拍摄人脸,基于面部识别算法获取眼部位置,将眼镜模型图片以相应比例匹配到人脸图片上,可以快速切换眼镜模型,对不同眼镜的试戴效果进行对比,并可以通过网络载入多种眼镜模型,无需要实物眼镜,同时通过缓存已识别的面部数据,使用者下次无需再次拍照也可以试戴不同类型的新产品,降低使用者挑选适合自己的眼镜的难度,减少制造许多实体样品以供试戴所造成的浪费。

附图说明

图1为本发明一实施例提供的一种眼镜虚拟试戴方法的流程图;

图2为本发明一实施例提供的相对于摄像头的空间坐标示意图;

图3为本发明一实施例提供的双眼中心连线及标定点的示意图;

图4为本发明一实施例提供的瞳距与镜框匹配的示意图;

图5为本发明一实施例提供的二维眼镜的连接示意图;

图6为本发明一实施例提供的透视处理前的视距示意图;

图7为本发明一实施例提供的透视处理后的视距示意图;

图8为本发明一实施例提供的平面缩放及透视缩放的眼镜试戴示意图;

图9为本发明一实施例提供的平移操作示意图;

图10为本发明一实施例提供的缩放操作示意图;

图11为本发明一实施例提供的旋转操作示意图。

具体实施方式

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

本发明提供了一种眼镜虚拟试戴方法,其目的在于,解决人们选择不同眼镜产品时,无法在短时间内试戴大量产品,并对比多副眼镜产品的优缺点。本技术便基于手机拍摄及互联网这两项技术的发展使用手机拍摄人脸并对图像进行识别确定眼部位置,加载网络眼镜图片模型,两者匹配,从而实现眼镜虚拟试戴,并基于移动设备的手势识别与计算机图形技术的交互优化试戴效果。利用摄像头拍摄人脸,基于面部识别算法获取眼部位置,将眼镜模型图片以相应比例匹配到人脸图片上,可以快速切换眼镜模型,对不同眼镜的试戴效果进行对比,并可以通过网络载入多种眼镜模型,无需要实物眼镜,同时通过缓存已识别的面部数据,使用者下次无需再次拍照也可以试戴不同类型的新产品,降低使用者挑选适合自己的眼镜的难度,减少需制造许多实体样品以供试戴所造成的浪费。

参见图1,图1为本发明一实施例提供的一种眼镜虚拟试戴方法的流程图,该眼镜虚拟试戴方法包括步骤s1-s3:

s1、采集头部图像信息,并提取所述头部图像信息中的双眼位置及头部空间旋转信息;步骤s1包括子步骤s11-s14:

s11、通过摄像头获取头部图像信息;判断所述头部图像信息中的脸部的z轴偏转角是否处于±45°范围内,若是,则确认为正面脸部图像,若否,则重新获取头部图像信息。例如:该摄像头为移动终端1的摄像头,用户通过移动终端1自拍获取自己的头部图像信息。使用者可以通过任意支持移动端用户代理(useragent)打开指定页面。通过点击表单输入元素,移动设备将自动调用摄像头。使用者拍摄一张清晰的面部正面(z轴偏转角处于±45°范围内)图片,确认上传至后台处理服务器。参见图2,图2为本发明一实施例提供的相对于摄像头的空间坐标示意图,x轴平行于所述摄像头的摄像方向且平行于水平面,y轴平行于所述摄像头的摄像方向且垂直于水平面,z轴垂直于所述摄像头的摄像方向且平行于水平面。

s12、提取所述头部图像信息中的面部特征点;通过面部特征点即可确定双眼中心位置、转角信息等。例如,服务器接收图片后,利用机器视觉算法提取面部特征点。

s13、标记双眼中心位置点,获取双眼中心位置点之间的瞳距,并设置双眼中心位置点之间的连线以提取所述双眼位置;参见图3,图3为本发明一实施例提供的双眼中心连线及标定点的示意图,双眼中心位置点分别为c1及c2,双眼中心位置点之间的连线为r,标定点为t1及t2。标定点用于连接二维模型的镜框模型21及镜腿模型。例如,标记双眼中心位置点,根据用户面部数据,获取双眼中心位置(c1,c2)。

s14、依据所述面部特征点确定所述头部图像信息中的空间xyz轴转角信息以提取所述头部空间旋转信息。例如,参见图4,图4为本发明一实施例提供的瞳距与镜框匹配的示意图,通过瞳距pd可以确定头部图像信息中的空间xyz轴转角信息,从而确定镜框模型21的长度l。例如,依据面部特征点偏移量确定头部空间x,y,z轴转角信息,并以特定数据结构将使用者面部数据信息返回至使用者浏览页面(即移动终端1的浏览页面)。

s2、加载眼镜模型,并依据所述双眼位置及头部空间旋转信息匹配于所述眼镜模型的二维模型;步骤s2包括子步骤s21-s23:

s21、加载所述眼镜模型,所述眼镜模型包括镜框模型21及镜架模型22;例如,移动终端1获取头部图像信息,将其上传至后台服务器,后台服务器根据用户通过移动终端1所选择的眼镜模型请求模型并加载。例如,触发页面回调事件,加载事先制作好的眼镜2d图片模型(包括镜框与镜腿图片)。计算距离(瞳距pd)可对2d图片(镜框l)模型相应的缩放进行匹配。

s22、通过所述连线的反正切计算所述连线的水平夹角,依据所述水平夹角对所述镜框模型21在所述z轴上旋转相应的角度;即根据z轴上旋转的角度调整眼镜模型的角度。例如:参见图3,对双眼中心点连线r之反正切计算其水平夹角,可依此对镜框模型21在z轴上进行相应的旋转角度。

s23、通过像素计算在所述二维模型中所述镜框模型21与所述镜架模型22的二维连接点。参见图5,图5为本发明一实施例提供的二维眼镜的连接示意图,图5中,a为模型接点。按规定尺寸制作的2d图片模型(镜框与镜腿图片)可以通过像素计算获取镜框与镜腿接点位置a。

s3、通过预设的优化算法生成所述头部图像信息与所述眼镜模型的三维模型相结合的试戴图像信息。步骤s3包括子步骤s31-s33:

s31、将所述镜框模型21设置于所述头部图像信息中的对应位置;即先放置好镜框模型21。

s32、依据所述头部空间旋转信息计算所述镜框模型21与所述镜架模型22的三维连接点;以右侧镜腿为例,当放置好镜框模型21后,可根据缩放旋转后的镜框图片,计算出新的镜框接点像素位置,此时,可将镜腿接点a与镜框接点a连接,b与用户面部数据标定点t2,左侧镜腿同理,对2d图片应用矩阵变换才能达到透视缩放变换效果。

s33、通过所述优化算法计算所述眼镜模型于空间xyz轴的坐标,从而生成所述试戴图像信息。步骤s33包括子步骤s331-s333:

s331、获取眼镜模型的原坐标,通过原坐标的原坐标矩阵与透视矩阵、x轴旋转矩阵、y轴旋转矩阵、z轴旋转矩阵、缩放矩阵及平移矩阵相乘计算所述眼镜模型于空间xyz轴的新坐标矩阵:

从而获取新坐标(x′,y′,z′);其中,原坐标为(x,y,z),原坐标矩阵为透视矩阵为x轴变换矩阵为y轴变换矩阵为z轴变换矩阵为缩放矩阵为平移矩阵为新坐标矩阵为为y轴偏转角。

s332、获取设备屏幕视口像素宽度w,依据相应的比例系数确定视距d;例如:依据相应的比例系数确定视距d为:d=2.5w。图6为本发明一实施例提供的透视处理前的视距示意图;图7为本发明一实施例提供的透视处理后的视距示意图;即通过相应的透视矩阵处理后,即可获得图7所示效果。

s333、当重新绘制二维模型时,生成缩放矩阵及平移矩阵,并依据新坐标(x′,y′,z′)及计算所得的p值计算平面投影坐标以重新绘制二维模型。图8为本发明一实施例提供的平面缩放及透视缩放的眼镜试戴示意图;例如,重新绘制2d镜框图片通过用户代理获取设备屏幕视口像素宽度w根据相应的比例系数(通常人手持移动设备拍照时视距d约为2.5w)确定视距d,2d眼镜图片模型新坐标除以p值即可得到有最后的平面投影坐标,以此重新绘制眼镜2d像素点。通过透视缩放,即可将眼镜以3d的效果显示于头部图像信息中。

优选的,该眼镜虚拟试戴方法还包括步骤s4-s5:

s4、于显示屏中显示所述试戴图像信息,从而使所述消费用户实时获取试戴眼镜的效果。即最终由移动终端1(将缩放好的眼镜模型与使用者面部图像叠加)合成眼镜虚拟试戴的效果图片,由于应用了透视缩放(图8中右图所示),试戴效果较平面缩放更加逼真。

s5、于显示屏中接收平移操作或缩放操作或旋转操作,依据所述平移操作于所述显示屏中平移所述眼镜模型的三维模型,依据所述缩放操作于所述显示屏中缩放所述眼镜模型的三维模型,依据所述旋转操作于所述显示屏中旋转所述眼镜模型的三维模型。图9为本发明一实施例提供的平移操作示意图,所述平移操作为单点单方向滑屏操作。图10为本发明一实施例提供的缩放操作示意图,所述缩放操作为两点向相反方向滑屏操作。图11为本发明一实施例提供的旋转操作示意图,所述旋转操作为两点向同一时针旋转滑屏操作。例如,当出现使用者上传面部图片不清晰从而导致面部数据无法识别时,利用用户代理提供的多点触摸事件,配合相应缩放手势,使用者可自行调整眼镜模型图片的缩放、旋转、位置属性,匹配到更加合适的位置,完成最佳的试戴效果。

本发明的有益效果为:

1、通过服务器加载眼镜模型,可以在几秒内将试戴图像返回至移动终端1,极快地实现眼镜试戴。

2、本方法无需采用实物眼镜试戴,而且较实物眼镜试戴,本方法可展现试戴多副眼镜的对比效果。

3、通过在移动终端1上实现,例如手机打开网页,上传有效的面部图片即可。

4、成本低廉,减少需要大量实体样品用于眼镜试戴所造成的浪费。

本文提供了实施例的各种操作。在一个实施例中,所述的一个或操作可以构成一个或计算机可读介质上存储的计算机可读指令,其在被电子设备执行时将使得计算设备执行所述操作。描述一些或所有操作的顺序不应当被解释为暗示这些操作必需是顺序相关的。本领域技术人员将理解具有本说明书的益处的可替代的排序。而且,应当理解,不是所有操作必需在本文所提供的每个实施例中存在。

而且,本文所使用的词语“优选的”意指用作实例、示例或例证。奉文描述为“优选的”任意方面或设计不必被解释为比其他方面或设计更有利。相反,词语“优选的”的使用旨在以具体方式提出概念。如本申请中所使用的术语“或”旨在意指包含的“或”而非排除的“或”。即,除非另外指定或从上下文中清楚,“x使用a或b”意指自然包括排列的任意一个。即,如果x使用a;x使用b;或x使用a和b二者,则“x使用a或b”在前述任一示例中得到满足。

而且,尽管已经相对于一个或实现方式示出并描述了本公开,但是本领域技术人员基于对本说明书和附图的阅读和理解将会想到等价变型和修改。本公开包括所有这样的修改和变型,并且仅由所附权利要求的范围限制。特别地关于由上述组件(例如元件等)执行的各种功能,用于描述这样的组件的术语旨在对应于执行所述组件的指定功能(例如其在功能上是等价的)的任意组件(除非另外指示),即使在结构上与执行本文所示的本公开的示范性实现方式中的功能的公开结构不等同。此外,尽管本公开的特定特征已经相对于若干实现方式中的仅一个被公开,但是这种特征可以与如可以对给定或特定应用而言是期望和有利的其他实现方式的一个或其他特征组合。而且,就术语“包括”、“具有”、“含有”或其变形被用在具体实施方式或权利要求中而言,这样的术语旨在以与术语“包含”相似的方式包括。

本发明实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以多个或多个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。上述提到的存储介质可以是只读存储器,磁盘或光盘等。上述的各装置或系统,可以执行相应方法实施例中的存储方法。

综上所述,虽然本发明已以优选实施例揭露如上,但上述优选实施例并非用以限制本发明,本领域的普通技术人员,在不脱离本发明的精神和范围内,均可作各种更动与润饰,因此本发明的保护范围以权利要求界定的范围为准。

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