CN117882031A - 用于进行对象的数字测量的系统和方法 - Google Patents
用于进行对象的数字测量的系统和方法 Download PDFInfo
- Publication number
- CN117882031A CN117882031A CN202280055060.6A CN202280055060A CN117882031A CN 117882031 A CN117882031 A CN 117882031A CN 202280055060 A CN202280055060 A CN 202280055060A CN 117882031 A CN117882031 A CN 117882031A
- Authority
- CN
- China
- Prior art keywords
- user
- distance
- measurement
- video stream
- avatar
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000005259 measurement Methods 0.000 title claims abstract description 187
- 238000000034 method Methods 0.000 title claims abstract description 88
- 230000009466 transformation Effects 0.000 claims description 18
- 230000008859 change Effects 0.000 claims description 14
- 238000013519 translation Methods 0.000 claims description 12
- 238000012544 monitoring process Methods 0.000 claims description 4
- 230000001131 transforming effect Effects 0.000 claims description 3
- 239000011521 glass Substances 0.000 description 56
- 210000000554 iris Anatomy 0.000 description 54
- 210000003128 head Anatomy 0.000 description 48
- 230000008569 process Effects 0.000 description 21
- 230000003190 augmentative effect Effects 0.000 description 14
- 210000001747 pupil Anatomy 0.000 description 14
- 230000006870 function Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 230000000007 visual effect Effects 0.000 description 11
- 238000013528 artificial neural network Methods 0.000 description 9
- 230000001815 facial effect Effects 0.000 description 8
- 230000003068 static effect Effects 0.000 description 8
- 238000012360 testing method Methods 0.000 description 8
- 238000001514 detection method Methods 0.000 description 7
- 230000000750 progressive effect Effects 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 238000012937 correction Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 238000000053 physical method Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 4
- 210000005069 ears Anatomy 0.000 description 4
- 239000003550 marker Substances 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000009877 rendering Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000010191 image analysis Methods 0.000 description 2
- 238000004091 panning Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000001179 pupillary effect Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 108050005509 3D domains Proteins 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 201000009310 astigmatism Diseases 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000011248 coating agent Substances 0.000 description 1
- 238000000576 coating method Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 210000000887 face Anatomy 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000000691 measurement method Methods 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 238000007747 plating Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 238000011282 treatment Methods 0.000 description 1
Landscapes
- Length Measuring Devices By Optical Means (AREA)
Abstract
一种用于通过以下方式执行数字测量的方法:获得用户在距相机的第一距离处的第一视频流;使用第一视频流中出现的元素生成变换因子,以将第一视频流中的像素距离转换为现实世界中的实际物理距离;使用变换因子来获得第一视频流中的第一数字测量值;获得在大于第一距离的第二距离处的第二视频流;使用第一数字测量值和第二视频流中出现的物品的角度测量值来确定第二距离的测量值。
Description
相关申请的交叉引用
本申请要求于2021年6月10日提交的美国临时专利申请号63/209,219和于2022年6月8日提交的美国临时专利申请号63/350,369的权益和优先权,这些美国临时专利申请的全部披露内容通过援引并入本文。
背景技术
1.技术领域
本披露内容涉及数字镜,并且更具体地,涉及专门被配置用于对镜子中出现的用户进行虚拟测量的数字镜,或专门被配置用于从虚拟物件(比如珠宝、配饰等)的尺寸改进获益的任何其他虚拟试穿戴的数字镜。
2.相关技术
传统的镜子(即,反射表面)是个人实时探索真实自我外观的常见且最可靠的工具。围绕相机和屏幕的组合,已经提出了一些替代方案来取代传统的镜子。然而,这些技术并不令人信服,并且尚未被接受为像人在传统镜子中看着自己一样的可靠个人形象。这主要是因为相机生成的图像与镜子生成的像有很大不同。
申请人先前已经披露了用于将由一个或多个相机(具有或不具有其他传感器)创建的静态图像或2D或3D视频转换和变换成镜像或视频会议体验的新颖技术。在例如美国专利号7,948,481和8,982,109中描述了申请人的实施例的示例。其中披露的实施例可以被实施用于镜子的任何一般用途。申请人随后进一步的披露内容与使镜子适应特定需求(比如服装店)相关。在例如美国专利号8,976,160和8,982,110中描述了申请人的实施例的示例。申请人的Memomi Labs旗下销售的Memory产品已获得众多奖项,并被全球媒体广泛报道,只需简单的谷歌搜索即可找到。
在先前的披露内容中,申请人还提供了用于进行如体重测量等测量的方法和系统。这种测量在与时尚行业相关的应用中可能是有益的,比如用于虚拟购物以及服装物品的实际或虚拟试穿戴(VTO)。另外,申请人先前已经披露了增强现实应用,其中,向数字镜像添加虚拟物品,以用于VTO和其他应用。此类应用之一是试戴镜框以虚拟选购眼镜的能力。然而,为了实际订购眼镜,需要了解正确制造眼镜所需的各种测量值。这种测量值的示例包括PD(瞳孔距离或瞳孔间距离——两个瞳孔中心之间的水平距离)、OC高度(眼中心高度——从瞳孔中心到镜片或镜框边缘最低点的垂直距离)和SH(子镜片顶点高度——从镜框中镜片底部到渐进式镜片上的渐进加光区开始处的垂直测量值,以毫米为单位)。已经尝试通过例如站在镜子前用尺子遮住眼睛等方式来实现自我测量。然而,改进的自动化测量方法可以提高这种测量的效率和准确性,尤其是在使用数字镜选购镜框时。
发明内容
为了提供对本发明的一些方面和特征的基本理解,包括了对本披露内容的以下概述。此概述不是本发明的广泛概要,并且因此不旨在特别标识本发明的关键要素或重要要素或者描绘本发明的范围。该概述的唯一目的是以简化的形式呈现本发明的一些概念作为对下面所呈现的更加详细的说明的序言。
所披露的实施例包括用于自动获得眼镜商配制眼镜所需的虚拟面部测量值的模块。这些实施例可以包括使得用户能够试戴不同眼镜框的增强现实模块。这些实施例还包括使得能够测量用户特征(比如PD和OC)的模块,以便使镜片与所选镜框正确适配。这些模块为用户提供即时的图形反馈,使得用户能够正确定位用户的头部以进行测量,从而提高测量的准确性。
可选地,包括变换模块,该变换模块对从相机接收到的视频流进行变换,并生成变换后的流,该变换后的流当投影到监视器屏幕上时,使图像看起来像镜子的像。正如在屏幕上方安装有相机的设备(例如笔记本电脑上的视频会议)所体验到的那样,生成的图像不是个人的,因为用户似乎将视线从相机移开。情况确实如此,因为用户正在直视屏幕,但相机定位于屏幕上方。因此,变换模块对每一帧(即每个图像)进行变换,使其看起来像是由位于屏幕后方的相机拍摄的一样——也就是说,虽然图像是由位于屏幕上方或侧方的相机拍摄的,同时用户没有看向相机而是在看向屏幕,但是图像看起来就像用户正在直视位于屏幕后方的相机一样。
根据所披露的各方面,提供了一种用于生成眼镜商配制眼镜所需的虚拟面部测量值的系统。该系统包括:相机;监视器屏幕;以及处理器;其中,该处理器被预编程以执行以下步骤:将图形目标投影到监视器屏幕上;从相机接收视频帧,并识别出该视频帧内的用户头部;使用用户头部上的测量点构建与用户头部匹配的虚拟3D球体;将该虚拟球体的图形表示投影到监视器屏幕上;重复执行接收另一视频帧并与测量点的变化相关地调整该图形表示的步骤,直到该图形表示与图形目标配准为止;以及在确定该图形表示与图形目标配准后,测量瞳孔中心之间的距离。该处理器还可以执行以下步骤:将眼镜框虚拟地投影到监视器屏幕上,以模仿用户佩戴眼镜;以及测量每个瞳孔中心到镜框最下部分之间的垂直距离。
根据所披露的各方面,披露了一种方法,该方法包括:获得包括用户的图像的视频流;使用视频流中出现的元素生成变换因子,以将视频流中的像素距离转换为现实世界中的实际物理距离;使用视频流中出现的用户的图像生成用户的化身;以与用户的取向相对应的取向将化身投影在监视器屏幕上;连续监测视频流中的用户的取向,并调整监视器屏幕上的化身的取向,以对应于用户的取向的变化;当化身的取向达到所需取向时,对视频屏幕上预先指定的物品执行测量。该元素可以是用户的虹膜。此外,该方法可以进一步包括将图形目标投影到监视器屏幕上,并且当化身与图形目标对准时确定化身达到所需的取向。
本发明的各方面包括一种用于执行数字测量的方法,该方法包括:获得用户在距相机的第一距离处的第一视频流;使用第一视频流中出现的元素生成变换因子,以将第一视频流中的像素距离转换为现实世界中的实际物理距离;使用变换因子来获得第一视频流中的第一数字测量值;获得在大于第一距离的第二距离处的第二视频流;使用第一数字测量值和第二视频流中出现的物品的角度测量值来确定第二距离的测量值。该元素可以包括用户的虹膜,并且可以使用虹膜的测量值来确定变换因子。可以通过在虹膜上拟合虚拟圆并使用该虚拟圆的直径作为虹膜的测量值来获得虹膜的测量值。第一数字测量值可以包括用户的瞳孔间距离。
该方法可以进一步包括:从存储器中获取虚拟物件;使用所确定的第二距离缩放物件的尺寸;以及,将物件叠加于用户在第二距离处的图像上。第二视频流中出现的物品可以包括用户的脚,并且角度测量值可以包括属于脚的像素的垂直位置。该方法可以进一步包括获得用户在大于第二距离的第三距离处的第三视频,并且使用第二角度测量值来确定第三距离。该方法可以进一步包括:从存储器中获取虚拟物件;使用所确定的第三距离缩放物件的尺寸;以及,将物件叠加于用户在第三距离处的图像上。
该方法可以进一步包括使用所确定的第三距离和第一数字测量值来确定用户身上的目标的第二数字测量值。目标可以包括用户的身体部位。该方法可以进一步包括,在获得第一数字测量值之前:形成用户的化身;以与用户的身体的取向相对应的取向将化身投影到屏幕上;监测用户的身体的取向的变化并将对应的变化赋予化身的取向;当确定化身处于可接受的取向时获得第一数字测量值。
该方法可以进一步包括将图形目标投影到屏幕上,并且当化身与图形目标对准时确定化身处于可接受的取向。化身可以是三维的,并且取向包括平移、旋转、高度和距离。该方法可以进一步包括将指示第一数字测量值的测量点的图形覆盖层投影到数字屏幕上,并进一步投影用户界面以使得用户能够在数字屏幕上移动图形覆盖层以改变第一数字测量值。该方法可以进一步包括每当用户界面被操作以移动图形覆盖层时,使用变换因子来重新计算第一数字测量值。该方法可以进一步包括变换第一视频流以生成镜像视频流,从而在视频屏幕上生成模仿镜子的投影的图像。
另外的方面包括一种用于进行身体测量的系统,该系统包括:数字屏幕;视频捕捉器,该视频捕捉器被定位为生成用户的视频流;校准模块,该校准模块生成将该视频流的帧中的像素长度与该视频流的帧中出现的对象的实际长度相关联的每像素长度系数;配准模块,该配准模块对被覆盖在投影到数字屏幕上的视频流的帧上的图形目标进行投影,该配准模块进一步生成视频流的帧中出现的用户的化身,并将该化身覆盖在投影到数字屏幕上的视频流的帧上;测量模块,该测量模块利用从该校准模块接收的每像素长度系数和来自该配准模块的有关该化身与图形目标配准的指示来计算用户的身体测量值。
在一个方面,通过以下方式获得数字图像的校准因子:获得包含用户的面部的数字图像;至少识别出左虹膜的部分圆周和右眼的部分圆周;使用左虹膜的部分圆周来获得以像素数表示的第一组多个直径测量值;根据该第一组多个直径测量值获得第一平均直径;使用右虹膜的部分圆周来获得以像素数表示的第二组多个直径测量值;根据该第二组多个直径测量值获得第二平均直径;计算该第一平均直径与该第二平均直径之间的差值;通过将该差值与接受阈值进行比较来验证测量值;根据第一平均直径和第二平均直径计算总直径;通过取以像素数表示的总直径与以毫米表示的平均人类虹膜尺寸的比率来计算校准因子。
在一个方面,使用第一校准因子通过以下方式获得校准长度:识别出数字图像中的两个标志物目标;测量这两个标志物之间的以像素数为单位的距离;使用第一校准因子将该以像素数为单位的距离转换为以毫米为单位的距离;设置该以毫米为单位的距离以及校准长度。在实施例中,校准长度可以是以下各项中的一项或多项:瞳孔间距离;眼镜框的宽度;耳朵之间的距离;鼻尖到下巴尖之间的距离。在实施例中,使用校准长度来生成第二数字图像(通常与第一数字图像中相比用户距离相机更远)上的第二校准因子,其中,这两个标志物之间的以像素数为单位的更新长度是在第二数字图像中测量的,并且第二校准因子是通过取校准长度与以像素数表示的更新长度的比率来获得的。
附图说明
根据参考以下附图进行的具体实施方式,本发明的其他方面和特征将变得显而易见。应当理解,具体实施方式和附图提供了本发明的由所附权利要求限定的各种实施例的各种非限制性示例。
并入本文并且构成本说明书的一部分的附图举例说明了本发明的实施例,并且与说明部分一起用于解释和说明本发明的原理。附图旨在以图解的方式展示出示例性实施例的主要特征。附图并不旨在描绘实际实施例的每个特征或所描绘要素的相对尺寸,并且不是按比例绘制的。
图1A至图1C是示出了根据实施例的将化身与图形目标配准的过程的图示。
图2是展示了根据实施例的用于进行面部测量的过程的流程图。
图3展示了根据实施例的可以作为静态图像或活动界面与校准数据一起保存的PD测量图像。
图4展示了根据实施例的可以作为静态图像或活动界面与校准数据一起保存的OC和SH(子镜片顶点高度)测量图像。
图5展示了根据本发明的实施例的虚拟镜框试戴用户界面的示例。
图6是根据实施例的用于实施PD测量的系统的框图。
图7展示了根据实施例的用于进行渐进式、多焦点或PAL测量的系统框图。
图8A至图8D展示了根据实施例的各个通道中的图像。
图9是根据实施例的用于实施身体测量的系统的框图。
图10是展示了根据实施例的具有测量能力的数字镜的框图。
图11展示了其中以多个步骤执行校准的实施例。
图12是展示了根据实施例的数字测量的系统过程的框图。
具体实施方式
现在将参考附图描述被配置用于进行虚拟测量的本发明的数字镜的实施例。不同的实施例或其组合可以用于不同的应用或实现不同的结果或益处。取决于寻求实现的结果,本文所披露的不同特征可以部分或完全、单独或与其他特征组合使用,从而在优点与要求和约束之间取得平衡。因此,将参考不同的实施例强调某些益处,但不限于所披露的实施例。也就是说,本文所披露的特征不限于在其内描述这些特征的实施例,而是可以与其他特征“混合和匹配”并且并入其他实施例中。
如从下面的说明部分中将显而易见的,本披露内容的各个方面包括数字地测量视频流中出现的物品的能力。通过使用各种校准和配准方法可以提高准确性。为了更好的理解,说明部分首先考虑配制眼镜所需的测量值,并且随着本披露内容的继续,其将转向其他应用和更通用的实施方式。
现有技术中已经提出使用用户的数字图像来测量瞳孔距离。参见例如美国专利6,535,223。然而,迄今为止所提出的方法和系统还不够准确,因而无法在市场上得到采用。本发明人观察到,至少部分不准确性源于用户头部相对于图像平面的注视不确定性。也就是说,由于现有技术方法依赖于对用户面部到屏幕的距离的估计,因此如果面部平面和图像平面完全平行,则PD测量值将足够准确。但是,如果这两个平面不完全平行,则测量值将不够准确。因此,本发明人着手解决该问题,以提供具有高置信度的准确的PD测量值。
重要的是,发明人注意到,与垂直准确性相比,测量准确性问题在头部的水平准确性上更为严重(尽管两者都是必需的),而对于OC和SH,垂直对准对于产生良好的测量值更为关键。因此,在所披露的各方面中,将不同的准确性阈值指派给垂直或水平注视误差,以确定图像对于测量而言是否足够好。
本发明的实施例可以使用被特别定制用作近距离数字镜(即,其中用户观察他/她自己的面部的情况)的硬件和软件设计来实施,其可选地添加了增强现实模块,从而将虚拟物品添加到投影到数字镜中的图像上。所披露的实施例可以在用于各种面部测量的各种应用中使用。在示例应用中,数字镜用于选购眼镜,并使得能够进行订购眼镜所需的各种面部测量。进行准确测量的部分困难来自于这样一个事实:监视器屏幕必须放置在距用户的面部相对较近处,使得相机也非常接近,从而产生畸变。也就是说,当用户直视屏幕时,相机从屏幕上方获得图像,使得看起来用户没有直视相机。另外,还存在由用户头部取向引起的测量畸变,其中,由于用户的注视,用户面部的平面可能不平行于数字镜的平面。
为了进行正确的面部或身体测量,使用户的图像居中定位在图像帧内是有益的。申请人在先前的披露内容中已经披露了用于将用户的图像定位在帧内的方法。同样参见美国专利申请公开2013/0169827。例如,可以在屏幕上绘制圆圈,并且可以要求用户移动以将他/她的图像放置在圆圈内。然而,虽然这些选项负责将图像放置在帧内的期望位置,但却没有解决注视和头部取向的问题,即,确保用户相对于屏幕处于正确的取向。
图1A至图1C展示了用于引导用户相对于相机以正确的取向正确地定位他/她的头部以便能够进行高准确性面部测量的实施例。图1A展示了初始位置,其中,漫画100指示用户面部的图像。图形目标105指示进行测量时用户的头部应处于的位置。虽然由于图1A中的页面限制,目标被示为二维图形,但它也可以作为三维图形投影在屏幕上。在图1A中,图形目标被示为虚线椭圆105和虚线十字105’的组合。图1A还展示了以与用户面部相同的位置和取向绘制的化身110。图1A中的化身是带有点划线十字110’的点划线椭圆形110。化身被构建为模仿用户头部的形状、位置和取向的球体,并且虽然在图1A中该化身被示为二维图形,但它也可以作为三维球体投影在屏幕上。球体的尺寸和形状是根据预先定义的测量点构建的。测量点的示例可以包括例如耳朵之间的水平距离、从下巴底部到头顶的垂直距离、鼻尖的位置等。
化身110以与用户的运动相对应的方式在屏幕上移动。也就是说,用户通过用户的运动来控制化身110在屏幕上的外观。重要的是,化身的运动在空间上和旋转上(水平、垂直、横滚)都受到控制,但是在一些实施例中它可以是子集或者可以是对旋转效果的抑制,具体取决于测量值对角度的敏感度。即,由于化身是三维球体,因此身的空间位置是根据其在屏幕上的x-y位置来控制的。另外,屏幕上的球体表示的旋转取向是根据用户的注视来控制的。当用户通过移动他/她的头部来控制化身时,目的是将化身与图形目标105配准。因此,在图1B中,用户移动他/她的头部,使得化身的位置与目标配准,但是,在旋转上,化身与目标并不配准,如通过参考两个十字可以看出的。在图1B中,头部相对于目标有所倾斜。因此,用户仍然必须移动(倾斜)他的头部来控制化身与目标配准,如图1C所展示。当化身以正确的位置、旋转和注视与图形目标配准时,可以向用户给出指示。此外,可以在该位置捕获图像(帧),并且可以使用该图像(帧)来执行测量。
虽然图1A至图1C中未展示,但面部到相机的Z距离也可以调整。例如,化身球体110的尺寸可以随着用户朝向或远离屏幕移动而放大或缩小。目标是让用户将面部放置在正确的距离处,以使化身球体尺寸与图形目标的尺寸相匹配。这种定位还可以有助于校准过程,如下文关于图2所述。
图2是展示了根据实施例的用于进行数字测量的过程的流程图。图2的过程可以被预编程到处理器中,以使用从相机接收到的并呈现在监视器屏幕上的视频流来执行。图2所展示的步骤不必按照本文所展示和描述的顺序来执行。例如,校准步骤200可以在配准步骤205之后执行。执行校准步骤200以获得转换因子,以将以数字图像中的以像素测量的距离转换为现实世界中的物理距离,例如,将像素转换为毫米。各种方法可用于执行这种校准,并且可以采用这些方法中的任何方法,只要它们支持测量步骤210所需的准确性水平即可。
在一个示例中,使用图像中的已知对象来生成校准200。例如,可能会要求用户在距相机的定义距离处拿着信用卡。由于信用卡的尺寸是已知的,因此可以根据信用卡在图像中的尺寸来校准图像。根据另一个示例,将硬币贴在用户的面部,并且由于硬币的尺寸已知,因此可以将其用作校准因子。在本文披露的一些实施例中,使用用户的虹膜。由于虹膜尺寸在人与人之间的变化不大,因此图像中虹膜的尺寸可以用作校准的良好估计。在另外的实施例中,尤其是当眼睛没有完全睁开并且虹膜被部分遮挡时,围绕虹膜放置图形圆圈以估计虹膜的尺寸,并且将圆圈的直径用作校准因子。另外,如前所述,如果校准过程是在配准过程之后完成的,则化身球体与图形目标的尺寸匹配提高了校准准确性,因为在这种情况下面部到相机的距离是已知的。
配准步骤205如参考图1A至图1C所描述的那样进行,以正确定位用户的注视和头部取向,从而进行准确测量。一旦校准和配准完成,就可以执行测量步骤210。如前所述,这可以通过存储配准的图像并对所存储的图像执行测量来完成。使用在校准步骤200中获得的校准,可以将在所存储的图像上获得的像素测量值转换成物理测量值。这些测量值可以包括例如PD和OC测量值。
根据实施例,当用户移动头部以便将化身与图形目标匹配时,处理器可以记录视频或仅采样图像,并寻找最佳对称性和/或最佳注视和/或眼睛睁开状态和/或虹膜曝光或其任意组合,以便挑选最佳图像来进一步分析以进行校准和测量。值得注意的是,可以在设备上本地分析(多个)帧,也可以经由互联网连接在云端分析(多个)帧。该分析可以返回可以识别出瞳孔中心以及两眼之间的鼻梁的最佳帧/位置。鼻子位置可以定义为y轴与连接两个瞳孔的线的交点,也可以为鼻子上的任何其他位置。
因此,虽然现有技术仅涉及用于正确校准的方法,但是本发明人除了改进校准过程之外还添加了配准过程,以便考虑用户头部相对于相机的取向。因此,图2所呈现的过程包括校准步骤和配准步骤,以提高测量准确性。另外,所披露的实施例还保留了测量步骤以及测量的图形表示,从而使得人类能够进行进一步校正和/或使用机器学习或神经网络来提高准确性。保留测量步骤的示例在下面关于图3和4进行描述。
图3展示了可以作为静态图像或活动界面与校准数据一起保存的PD测量图像。在图像中,示出了用户的面部300,其中,图形覆盖层305指示所取的PD测量值和鼻子中心的位置。当图像被存储为活动界面时,如果需要改进测量,则用户(或眼镜商)可以使用界面箭头310来调整图形覆盖层305。可以针对右眼和左眼分别移动图形覆盖层。由于校准数据与图像一起存储,因此移动图形覆盖层可以转化为物理测量值,如界面箭头旁边的数值示例所示。在此,数值示例以毫米为单位给出。
图4展示了根据实施例的可以作为静态图像或活动界面与校准数据一起保存的OC和SH测量图像。在图4中,用户的面部400被示为佩戴选定的眼镜。眼镜可以由图像中的用户物理地佩戴,或者可以使用增强现实来虚拟地放置在用户的图像上。图形覆盖层405指示所取得的子镜片顶点高度测量值和OC高度测量值。这些测量值对于使镜片形状居中以及制作双焦点镜片非常重要。当图像被存储为活动界面时,如果需要改进测量,则用户(或眼镜商)可以使用界面箭头410来调整图形覆盖层405。可以针对右眼和左眼分别移动图形覆盖层。由于校准数据与图像一起存储,因此移动图形覆盖层可以转化为物理测量值,如界面箭头旁边的数值示例所示。在此,数值示例以毫米为单位给出。
为了获得图4所展示的测量值,系统需要识别出属于镜框的像素,无论镜框是用户实际佩戴的还是虚拟地放置在图像中。在一个实施例中,可以通过神经网络找到镜框上的最低点,该神经网络被训练为在瞳孔估计器下方的线上找到内镜框与眼镜的交点。在一个实施例中,通过具有或不具有水平强调的边缘滤波器来估计镜框上的点。
类似地,系统需要识别出眼睛的轮廓。在一个实施例中,可以从定义眼睛的位置并且可以定义眼睛的轮廓的神经网络标志物中找到眼睛最低点。OC点的估计是从瞳孔向下延伸的线与眼睛的轮廓相交的交点。OC是从眼睛轮廓到镜框内部部分的测量值,适用于PAL(渐进式镜片)或双焦点或多焦点测量。SH测量值是从瞳孔中心向下延伸到镜框内部部分的垂直测量值,并且用于渐进式镜片计算。
此外,当特定眼镜框已知时(例如通过读取或输入镜框的SKU编号),可以将镜框的物理测量值预先存储在系统中。然后可以使用镜框的实际测量值来促使准确的像素校准。在一个示例中,每个镜片框的物理宽度是预先已知的,然后在图像中以像素长度为单位来测量该宽度。然后使用像素长度和实际物理宽度来生成校准因子。
如前所述,对于取向步骤,该方法通常采用三维外壳或三维球体的形式构建用户头部的化身。然而,监视器屏幕形成二维表面,并且用户头部的图像形成在二维平面中。因此,使用将三维对象拟合到二维平面上的方法,比如通过求解PNP(透视n点)方程或SVD(奇异值分解)方程。透视n点是在给定世界上的一组n个3D点及其在图像中的对应2D投影的情况下估计已校准相机的位姿的问题。相机位姿由6个自由度(DOF)组成,这些自由度由相机相对于世界的旋转(横滚、俯仰和偏航)和3D平移构成。因此,通过使用用户面部上的一组预定点,实施PnP或SVD,该过程可以构建与用户的头部及其相对于相机的取向相对应的对应三维球体。该球体可以以与用户的头部的取向相对应的取向投影在二维屏幕上。当然,虽然本文的讨论提及的是球体,但任何其他形状都可以用作化身。
在所披露的实施例中,向用户提供使用增强现实来虚拟地试戴不同镜框的能力,即,将镜框的图像数字地叠加在用户的投影图像上。由于不同的用户可能更喜欢以不同的方式佩戴镜框,因此提供用户界面以使得用户能够调整虚拟眼镜在他/她的面部上的适配度。图5展示了能够对虚拟镜框进行各种调整的用户界面510的示例。调整可以包括X-Y(左右)平移、水平旋转、前后倾斜、横滚、Z(高度)位置、镜腿打开等。一旦用户对调整满意,就可以提供指示,并且可以保存与调整相关的参数以供未来使用,例如试戴不同的镜框。
除了镜框虚拟试戴之外,该系统还能够进行镜片虚拟试戴。用户可以尝试不同的镜片,并且虚拟模拟可以向用户展示不同的眼镜厚度、镜片的度数、眼镜的色调、UV镀膜效果等,以便用户可以了解选择选项。除了用户的实况视频上的这种实时配置程序之外,系统还可以在没有相机或没有实况试戴的情况下显示该3D资产配置程序。3D配置程序可以在静态背景上的用户图像或模型(照片)上运行。
在一个实施例中,可以将不同镜片选项的效果虚拟地投影到具有实际物理镜框的用户图像上。可以使用神经网络、使用或不使用计算机视觉技术来完成图像分割,以描绘出镜框的内部部分。然后,可以通过虚拟镜片特性来增强镜框的内部区域,比如通过眼镜厚度的阴影效果、UV镀膜、色调颜色和色调不透明度等。这有助于用户观看具有不同类型的镜片和镜片处理方式的镜框。
在执行镜框的虚拟试戴时,使用缩放因子根据用户的图像缩放镜框的尺寸非常重要。如前所述,镜框的尺寸是已知的并预先存储在系统中。然而,当在屏幕上渲染镜框时,所披露的实施例缩放镜框,以匹配用户头部的正确尺寸及其距屏幕的距离。在一个实施例中,PD测量值被用来校准投影在屏幕上的顾客面部上的虚拟眼镜的尺寸。在各种实施方式中,根据标准头部尺寸来缩放增强现实模拟元素。因此,如果孩子尝试虚拟眼镜和/或用户距离相机较远,使得头部看起来小于编程标准,则虚拟化物品(例如,眼镜)将无法正确适配。因此,使用本文所披露的准确的PD测量值,可以计算顾客头部的实际尺寸和/或其距相机的距离,并根据该距离调整眼镜的尺寸,使得眼镜将以正确的尺寸出现在屏幕上。
在一个实施例中,为了校正眼镜的尺寸,将虚拟眼镜分成三个不同的元素:前镜框和两个分开的镜腿。然后将缩放因子分别应用于前镜框和镜腿,从而将消除畸变。同时,为此目的,如果镜框的长度和/或宽度被缩放或者平移镜框,那么系统需要校正镜腿的新位置,以便镜腿始终看起来正确地连接到镜框。一旦系统在顾客面部上固定了前镜框的正确尺寸,就可以添加镜腿的动画以实现增强现实。
图6是根据实施例的用于实施PD测量的系统的框图。图6所展示的任何模块都可以在通用计算机、DSP、CPU、GPU、相机DSP/ASIC、监视器屏幕DSP/ASIC、独立计算设备FPGA卡、DSP设备、ASIC、云并行计算等上实施。此外,虽然某些功能是关于某些模块描述的,但是每个模块的功能可以由其他模块来实施,以优化计算机化方法的性能。
相机捕获模块600可以具有以下功能中的一项或多项。相机捕获模块600可以捕获实况视频或静态图像(帧)。该相机捕获模块可以包括IR(红外)、2D和/或3D能力,它可以包括一个或n个相机并捕获不同的角度。该相机模块可以具有执行几何变换、相机垂直平移、相机1:n流拼接等的能力。相机捕获模块600还可以应用滤波器来提高图像质量,例如应用平滑高通滤波器来使皮肤的外观平滑但保持眼睛清晰;根据计算机方法优化的需要应用裁剪或在一些实施例中应用图像尺寸调整;应用图像平移使面部在屏幕中更高,并允许用户看向相机并且看到自己就在相机正下方(在没有平移的情况下,当顾客看向相机时,他的头部将位于中心,这就不太好了,因为用户可能会产生一些投影畸变,从而影响整体准确性)。在一些实施例中,该模块应用其他变换来消除相机中的畸变或面部相对于相机的位置的畸变,比如:桶形径向畸变校正、鱼眼校正、投影倾斜旋转、网格多项式或基于畸变校正的面部指针和基于畸变校正的神经网络训练。相机捕获模块600将图像流式传输到用作图像捕捉器的触发事件模块601。
触发事件模块601实施可以直接从相机模块600获取其输入的过程。模型601的输入图像可以在尺寸、带宽和速率方面进行优化,以执行所需的功能。事件模块601的主要功能是根据旋转、平移、水平对称性、眼睛状态或任何组合来估计当前视图,以确保将获得正确的图像以用于进一步分析,并且图像将从旋转和平移的角度被优化。该模块601的输出是绝对值或相对于标称位置的偏移。
以下是可以驻留在触发事件模块601中的附加功能的示例。模块601可以识别出用户正站在相机前方。例如,基于头部检测分类器或简单的背景扣除和预定义区域的变化、模式识别等。模块601还可以测量到用户的距离,通过例如立体相机、3DIR相机之间的相关性,或者通过使用采用了一些几何假设来确定距离的新颖的单相机测量。例如,这些假设可以包括用户大致站在镜子前方的平坦地板上,使得可以通过测量用户鞋子的位置和用户与屏幕宽边的特殊偏移来推算出距离、用户身高或用户在镜子中的理论视点。
根据一个实施例,使用具有前置相机和后置相机的移动设备。用户站在传统的镜子前方,前置相机对着用户,而后置相机对着镜子,这样两个相机可以同时、交替或半同时看到用户的面部。在一个实施例中,前置相机和后置相机不在同一水平轴和/或垂直轴上,使得所得到的效果类似于立体相机,只不过使用的是单个移动设备。
还可以实施面部识别,以便于用户界面识别。平台可以保存每个用户的信息,并且一旦系统识别出用户,系统就可以上传自己的数据,并为他的帐户保存更多数据、推荐物品等。通过人脸识别,用户不必确认自己的身份,从而节省时间并提高使用的便利性。
视觉反馈模块602从模块601获取作为绝对状态或相对于最佳视图的偏移的输出,并将其转换成视觉反馈(例如,3D球体形式的化身或从球体在2D平面上的3D投影修剪的2D形式的化身),使得用户可以改变头部位置以使化身与图形目标相匹配,例如,可以改变他的注视、头部旋转、头部平移和眼睛睁开状态,以便进入用于捕捉最佳图像的最佳可能状态。
像素系数模块603计算将被用于取得测量值的毫米/像素值,即,其执行校准步骤200。在一个实施例中,将通过使用图像本身中的已知参考来计算毫米/像素系数,如磁卡、眼镜、虹膜、光指针或任何其他参考。信用卡的标准宽度为85.6mm,对其的检测可以相当简单。当拿着卡片放在面部旁边时,其可以用于计算毫米/像素系数。在一个实施例中,已知大多数人群的虹膜尺寸非常相似,因此可以使用平均值来计算该系数。该实施例中的挑战在于非常准确地捕获虹膜——因此每个像素误差都很重要,因为为了测量PD,误差将乘以3-4倍,因此需要使用多种测量虹膜的技术。在一个实施例中,采用准确的边缘检测神经网络标志物和/或分割,可选地加以使用以下各项中的一项或多项:对圆圈中的结果求平均,仅在水平方向上测量虹膜(在水平方向上,可以从虹膜的一边看到另一边),在虹膜的可见部分上覆盖图形圆圈并使用圆圈的直径等。此外,在使用来自双眼的数据时,应该应用一些健全性检查逻辑。
图6的标注展示了用于测量虹膜直径的实施例。如图所示,眼睛可能无法完全睁开以暴露虹膜的完整圆圈。此外,每只眼睛的睁开程度可能不同。因此,对于每只眼睛,在虹膜的可见圆周上识别出多个标志物LM。标志物的数量取决于可见圆周的量。然后,对于每只眼睛,使用多对相对的标志物来测量直径,如点划线所示。此外,可以绘制一条通过两个虹膜的中心的线,并在该线上测量两个虹膜的直径。对于每只眼睛,对多个测量的直径求平均,以给出左平均直径和右平均直径。将左平均直径与右平均直径之间的差值与阈值进行比较,如果差值超过阈值,则整个测量值将被视为不可靠而被丢弃。此后,可以重复整个过程。当差值下降到低于阈值时,可以计算左平均直径与右平均直径的平均值,以生成结果直径。
由于测量是在数字图像上执行的,因此结果直径以像素数表示。已知人的虹膜直径约为12mm,因此通过取以毫米为单位的平均虹膜直径与以像素为单位的平均测量直径的比率,可以获得用毫米/像素表示的缩放因子,以用于该图像中的其他测量。例如,对于PD测量值,可以取从一个虹膜的左边缘到另一个虹膜的左边缘的像素数的第一测量值,并且可以取从一个虹膜的右边缘到另一个虹膜的右边缘的像素数的第二测量值,并取这两个测量值的平均值。然后将结果乘以缩放因子,以获得以毫米为单位的PD。
初始PD计算模块604利用由像素系数模块603计算出的毫米/像素系数,并将其与第一瞳孔估计一起用于计算总体PD、左PD和右PD,并返回带有瞳孔指针和/或图像中的其他元素(如鼻梁、虹膜等)的位置标记的图像,如图3所展示。
调整工具605生成并激活调整界面,该调整界面允许眼镜商或用户在虹膜的中心不够好或者鼻子的位置相对于眼镜应在的位置不准确的情况下,微调重叠的标志物的位置并提高准确性,如图3所展示。在一个实施例中,将仅定位瞳孔。调节可以是基于点击或滑动的界面,或任何其他界面。一旦调节完成后,将进行新的PD计算,并且这可能会发生多次,以便在调节工具的每次更改后都会示出新的结果。
一旦完成调节,就生成最终结果606,使得测量值是最终的,并且可以进一步使用或者可以导出给用户。在一个实施例中,用户可以通过响应式QR扫描、通过SMS、电子邮件或任何其他安全的共享格式来获得结果。
图7展示了根据实施例的用于进行渐进式、多焦点或PAL测量的系统框图。图7所展示的一些模块可以与图6所展示的模块相同,可以与图6所示的模块结合工作,或者可以是图6的模块的补充或增强。图7的模块可以与图6的模块驻留在相同的硬件中,或者可以驻留在不同的硬件中,并且使用如互联网或蜂窝网络等网络与图6的模块通信。
相机捕获模块700可以与图6的模块600相同或相似。然而,对于图7的操作,用户的图像将在物理上或虚拟地包括镜框或眼镜,以便可以获得瞳孔相对于镜片的实际位置的位置。参见例如图4。
在一个实施例中,当用户尝试虚拟镜框/眼镜时,将根据不戴眼镜执行的PD测量对镜框/眼镜的虚拟模型进行缩放,因此用户可以看到镜框与他的面部的正确比例。在一个实施例中,虚拟眼镜将具有调整功能,因此用户可以将它们放置在他喜欢将其眼镜戴在鼻子和其耳朵上的相同位置,如图5举例说明的。缩放可以基于一个或多个眼镜元素与眼睛之间的距离PD的比例来计算。在一些示例中,相对于眼睛之间的距离计算虚拟镜片的以像素为单位的尺寸。在一些示例中,通过直接从镜框的RGB或alpha通道的捕捉图形层中提取层来测量虚拟眼镜的尺寸。图8A至图8D中展示了一个示例,其中,图8A是用户不戴眼镜的图像,图8B是用户戴眼镜的图像,图8C是仅镜框的alpha通道,并且图8D是镜框的RGB通道。使用这四个独立的通道也有利于人工智能处理。此外,在使用深色镜片的情况下,分离这些通道有助于测量虹膜的正确位置。从这方面来说,alpha通道是处理透明度的特殊通道。当图像具有alpha通道时,可以调整图像的不透明度水平,并使位半透明或完全透明。
在一个实施例中,还将捕获面部的3D网格,并且将在3D域中进行更准确的测量,因此可以取得眼睛相对于镜片的深度和眼镜的角度。一旦设置了虚拟模型或者物理眼镜处于正确的位置,就可以将结果传送到模块701。
触发事件模块701与模块601相同或相似,实施可以直接从相机模块700获取其输入以使用户物理或虚拟地试戴镜框的过程。模型701的输入图像可以在尺寸、带宽和速率方面进行优化,以执行所需的功能。触发事件模块701的主要功能是根据旋转、平移、水平对称性、眼睛状态或任何组合来估计当前视图,以确保将获得正确的图像以用于进一步分析,并且图像将从旋转和平移的角度被优化。该模块701的输出是绝对值或相对于标称位置的偏移。
视觉反馈模块702从模块701获取作为绝对状态或相对于最佳视图的偏移的输出,并将其变换成监视器屏幕上描绘的视觉反馈,以便用户可以改变他的头部位置,例如,可以改变他的注视、头部旋转、平移和眼睛睁开状态,以便进入用于捕捉最佳图像的最佳可能状态。这对应于关于图2描述的配准过程205。
像素系数模块703可以与模块603相同或相似,尽管在一个实施例中,来自PD的毫米/像素可以与眼睛中心之间的某种比例调整或者与可以在不戴眼镜的PD和戴眼镜的SH/OC的两种图像中获得的以像素为单位的任何其他测量值一起使用。
至于SH/OC测量值,在一个实施例中,需要考虑眼镜的角度与用户的位姿的关系,尤其是当眼镜位于鼻子上的较低位置时。通过计算出的镜片在图像中的投影畸变,可以计算出物理眼镜的有效角度。如果测量是在虚拟眼镜上进行的,则一旦用户将眼镜调整到正确的取向,就可以以与3D空间中类似的方式计算角度。
初始PD计算模块704可以利用毫米/像素系数以及第一瞳孔估计来计算SH、OC,并且返回带有瞳孔指针和/或图像中的其他元素(如鼻梁、虹膜等)的位置标记的图像,如图4举例说明的。如果需要微调,则用户可以使用标记的这种呈现来校正图像上的标记的位置。
可选的调整工具705呈现调整界面,该调整界面允许眼镜商或用户在虹膜的中心不够好或鼻子的位置相对于眼镜应在的位置不准确或眼镜的内侧处于不正确的位置情况下,微调眼睛和眼镜上的标志物的位置并提高准确性,如图4所展示。在一个实施例中,将仅定位瞳孔。调节可以是基于点击或滑动的界面,或任何其他界面。调节完成后,将进行新的计算。这可以重复多次,以便调节工具的每次变化都会生成新的测量结果,该结果将显示给用户和/或眼镜商。
一旦完成调节,就提供最终结果706,并且测量值是最终的且可以进一步使用或者可以导出给用户或镜框制造商。在其中用户正在商店中使用此功能的一个实施例中,他可以通过响应式QR扫描、或者通过SMS、电子邮件或者任何其他安全的共享格式来获得结果。
图10是展示了根据实施例的具有测量能力的数字镜的框图。虽然本文中将描述各种要素,但是与数字镜技术相关的要素可以根据上述申请人的先前专利中的任何披露内容来实施,这些先前专利的披露内容通过引用并入本文。在该示例中,镜子系统1000的摄像机1010将捕获的视频流1015发送到变换模块1020。变换模块1020对视频流1015进行操作,以生成实时镜像流1025。变换模块1020可以根据申请人的专利中描述的任何实施例来实施,遵循其中描述的任何方法和过程来变换来自相机1010的视频流,以便在屏幕1005上生成模仿镜子的像的图像。
实时镜像视频流1025被发送到屏幕1005,并且还被发送到AR(增强现实)模块1030和图像分析模块1035。图像分析模块1035连续分析实时镜像视频流1025,以执行校准功能、配准功能和测量功能。AR渲染器1030生成AR渲染,比如图形目标、化身和虚拟物品(比如镜框、镜片、珠宝等)。图10中所展示的系统可以并入这些模块并且可以用于执行本文所披露的过程,尤其是参考图6至图8D描述的那些过程。另外,通过并入与系统通信的可选移动设备1050,可以执行进一步的测量,如下面将进一步描述的。
从上面的描述可以看出,所披露的各方面包括一种用于投影用户的镜像图像并数字地获得用户的身体测量值的系统,该系统包括:视频捕捉器,其提供用户的视频流;变换模块,其接收视频流并应用变换映射,由此从中生成模仿镜子反射的变换后的视频;显示屏,其接收并显示变换后的视频;校准模块,其接收视频流并从中生成校准因子;投影到显示屏上的交互式界面,以辅助用户达到所期望的身体取向(相对于显示屏的平面的倾斜度和角度);以及测量模块,其接收有关用户达到所期望的身体取向的指示,并使用变换后的视频的静态帧和校准因子来生成用户身体的测量值。
转向图9,其是展示了根据实施例的用于进行身体测量、尤其适合于眼镜商测量的系统的框图。与先前的实施例一样,相机捕获模块生成视频流,该视频流可以是用户不戴眼镜、佩戴物理眼镜或佩戴由增强现实模块添加的虚拟眼镜的视频流。视频流被输入到触发模块901,该触发模块被编程为识别视频流中存在用户的头部,然后估计头部的取向(注视、倾斜度、旋转、平移、横滚深度等)。触发模块向视觉反馈模块902提供头部取向的指示,并且反馈模块902在监视器屏幕上覆盖用户头部取向的视觉指示。如前所述,这可以是化身的形式,该化身可以是简单的球体,例如,通过例如求解PNP或SVD方程而投影到平面屏幕上的三维球体。视觉反馈模块902还可以投影图形目标,以向用户指示期望的取向。然后,当用户移动他/她的头部时,取向的改变被触发模块901检测到,并被发送到视觉反馈模块902,以对视觉指示做出对应的改变。也就是说,虽然图形目标是静态的,但化身是动态的并且其移动对应于视频流中的用户的运动。当视觉指示与图形目标匹配(即,配准)时,触发事件901从视频中捕捉静态图像(帧)并将其发送到系数模块903。
系数模块903生成用于将图像中的像素距离转换为现实世界中的真实距离的系数。该系数还有助于计算图像中出现的各种对象与相机模块900的距离。如前所述,可以使用各种方法来生成系数,例如,通过测量虹膜,或通过测量已知尺寸的眼镜,或测量图像中出现的实际尺寸已知的任何其他物品。在一个实施例中,使用虹膜的尺寸来生成系数。然后,将系数发送到眼镜测量模块904。在该模块中,使用系数和像素测量值来确定图像中的用户佩戴的真实眼镜的镜框的物理尺寸(例如,宽度和高度)。例如,如图10所展示的,可以围绕镜框绘制矩形或其他多边形(参见虚线),并将该矩形的宽度和高度设置为镜框的尺寸。
在本文所披露的实施例中,系统需要识别出属于图像中出现的镜框的像素。作为第一级实施方式,系统可以利用经过训练的对象检测和/或任何商业轮廓追踪算法来检测镜片的轮廓。轮廓追踪是一种应用于数字图像以提取其边界的技术。示例包括平方追踪算法、Moore-Neighbor追踪、径向扫描、Canny滤波器和Theo Pavlidis算法。当眼镜具有完整镜框时,轮廓追踪可能就足够了。然而,许多眼镜只有镜框的顶部部分,底部用透明线固定,并且有些眼镜没有镜框,镜腿和鼻托直接附接到镜片本身。在这种情况下,轮廓追踪算法可能会失败或者可能提供不可靠的结果。
因此,在一个实施例中,二级过程使用神经网络和/或深度学习来基于目标检测的一般训练或畸变来确定哪些像素属于镜片。通过镜片看到的目标由于位于镜片后方而发生畸变,即光线穿过镜片时的光学效应。如模块905所指示的和图10所展示的,为了帮助学习识别出因镜片而发生畸变的像素,可以要求用户将眼镜放置在相机与设计的目标之间。该目标可以打印在一张纸上,也可以投影到屏幕上,并且用户可以使用移动设备拍摄眼镜后方的目标的照片。如图所展示,简单的目标可以是方块尺寸已知的棋盘。当眼镜放置在相机与目标之间时,通过镜片显现的方块图像将会畸变,从而能够确定镜片的形状。
此外,本文获得的各种测量值可以用于确认或改进其他测量值。例如,一旦获得镜框或镜片的测量值,该测量值就可以使用虹膜的测量值对照佩戴眼镜的用户的图像进行检查。此外,本文所披露的PD测量值可以用于确认或改进虹膜测量值和/或晶状体测量值。此外,如905所指示的,镜片或眼镜的尺寸的测量值可以用于计算眼镜距相机的距离以及眼镜的取向,从而确保镜框正确定位在相机前方(即,与相机传感器大致平行,这在测量镜片的光焦度时很重要)。在一个实施例中,系统可以使用眼镜的测量尺寸作为参考,通过拿着眼镜使其贴紧目标来校准目标尺寸。
知道眼镜距相机的距离有助于测量用户的当前眼镜的度数(以防用户不知道度数)。具体地,模块906验证用户拿着眼镜处在距相机所需的距离和取向处。在模块907中,系统通过检查哪些像素发生畸变来识别出镜片内的区域与镜片外的区域,如上文所指示的。当眼镜定位在相机与已知目标之间时,在908中,可以使用在镜片的不同区域处观察到的畸变量来确定镜片的光焦度。值得注意的是,如果镜片是单光的,则每个镜片一次测量可能就足够了;然而,对于双焦点、渐进式或多焦点,可能需要在镜片的区域内进行多次测量,以了解不同的放大倍率及其在镜片中的位置。在909,使用畸变量来计算度数。如图所示,该过程可以重复多次,以减少误差并提高测量值的准确性。
根据另外的实施例,该系统可以用于执行眼睛检查。如前面上文所述,可以使用通过例如虹膜尺寸或根据PD测量值获得的校准系数来测量用户距相机的距离。当相机附接到屏幕时,所计算出的用户距离也就是到屏幕的距离。因此,可以使用屏幕来执行眼睛检查,其方式为通过要求用户站在距屏幕比如10英尺的地方,以便执行眼睛检查。然后可以通过例如基于系数测量处于正确位姿时头部的尺寸/宽度来验证到用户的距离。另外,当用户靠近屏幕时可以测量标志物,当用户移动远离屏幕时可以测量相同的标志物,并且可以基于比例变化和系数估计出距离。这对于眼睛检查非常有用,以确保用户站在与投影到监视器屏幕上的眼睛检查的正确的距离处。
为了提高准确性,校准测量可以分几个步骤完成。这种方法对于许多应用来说是有益的,尤其是那些利用增强现实的应用,其中,虚拟物品被叠加在用户的真实图像上并且期望正确地缩放虚拟物品的尺寸以与用户在屏幕上的外观成比例。因此,例如,对于虚拟试穿戴(VTO)应用,用户应该能够以与该用户成比例的尺寸看到虚拟物品,例如,叠加在用户身上的虚拟外套的尺寸应以与用户站立时距相机的距离处的外套的实际尺寸的正确比例示出。
图11展示了实施例,其中,以多个步骤执行校准。图11展示出了可以用于多步骤校准的各种硬件元件,但是该过程可以使用各种硬件元件来实施,并且图11的图示仅用于示出一些可用的实施方式。在图11的示例中,相机14定位在视频屏幕12上方。相机14和屏幕12与控制器18通信,并受其控制。用户还可以具有移动设备16,例如带有相机的手机,其可以使用有线或无线技术与控制器18通信。
在初始校准过程中,用户站在屏幕12附近,例如与屏幕12相距1-3英尺,并且实况视频流从相机14馈送到控制器18。控制器使用本文描述的任何方法测量图像中的虹膜尺寸,然后生成初始校准因子以将像素距离转换为实际距离。当所有要测量和/或缩放的物品都被投影为靠近屏幕时,这种校准效果很好。然而,如果用户站得离屏幕较远,那么虹膜尺寸测量值就会不那么准确,因此缩放因子可能不精准。因此,使用从极为贴近(例如1-3英尺)的虹膜获得的缩放因子,控制器18在极为贴近的位置处测量用户身上两个可识别点之间的距离,例如两个耳朵之间的距离、PD、从下巴底部到头顶的距离等。现在,如果用户走到距离相机更远处,则控制器不需要识别虹膜,而是可以使用两个可识别点之间的距离作为校准,因为从远处可以更容易地识别该校准距离。
在附加的可选步骤中,可以进一步执行校准。在第一示例中,可以要求用户向后走一直到在视频帧的底部首次看到用户的脚为止。由于相机的视场是已知的,并且由于用户身上的两个点之间的距离的校准是已知的,所以现在可以使用相机与用户的脚的角度来计算用户站立时距相机14的距离。现在,如果用户继续向后走,则可以使用帧中与脚的角度或者帧上脚的垂直高度来准确地计算用户站立时距相机14的距离。因此,每次执行VTO时,可以根据用户站立时距相机的距离的测量值来正确缩放叠加在用户身上的虚拟物品。
此外,由于可以根据与用户的脚的角度来确定到用户的距离,并且由于获得了用户身上的两个点的校准因子,因此现在可以测量图像中出现的各种物品或身体部位。例如,使用已知的用户距离和两个点之间的距离(例如,PD)的校准因子,系统现在可以确定用户的腰部尺寸。此外,由于如本文所披露的,系统能够确定用户相对于相机的取向(例如,使用化身和静态目标),因此可以通过使用本文所描述的定向过程来执行任何进一步的测量,以便提高测量值的准确性。
图11中展示出的另一个特征是使用互联网或云计算181来提供与变换、镜像呈现、校准、测量和增强现实相关的服务。例如,根据一个实施例,由相机14生成的视频在其呈现在屏幕12上之前会经历变换以模仿镜像。该变换可以由控制器18或云计算181执行。在这种情况下,来自相机14的馈送可以被馈送到服务器181,该服务器应用变换并将其发送回控制器18,以在监视器屏幕11上显示。
根据另一实施例,来自相机14的图像或来自相机14的变换后的图像可以存储在云中并流式传输到设备,比如智能手机183、平板电脑187和另一个监视器屏幕189,比如平板电视。这可以在用户试穿服装时实时完成,使得用户可以分享体验并从远程位置的其他人那里获取意见。此外,一旦用户离开商店,用户就可以访问使用智能手机、平板电脑、PC等拍摄的所有图像。请注意,为了方便用户界面,如图11的监视器189所示,可以将各种尝试的缩略图像与当前图像一起显示,以使得用户能够在各种视图之间进行选择。
在某些应用中,期望使用较近的距离执行眼睛检查,以便验证视力质量或核准眼镜度数。该技术将实施目前在10英尺或更远的距离进行的等效或类似测试,但使用更短的距离来进行。该技术实施了灰域中的空间模糊组合,如在灰色背景上以多个旋转角度使用Gabor滤波器,同时不断测量距离,以确保用户不会更靠近而“击败”测试。该技术还可以组合测试屏幕的不同位置处的投影物品,因此用户需要在屏幕上指示完成测试的位置。在各种符号频率和角度下对符号的检测指示视力质量和任何散光。通过持续验证用户面部的距离和位姿/注视,系统确保了用户正确执行测试。另外,使用图像识别,系统确保了测试要求得到正确实施,比如用户是否用手掌逐一遮住自己的眼睛,而不仅仅是闭上眼睛。
人的视场(FOV)也是眼睛检查的重要部分。使用头部的距离测量值和校准因子并识别用户头部的位姿,系统可以在屏幕上显示用户应该能够看到或应该不能够看到的物品,从而在水平和垂直方向上测量顾客的FOV。位姿测量值将确保用户仅在向正确的取向/方向摆姿势/注视时才检测到所投影的物品。
使用所披露的实施例,用户还可以用他自己的眼镜执行眼睛检查,并且该测试将验证他的视力质量并且将指示他的度数是否需要一些修改。在这种情况下,通过实时视觉位姿和距离检测并反馈给用户来确保准确性。系统可以连续监测这些参数并告知用户如何定位他的面部以进行正确的测量。另外,使用基于视觉的AI来检测顾客在测试期间是否使用了他的眼镜、是否遮住了他正确的眼睛以及是否总体上遵循了指示。在一些实施例中,可以相对于PD在眼镜本身上测量距离。例如,一旦在短距离处检测到眼镜尺寸,就可以使用眼镜检测来检测其他距离处的眼镜,以估计距离和/或位姿。
在图7的实施例中,当用户被拍摄到佩戴着他自己的眼镜时,可以使用可选模块705来进行调整。然而,在采用识别镜框和用户头部的其他特征的神经网络的实施例中,不需要模块705,因为系统可以进行所需的调整或者在进行计算时将它们考虑在内。
此外,当用户不佩戴眼镜时,PD测量值更加精准。然而,如果用户确实佩戴眼镜,则可以使用神经网络或其他处理从图像中去除物理眼镜。图12是处理带有虚拟眼镜或物理眼镜的用户视频流的实施例的框图。在1200中,视频流是用户戴着虚拟眼镜的视频流,而在1200a中,用户在视频中是戴着真实眼镜的,因此系统在视频流中去除了眼镜的外观。对于虚拟眼镜,可选模块1204使得用户能够调整他面部上的眼镜。对于虚拟眼镜的情况,用户可以在1205中试戴不同的镜框,以获得使用不同镜框的测量值。
因此,所披露的实施例包括一种用于进行身体测量的系统,该系统包括:数字屏幕;视频捕捉器,该视频捕捉器被定位为生成用户的视频流;校准模块,该校准模块生成将该视频流的帧中的像素长度与该视频流的帧中出现的对象的实际长度相关联的每像素长度系数;配准模块,该配准模块对被覆盖在投影到数字屏幕上的视频流的帧上的图形目标进行投影,该配准模块进一步生成视频流的帧中出现的用户的化身,并将该化身覆盖在投影到数字屏幕上的视频流的帧上;以及测量模块,该测量模块利用从该校准模块接收的每像素长度系数和来自该配准模块的有关该化身与图形目标配准的指示来计算用户的身体测量值。校准模块可以使用视频流的帧中出现的用户的虹膜的测量值来生成每像素长度系数。校准模块可以通过在虹膜上拟合虚拟圆并使用该虚拟圆的直径作为虹膜的测量值来获得虹膜的测量值。配准模块可以将化身构建为与视频流的帧中出现的用户头部相对应的三维球体的形式,并且可以重复执行以下步骤:识别视频流的下一帧中出现的用户头部的取向;以及,以与用户头部的取向相对应的投影取向将该化身投影在数字屏幕上。配准模块可以连续跟踪视频流的帧中出现的用户头部的运动,并将对应的运动赋予投影到数字屏幕上的化身。每当化身与图形目标配准时,配准模块就可以存储静态图像。
上述系统可以进一步包括增强现实模块,该增强现实模块将虚拟眼镜框数字地覆盖在视频流的帧中出现的用户的面部上。测量模块可以计算视频流的帧中出现的用户眼睛的瞳孔距离、和/或视频流的帧中出现的用户眼睛的眼中心高度、和/或视频流的帧中出现的用户眼睛的子镜片顶点高度。
上述系统可以进一步包括增强现实模块,该增强现实模块将虚拟眼镜框数字地覆盖在视频流的帧中出现的用户的面部上,并且其中,测量模块使用虚拟眼镜框来计算子镜片顶点高度。增强现实模块可以使用每像素长度系数来缩放眼镜框。
上述系统可以进一步包括调整模块,该调整模块将图形覆盖层投影到数字屏幕上,该图形覆盖层对应于测量模块的测量点,该调整模块进一步投影用户界面,该用户界面使得能够在数字屏幕上移动该图形覆盖层。每当该用户界面被操作以移动该图形覆盖层时,校准模块可以重新计算身体测量值。
上述系统可以进一步包括分割模块,该分割模块识别出属于视频流的帧中出现的眼镜框的所有像素。校准模块可以使用眼镜框的存储的数据来生成系数。测量模块可以生成四个图像:不戴眼镜的用户的图像、戴眼镜的用户的图像、眼镜单独的alpha通道以及眼镜单独的RGB图像。校准模块可以进一步估计用户距相机的距离。可以使用用户虹膜的测量值来计算用户的距离。
因此,本披露内容的各方面涉及生成第一数字图像的校准因子,其中,该校准因子提供像素长度与物理长度之间的转换;以及使用该校准因子来获得校准长度,该校准长度表示为第一数字图像中出现的两个标志物之间的物理长度。进一步地,使用该校准长度来生成第二数字图像的第二校准因子,其方式为:识别出第二数字图像中的两个标志物并测量第二数字图像中的两个标志物之间的像素长度;并通过取该校准长度与该像素长度的比率来生成第二校准因子。进一步地,使用第一校准因子与第二校准因子的比率来获得从相机到第二数字图像中的标志物的距离。实际上,可以存储查找表,其中,将第一校准因子与第二校准因子之间的比率与距相机的距离相关联。
已经关于几个组件/块之间的交互描述了上述系统/电路/模块。可以理解的是,这样的系统/电路和组件/块可以包括那些组件或指定的子组件、一些指定的组件或子组件、和/或附加组件,并且根据前述组件的各种排列和组合。子组件还可以实施为与其他组件通信耦合的组件,而不是包括在父组件中(分层)。另外,应当注意,一个或多个组件可以被组合成提供聚合功能的单个组件,或者被分成几个单独的子组件,并且可以提供任何一个或多个中间层(比如管理层)以通信地耦合到这种子组件以提供集成功能。本文描述的任何组件还可以与本文未具体描述但本领域技术人员已知的一个或多个其他组件交互。
Claims (20)
1.一种用于执行数字测量的方法,该方法包括:
获得用户在距相机的第一距离处的第一视频流;
使用该第一视频流中出现的元素生成变换因子,以将该第一视频流中的像素距离转换为现实世界中的实际物理距离;
使用该变换因子来获得该第一视频流中的第一数字测量值;
获得在大于该第一距离的第二距离处的第二视频流;以及,
使用该第一数字测量值和该第二视频流中出现的物品的角度测量值来确定该第二距离的测量值。
2.如权利要求1所述的方法,其中,该元素包括该用户的虹膜,并且该变换因子是使用该虹膜的像素测量值与人类虹膜的物理平均直径的比率来确定的。
3.如权利要求2所述的方法,其中,该虹膜的测量值是通过针对右虹膜和左虹膜测量多个虹膜直径并取该多个虹膜直径的平均值来获得的。
4.如权利要求1所述的方法,其中,该第一数字测量值包括该用户的瞳孔间距离。
5.如权利要求1所述的方法,进一步包括:
从存储器中获取虚拟物件;
使用该确定的第二距离缩放该物件的尺寸;以及,
将该物件叠加于该用户在该第二距离处的图像上。
6.如权利要求1所述的方法,其中,该第二视频流中出现的该物品包括该用户的脚。
7.如权利要求6所述的方法,其中,该角度测量值包括属于这些脚、该头部或这些脚和该头部两者的像素的垂直位置。
8.如权利要求7所述的方法,进一步包括获得该用户在大于该第二距离的第三距离处的第三视频,并且使用第二角度测量值来确定该第三距离。
9.如权利要求8所述的方法,进一步包括:
从存储器中获取虚拟物件;
使用该确定的第三距离缩放该物件的尺寸;以及,
将该物件叠加于该用户在该第三距离处的图像上。
10.如权利要求7所述的方法,进一步包括使用该确定的第三距离和该第一数字测量值来确定该用户身上的目标的第二数字测量值。
11.如权利要求10所述的方法,其中,该目标包括该用户的身体部位。
12.如权利要求1所述的方法,进一步包括,在获得该第一数字测量值之前:
形成该用户的化身;
以与该用户的身体的取向相对应的取向将该化身投影到屏幕上;
监测该用户的身体的取向的变化并将对应的变化赋予该化身的取向;
当确定该化身处于可接受的取向时获得该第一数字测量值。
13.如权利要求12所述的方法,进一步包括将图形目标投影到该屏幕上,并且当该化身与该图形目标对准时确定该化身处于可接受的取向。
14.如权利要求12所述的方法,其中,该化身是三维的,并且该取向包括平移、旋转、高度和距离。
15.如权利要求1所述的方法,进一步包括将指示该第一数字测量值的测量点的图形覆盖层投影到数字屏幕上,并进一步投影用户界面以使得该用户能够在该数字屏幕上移动该图形覆盖层以改变该第一数字测量值。
16.如权利要求15所述的方法,进一步包括每当该用户界面被操作以移动该图形覆盖层时,使用该变换因子来重新计算这些第一数字测量值。
17.如权利要求1所述的方法,进一步包括变换该第一视频流以生成镜像视频流,从而在视频屏幕上生成模仿镜子的投影的图像。
18.一种用于执行数字测量的方法,该方法包括:
获得包括用户的图像的视频流;
使用该视频流中出现的元素生成变换因子,以将该视频流中的像素距离转换为现实世界中的实际物理距离;
使用该视频流中出现的该用户的图像生成该用户的化身;
以与该用户的取向相对应的取向将该化身投影在监视器屏幕上;
连续监测该视频流中的该用户的取向,并调整该监视器屏幕上的该化身的取向,以对应于该用户的取向的变化;
当该化身的取向达到所需取向时,对该视频屏幕上预先指定的物品执行测量。
19.如权利要求18所述的方法,其中,该元素包括该用户的虹膜。
20.如权利要求18所述的方法,进一步包括将图形目标投影到该监视器屏幕上,并且当该化身与该图形目标对准时确定该化身达到该所需的取向。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US63/209,219 | 2021-06-10 | ||
US202263350369P | 2022-06-08 | 2022-06-08 | |
US63/350,369 | 2022-06-08 | ||
PCT/US2022/033089 WO2022261489A1 (en) | 2021-06-10 | 2022-06-10 | System and method for digital measurements of subjects |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117882031A true CN117882031A (zh) | 2024-04-12 |
Family
ID=90583423
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280055060.6A Pending CN117882031A (zh) | 2021-06-10 | 2022-06-10 | 用于进行对象的数字测量的系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117882031A (zh) |
-
2022
- 2022-06-10 CN CN202280055060.6A patent/CN117882031A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11867978B2 (en) | Method and device for determining parameters for spectacle fitting | |
US12067689B2 (en) | Systems and methods for determining the scale of human anatomy from images | |
US9779512B2 (en) | Automatic generation of virtual materials from real-world materials | |
CN107004275B (zh) | 确定实物至少一部分的3d重构件空间坐标的方法和系统 | |
EP3339943A1 (en) | Method and system for obtaining optometric parameters for fitting eyeglasses | |
US20150029322A1 (en) | Method and computations for calculating an optical axis vector of an imaged eye | |
CN110998417B (zh) | 确定视近点的方法、装置和计算机可读的存储介质 | |
US10620454B2 (en) | System and method of obtaining fit and fabrication measurements for eyeglasses using simultaneous localization and mapping of camera images | |
CN113692527B (zh) | 用于测量眼镜片的局部屈光力和/或屈光力分布的方法和装置 | |
KR102444768B1 (ko) | 안경 렌즈의 국부적 굴절력 및/또는 굴절력 분포를 측정하기 위한 방법 및 장치 | |
US20190073820A1 (en) | Ray Tracing System for Optical Headsets | |
JP2023515517A (ja) | ライブフィッティングを含む眼鏡フレームのフィッティング | |
US20220395176A1 (en) | System and method for digital optician measurements | |
JP2017194301A (ja) | 顔形状測定装置及び方法 | |
JPH0351407B2 (zh) | ||
KR20210027028A (ko) | 신체 측정 디바이스 및 그 제어 방법 | |
US20240135664A1 (en) | Systems and methods for calculating optical measurements and rendering results | |
CN117882031A (zh) | 用于进行对象的数字测量的系统和方法 | |
Wu | Real-Size Experience for Virtual Try-On | |
WO2024224109A1 (en) | System for measuring facial dimensions | |
CN118696260A (zh) | 用于确定人的视点的方法和移动设备 | |
WO2024221058A1 (en) | Systems and methods for manufacturing light therapy interfaces | |
CN117355249A (zh) | 用于验配虚拟眼镜的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |